IF NOT EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'DBAs' AND issqlrole = 1) EXEC dbo.sp_addrole @rolename = N'DBAs' GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DMN_NUMERO_PARCELA]') AND OBJECTPROPERTY(id, N'IsRule') = 1) EXEC dbo.sp_executesql N'/****** Object: Rule dbo.DMN_NUMERO_PARCELA Script Date: 5/4/2000 18:55:55 ******/ CREATE RULE [DMN_NUMERO_PARCELA] AS @col IN (0, 1, 2, 3, 4, 5, 6) ' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'VARCHARLONGA') EXEC dbo.sp_addtype N'VARCHARLONGA', N'varchar(250)',N'null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'VALOR') EXEC dbo.sp_addtype N'VALOR', N'numeric(14, 2)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VALOR]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'UF') EXEC dbo.sp_addtype N'UF', N'char(2)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'TOT_QTDE_MATERIAL') EXEC dbo.sp_addtype N'TOT_QTDE_MATERIAL', N'decimal(10, 3)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TOT_QTDE_MATERIAL]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'TEXTOLONGO') EXEC dbo.sp_addtype N'TEXTOLONGO', N'text',N'null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'TEMPO') EXEC dbo.sp_addtype N'TEMPO', N'numeric(7, 2)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TEMPO]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'TELEFONE') EXEC dbo.sp_addtype N'TELEFONE', N'varchar(9)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TELEFONE]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'RAZAO_NOME') EXEC dbo.sp_addtype N'RAZAO_NOME', N'varchar(40)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'RAMAL') EXEC dbo.sp_addtype N'RAMAL', N'char(5)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[RAMAL]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'QTDE_PRODUTO2') EXEC dbo.sp_addtype N'QTDE_PRODUTO2', N'smallint',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[QTDE_PRODUTO2]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'QTDE_PRODUTO') EXEC dbo.sp_addtype N'QTDE_PRODUTO', N'int',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[QTDE_PRODUTO]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'QTDE_PRODUCAO') EXEC dbo.sp_addtype N'QTDE_PRODUCAO', N'int',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[QTDE_PRODUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[QTDE_PRODUCAO]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'QTDE_MATERIAL') EXEC dbo.sp_addtype N'QTDE_MATERIAL', N'numeric(9, 3)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[QTDE_MATERIAL]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'PORCENTAGEM') EXEC dbo.sp_addtype N'PORCENTAGEM', N'real',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PORCENTAGEM]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'NOTAFISCAL') EXEC dbo.sp_addtype N'NOTAFISCAL', N'char(7)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'NOME_FANTASIA') EXEC dbo.sp_addtype N'NOME_FANTASIA', N'varchar(25)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'MEDIDA') EXEC dbo.sp_addtype N'MEDIDA', N'numeric(7, 2)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MEDIDA]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'LARGURA') EXEC dbo.sp_addtype N'LARGURA', N'real',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LARGURA]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'INTEIRO') EXEC dbo.sp_addtype N'INTEIRO', N'int',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INTEIRO]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'INSCRICAO_EST') EXEC dbo.sp_addtype N'INSCRICAO_EST', N'char(19)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'INDICADOR') EXEC dbo.sp_addtype N'INDICADOR', N'bit',N'not null' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INDICADOR]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'ENDERECO') EXEC dbo.sp_addtype N'ENDERECO', N'varchar(40)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENDERECO]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'DESC_PADRAO') EXEC dbo.sp_addtype N'DESC_PADRAO', N'varchar(40)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'DATA_ATUAL') EXEC dbo.sp_addtype N'DATA_ATUAL', N'datetime',N'null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'COMPLEMENTO_END') EXEC dbo.sp_addtype N'COMPLEMENTO_END', N'varchar(10)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'CODIGO_CLIFOR') EXEC dbo.sp_addtype N'CODIGO_CLIFOR', N'char(6)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'CIDADE') EXEC dbo.sp_addtype N'CIDADE', N'varchar(35)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CIDADE]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'CGC_CPF') EXEC dbo.sp_addtype N'CGC_CPF', N'varchar(19)',N'not null' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'CEP') EXEC dbo.sp_addtype N'CEP', N'varchar(9)',N'null' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CEP]' , @futureonly='futureonly' GO IF NOT EXISTS (SELECT * FROM systypes WHERE name = N'DESC_COMBO') EXEC dbo.sp_addtype N'DESC_COMBO', N'varchar(25)',N'not null' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EFORNILIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EFORNILIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TYPEELEMOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TYPEELEMOPER]( [ID] [smallint] NULL, [TYPE] [char](24) NULL, [FACTOR_MW] [real] NULL, [FACTOR_MS] [real] NULL, [FACTOR_M] [real] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SECUENCIALCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SECUENCIALCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REDE_LOJAS_GR]( [ID] [int] NOT NULL, [GF_REDE_LOJAS] [char](2) NOT NULL, [GF_GRIFFE] [char](25) NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_REDE_LOJAS_GR fecha de la secuencia de comandos: Sep 7 2001 12:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_REDE_LOJAS_GR] ON [GF_REDE_LOJAS_GR] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @LOJA CHAR(2) DECLARE LOJAV CURSOR FOR SELECT GF_REDE_LOJAS FROM DELETED OPEN LOJAV FETCH NEXT FROM LOJAV INTO @LOJA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT REDE_LOJAS FROM REDE_LOJAS_GRIFFES WHERE REDE_LOJAS=@LOJA) BEGIN DELETE FROM REDE_LOJAS_GRIFFES WHERE REDE_LOJAS=@LOJA END ELSE BEGIN FETCH NEXT FROM LOJAV INTO @LOJA END FETCH NEXT FROM LOJAV INTO @LOJA END CLOSE LOJAV DEALLOCATE LOJAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_REDE_LOJAS_GR fecha de la secuencia de comandos: Sep 7 2001 09:55AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_REDE_LOJAS_GR] ON [GF_REDE_LOJAS_GR] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_REDE_LOJAS_GR'')))=1) RETURN ELSE BEGIN DECLARE @LOJA CHAR(2) DECLARE LOJAV CURSOR FOR SELECT GF_REDE_LOJAS FROM INSERTED OPEN LOJAV FETCH NEXT FROM LOJAV INTO @LOJA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT REDE_LOJAS FROM REDE_LOJAS_GRIFFES WHERE REDE_LOJAS=@LOJA) BEGIN INSERT INTO REDE_LOJAS_GRIFFES (REDE_LOJAS,GRIFFE) SELECT GF_REDE_LOJAS,GF_GRIFFE FROM GF_REDE_LOJAS_GR WHERE GF_REDE_LOJAS=@LOJA END ELSE BEGIN FETCH NEXT FROM LOJAV INTO @LOJA END FETCH NEXT FROM LOJAV INTO @LOJA END CLOSE LOJAV DEALLOCATE LOJAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_REDES_LOJA_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_REDES_LOJA_GR fecha de la secuencia de comandos: Sep 7 2001 11:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_REDES_LOJA_GR] ON [GF_REDE_LOJAS_GR] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_REDE_LOJAS_GR'')) ) =1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_REDES_LOJA_GR'')) ) < 2 ) BEGIN DECLARE @LOJAD CHAR(2), @LOJA CHAR(2) DECLARE LOJADV CURSOR FOR SELECT GF_REDE_LOJAS FROM DELETED DECLARE LOJAV CURSOR FOR SELECT GF_REDE_LOJAS FROM INSERTED OPEN LOJADV OPEN LOJAV FETCH NEXT FROM LOJADV INTO @LOJAD FETCH NEXT FROM LOJAV INTO @LOJA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT REDE_LOJAS FROM REDE_LOJAS_GRIFFES WHERE REDE_LOJAS=@LOJAD) BEGIN UPDATE REDE_LOJAS_GRIFFES SET REDE_LOJAS=@LOJA, GRIFFE=(SELECT GF_GRIFFE FROM INSERTED WHERE GF_REDE_LOJAS=@LOJA) WHERE REDE_LOJAS=@LOJAD END ELSE BEGIN FETCH NEXT FROM LOJADV INTO @LOJAD FETCH NEXT FROM LOJAV INTO @LOJA END FETCH NEXT FROM LOJADV INTO @LOJAD FETCH NEXT FROM LOJAV INTO @LOJA END CLOSE LOJADV DEALLOCATE LOJADV CLOSE LOJAV DEALLOCATE LOJAV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZMRKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZMRKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_CONJUNTO_CELULAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_CONJUNTO_CELULAS]( [CONJUNTO_DE_CELULAS] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUTIV_CONJUNTO_CELULAS] PRIMARY KEY NONCLUSTERED ( [CONJUNTO_DE_CELULAS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_CONJUNTO_CELULAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_CONJUNTO_CELULAS] on [PRODUTIV_CONJUNTO_CELULAS] for DELETE as /* DELETE trigger on PRODUTIV_CONJUNTO_CELULAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_CONJUNTO_CELULAS CONJUNTO PRODUTIV_CELULAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_CELULAS where PRODUTIV_CELULAS.CONJUNTO_DE_CELULAS = deleted.CONJUNTO_DE_CELULAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_CONJUNTO_CELULAS #porque existem registros em #PRODUTIV_CELULAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_CONJUNTO_CELULAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_CONJUNTO_CELULAS] on [PRODUTIV_CONJUNTO_CELULAS] for UPDATE as /* UPDATE trigger on PRODUTIV_CONJUNTO_CELULAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONJUNTO_DE_CELULAS varchar(25), @delCONJUNTO_DE_CELULAS varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_CONJUNTO_CELULAS CONJUNTO PRODUTIV_CELULAS ON PARENT UPDATE CASCADE */ IF update(CONJUNTO_DE_CELULAS) BEGIN DECLARE PRODUTIV_CONJUNTO_CELULAS999 CURSOR FOR SELECT CONJUNTO_DE_CELULAS FROM INSERTED DECLARE PRODUTIV_CONJUNTO_CELULAS648 CURSOR FOR SELECT CONJUNTO_DE_CELULAS FROM DELETED OPEN PRODUTIV_CONJUNTO_CELULAS999 OPEN PRODUTIV_CONJUNTO_CELULAS648 FETCH NEXT FROM PRODUTIV_CONJUNTO_CELULAS999 INTO @insCONJUNTO_DE_CELULAS FETCH NEXT FROM PRODUTIV_CONJUNTO_CELULAS648 INTO @delCONJUNTO_DE_CELULAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_CELULAS SET PRODUTIV_CELULAS.CONJUNTO_DE_CELULAS=@insCONJUNTO_DE_CELULAS WHERE PRODUTIV_CELULAS.CONJUNTO_DE_CELULAS = @delCONJUNTO_DE_CELULAS FETCH NEXT FROM PRODUTIV_CONJUNTO_CELULAS999 INTO @insCONJUNTO_DE_CELULAS FETCH NEXT FROM PRODUTIV_CONJUNTO_CELULAS648 INTO @delCONJUNTO_DE_CELULAS END END CLOSE PRODUTIV_CONJUNTO_CELULAS999 CLOSE PRODUTIV_CONJUNTO_CELULAS648 DEALLOCATE PRODUTIV_CONJUNTO_CELULAS999 DEALLOCATE PRODUTIV_CONJUNTO_CELULAS648 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OLD_EGOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OLD_EGOPER]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [USERC] [int] NOT NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [COMENTARIO] [char](80) NULL, [KPRNDS] [smallint] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EGOPER]') AND name = N'XEGOPER') CREATE UNIQUE NONCLUSTERED INDEX [XEGOPER] ON [OLD_EGOPER] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EGOPER]') AND name = N'YEGOPER') CREATE UNIQUE NONCLUSTERED INDEX [YEGOPER] ON [OLD_EGOPER] ( [EMP] ASC, [NOMBRE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_FORNECEDOR_CUSTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_FORNECEDOR_CUSTOS]( [MATERIAL] [char](11) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [QTDE_COMPRAR] [numeric](9, 3) NOT NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_FORNECEDOR_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_MATERIAIS_FORNECEDOR_CUSTO] on [MATERIAIS_FORNECEDOR_CUSTOS] for INSERT as /* INSERT trigger on MATERIAIS_FORNECEDOR_CUSTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFORNECEDOR varchar(25), @insCOR_MATERIAL char(10), @insQTDE_COMPRAR numeric(9,3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_FORNECEDOR R/155 MATERIAIS_FORNECEDOR_CUSTOS ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(FORNECEDOR) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FORNECEDOR where inserted.MATERIAL = MATERIAIS_FORNECEDOR.MATERIAL and inserted.FORNECEDOR = MATERIAIS_FORNECEDOR.FORNECEDOR and inserted.COR_MATERIAL = MATERIAIS_FORNECEDOR.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FORNECEDOR_CUSTOS #porque #MATERIAIS_FORNECEDOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_FORNECEDOR_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_MATERIAIS_FORNECEDOR_CUSTO] on [MATERIAIS_FORNECEDOR_CUSTOS] for UPDATE as /* UPDATE trigger on MATERIAIS_FORNECEDOR_CUSTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFORNECEDOR varchar(25), @insCOR_MATERIAL char(10), @insQTDE_COMPRAR numeric(9,3), @delMATERIAL char(11), @delFORNECEDOR varchar(25), @delCOR_MATERIAL char(10), @delQTDE_COMPRAR numeric(9,3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_FORNECEDOR R/155 MATERIAIS_FORNECEDOR_CUSTOS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(FORNECEDOR) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FORNECEDOR where inserted.MATERIAL = MATERIAIS_FORNECEDOR.MATERIAL and inserted.FORNECEDOR = MATERIAIS_FORNECEDOR.FORNECEDOR and inserted.COR_MATERIAL = MATERIAIS_FORNECEDOR.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FORNECEDOR_CUSTOS #porque #MATERIAIS_FORNECEDOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERIES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERIES]( [ID] [int] NOT NULL, [COLECCION] [int] NOT NULL, [SERIE] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_APOYO_SUBSISTEMAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_APOYO_SUBSISTEMAS]( [id_subsistema] [int] NOT NULL, [nombre_subsistema] [varchar](25) NOT NULL, [desc_subsistema] [varchar](50) NULL, CONSTRAINT [PK_IC_APOYO_SUBSISTEMAS] PRIMARY KEY NONCLUSTERED ( [id_subsistema] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REDE_LOJAS_GRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REDE_LOJAS_GRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFAULT_0000]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N'CREATE DEFAULT [DEFAULT_0000] AS ''0000''' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELAC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELAC]( [RELAC#] [int] NULL, [RELACION] [char](32) NULL, [TABLE1] [char](16) NULL, [COL1] [char](16) NULL, [TABLE2] [char](16) NULL, [COL2] [char](16) NULL, [TIPO] [char](8) NULL, [DESCR] [char](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_LINHA_INDUSTRIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_LINHA_INDUSTRIAL]( [LINHA_INDUSTRIAL] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUTIV_LINHA_INDUSTRIAL] PRIMARY KEY NONCLUSTERED ( [LINHA_INDUSTRIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_LINHA_INDUSTRIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_LINHA_INDUSTRIAL] on [PRODUTIV_LINHA_INDUSTRIAL] for DELETE as /* DELETE trigger on PRODUTIV_LINHA_INDUSTRIAL */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_LINHA_INDUSTRIAL R/1724 PRODUTO_SETOR_CUSTO ON PARENT DELETE CASCADE */ delete PRODUTO_SETOR_CUSTO from PRODUTO_SETOR_CUSTO,deleted where PRODUTO_SETOR_CUSTO.LINHA_INDUSTRIAL = deleted.LINHA_INDUSTRIAL /* PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_OPERACOES where PRODUTIV_OPERACOES.LINHA_INDUSTRIAL = deleted.LINHA_INDUSTRIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_LINHA_INDUSTRIAL #porque existem registros em #PRODUTIV_OPERACOES#.'' goto error end /* PRODUTIV_LINHA_INDUSTRIAL PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAB_OPERACOES where PRODUTOS_TAB_OPERACOES.LINHA_INDUSTRIAL = deleted.LINHA_INDUSTRIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_LINHA_INDUSTRIAL #porque existem registros em #PRODUTOS_TAB_OPERACOES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_LINHA_INDUSTRIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_LINHA_INDUSTRIAL] on [PRODUTIV_LINHA_INDUSTRIAL] for UPDATE as /* UPDATE trigger on PRODUTIV_LINHA_INDUSTRIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLINHA_INDUSTRIAL varchar(25), @delLINHA_INDUSTRIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_LINHA_INDUSTRIAL R/1724 PRODUTO_SETOR_CUSTO ON PARENT UPDATE CASCADE */ IF update(LINHA_INDUSTRIAL) BEGIN DECLARE PRODUTIV_LINHA_INDUSTRIAL1724 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM INSERTED DECLARE PRODUTIV_LINHA_INDUSTRIAL642 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM DELETED OPEN PRODUTIV_LINHA_INDUSTRIAL1724 OPEN PRODUTIV_LINHA_INDUSTRIAL642 FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL1724 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_SETOR_CUSTO SET PRODUTO_SETOR_CUSTO.LINHA_INDUSTRIAL=@insLINHA_INDUSTRIAL WHERE PRODUTO_SETOR_CUSTO.LINHA_INDUSTRIAL = @delLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL1724 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL END END CLOSE PRODUTIV_LINHA_INDUSTRIAL1724 CLOSE PRODUTIV_LINHA_INDUSTRIAL642 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL1724 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL642 END /* PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_OPERACOES ON PARENT UPDATE CASCADE */ IF update(LINHA_INDUSTRIAL) BEGIN DECLARE PRODUTIV_LINHA_INDUSTRIAL993 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM INSERTED DECLARE PRODUTIV_LINHA_INDUSTRIAL642 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM DELETED OPEN PRODUTIV_LINHA_INDUSTRIAL993 OPEN PRODUTIV_LINHA_INDUSTRIAL642 FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL993 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OPERACOES SET PRODUTIV_OPERACOES.LINHA_INDUSTRIAL=@insLINHA_INDUSTRIAL WHERE PRODUTIV_OPERACOES.LINHA_INDUSTRIAL = @delLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL993 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL END END CLOSE PRODUTIV_LINHA_INDUSTRIAL993 CLOSE PRODUTIV_LINHA_INDUSTRIAL642 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL993 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL642 END /* PRODUTIV_LINHA_INDUSTRIAL PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES ON PARENT UPDATE CASCADE */ IF update(LINHA_INDUSTRIAL) BEGIN DECLARE PRODUTIV_LINHA_INDUSTRIAL992 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM INSERTED DECLARE PRODUTIV_LINHA_INDUSTRIAL642 CURSOR FOR SELECT LINHA_INDUSTRIAL FROM DELETED OPEN PRODUTIV_LINHA_INDUSTRIAL992 OPEN PRODUTIV_LINHA_INDUSTRIAL642 FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL992 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAB_OPERACOES SET PRODUTOS_TAB_OPERACOES.LINHA_INDUSTRIAL=@insLINHA_INDUSTRIAL WHERE PRODUTOS_TAB_OPERACOES.LINHA_INDUSTRIAL = @delLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL992 INTO @insLINHA_INDUSTRIAL FETCH NEXT FROM PRODUTIV_LINHA_INDUSTRIAL642 INTO @delLINHA_INDUSTRIAL END END CLOSE PRODUTIV_LINHA_INDUSTRIAL992 CLOSE PRODUTIV_LINHA_INDUSTRIAL642 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL992 DEALLOCATE PRODUTIV_LINHA_INDUSTRIAL642 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SUGESTAO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SUGESTAO_PRODUTO]( [SUGESTAO_TRANSFERENCIA] [char](5) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [FILIAL_DESTINO] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [STATUS_SUGESTAO] [char](1) NOT NULL, [QTDE] [int] NULL, [SA_1] [int] NULL, [SA_2] [int] NULL, [SA_3] [int] NULL, [SA_4] [int] NULL, [SA_5] [int] NULL, [SA_6] [int] NULL, [SA_7] [int] NULL, [SA_8] [int] NULL, [SA_9] [int] NULL, [SA_10] [int] NULL, [SA_11] [int] NULL, [SA_12] [int] NULL, [SA_13] [int] NULL, [SA_14] [int] NULL, [SA_15] [int] NULL, [SA_16] [int] NULL, [SA_17] [int] NULL, [SA_18] [int] NULL, [SA_19] [int] NULL, [SA_20] [int] NULL, [SA_21] [int] NULL, [SA_22] [int] NULL, [SA_23] [int] NULL, [SA_24] [int] NULL, [SA_25] [int] NULL, [SA_26] [int] NULL, [SA_27] [int] NULL, [SA_28] [int] NULL, [SA_29] [int] NULL, [SA_30] [int] NULL, [SA_31] [int] NULL, [SA_32] [int] NULL, [SA_33] [int] NULL, [SA_34] [int] NULL, [SA_35] [int] NULL, [SA_36] [int] NULL, [SA_37] [int] NULL, [SA_38] [int] NULL, [SA_39] [int] NULL, [SA_40] [int] NULL, [SA_41] [int] NULL, [SA_42] [int] NULL, [SA_43] [int] NULL, [SA_44] [int] NULL, [SA_45] [int] NULL, [SA_46] [int] NULL, [SA_47] [int] NULL, [SA_48] [int] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKESTOQUE_SUGESTAO_PRODUTO] PRIMARY KEY NONCLUSTERED ( [SUGESTAO_TRANSFERENCIA] ASC, [FILIAL] ASC, [FILIAL_DESTINO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_SUGESTAO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_SUGESTAO_PRODUTO] on [ESTOQUE_SUGESTAO_PRODUTO] for INSERT as /* INSERT trigger on ESTOQUE_SUGESTAO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1903 ESTOQUE_SUGESTAO_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SUGESTAO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_SUGESTAO_TRANSFERENCIA R/1902 ESTOQUE_SUGESTAO_PRODUTO ON CHILD INSERT RESTRICT */ if update(SUGESTAO_TRANSFERENCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SUGESTAO_TRANSFERENCIA where inserted.SUGESTAO_TRANSFERENCIA = ESTOQUE_SUGESTAO_TRANSFERENCIA.SUGESTAO_TRANSFERENCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SUGESTAO_PRODUTO #porque #ESTOQUE_SUGESTAO_TRANSFERENCIA #não existe.'' goto error end end /* FILIAIS R/1901 ESTOQUE_SUGESTAO_PRODUTO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SUGESTAO_PRODUTO #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1900 ESTOQUE_SUGESTAO_PRODUTO ON CHILD INSERT RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SUGESTAO_PRODUTO #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SUGESTAO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_SUGESTAO_PRODUTO] on [ESTOQUE_SUGESTAO_PRODUTO] for UPDATE as /* UPDATE trigger on ESTOQUE_SUGESTAO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSUGESTAO_TRANSFERENCIA char(5), @insFILIAL varchar(25), @insFILIAL_DESTINO varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delSUGESTAO_TRANSFERENCIA char(5), @delFILIAL varchar(25), @delFILIAL_DESTINO varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1903 ESTOQUE_SUGESTAO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SUGESTAO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_SUGESTAO_TRANSFERENCIA R/1902 ESTOQUE_SUGESTAO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(SUGESTAO_TRANSFERENCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SUGESTAO_TRANSFERENCIA where inserted.SUGESTAO_TRANSFERENCIA = ESTOQUE_SUGESTAO_TRANSFERENCIA.SUGESTAO_TRANSFERENCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SUGESTAO_PRODUTO #porque #ESTOQUE_SUGESTAO_TRANSFERENCIA #não existe.'' goto error end end /* FILIAIS R/1901 ESTOQUE_SUGESTAO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SUGESTAO_PRODUTO #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1900 ESTOQUE_SUGESTAO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SUGESTAO_PRODUTO #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERMULT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERMULT]( [ID] [int] NOT NULL, [NOMBRE] [varchar](64) NOT NULL, [MULTIEMPRESA] [char](1) NOT NULL, [USER1] [int] NULL, [EMPRESA1] [int] NULL, [USER2] [int] NULL, [EMPRESA2] [int] NULL, [USER3] [int] NULL, [EMPRESA3] [int] NULL, [USER4] [int] NULL, [EMPRESA4] [int] NULL, [USER5] [int] NULL, [EMPRESA5] [int] NULL, [ACCESO] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_COLORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_COLORCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERIESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERIESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SIMP_TUB_ABIE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_SIMP_TUB_ABIE]( [ID] [int] NOT NULL, [GF_SIMP_TUB_ABIE] [char](1) NOT NULL, [COMENTARIO] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERMULTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERMULTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CORTE]( [ORDEM_CORTE] [char](8) NOT NULL, [OBS_CORTE] [varchar](250) NULL, [RESPONSAVEL] [varchar](40) NOT NULL, [REQ_MATERIAL] [char](8) NULL, [VARIACAO_DEMANDA] [real] NULL, [VARIACAO_DEMANDA_TIPO] [int] NULL, [FILIAL] [varchar](25) NULL, [PROGRAMACAO] [varchar](25) NULL, [DATA_CADASTRAMENTO] [datetime] NULL, [DATA_INICIO_GERAR_OP] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_CORTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_PRODUCAO_CORTE] on [PRODUCAO_CORTE] for DELETE as /* DELETE trigger on PRODUCAO_CORTE */ begin declare @delORDEM_CORTE char(8), @errno int, @errmsg varchar(255) /* PRODUCAO_CORTE R/181 PRODUCAO_CORTE_ENCAIXE ON PARENT DELETE CASCADE */ delete PRODUCAO_CORTE_ENCAIXE from PRODUCAO_CORTE_ENCAIXE,deleted where PRODUCAO_CORTE_ENCAIXE.ORDEM_CORTE = deleted.ORDEM_CORTE /* PRODUCAO_CORTE R/177 PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.ORDEM_CORTE = deleted.ORDEM_CORTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_CORTE #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CORTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXI_PRODUCAO_CORTE] on [PRODUCAO_CORTE] for INSERT as /* INSERT trigger on PRODUCAO_CORTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/141 PRODUCAO_CORTE ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/27 PRODUCAO_CORTE ON CHILD INSERT RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CORTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_PRODUCAO_CORTE] on [PRODUCAO_CORTE] for UPDATE as /* UPDATE trigger on PRODUCAO_CORTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @delORDEM_CORTE char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE R/181 PRODUCAO_CORTE_ENCAIXE ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) BEGIN DECLARE PRODUCAO_CORTEe6fe CURSOR FOR SELECT ORDEM_CORTE FROM INSERTED DECLARE PRODUCAO_CORTEf691 CURSOR FOR SELECT ORDEM_CORTE FROM DELETED OPEN PRODUCAO_CORTEe6fe OPEN PRODUCAO_CORTEf691 FETCH NEXT FROM PRODUCAO_CORTEe6fe INTO @insORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTEf691 INTO @delORDEM_CORTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CORTE_ENCAIXE SET PRODUCAO_CORTE_ENCAIXE.ORDEM_CORTE=@insORDEM_CORTE WHERE PRODUCAO_CORTE_ENCAIXE.ORDEM_CORTE = @delORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTEe6fe INTO @insORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTEf691 INTO @delORDEM_CORTE END END CLOSE PRODUCAO_CORTEe6fe CLOSE PRODUCAO_CORTEf691 DEALLOCATE PRODUCAO_CORTEe6fe DEALLOCATE PRODUCAO_CORTEf691 END /* PRODUCAO_CORTE R/177 PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) BEGIN DECLARE PRODUCAO_CORTE5604 CURSOR FOR SELECT ORDEM_CORTE FROM INSERTED DECLARE PRODUCAO_CORTEf691 CURSOR FOR SELECT ORDEM_CORTE FROM DELETED OPEN PRODUCAO_CORTE5604 OPEN PRODUCAO_CORTEf691 FETCH NEXT FROM PRODUCAO_CORTE5604 INTO @insORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTEf691 INTO @delORDEM_CORTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.ORDEM_CORTE=@insORDEM_CORTE WHERE PRODUCAO_ORDEM.ORDEM_CORTE = @delORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTE5604 INTO @insORDEM_CORTE FETCH NEXT FROM PRODUCAO_CORTEf691 INTO @delORDEM_CORTE END END CLOSE PRODUCAO_CORTE5604 CLOSE PRODUCAO_CORTEf691 DEALLOCATE PRODUCAO_CORTE5604 DEALLOCATE PRODUCAO_CORTEf691 END /* FILIAIS R/141 PRODUCAO_CORTE ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/27 PRODUCAO_CORTE ON CHILD UPDATE RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SINO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SINO]( [ID] [int] NOT NULL, [SINO] [char](2) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_APUNTES_GENERADOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_APUNTES_GENERADOS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [id_casuistica] [int] NOT NULL, [id_asiento] [int] NOT NULL, [id_apunte] [int] IDENTITY(1,1) NOT NULL, [cuenta] [char](10) NOT NULL, [nombre_divisa] [char](3) NOT NULL, [importe] [numeric](14, 2) NOT NULL, [debehaber] [char](10) NOT NULL, [centro] [int] NOT NULL CONSTRAINT [DF_IC_APUNTES_GENERADOS_centro] DEFAULT (0), [concepto_operacion] [varchar](25) NULL, [ampliacion_concepto] [varchar](50) NULL, [fecha_contable] [datetime] NULL, [id_carrete] [int] NOT NULL, [secuencia] [int] NULL CONSTRAINT [DF_IC_APUNTES_GENERADOS_secuencia] DEFAULT (0), CONSTRAINT [PK_IC_APUNTES_GENERADOS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC, [id_casuistica] ASC, [id_asiento] ASC, [id_apunte] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SIMP_TUB_ABIECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_SIMP_TUB_ABIECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_MAQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_MAQ]( [ID] [int] NOT NULL, [GF_MAQUINA] [varchar](8) NOT NULL, [GF_QTDE_AGULHAS] [int] NULL, [GF_DIAMETRO] [int] NOT NULL, [GF_PLATINAS] [int] NULL, [GF_JOGO_AGULHAS] [int] NULL, [GF_DESC_MAQUINA] [varchar](40) NOT NULL, [GF_QTDE_MAQUINAS] [char](18) NOT NULL, [GF_MAQUINA_PROPI] [char](1) NOT NULL, [GF_TRATAMENTO] [int] NULL, [GF_MARCA_MAQUINA] [varchar](25) NOT NULL, [GF_OBS] [varchar](255) NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_MAQ]') AND name = N'XPKMATERIAIS_MAQUINA') CREATE UNIQUE NONCLUSTERED INDEX [XPKMATERIAIS_MAQUINA] ON [GF_MATERIAIS_MAQ] ( [EMPRESA] ASC, [GF_MAQUINA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_MAQUINA] ON [GF_MATERIAIS_MAQ] FOR DELETE NOT FOR REPLICATION AS /* BEGIN IF EXISTS (SELECT MAQUINA FROM MATERIAIS_MAQUINA A, DELETED B WHERE A.MAQUINA=B.GF_MAQUINA) DELETE FROM MATERIAIS_MAQUINA WHERE MAQUINA=(SELECT GF_MAQUINA FROM DELETED) ELSE RETURN END */ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_MAQUINA'')))=1) RETURN ELSE BEGIN DECLARE @MAQ_DEL VARCHAR(8) DECLARE CUR_MAQ_DEL CURSOR FOR SELECT GF_MAQUINA FROM DELETED OPEN CUR_MAQ_DEL FETCH NEXT FROM CUR_MAQ_DEL INTO @MAQ_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT MAQUINA FROM MATERIAIS_MAQUINA A, DELETED B WHERE A.MAQUINA=@MAQ_DEL) DELETE FROM MATERIAIS_MAQUINA WHERE MAQUINA=(@MAQ_DEL) FETCH NEXT FROM CUR_MAQ_DEL INTO @MAQ_DEL END/*fetch_status*/ CLOSE CUR_MAQ_DEL DEALLOCATE CUR_MAQ_DEL END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_MAQUINA] ON [GF_MATERIAIS_MAQ] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT MAQUINA FROM MATERIAIS_MAQUINA A, INSERTED B WHERE A.MAQUINA=B.GF_MAQUINA) BEGIN INSERT INTO MATERIAIS_MAQUINA (MAQUINA,QTDE_AGULHAS,DIAMETRO,PLATINAS,JOGO_AGULHAS,DESC_MAQUINA,QTDE_MAQUINAS, MAQUINA_PROPRIA,TRATAMENTO,MARCA_MAQUINA,OBS) SELECT GF_MAQUINA,GF_QTDE_AGULHAS,GF_DIAMETRO,GF_PLATINAS,GF_JOGO_AGULHAS,GF_DESC_MAQUINA, GF_QTDE_MAQUINAS,GF_MAQUINA_PROPI, (SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMENTO FROM INSERTED)), GF_MARCA_MAQUINA,GF_OBS FROM GF_MATERIAIS_MAQ WHERE GF_MAQUINA=(SELECT GF_MAQUINA FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_MAQUINA] ON [GF_MATERIAIS_MAQ] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_MAQUINA'')) ) < 2 ) BEGIN IF EXISTS (SELECT MAQUINA FROM MATERIAIS_MAQUINA A, DELETED B WHERE A.MAQUINA=B.GF_MAQUINA) BEGIN UPDATE MATERIAIS_MAQUINA SET MAQUINA=(SELECT GF_MAQUINA FROM INSERTED), QTDE_AGULHAS=(SELECT GF_QTDE_AGULHAS FROM INSERTED), DIAMETRO=(SELECT GF_DIAMETRO FROM INSERTED), PLATINAS=(SELECT GF_PLATINAS FROM INSERTED), JOGO_AGULHAS=(SELECT GF_JOGO_AGULHAS FROM INSERTED), DESC_MAQUINA=(SELECT GF_DESC_MAQUINA FROM INSERTED), QTDE_MAQUINAS=(SELECT GF_QTDE_MAQUINAS FROM INSERTED), MAQUINA_PROPRIA=(SELECT GF_MAQUINA_PROPI FROM INSERTED), TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMENTO FROM INSERTED)), MARCA_MAQUINA=(SELECT GF_MARCA_MAQUINA FROM INSERTED), OBS=(SELECT GF_OBS FROM INSERTED) WHERE MAQUINA=(SELECT GF_MAQUINA FROM DELETED) END ELSE RETURN END */ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_MAQUINA'')) ) < 2 ) BEGIN DECLARE @MAQUINA VARCHAR(8) DECLARE @MAQUINA_IN VARCHAR(8) DECLARE CUR_MAQUINA CURSOR FOR SELECT GF_MAQUINA FROM DELETED DECLARE CUR_MAQUINA_IN CURSOR FOR SELECT GF_MAQUINA FROM INSERTED OPEN CUR_MAQUINA --DELETED OPEN CUR_MAQUINA_IN --INSERTED FETCH NEXT FROM CUR_MAQUINA INTO @MAQUINA FETCH NEXT FROM CUR_MAQUINA_IN INTO @MAQUINA_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT MAQUINA FROM MATERIAIS_MAQUINA A, DELETED B WHERE A.MAQUINA=@MAQUINA) BEGIN UPDATE MATERIAIS_MAQUINA SET MAQUINA=(@MAQUINA_IN), QTDE_AGULHAS=(SELECT GF_QTDE_AGULHAS FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), DIAMETRO=(SELECT GF_DIAMETRO FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), PLATINAS=(SELECT GF_PLATINAS FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), JOGO_AGULHAS=(SELECT GF_JOGO_AGULHAS FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), DESC_MAQUINA=(SELECT GF_DESC_MAQUINA FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), QTDE_MAQUINAS=(SELECT GF_QTDE_MAQUINAS FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), MAQUINA_PROPRIA=(SELECT GF_MAQUINA_PROPI FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMENTO FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN)), MARCA_MAQUINA=(SELECT GF_MARCA_MAQUINA FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN), OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_MAQUINA=@MAQUINA_IN) WHERE MAQUINA=(@MAQUINA) END/*IF EXISTS*/ FETCH NEXT FROM CUR_MAQUINA INTO @MAQUINA FETCH NEXT FROM CUR_MAQUINA_IN INTO @MAQUINA_IN END/*FETCH_STATUS*/ CLOSE CUR_MAQUINA CLOSE CUR_MAQUINA_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELACCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELACCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_MAQ_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_MAQ_TIPO]( [TIPO_MAQUINA] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUTIV_MAQ_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_MAQUINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_MAQ_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_MAQ_TIPO] on [PRODUTIV_MAQ_TIPO] for DELETE as /* DELETE trigger on PRODUTIV_MAQ_TIPO */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_MAQ_TIPO PRODUTIV_MAQ_TIPO PRODUTIV_MAQUINAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_MAQUINAS where PRODUTIV_MAQUINAS.TIPO_MAQUINA = deleted.TIPO_MAQUINA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_MAQ_TIPO #porque existem registros em #PRODUTIV_MAQUINAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_MAQ_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_MAQ_TIPO] on [PRODUTIV_MAQ_TIPO] for UPDATE as /* UPDATE trigger on PRODUTIV_MAQ_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_MAQUINA varchar(25), @delTIPO_MAQUINA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_MAQ_TIPO PRODUTIV_MAQ_TIPO PRODUTIV_MAQUINAS ON PARENT UPDATE CASCADE */ IF update(TIPO_MAQUINA) BEGIN DECLARE PRODUTIV_MAQ_TIPO653 CURSOR FOR SELECT TIPO_MAQUINA FROM INSERTED DECLARE PRODUTIV_MAQ_TIPO418 CURSOR FOR SELECT TIPO_MAQUINA FROM DELETED OPEN PRODUTIV_MAQ_TIPO653 OPEN PRODUTIV_MAQ_TIPO418 FETCH NEXT FROM PRODUTIV_MAQ_TIPO653 INTO @insTIPO_MAQUINA FETCH NEXT FROM PRODUTIV_MAQ_TIPO418 INTO @delTIPO_MAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_MAQUINAS SET PRODUTIV_MAQUINAS.TIPO_MAQUINA=@insTIPO_MAQUINA WHERE PRODUTIV_MAQUINAS.TIPO_MAQUINA = @delTIPO_MAQUINA FETCH NEXT FROM PRODUTIV_MAQ_TIPO653 INTO @insTIPO_MAQUINA FETCH NEXT FROM PRODUTIV_MAQ_TIPO418 INTO @delTIPO_MAQUINA END END CLOSE PRODUTIV_MAQ_TIPO653 CLOSE PRODUTIV_MAQ_TIPO418 DEALLOCATE PRODUTIV_MAQ_TIPO653 DEALLOCATE PRODUTIV_MAQ_TIPO418 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TYPEELEMOPERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TYPEELEMOPERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_RAIZCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_RAIZCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_MAQCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_MAQCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[repaction]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [repaction]( [id] [int] NOT NULL, [action] [smallint] NULL, [object] [smallint] NULL, [objectname] [char](50) NULL, [fechai] [datetime] NULL, [fecha] [datetime] NULL, [userm] [smallint] NULL, [application] [smallint] NULL, [wstation] [smallint] NULL, [com] [char](80) NULL, [data1] [char](10) NULL, [data2] [char](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPER_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPER_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USUARIO_EMPRESA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USUARIO_EMPRESA]( [ID] [int] NOT NULL, [EMPRESA] [int] NOT NULL, [USUARIO] [int] NOT NULL, [MULTIEMPRESA] [char](1) NULL, [EMPRESA1] [int] NULL, [EMPRESA2] [int] NULL, [EMPRESA3] [int] NULL, [EMPRESA4] [int] NULL, [EMPRESA5] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CORTE_ENCAIXE]( [ORDEM_CORTE] [char](8) NOT NULL, [ENCAIXE] [varchar](8) NOT NULL, [ENCAIXE_CAD] [varchar](35) NULL, [OBS_ENCAIXE] [varchar](250) NULL, [ENCAIXE_DEMANDA] [bit] NOT NULL, [MODELAGEM_CAD] [varchar](35) NULL, [LARGURA] [numeric](7, 2) NULL, [EFICIENCIA] [numeric](6, 2) NULL, [EFICIENCIA_PREVISTA] [numeric](6, 2) NULL, [NUMERO_COLCHOES] [int] NULL, [COMPRIMENTO] [numeric](8, 2) NULL, [ENFESTO_NORMAL_TUBULAR_MEIA] [int] NULL, [ENCARADO_TORNASOL_SIMPLES] [int] NULL, [PERDAS_NAS_PONTAS] [numeric](6, 2) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_CORTE_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_PRODUCAO_CORTE_ENCAIXE] on [PRODUCAO_CORTE_ENCAIXE] for DELETE as /* DELETE trigger on PRODUCAO_CORTE_ENCAIXE */ begin declare @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @errno int, @errmsg varchar(255) /* PRODUCAO_CORTE_ENCAIXE R/179 PRODUCAO_CORTE_GRADE ON PARENT DELETE CASCADE */ delete PRODUCAO_CORTE_GRADE from PRODUCAO_CORTE_GRADE,deleted where PRODUCAO_CORTE_GRADE.ORDEM_CORTE = deleted.ORDEM_CORTE and PRODUCAO_CORTE_GRADE.ENCAIXE = deleted.ENCAIXE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CORTE_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXI_PRODUCAO_CORTE_ENCAIXE] on [PRODUCAO_CORTE_ENCAIXE] for INSERT as /* INSERT trigger on PRODUCAO_CORTE_ENCAIXE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE R/181 PRODUCAO_CORTE_ENCAIXE ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE where inserted.ORDEM_CORTE = PRODUCAO_CORTE.ORDEM_CORTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_ENCAIXE #porque #PRODUCAO_CORTE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CORTE_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_PRODUCAO_CORTE_ENCAIXE] on [PRODUCAO_CORTE_ENCAIXE] for UPDATE as /* UPDATE trigger on PRODUCAO_CORTE_ENCAIXE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_ENCAIXE R/179 PRODUCAO_CORTE_GRADE ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) OR update(ENCAIXE) BEGIN DECLARE PRODUCAO_CORTE_ENCAIXE34e7 CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE FROM INSERTED DECLARE PRODUCAO_CORTE_ENCAIXE6c58 CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE FROM DELETED OPEN PRODUCAO_CORTE_ENCAIXE34e7 OPEN PRODUCAO_CORTE_ENCAIXE6c58 FETCH NEXT FROM PRODUCAO_CORTE_ENCAIXE34e7 INTO @insORDEM_CORTE, @insENCAIXE FETCH NEXT FROM PRODUCAO_CORTE_ENCAIXE6c58 INTO @delORDEM_CORTE, @delENCAIXE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CORTE_GRADE SET PRODUCAO_CORTE_GRADE.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_CORTE_GRADE.ENCAIXE=@insENCAIXE WHERE PRODUCAO_CORTE_GRADE.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_CORTE_GRADE.ENCAIXE = @delENCAIXE FETCH NEXT FROM PRODUCAO_CORTE_ENCAIXE34e7 INTO @insORDEM_CORTE, @insENCAIXE FETCH NEXT FROM PRODUCAO_CORTE_ENCAIXE6c58 INTO @delORDEM_CORTE, @delENCAIXE END END CLOSE PRODUCAO_CORTE_ENCAIXE34e7 CLOSE PRODUCAO_CORTE_ENCAIXE6c58 DEALLOCATE PRODUCAO_CORTE_ENCAIXE34e7 DEALLOCATE PRODUCAO_CORTE_ENCAIXE6c58 END /* PRODUCAO_CORTE R/181 PRODUCAO_CORTE_ENCAIXE ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE where inserted.ORDEM_CORTE = PRODUCAO_CORTE.ORDEM_CORTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_ENCAIXE #porque #PRODUCAO_CORTE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SINOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SINOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TORSAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TORSAO]( [ID] [int] NOT NULL, [GF_TORSAO] [char](1) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPERIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPERIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TORSAOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TORSAOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE_GRADE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CORTE_GRADE]( [ORDEM_CORTE] [char](8) NOT NULL, [ENCAIXE] [varchar](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NULL, [QTDE_GRADE] [numeric](7, 1) NULL, [C1] [numeric](7, 1) NULL, [C2] [numeric](7, 1) NULL, [C3] [numeric](7, 1) NULL, [C4] [numeric](7, 1) NULL, [C5] [numeric](7, 1) NULL, [C6] [numeric](7, 1) NULL, [C7] [numeric](7, 1) NULL, [C8] [numeric](7, 1) NULL, [C9] [numeric](7, 1) NULL, [C10] [numeric](7, 1) NULL, [C11] [numeric](7, 1) NULL, [C12] [numeric](7, 1) NULL, [C13] [numeric](7, 1) NULL, [C14] [numeric](7, 1) NULL, [C15] [numeric](7, 1) NULL, [C16] [numeric](7, 1) NULL, [C17] [numeric](7, 1) NULL, [C18] [numeric](7, 1) NULL, [C19] [numeric](7, 1) NULL, [C20] [numeric](7, 1) NULL, [C21] [numeric](7, 1) NULL, [C22] [numeric](7, 1) NULL, [C23] [numeric](7, 1) NULL, [C24] [numeric](7, 1) NULL, [C25] [numeric](7, 1) NULL, [C26] [numeric](7, 1) NULL, [C27] [numeric](7, 1) NULL, [C28] [numeric](7, 1) NULL, [C29] [numeric](7, 1) NULL, [C30] [numeric](7, 1) NULL, [C31] [numeric](7, 1) NULL, [C32] [numeric](7, 1) NULL, [C33] [numeric](7, 1) NULL, [C34] [numeric](7, 1) NULL, [C35] [numeric](7, 1) NULL, [C36] [numeric](7, 1) NULL, [C37] [numeric](7, 1) NULL, [C38] [numeric](7, 1) NULL, [C39] [numeric](7, 1) NULL, [C41] [numeric](7, 1) NULL, [C40] [numeric](7, 1) NULL, [C42] [numeric](7, 1) NULL, [C43] [numeric](7, 1) NULL, [C44] [numeric](7, 1) NULL, [C45] [numeric](7, 1) NULL, [C46] [numeric](7, 1) NULL, [C47] [numeric](7, 1) NULL, [C48] [numeric](7, 1) NULL, [CORTAR_NA_FOLHA_PRODUTO] [char](12) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_CORTE_GRADE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_PRODUCAO_CORTE_GRADE] on [PRODUCAO_CORTE_GRADE] for DELETE as /* DELETE trigger on PRODUCAO_CORTE_GRADE */ begin declare @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @delPRODUTO char(12), @errno int, @errmsg varchar(255) /* PRODUCAO_CORTE_GRADE R/646 PRODUCAO_CORTE_ENFESTO ON PARENT DELETE CASCADE */ delete PRODUCAO_CORTE_ENFESTO from PRODUCAO_CORTE_ENFESTO,deleted where PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE = deleted.ORDEM_CORTE and PRODUCAO_CORTE_ENFESTO.ENCAIXE = deleted.ENCAIXE and PRODUCAO_CORTE_ENFESTO.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CORTE_GRADE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXI_PRODUCAO_CORTE_GRADE] on [PRODUCAO_CORTE_GRADE] for INSERT as /* INSERT trigger on PRODUCAO_CORTE_GRADE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/180 PRODUCAO_CORTE_GRADE ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_GRADE #porque #PRODUTOS #não existe.'' goto error end end /* PRODUCAO_CORTE_ENCAIXE R/179 PRODUCAO_CORTE_GRADE ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_ENCAIXE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_ENCAIXE.ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_GRADE #porque #PRODUCAO_CORTE_ENCAIXE #não existe.'' goto error end end /* PRODUCAO_CORTE_GRADE R/169 PRODUCAO_CORTE_GRADE ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) or update(CORTAR_NA_FOLHA_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_GRADE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_GRADE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_GRADE.ENCAIXE and inserted.CORTAR_NA_FOLHA_PRODUTO = PRODUCAO_CORTE_GRADE.PRODUTO select @nullcnt = count(*) from inserted where inserted.ORDEM_CORTE is null or inserted.ENCAIXE is null or inserted.CORTAR_NA_FOLHA_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_GRADE #porque #PRODUCAO_CORTE_GRADE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CORTE_GRADE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_PRODUCAO_CORTE_GRADE] on [PRODUCAO_CORTE_GRADE] for UPDATE as /* UPDATE trigger on PRODUCAO_CORTE_GRADE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @insPRODUTO char(12), @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_GRADE R/646 PRODUCAO_CORTE_ENFESTO ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) OR update(ENCAIXE) OR update(PRODUTO) BEGIN DECLARE PRODUCAO_CORTE_GRADE50de CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE, PRODUTO FROM INSERTED DECLARE PRODUCAO_CORTE_GRADE15f9 CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE, PRODUTO FROM DELETED OPEN PRODUCAO_CORTE_GRADE50de OPEN PRODUCAO_CORTE_GRADE15f9 FETCH NEXT FROM PRODUCAO_CORTE_GRADE50de INTO @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE15f9 INTO @delORDEM_CORTE, @delENCAIXE, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CORTE_ENFESTO SET PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_CORTE_ENFESTO.ENCAIXE=@insENCAIXE, PRODUCAO_CORTE_ENFESTO.PRODUTO=@insPRODUTO WHERE PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_CORTE_ENFESTO.ENCAIXE = @delENCAIXE and PRODUCAO_CORTE_ENFESTO.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE50de INTO @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE15f9 INTO @delORDEM_CORTE, @delENCAIXE, @delPRODUTO END END CLOSE PRODUCAO_CORTE_GRADE50de CLOSE PRODUCAO_CORTE_GRADE15f9 DEALLOCATE PRODUCAO_CORTE_GRADE50de DEALLOCATE PRODUCAO_CORTE_GRADE15f9 END /* PRODUCAO_CORTE_GRADE R/169 PRODUCAO_CORTE_GRADE ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) OR update(ENCAIXE) OR update(PRODUTO) BEGIN DECLARE PRODUCAO_CORTE_GRADE2803 CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE, PRODUTO FROM INSERTED DECLARE PRODUCAO_CORTE_GRADE15f9 CURSOR FOR SELECT ORDEM_CORTE, ENCAIXE, PRODUTO FROM DELETED OPEN PRODUCAO_CORTE_GRADE2803 OPEN PRODUCAO_CORTE_GRADE15f9 FETCH NEXT FROM PRODUCAO_CORTE_GRADE2803 INTO @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE15f9 INTO @delORDEM_CORTE, @delENCAIXE, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CORTE_GRADE SET PRODUCAO_CORTE_GRADE.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_CORTE_GRADE.ENCAIXE=@insENCAIXE, PRODUCAO_CORTE_GRADE.CORTAR_NA_FOLHA_PRODUTO=@insPRODUTO WHERE PRODUCAO_CORTE_GRADE.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_CORTE_GRADE.ENCAIXE = @delENCAIXE and PRODUCAO_CORTE_GRADE.CORTAR_NA_FOLHA_PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE2803 INTO @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_GRADE15f9 INTO @delORDEM_CORTE, @delENCAIXE, @delPRODUTO END END CLOSE PRODUCAO_CORTE_GRADE2803 CLOSE PRODUCAO_CORTE_GRADE15f9 DEALLOCATE PRODUCAO_CORTE_GRADE2803 DEALLOCATE PRODUCAO_CORTE_GRADE15f9 END /* PRODUTOS R/180 PRODUCAO_CORTE_GRADE ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_GRADE #porque #PRODUTOS #não existe.'' goto error end end /* PRODUCAO_CORTE_ENCAIXE R/179 PRODUCAO_CORTE_GRADE ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_ENCAIXE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_ENCAIXE.ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_GRADE #porque #PRODUCAO_CORTE_ENCAIXE #não existe.'' goto error end end /* PRODUCAO_CORTE_GRADE R/169 PRODUCAO_CORTE_GRADE ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) or update(CORTAR_NA_FOLHA_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_GRADE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_GRADE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_GRADE.ENCAIXE and inserted.CORTAR_NA_FOLHA_PRODUTO = PRODUCAO_CORTE_GRADE.PRODUTO select @nullcnt = count(*) from inserted where inserted.ORDEM_CORTE is null and inserted.ENCAIXE is null and inserted.CORTAR_NA_FOLHA_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_GRADE #porque #PRODUCAO_CORTE_GRADE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISACTIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISACTIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_ASIENTOS_MAN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_ASIENTOS_MAN]( [id_asiento_man] [int] NOT NULL, [id_empresa] [int] NOT NULL, [fecha] [datetime] NOT NULL, [concepto] [varchar](25) NOT NULL, [ampliacion] [varchar](50) NULL, [divisa] [char](3) NOT NULL, [centro] [int] NOT NULL, [procesado] [bit] NOT NULL CONSTRAINT [DF__ic_asient__proce__3FC1C448] DEFAULT (0), [total_debe] [int] NOT NULL, [total_haber] [int] NOT NULL, CONSTRAINT [PK_IC_ASIENTOS_MAN] PRIMARY KEY NONCLUSTERED ( [id_asiento_man] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TRIBUT_ICMS]( [ID] [int] NOT NULL, [GF_TRIBUT_ICMS] [char](3) NOT NULL, [GF_DESCRICAO] [varchar](50) NOT NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_TRIBUT_ICMS]') AND name = N'XPKTRIBUT_ICMS') CREATE UNIQUE NONCLUSTERED INDEX [XPKTRIBUT_ICMS] ON [GF_TRIBUT_ICMS] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 20:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_TRIBUT_ICMS] ON [GF_TRIBUT_ICMS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @ICMS CHAR(3) DECLARE ICMSV CURSOR FOR SELECT GF_TRIBUT_ICMS FROM DELETED OPEN ICMSV FETCH NEXT FROM ICMSV INTO @ICMS WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TRIBUT_ICMS FROM TRIBUT_ICMS WHERE TRIBUT_ICMS=@ICMS) BEGIN DELETE FROM TRIBUT_ICMS WHERE TRIBUT_ICMS=@ICMS END ELSE BEGIN FETCH NEXT FROM ICMSV INTO @ICMS END FETCH NEXT FROM ICMSV INTO @ICMS END CLOSE ICMSV DEALLOCATE ICMSV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 19:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_TRIBUT_ICMS] ON [GF_TRIBUT_ICMS] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @ICMS CHAR(3) DECLARE ICMSV CURSOR FOR SELECT GF_TRIBUT_ICMS FROM INSERTED OPEN ICMSV FETCH NEXT FROM ICMSV INTO @ICMS WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TRIBUT_ICMS FROM TRIBUT_ICMS WHERE TRIBUT_ICMS=@ICMS) BEGIN INSERT INTO TRIBUT_ICMS (TRIBUT_ICMS,DESCRICAO,Data_para_transferencia) SELECT GF_TRIBUT_ICMS,GF_DESCRICAO,Data_para_transferencia FROM GF_TRIBUT_ICMS WHERE GF_TRIBUT_ICMS=@ICMS END ELSE BEGIN FETCH NEXT FROM ICMSV INTO @ICMS END FETCH NEXT FROM ICMSV INTO @ICMS END CLOSE ICMSV DEALLOCATE ICMSV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 20:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_TRIBUT_ICMS] ON [GF_TRIBUT_ICMS] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_TRIBUT_ICMS'')) ) =1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_TRIBUT_ICMS'')) ) < 2 ) BEGIN DECLARE @ICMSD CHAR(3), @ICMS CHAR(3) DECLARE ICMSDV CURSOR FOR SELECT GF_TRIBUT_ICMS FROM DELETED DECLARE ICMSV CURSOR FOR SELECT GF_TRIBUT_ICMS FROM INSERTED OPEN ICMSDV OPEN ICMSV FETCH NEXT FROM ICMSDV INTO @ICMSD FETCH NEXT FROM ICMSV INTO @ICMS IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TRIBUT_ICMS FROM TRIBUT_ICMS A WHERE A.TRIBUT_ICMS=@ICMSD) BEGIN UPDATE TRIBUT_ICMS SET TRIBUT_ICMS=@ICMS, Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_TRIBUT_ICMS=@ICMS) WHERE TRIBUT_ICMS=@ICMSD END ELSE BEGIN FETCH NEXT FROM ICMSDV INTO @ICMSD FETCH NEXT FROM ICMSV INTO @ICMS END FETCH NEXT FROM ICMSDV INTO @ICMSD FETCH NEXT FROM ICMSV INTO @ICMS END CLOSE ICMSDV DEALLOCATE ICMSDV CLOSE ICMSV DEALLOCATE ICMSV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[repactionCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [repactionCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USUARIO_EMPRESACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USUARIO_EMPRESACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISACTION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISACTION]( [ID] [smallint] NOT NULL, [ACTION] [char](80) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLORFAB]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLORFAB]( [ID] [int] NULL, [IDVARCOLOR] [int] NULL, [ORDENPM] [smallint] NULL, [C1] [varchar](8) NULL, [C2] [varchar](8) NULL, [C3] [varchar](8) NULL, [C4] [varchar](8) NULL, [C5] [varchar](8) NULL, [C6] [varchar](8) NULL, [C7] [varchar](8) NULL, [C8] [varchar](8) NULL, [C9] [varchar](8) NULL, [C10] [varchar](10) NULL, [C11] [varchar](8) NULL, [C12] [varchar](8) NULL, [C13] [varchar](8) NULL, [C14] [varchar](8) NULL, [C15] [varchar](8) NULL, [C16] [varchar](8) NULL, [C17] [varchar](8) NULL, [C18] [varchar](8) NULL, [C19] [varchar](8) NULL, [C20] [varchar](10) NULL, [C21] [varchar](8) NULL, [C22] [varchar](8) NULL, [C23] [varchar](8) NULL, [C24] [varchar](8) NULL, [C25] [varchar](8) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_COLORFAB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------------------------------------------------------- /****** Objeto: trigger/desencanador dbo.GFI_COLORFAB fecha de la secuencia de comandos: Abr 14 2003 10:45 PM ******/ ----------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_COLORFAB] ON [COLORFAB] FOR INSERT NOT FOR REPLICATION AS declare @n_idvarcolor integer, @s_producto varchar(80),@n_transfer smallint select @n_idvarcolor=idvarcolor from inserted select @s_Producto=gf_produto from varcolor where idvarcolor = @n_idvarcolor select @n_transfer=transfer from varcolor where idvarcolor=@n_idvarcolor if @n_transfer>=50 execute gf_sp_colorfab @s_producto,@n_IDVARCOLOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_COLORFAB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------------------------------------------------------- /****** Objeto: trigger/desencanador dbo.GFU_COLORFAB fecha de la secuencia de comandos: Abr 14 2003 10:30 PM ******/ ----------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_COLORFAB] ON [COLORFAB] FOR UPDATE,DELETE NOT FOR REPLICATION AS declare @n_idvarcolor integer, @s_producto varchar(80),@n_transfer smallint select @n_idvarcolor=idvarcolor from deleted select @s_Producto=gf_produto from varcolor where idvarcolor = @n_idvarcolor select @n_transfer=transfer from varcolor where idvarcolor=@n_idvarcolor if @n_transfer>=50 execute GF_SP_COLORFAB @s_producto,@n_IDVARCOLOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPERIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPERIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RGUSUARIOGPROGRAM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RGUSUARIOGPROGRAM]( [ID] [smallint] NOT NULL, [IDGUSUARIOS] [int] NOT NULL, [IDGPROGRAMS] [smallint] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RGUSUARIOGPROGRAMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RGUSUARIOGPROGRAMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VERSOES_ALT_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VERSOES_ALT_ITENS]( [VERSAO] [char](12) NOT NULL, [ID_ALTERACAO] [char](6) NOT NULL, [ITEM] [char](3) NOT NULL, [TIPO] [smallint] NOT NULL, [NOME] [varchar](60) NOT NULL, [DESCRICAO] [varchar](250) NULL, [LIBERACAO] [datetime] NULL, CONSTRAINT [XPKVERSOES_ALT_ITENS] PRIMARY KEY NONCLUSTERED ( [VERSAO] ASC, [ID_ALTERACAO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VERSOES_ALT_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_VERSOES_ALT_ITENS] on [VERSOES_ALT_ITENS] for INSERT as /* INSERT trigger on VERSOES_ALT_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VERSOES_ALTERACOES R/1825 VERSOES_ALT_ITENS ON CHILD INSERT RESTRICT */ if update(VERSAO) or update(ID_ALTERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VERSOES_ALTERACOES where inserted.VERSAO = VERSOES_ALTERACOES.VERSAO and inserted.ID_ALTERACAO = VERSOES_ALTERACOES.ID_ALTERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VERSOES_ALT_ITENS #porque #VERSOES_ALTERACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VERSOES_ALT_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_VERSOES_ALT_ITENS] on [VERSOES_ALT_ITENS] for UPDATE as /* UPDATE trigger on VERSOES_ALT_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insVERSAO CHAR(12), @insID_ALTERACAO char(6), @insITEM CHAR(3), @delVERSAO CHAR(12), @delID_ALTERACAO char(6), @delITEM CHAR(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VERSOES_ALTERACOES R/1825 VERSOES_ALT_ITENS ON CHILD UPDATE RESTRICT */ if update(VERSAO) or update(ID_ALTERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VERSOES_ALTERACOES where inserted.VERSAO = VERSOES_ALTERACOES.VERSAO and inserted.ID_ALTERACAO = VERSOES_ALTERACOES.ID_ALTERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VERSOES_ALT_ITENS #porque #VERSOES_ALTERACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TIPO_GRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TIPO_GRUPO]( [TIPO] [varchar](25) NOT NULL, [GRUPO] [varchar](25) NOT NULL, CONSTRAINT [XPKMATERIAIS_TIPO_GRUPO] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC, [GRUPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_TIPO_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_TIPO_GRUPO] on [MATERIAIS_TIPO_GRUPO] for INSERT as /* INSERT trigger on MATERIAIS_TIPO_GRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TIPO R/1984 MATERIAIS_TIPO_GRUPO ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO where inserted.TIPO = MATERIAIS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_TIPO_GRUPO #porque #MATERIAIS_TIPO #não existe.'' goto error end end /* MATERIAIS_GRUPO R/1856 MATERIAIS_TIPO_GRUPO ON CHILD INSERT RESTRICT */ if update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_GRUPO where inserted.GRUPO = MATERIAIS_GRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_TIPO_GRUPO #porque #MATERIAIS_GRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_TIPO_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_TIPO_GRUPO] on [MATERIAIS_TIPO_GRUPO] for UPDATE as /* UPDATE trigger on MATERIAIS_TIPO_GRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @insGRUPO varchar(25), @delTIPO varchar(25), @delGRUPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TIPO R/1984 MATERIAIS_TIPO_GRUPO ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO where inserted.TIPO = MATERIAIS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_TIPO_GRUPO #porque #MATERIAIS_TIPO #não existe.'' goto error end end /* MATERIAIS_GRUPO R/1856 MATERIAIS_TIPO_GRUPO ON CHILD UPDATE RESTRICT */ if update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_GRUPO where inserted.GRUPO = MATERIAIS_GRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_TIPO_GRUPO #porque #MATERIAIS_GRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRDETACCESGR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRDETACCESGR]( [ID] [int] NOT NULL, [IDATRIB] [int] NULL, [IDUSERGROUP] [int] NULL, [ACCESS] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CARRETE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CARRETE]( [ID] [int] NOT NULL, [SECUENCIA] [int] NOT NULL CONSTRAINT [DF__ic_carret__SECUE__3173A4F1] DEFAULT (0), [EMPRESA] [int] NOT NULL, [FECHA] [datetime] NOT NULL, [SISTEMA] [int] NOT NULL, [OPERACION] [int] NOT NULL, [CASUISTICA] [int] NOT NULL, [ASIENTO] [int] NOT NULL, [TIPO_ASIENTO] [int] NOT NULL CONSTRAINT [DF_IC_CARRETE_TIPO_ASIENTO] DEFAULT (1), [TIPO_OPERACION] [tinyint] NOT NULL CONSTRAINT [DF_IC_CARRETE_TIPO_OPERACION] DEFAULT (1), [CONCEPTO_OPERACION] [varchar](25) NULL, [AMPLIACION_CONCEPTO] [varchar](50) NULL, [FECHA_CONTABLE] [datetime] NULL, [SITUACION] [tinyint] NOT NULL CONSTRAINT [DF_IC_CARRETE_SITUACION] DEFAULT (1), [ID_CLIENTE] [char](25) NULL, [ID_PROVEEDOR] [char](25) NULL, [ID_PRODUCTO] [char](12) NULL, [ID_BANCO] [char](10) NULL, [ID_EMPLEADO] [char](6) NULL, [USUARIO] [char](25) NOT NULL, [CENTRO_ANALITICO] [int] NOT NULL CONSTRAINT [DF_IC_CARRETE_CENTRO_ANALITICO] DEFAULT (0), [REFERENCIA_1] [varchar](50) NULL, [REFERENCIA_2] [varchar](50) NULL, [REFERENCIA_3] [varchar](50) NULL, [REFERENCIA_4] [nvarchar](50) NULL, [REFERENCIA_5] [nvarchar](50) NULL, [IMPORTE_1] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_1] DEFAULT (0), [IMPORTE_2] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_2] DEFAULT (0), [IMPORTE_3] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_3] DEFAULT (0), [IMPORTE_4] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_4] DEFAULT (0), [IMPORTE_5] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_5] DEFAULT (0), [IMPORTE_6] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_6] DEFAULT (0), [IMPORTE_7] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_7] DEFAULT (0), [IMPORTE_8] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_8] DEFAULT (0), [IMPORTE_9] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_9] DEFAULT (0), [IMPORTE_10] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_10] DEFAULT (0), [IMPORTE_11] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_11] DEFAULT (0), [IMPORTE_12] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_12] DEFAULT (0), [IMPORTE_13] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_13] DEFAULT (0), [IMPORTE_14] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_14] DEFAULT (0), [DIVISA] [char](3) NULL, [CAMBIO_APLICADO] [numeric](10, 6) NOT NULL CONSTRAINT [DF_IC_CARRETE_CAMBIO_APLICADO] DEFAULT (1), [DESC_ERROR] [varchar](50) NULL, [PROCESAR] [bit] NOT NULL CONSTRAINT [DF__ic_carret__proce__3ECDA00F] DEFAULT (1), [SERIE_ALBARAN] [bit] NOT NULL CONSTRAINT [DF_IC_CARRETE_SERIE_ALBARAN] DEFAULT (0), [REF_IVA_1A] [nchar](10) NULL, [REF_IVA_1B] [nchar](10) NULL, [REF_IVA_2A] [nchar](10) NULL, [REF_IVA_2B] [nchar](10) NULL, [REF_IVA_3A] [nchar](10) NULL, [REF_IVA_3B] [nchar](10) NULL, [IMPORTE_15] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_15] DEFAULT (0), [IMPORTE_16] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_16] DEFAULT (0), [IMPORTE_17] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_17] DEFAULT (0), [IMPORTE_18] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_18] DEFAULT (0), [IMPORTE_19] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_19] DEFAULT (0), [IMPORTE_20] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_20] DEFAULT (0), [JUSTIFICANTE] [int] NOT NULL CONSTRAINT [DF_IC_CARRETE_JUSTIFICANTE] DEFAULT (0), [REF_IVA_4A] [nchar](10) NULL, [REF_IVA_4B] [nchar](10) NULL, [IMPORTE_21] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_21] DEFAULT (0), [IMPORTE_22] [numeric](14, 2) NOT NULL CONSTRAINT [DF_IC_CARRETE_IMPORTE_22] DEFAULT (0), CONSTRAINT [PK_IC_CARRETE] PRIMARY KEY NONCLUSTERED ( [ID] ASC, [SECUENCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRIBUT_ICMSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TRIBUT_ICMSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ELEMENTO_COSTURA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ELEMENTO_COSTURA]( [ID] [int] NOT NULL, [ELEMENTO] [char](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PRO]( [ID] [int] NOT NULL, [GF_PROCESSO_PROD] [char](8) NOT NULL, [GF_RECURSO_PRODU] [int] NULL, [GF_FASE_PRODUTIV] [int] NOT NULL, [GF_DESC_PROCESSO] [varchar](40) NOT NULL, [GF_CUSTO_SERVICO] [float] NULL, [GF_CUSTO_MATERIA] [float] NULL, [GF_OBS] [varchar](254) NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRO]') AND name = N'XPKMATERIAIS_PROCESSO') CREATE UNIQUE NONCLUSTERED INDEX [XPKMATERIAIS_PROCESSO] ON [GF_MATERIAIS_PRO] ( [EMPRESA] ASC, [GF_PROCESSO_PROD] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_PROCESSO] ON [GF_MATERIAIS_PRO] FOR DELETE NOT FOR REPLICATION AS /*INDIVIDUAL BEGIN IF EXISTS (SELECT PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSO A, DELETED B WHERE A.PROCESSO_PRODUTIVO=B.GF_PROCESSO_PROD) DELETE FROM MATERIAIS_PROCESSO WHERE PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) ELSE RETURN END */ /*MULTIPLE*/ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_PROCESSO'')))=1) RETURN ELSE BEGIN DECLARE @PROC_DEL CHAR(8) DECLARE CUR_PROC_DEL CURSOR FOR SELECT GF_PROCESSO_PROD FROM DELETED OPEN CUR_PROC_DEL FETCH NEXT FROM CUR_PROC_DEL INTO @PROC_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status>=0 BEGIN IF EXISTS (SELECT PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSO A WHERE A.PROCESSO_PRODUTIVO=@PROC_DEL) DELETE FROM MATERIAIS_PROCESSO WHERE PROCESSO_PRODUTIVO=(@PROC_DEL) FETCH NEXT FROM CUR_PROC_DEL INTO @PROC_DEL END/*fetch_status*/ CLOSE CUR_PROC_DEL DEALLOCATE CUR_PROC_DEL END/*rowcount*/ END/*PPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_PROCESSO] ON [GF_MATERIAIS_PRO] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSO A, INSERTED B WHERE A.PROCESSO_PRODUTIVO=B.GF_PROCESSO_PROD) BEGIN INSERT INTO MATERIAIS_PROCESSO (PROCESSO_PRODUTIVO,RECURSO_PRODUTIVO,FASE_PRODUTIVA,DESC_PROCESSO_PRODUTIVO,CUSTO_SERVICO_PREVISTO, CUSTO_MATERIAL_TERCEIRO_PREVISTO,OBS ) SELECT GF_PROCESSO_PROD, (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP WHERE ID=(SELECT GF_RECURSO_PRODU FROM INSERTED)), (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED)), GF_DESC_PROCESSO,GF_CUSTO_SERVICO,GF_CUSTO_MATERIA,GF_OBS FROM GF_MATERIAIS_PRO WHERE GF_PROCESSO_PROD=(SELECT GF_PROCESSO_PROD FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_PROCESSO] ON [GF_MATERIAIS_PRO] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO'')) ) < 2 ) BEGIN IF EXISTS (SELECT PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSO A, DELETED B WHERE A.PROCESSO_PRODUTIVO=B.GF_PROCESSO_PROD) BEGIN UPDATE MATERIAIS_PROCESSO SET PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM INSERTED), RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP WHERE ID=(SELECT GF_RECURSO_PRODU FROM INSERTED)), FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED)), DESC_PROCESSO_PRODUTIVO=(SELECT GF_DESC_PROCESSO FROM INSERTED), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED), OBS=(SELECT GF_OBS FROM INSERTED) WHERE PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) END ELSE RETURN END */ /*MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO'')) ) < 2 ) BEGIN DECLARE @PROC CHAR(8) DECLARE @PROC_IN CHAR(8) DECLARE CUR_PROC CURSOR FOR SELECT GF_PROCESSO_PROD FROM DELETED DECLARE CUR_PROC_IN CURSOR FOR SELECT GF_PROCESSO_PROD FROM INSERTED OPEN CUR_PROC --DELETED OPEN CUR_PROC_IN --INSERTED FETCH NEXT FROM CUR_PROC INTO @PROC FETCH NEXT FROM CUR_PROC_IN INTO @PROC_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSO A WHERE A.PROCESSO_PRODUTIVO=@PROC) BEGIN UPDATE MATERIAIS_PROCESSO SET PROCESSO_PRODUTIVO=(@PROC_IN), RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP WHERE ID=(SELECT GF_RECURSO_PRODU FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN)), FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN)), DESC_PROCESSO_PRODUTIVO=(SELECT GF_DESC_PROCESSO FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN), OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_PROCESSO_PROD=@PROC_IN) WHERE PROCESSO_PRODUTIVO=(@PROC) END/*IF EXISTS*/ FETCH NEXT FROM CUR_PROC INTO @PROC FETCH NEXT FROM CUR_PROC_IN INTO @PROC_IN END/*fetch_status*/ CLOSE CUR_PROC CLOSE CUR_PROC_IN DEALLOCATE CUR_PROC DEALLOCATE CUR_PROC_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROTU]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROTU]( [ID] [int] NULL, [IDNORMA] [int] NULL, [TALLA] [smallint] NULL, [INCX] [float] NULL, [INCY] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_COMBINACAO_CORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_COMBINACAO_CORES]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [COR_MATERIAL_COMBINACAO] [char](10) NOT NULL, [MATERIAL_COMBINACAO] [char](11) NOT NULL, CONSTRAINT [XPKMATERIAIS_COMBINACAO_CORES] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [COR_MATERIAL] ASC, [MATERIAL_COMBINACAO] ASC, [COR_MATERIAL_COMBINACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_COMBINACAO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_COMBINACAO_CORES] on [MATERIAIS_COMBINACAO_CORES] for INSERT as /* INSERT trigger on MATERIAIS_COMBINACAO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1927 MATERIAIS_COMBINACAO_CORES ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_COMBINACAO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1926 MATERIAIS_COMBINACAO_CORES ON CHILD INSERT RESTRICT */ if update(MATERIAL_COMBINACAO) or update(COR_MATERIAL_COMBINACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_COMBINACAO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_COMBINACAO = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_COMBINACAO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_COMBINACAO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_COMBINACAO_CORES] on [MATERIAIS_COMBINACAO_CORES] for UPDATE as /* UPDATE trigger on MATERIAIS_COMBINACAO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insMATERIAL_COMBINACAO char(11), @insCOR_MATERIAL_COMBINACAO char(10), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delMATERIAL_COMBINACAO char(11), @delCOR_MATERIAL_COMBINACAO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1927 MATERIAIS_COMBINACAO_CORES ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_COMBINACAO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1926 MATERIAIS_COMBINACAO_CORES ON CHILD UPDATE RESTRICT */ if update(MATERIAL_COMBINACAO) or update(COR_MATERIAL_COMBINACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_COMBINACAO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_COMBINACAO = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_COMBINACAO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ELEMENTO_COSTURACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ELEMENTO_COSTURACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DMN_PRODUCAO]') AND OBJECTPROPERTY(id, N'IsRule') = 1) EXEC dbo.sp_executesql N' /****** Object: Rule dbo.DMN_PRODUCAO Script Date: 5/4/2000 18:55:55 ******/ CREATE RULE [DMN_PRODUCAO] AS @col >=0 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRDETACCESGRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRDETACCESGRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA] AS SELECT NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN, VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD FROM RDX_V_INVENTARIOEDI WHERE (TIPOCANT = 61) /* DEVOLUCION DE PRENDAS A VARELA */ OR (TIPOCANT = 65) /* DEVOLUCION POR TARA */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DBSYSCOLUMNS2]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [DBSYSCOLUMNS2] (COLNO,TBNAME,NAME,COLTYPE,LENGTH) AS SELECT syscolumns.COLid, CONVERT(VARCHAR(40),UPPER(sysobjects.name)) TBNAME, CONVERT(VARCHAR(40),UPPER(syscolumns.name)) NAME, CONVERT(VARCHAR(40),UPPER(systypes.name)) COLTYPE, syscolumns.length LENGTH from syscolumns,sysobjects,systypes where (sysobjects.id=syscolumns.id AND syscolumns.Xtype=systypes.Xtype AND systypes.Xtype=systypes.Xusertype) AND systypes.name != ''SYSNAME'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PROCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PROCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_DESPESA]( [PEDIDO] [char](8) NOT NULL, [ITEM] [char](3) NOT NULL, [TIPO] [varchar](25) NOT NULL, [DESPESA_COMPRA] [char](4) NOT NULL, [MOEDA] [char](6) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [PORCENTAGEM] [real] NOT NULL, [VALOR_DESPESA] [numeric](14, 2) NULL, [OBS_DESPESA] [varchar](40) NOT NULL, CONSTRAINT [XPKCOMPRAS_DESPESA] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_DESPESA] on [COMPRAS_DESPESA] for INSERT as /* INSERT trigger on COMPRAS_DESPESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_TITULO R/2173 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #TIPOS_TITULO #não existe.'' goto error end end /* MOEDAS R/2143 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #MOEDAS #não existe.'' goto error end end /* COMPRAS_DESPESA_TIPO R/2142 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* COND_ENT_PGTOS R/2141 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES R/2140 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #FORNECEDORES #não existe.'' goto error end end /* COMPRAS R/2139 COMPRAS_DESPESA ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA #porque #COMPRAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_DESPESA] on [COMPRAS_DESPESA] for UPDATE as /* UPDATE trigger on COMPRAS_DESPESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insITEM char(3), @delPEDIDO char(8), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_TITULO R/2173 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #TIPOS_TITULO #não existe.'' goto error end end /* MOEDAS R/2143 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #MOEDAS #não existe.'' goto error end end /* COMPRAS_DESPESA_TIPO R/2142 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* COND_ENT_PGTOS R/2141 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES R/2140 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #FORNECEDORES #não existe.'' goto error end end /* COMPRAS R/2139 COMPRAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA #porque #COMPRAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROTUCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROTUCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ELEMMANUAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ELEMMANUAL]( [IDELEMMANUAL] [int] NULL, [NOMBRE] [char](24) NULL, [DESCRIPCION] [char](80) NULL, [TIMECRONO] [real] NULL, [TOTALTIME] [real] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CLIENTES_ATACCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CLIENTES_ATACCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_TIPO]( [TIPO_FATURAMENTO] [varchar](25) NOT NULL, [INDICADOR_TIPO] [char](4) NULL, CONSTRAINT [XPKFATURAMENTO_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_FATURAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAMENTO_TIPO] on [FATURAMENTO_TIPO] for DELETE as /* DELETE trigger on FATURAMENTO_TIPO */ begin declare @errno int, @errmsg varchar(255) /* FATURAMENTO_TIPO TIPO_FATURAMENTO FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.TIPO_FATURAMENTO = deleted.TIPO_FATURAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_TIPO #porque existem registros em #FATURAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_TIPO] on [FATURAMENTO_TIPO] for UPDATE as /* UPDATE trigger on FATURAMENTO_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_FATURAMENTO varchar(25), @delTIPO_FATURAMENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_TIPO TIPO_FATURAMENTO FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(TIPO_FATURAMENTO) BEGIN DECLARE FATURAMENTO_TIPO1331 CURSOR FOR SELECT TIPO_FATURAMENTO FROM INSERTED DECLARE FATURAMENTO_TIPO802 CURSOR FOR SELECT TIPO_FATURAMENTO FROM DELETED OPEN FATURAMENTO_TIPO1331 OPEN FATURAMENTO_TIPO802 FETCH NEXT FROM FATURAMENTO_TIPO1331 INTO @insTIPO_FATURAMENTO FETCH NEXT FROM FATURAMENTO_TIPO802 INTO @delTIPO_FATURAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.TIPO_FATURAMENTO=@insTIPO_FATURAMENTO WHERE FATURAMENTO.TIPO_FATURAMENTO = @delTIPO_FATURAMENTO FETCH NEXT FROM FATURAMENTO_TIPO1331 INTO @insTIPO_FATURAMENTO FETCH NEXT FROM FATURAMENTO_TIPO802 INTO @delTIPO_FATURAMENTO END END CLOSE FATURAMENTO_TIPO1331 CLOSE FATURAMENTO_TIPO802 DEALLOCATE FATURAMENTO_TIPO1331 DEALLOCATE FATURAMENTO_TIPO802 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RESULTADOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RESULTADOS]( [COD_TRANSACAO] [char](23) NOT NULL, [TRANSACAO] [char](3) NOT NULL, [TABELA_PAI] [char](18) NOT NULL, [VERSAO_LIBERADA] [char](6) NOT NULL, [TITULO] [varchar](78) NOT NULL, [CONTROL_SISTEMA] [varchar](9) NOT NULL, [AUDITORIA] [bit] NOT NULL, [AUDITORIA_GERAL] [bit] NOT NULL, [AUDITORIA_EM_COLUNAS] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [HELP] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DMN_VALOR_POSITIVO]') AND OBJECTPROPERTY(id, N'IsRule') = 1) EXEC dbo.sp_executesql N' /****** Object: Rule dbo.DMN_VALOR_POSITIVO Script Date: 5/4/2000 18:55:55 ******/ CREATE RULE [DMN_VALOR_POSITIVO] AS @col >= 0 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRDETACCESS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRDETACCESS]( [ID] [int] NOT NULL, [IDATRIB] [int] NULL, [IDUSER] [int] NULL, [ACCESS] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_RECEPCION]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_INVENTARIOEDI_RECEPCION : -- -- -- Definition for view RDX_V_INVENTARIOEDI_RECEPCION : -- CREATE VIEW [RDX_V_INVENTARIOEDI_RECEPCION] AS SELECT NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN, VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD FROM RDX_V_INVENTARIOEDI WHERE TIPOCANT = 194 /* RECEPCION DE PRENDAS DESDE VARELA */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DBSYSTABLES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [DBSYSTABLES] (NAME) AS SELECT CONVERT(VARCHAR(30),UPPER(sysobjects.name)) NAME from sysobjects where (sysobjects.type=''U'') OR (sysobjects.type=''V'') AND (sysobjects.category=0) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_DESPESA_POR_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_DESPESA_POR_TIPO]( [TIPO_COMPRA] [varchar](25) NOT NULL, [DESPESA_COMPRA] [char](4) NOT NULL, CONSTRAINT [XPKCOMPRAS_DESPESA_POR_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_COMPRA] ASC, [DESPESA_COMPRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_DESPESA_POR_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_DESPESA_POR_TIPO] on [COMPRAS_DESPESA_POR_TIPO] for INSERT as /* INSERT trigger on COMPRAS_DESPESA_POR_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_DESPESA_TIPO R/2145 COMPRAS_DESPESA_POR_TIPO ON CHILD INSERT RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA_POR_TIPO #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* COMPRAS_TIPOS R/2144 COMPRAS_DESPESA_POR_TIPO ON CHILD INSERT RESTRICT */ if update(TIPO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_TIPOS where inserted.TIPO_COMPRA = COMPRAS_TIPOS.TIPO_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA_POR_TIPO #porque #COMPRAS_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_DESPESA_POR_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_DESPESA_POR_TIPO] on [COMPRAS_DESPESA_POR_TIPO] for UPDATE as /* UPDATE trigger on COMPRAS_DESPESA_POR_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_COMPRA varchar(25), @insDESPESA_COMPRA char(4), @delTIPO_COMPRA varchar(25), @delDESPESA_COMPRA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_DESPESA_TIPO R/2145 COMPRAS_DESPESA_POR_TIPO ON CHILD UPDATE RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA_POR_TIPO #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* COMPRAS_TIPOS R/2144 COMPRAS_DESPESA_POR_TIPO ON CHILD UPDATE RESTRICT */ if update(TIPO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_TIPOS where inserted.TIPO_COMPRA = COMPRAS_TIPOS.TIPO_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA_POR_TIPO #porque #COMPRAS_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RPROGRAM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RPROGRAM]( [ID] [smallint] NOT NULL, [IDPROGRAMS] [smallint] NOT NULL, [IDGPROGRAMS] [smallint] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_FASE_PRODUTIVA]( [FASE_PRODUTIVA] [varchar](25) NOT NULL, [DESC_FASE_PRODUTIVA] [varchar](40) NOT NULL, CONSTRAINT [XPKMATERIAIS_FASE_PRODUTIVA] PRIMARY KEY NONCLUSTERED ( [FASE_PRODUTIVA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_FASE_PRODUTIVA] ON [MATERIAIS_FASE_PRODUTIVA] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS A, DELETED B WHERE A.GF_FASE_PRODUTIV=B.FASE_PRODUTIVA) DELETE FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_FASE_PRODUTIVA] ON [MATERIAIS_FASE_PRODUTIVA] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_FASE_PRODUTIVA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS A, INSERTED B WHERE A.GF_FASE_PRODUTIV=B.FASE_PRODUTIVA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_FAS (ID,GF_FASE_PRODUTIV,GF_DESC_FASE_PRO,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,FASE_PRODUTIVA,DESC_FASE_PRODUTIVA,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_FASE_PRODUTIVA A, GF_MATERIAIS_FASCNT B WHERE FASE_PRODUTIVA=(SELECT FASE_PRODUTIVA FROM INSERTED) UPDATE GF_MATERIAIS_FASCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_MAQUINA_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_MAQUINA_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_MAQUINA_PRODUTIVA] ON [MATERIAIS_FASE_PRODUTIVA] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=SYSTEM_USER) SET @EMPRESA=(SELECT ID FROM INVMARK.dbo.FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMRESA WHERE EMRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS A, INSERTED B WHERE A.GF_FASE_PRODUTIV=B.FASE_PRODUTIVA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_FAS (ID,GF_FASE_PRODUTIV,GF_DESC_FASE_PRO,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,FASE_PRODUTIVA,DESC_FASE_PRODUTIVA,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_FASE_PRODUTIVA A, GF_MATERIAIS_FASCNT B WHERE FASE_PRODUTIVA=(SELECT FASE_PRODUTIVA FROM INSERTED) UPDATE GF_MATERIAIS_FASCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_FASE_PRODUTIVA] ON [MATERIAIS_FASE_PRODUTIVA] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_FASE_PRODUTIVA'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_FASE_PRODUTIVA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_FASE_PRODUTIVA'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS A, DELETED B WHERE A.GF_FASE_PRODUTIV=B.FASE_PRODUTIVA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_FAS SET GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM INSERTED), GF_DESC_FASE_PRO=(SELECT DESC_FASE_PRODUTIVA FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_FASE_PRODUTIVA] on [MATERIAIS_FASE_PRODUTIVA] for DELETE as /* DELETE trigger on MATERIAIS_FASE_PRODUTIVA */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_FASE_PRODUTIVA R/1918 MATERIAIS_PROCESSO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_PROCESSO where MATERIAIS_PROCESSO.FASE_PRODUTIVA = deleted.FASE_PRODUTIVA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_FASE_PRODUTIVA #porque existem registros em #MATERIAIS_PROCESSO#.'' goto error end /* MATERIAIS_FASE_PRODUTIVA R/1914 MATERIAIS_TRATAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_TRATAMENTO where MATERIAIS_TRATAMENTO.FASE_PRODUTIVA = deleted.FASE_PRODUTIVA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_FASE_PRODUTIVA #porque existem registros em #MATERIAIS_TRATAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_FASE_PRODUTIVA] on [MATERIAIS_FASE_PRODUTIVA] for UPDATE as /* UPDATE trigger on MATERIAIS_FASE_PRODUTIVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFASE_PRODUTIVA varchar(25), @delFASE_PRODUTIVA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_FASE_PRODUTIVA R/1918 MATERIAIS_PROCESSO ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUTIVA) BEGIN DECLARE MATERIAIS_FASE_PRODUTIVA1918 CURSOR FOR SELECT FASE_PRODUTIVA FROM INSERTED DECLARE MATERIAIS_FASE_PRODUTIVA1071 CURSOR FOR SELECT FASE_PRODUTIVA FROM DELETED OPEN MATERIAIS_FASE_PRODUTIVA1918 OPEN MATERIAIS_FASE_PRODUTIVA1071 FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1918 INTO @insFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1071 INTO @delFASE_PRODUTIVA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSO SET MATERIAIS_PROCESSO.FASE_PRODUTIVA=@insFASE_PRODUTIVA WHERE MATERIAIS_PROCESSO.FASE_PRODUTIVA = @delFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1918 INTO @insFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1071 INTO @delFASE_PRODUTIVA END END CLOSE MATERIAIS_FASE_PRODUTIVA1918 CLOSE MATERIAIS_FASE_PRODUTIVA1071 DEALLOCATE MATERIAIS_FASE_PRODUTIVA1918 DEALLOCATE MATERIAIS_FASE_PRODUTIVA1071 END /* MATERIAIS_FASE_PRODUTIVA R/1914 MATERIAIS_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUTIVA) BEGIN DECLARE MATERIAIS_FASE_PRODUTIVA1914 CURSOR FOR SELECT FASE_PRODUTIVA FROM INSERTED DECLARE MATERIAIS_FASE_PRODUTIVA1071 CURSOR FOR SELECT FASE_PRODUTIVA FROM DELETED OPEN MATERIAIS_FASE_PRODUTIVA1914 OPEN MATERIAIS_FASE_PRODUTIVA1071 FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1914 INTO @insFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1071 INTO @delFASE_PRODUTIVA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_TRATAMENTO SET MATERIAIS_TRATAMENTO.FASE_PRODUTIVA=@insFASE_PRODUTIVA WHERE MATERIAIS_TRATAMENTO.FASE_PRODUTIVA = @delFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1914 INTO @insFASE_PRODUTIVA FETCH NEXT FROM MATERIAIS_FASE_PRODUTIVA1071 INTO @delFASE_PRODUTIVA END END CLOSE MATERIAIS_FASE_PRODUTIVA1914 CLOSE MATERIAIS_FASE_PRODUTIVA1071 DEALLOCATE MATERIAIS_FASE_PRODUTIVA1914 DEALLOCATE MATERIAIS_FASE_PRODUTIVA1071 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ELEMMANUALCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ELEMMANUALCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TESTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TESTE]( [NOMBRE] [char](10) NULL, [TESTE] [varchar](50) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEF_CHAR_1]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N'/****** Object: Default dbo.DEF_CHAR_1 Script Date: 5/4/2000 18:55:55 ******/ CREATE DEFAULT [DEF_CHAR_1] AS '' '' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRDETACCESSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRDETACCESSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CLASIF_CLIFOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CLASIF_CLIFOR]( [id_clasif] [int] NOT NULL, [nombre_clasif] [varchar](50) NOT NULL, CONSTRAINT [PK_IC_CLASIF_CLIFOR] PRIMARY KEY NONCLUSTERED ( [id_clasif] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_INVENTARIOEDI_TRASPASO : -- CREATE VIEW [RDX_V_INVENTARIOEDI_TRASPASO] AS SELECT NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN, VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD, CENTRO2, FILIAL2 FROM RDX_V_INVENTARIOEDI WHERE (TIPOCANT = 46) or (TIPOCANT = 48) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RPROGRAMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RPROGRAMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EMODP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EMODP]( [ID] [int] NOT NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [USERC] [int] NOT NULL, [USERM] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [FECHAM] [datetime] NOT NULL, [KPRENDA] [smallint] NULL, [LINEA] [smallint] NULL, [COMENTARIO] [char](80) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISEVENTDEF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISEVENTDEF]( [ID] [smallint] NOT NULL, [PRIORITY] [smallint] NOT NULL, [SNDTYPE] [smallint] NOT NULL, [IDSNDPARENT] [int] NOT NULL, [IDSENDER] [smallint] NOT NULL, [EVENT] [smallint] NOT NULL, [RCVTYPE] [smallint] NOT NULL, [IDRECEIVER] [smallint] NOT NULL, [ACTION] [smallint] NOT NULL, [LPARAM] [smallint] NULL, [DESCRIPCION] [varchar](128) NULL, [DESCRIPTION] [varchar](250) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[SISEVENTDEF]') AND name = N'NODUPLICAR') CREATE NONCLUSTERED INDEX [NODUPLICAR] ON [SISEVENTDEF] ( [IDRECEIVER] ASC, [IDSENDER] ASC, [EVENT] ASC, [ACTION] ASC, [LPARAM] ASC, [IDSNDPARENT] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VERSOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VERSOES]( [VERSAO] [char](12) NOT NULL, [DATA_VERSAO] [datetime] NULL, [RESPONSAVEL_LIBERACAO] [varchar](25) NULL, [DESC_VERSAO] [varchar](60) NULL, [TEXTO_VERSAO] [text] NULL, [BUILD] [char](3) NULL, [DATA_FECHAMENTO] [datetime] NULL, [DATA_PREVISAO] [datetime] NULL, CONSTRAINT [XPKVERSOES] PRIMARY KEY NONCLUSTERED ( [VERSAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VERSOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_VERSOES] on [VERSOES] for DELETE as /* DELETE trigger on VERSOES */ begin declare @errno int, @errmsg varchar(255) /* VERSOES R/1824 VERSOES_ALTERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VERSOES_ALTERACOES where VERSOES_ALTERACOES.VERSAO = deleted.VERSAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VERSOES #porque existem registros em #VERSOES_ALTERACOES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VERSOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_VERSOES] on [VERSOES] for UPDATE as /* UPDATE trigger on VERSOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insVERSAO CHAR(12), @delVERSAO CHAR(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VERSOES R/1824 VERSOES_ALTERACOES ON PARENT UPDATE CASCADE */ IF update(VERSAO) BEGIN DECLARE VERSOES1824 CURSOR FOR SELECT VERSAO FROM INSERTED DECLARE VERSOES652 CURSOR FOR SELECT VERSAO FROM DELETED OPEN VERSOES1824 OPEN VERSOES652 FETCH NEXT FROM VERSOES1824 INTO @insVERSAO FETCH NEXT FROM VERSOES652 INTO @delVERSAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VERSOES_ALTERACOES SET VERSOES_ALTERACOES.VERSAO=@insVERSAO WHERE VERSOES_ALTERACOES.VERSAO = @delVERSAO FETCH NEXT FROM VERSOES1824 INTO @insVERSAO FETCH NEXT FROM VERSOES652 INTO @delVERSAO END END CLOSE VERSOES1824 CLOSE VERSOES652 DEALLOCATE VERSOES1824 DEALLOCATE VERSOES652 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TRIBUT_ORIGEM]( [ID] [int] NOT NULL, [GF_TRIBUT_ORIGEM] [char](3) NOT NULL, [GF_DESCRICAO] [varchar](60) NOT NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_TRIBUT_ORIGEM]') AND name = N'XPKTRIBUT_ORIGEM') CREATE UNIQUE NONCLUSTERED INDEX [XPKTRIBUT_ORIGEM] ON [GF_TRIBUT_ORIGEM] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 7 2001 18:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_TRIBUT_ORIGEM] ON [GF_TRIBUT_ORIGEM] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_TRIBUT_ORIGEM'')))=1) RETURN ELSE DECLARE @TRIBUTO CHAR(3) DECLARE TRIBUTOV CURSOR FOR SELECT GF_TRIBUT_ORIGEM FROM DELETED OPEN TRIBUTOV FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TRIBUT_ORIGEM FROM TRIBUT_ORIGEM WHERE TRIBUT_ORIGEM=@TRIBUTO) DELETE FROM TRIBUT_ORIGEM WHERE TRIBUT_ORIGEM=@TRIBUTO ELSE BEGIN FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END CLOSE TRIBUTOV DEALLOCATE TRIBUTOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 7 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_TRIBUT_ORIGEM] ON [GF_TRIBUT_ORIGEM] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @TRIBUTO CHAR(3) DECLARE TRIBUTOV CURSOR FOR SELECT GF_TRIBUT_ORIGEM FROM INSERTED OPEN TRIBUTOV FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TRIBUT_ORIGEM FROM TRIBUT_ORIGEM WHERE TRIBUT_ORIGEM=@TRIBUTO) BEGIN INSERT INTO TRIBUT_ORIGEM (TRIBUT_ORIGEM,DESCRICAO) SELECT GF_TRIBUT_ORIGEM,GF_DESCRICAO FROM GF_TRIBUT_ORIGEM WHERE GF_TRIBUT_ORIGEM=@TRIBUTO END ELSE BEGIN FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END CLOSE TRIBUTOV DEALLOCATE TRIBUTOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 6 2001 17:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_TRIBUT_ORIGEM] ON [GF_TRIBUT_ORIGEM] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_TRIBUT_ORIGEM'')) ) < 2 ) BEGIN DECLARE @TRIBUTOD CHAR(3), @TRIBUTO CHAR(3) DECLARE TRIBUTODV CURSOR FOR SELECT GF_TRIBUT_ORIGEM FROM DELETED DECLARE TRIBUTOV CURSOR FOR SELECT GF_TRIBUT_ORIGEM FROM INSERTED OPEN TRIBUTODV OPEN TRIBUTOV FETCH NEXT FROM TRIBUTODV INTO @TRIBUTOD FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TRIBUT_ORIGEM FROM TRIBUT_ORIGEM WHERE TRIBUT_ORIGEM=@TRIBUTOD) BEGIN UPDATE TRIBUT_ORIGEM SET TRIBUT_ORIGEM=@TRIBUTO, DESCRICAO=(SELECT GF_DESCRICAO FROM INSERTED WHERE GF_TRIBUT_ORIGEM=@TRIBUTO) WHERE TRIBUT_ORIGEM=@TRIBUTOD END ELSE BEGIN FETCH NEXT FROM TRIBUTODV INTO @TRIBUTOD FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END FETCH NEXT FROM TRIBUTODV INTO @TRIBUTOD FETCH NEXT FROM TRIBUTOV INTO @TRIBUTO END CLOSE TRIBUTODV DEALLOCATE TRIBUTODV CLOSE TRIBUTOV DEALLOCATE TRIBUTOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA : -- -- -- Definition for view RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA : -- CREATE VIEW [RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA] AS SELECT NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN, VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD, CENTRO_ORIGEN = CENTRO2, FILIAL_ORIGEN = FILIAL2 FROM RDX_V_INVENTARIOEDI WHERE TIPOCANT = 46 /* ENTRADA DE PRENDAS DESDE OTRO CENTRO */ ' GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEF_TIPO_DADO]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N' /****** Object: Default dbo.DEF_TIPO_DADO Script Date: 5/4/2000 18:55:55 ******/ CREATE DEFAULT [DEF_TIPO_DADO] AS ''C'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBACCESS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBACCESS]( [ID] [int] NOT NULL, [IDATRIB] [smallint] NOT NULL, [IDUSER] [smallint] NOT NULL, [ACCESS] [smallint] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RUSUARIOGPROGRAM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RUSUARIOGPROGRAM]( [ID] [smallint] NOT NULL, [IDUSUARIOS] [int] NOT NULL, [IDGPROGRAMS] [smallint] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMP_RESERVA_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMP_RESERVA_MATERIAIS]( [ORDEM_SERVICO] [char](8) NULL, [MATERIAL] [char](11) NULL, [COR_MATERIAL] [char](10) NULL, [ITEM] [char](3) NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE_NECESSARIA] [numeric](9, 3) NULL, [QTDE_ORIGINAL] [numeric](10, 3) NULL, [QTDE_ABATER] [numeric](10, 3) NULL, [PARTE_APLICADO_MATERIAL] [varchar](10) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFAULT_0]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N' /****** Object: Default dbo.DEFAULT_0 Script Date: 5/4/2000 18:55:55 ******/ CREATE DEFAULT [DEFAULT_0] AS 0 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBACCESSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBACCESSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_PRECIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_PRECIOS]( [ID] [int] NULL, [IDVARCOLOR] [int] NULL, [ORDENPM] [smallint] NULL, [GF_COR_PRODUTO] [smallint] NULL, [R1] [float] NULL, [R2] [float] NULL, [R3] [float] NULL, [R4] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_VARCOLOR_PRECIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------------------------------------------------------- /****** Objeto: trigger/desencanador dbo.GFI_VARCOLOR_PRECIOS fecha de la secuencia de comandos: Abr 2003 ******/ ----------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_VARCOLOR_PRECIOS] ON [VARCOLOR_PRECIOS] FOR INSERT NOT FOR REPLICATION AS declare @n_idvarcolor integer, @s_producto varchar(80),@n_transfer smallint select @n_idvarcolor=idvarcolor from inserted select @s_Producto=gf_produto from varcolor where idvarcolor = @n_idvarcolor select @n_transfer=transfer from varcolor where idvarcolor=@n_idvarcolor if @n_transfer>=50 execute gf_sp_varcolor_precios @s_producto,@n_IDVARCOLOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_VARCOLOR_PRECIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------------------------------------------------------- /****** Objeto: trigger/desencanador dbo.VARCOLOR_PRECIOS fecha de la secuencia de comandos: Abr 2003 ******/ ----------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_VARCOLOR_PRECIOS] ON [VARCOLOR_PRECIOS] FOR UPDATE,DELETE NOT FOR REPLICATION AS declare @n_idvarcolor integer, @s_producto varchar(80), @n_transfer smallint select @n_idvarcolor=idvarcolor from deleted select @s_Producto=gf_produto from varcolor where idvarcolor = @n_idvarcolor select @n_transfer=transfer from varcolor where idvarcolor=@n_idvarcolor if @n_transfer>=50 execute GF_SP_VARCOLOR_PRECIOS @s_producto,@n_IDVARCOLOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EMODPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EMODPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRIBUT_ORIGEMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TRIBUT_ORIGEMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI_TRASPASO_SALIDA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_INVENTARIOEDI_TRASPASO_SALIDA : -- -- -- Definition for view RDX_V_INVENTARIOEDI_TRASPASO_SALIDA : -- CREATE VIEW [RDX_V_INVENTARIOEDI_TRASPASO_SALIDA] AS SELECT NUMDOC, NUMLIN, NUMCANT, TIPOCANT, FECHA, CENTRO, FILIAL, CODVEN, VENDEDOR, CODIGO_BARRA, CODIGO, PRODUCTO, COLOR, TALLA, CANTIDAD, CENTRO_DESTINO = CENTRO2, FILIAL_DESTINO = FILIAL2 FROM RDX_V_INVENTARIOEDI WHERE TIPOCANT = 48 /* SALIDA DE PRENDAS A OTRO CENTRO */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RUSUARIOGPROGRAMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RUSUARIOGPROGRAMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_TOLER_MAQUINA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_TOLER_MAQUINA]( [MAQUINA] [char](5) NOT NULL, [TOLERANCIA] [varchar](25) NOT NULL, [INDICE_TOLERANCIA] [int] NULL, CONSTRAINT [XPKPRODUTIV_TOLER_MAQUINA] PRIMARY KEY NONCLUSTERED ( [MAQUINA] ASC, [TOLERANCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_TOLER_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_TOLER_MAQUINA] on [PRODUTIV_TOLER_MAQUINA] for INSERT as /* INSERT trigger on PRODUTIV_TOLER_MAQUINA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TOLERANCIAS PRODUTIV_TOLERANCIAS PRODUTIV_TOLER_MAQUINA ON CHILD INSERT RESTRICT */ if update(TOLERANCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TOLERANCIAS where inserted.TOLERANCIA = PRODUTIV_TOLERANCIAS.TOLERANCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_TOLER_MAQUINA #porque #PRODUTIV_TOLERANCIAS #não existe.'' goto error end end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_TOLER_MAQUINA ON CHILD INSERT RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_TOLER_MAQUINA #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_TOLER_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_TOLER_MAQUINA] on [PRODUTIV_TOLER_MAQUINA] for UPDATE as /* UPDATE trigger on PRODUTIV_TOLER_MAQUINA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMAQUINA char(5), @insTOLERANCIA varchar(25), @delMAQUINA char(5), @delTOLERANCIA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TOLERANCIAS PRODUTIV_TOLERANCIAS PRODUTIV_TOLER_MAQUINA ON CHILD UPDATE RESTRICT */ if update(TOLERANCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TOLERANCIAS where inserted.TOLERANCIA = PRODUTIV_TOLERANCIAS.TOLERANCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_TOLER_MAQUINA #porque #PRODUTIV_TOLERANCIAS #não existe.'' goto error end end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_TOLER_MAQUINA ON CHILD UPDATE RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_TOLER_MAQUINA #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_PRECIOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_PRECIOSCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OLD_EOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OLD_EOPER]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [KTOOL] [smallint] NULL, [TIEMPO] [float] NULL, [KCATEG] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NOT NULL, [RELAXCOEF] [float] NULL, [KPRNDS] [smallint] NULL, [FECHAC] [datetime] NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EOPER]') AND name = N'XEOPER') CREATE UNIQUE NONCLUSTERED INDEX [XEOPER] ON [OLD_EOPER] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EOPER]') AND name = N'YEOPER') CREATE UNIQUE NONCLUSTERED INDEX [YEOPER] ON [OLD_EOPER] ( [EMP] ASC, [NOMBRE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNECEDOR_SUBTIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNECEDOR_SUBTIPO]( [SUBTIPO_FORNECEDOR] [varchar](40) NOT NULL, [TIPO] [varchar](25) NOT NULL, CONSTRAINT [XPKFORNECEDOR_SUBTIPO] PRIMARY KEY NONCLUSTERED ( [SUBTIPO_FORNECEDOR] ASC, [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_FORNECEDOR_SU] ON [FORNECEDOR_SUBTIPO] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @SUBTIPO_FORNECEDOR varchar(40), @TIPO VARCHAR(25) DECLARE SUBTIPO CURSOR FOR SELECT TIPO,SUBTIPO_FORNECEDOR FROM DELETED OPEN SUBTIPO FETCH NEXT FROM SUBTIPO INTO @TIPO,@SUBTIPO_FORNECEDOR BEGIN IF EXISTS (SELECT GF_SUBTIPO_FORNE FROM GF_FORNECEDOR_SU WHERE GF_TIPO=@TIPO AND GF_SUBTIPO_FORNE=@SUBTIPO_FORNECEDOR) DELETE FROM GF_FORNECEDOR_SU WHERE GF_TIPO=@TIPO AND GF_SUBTIPO_FORNE=@SUBTIPO_FORNECEDOR FETCH NEXT FROM SUBTIPO INTO @TIPO,@SUBTIPO_FORNECEDOR END CLOSE SUBTIPO DEALLOCATE SUBTIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_FORNECEDOR_SU] ON [FORNECEDOR_SUBTIPO] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @SUBTIPO VARCHAR(40), @TIPO VARCHAR(25) DECLARE SUBTIPO CURSOR FOR SELECT TIPO,SUBTIPO_FORNECEDOR FROM INSERTED OPEN SUBTIPO FETCH NEXT FROM SUBTIPO INTO @TIPO, @SUBTIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT ID FROM GF_FORNECEDOR_SU WHERE GF_TIPO=@TIPO AND GF_SUBTIPO_FORNE=@SUBTIPO) BEGIN INSERT INTO GF_FORNECEDOR_SU (ID, ID_TIPO, GF_TIPO, GF_SUBTIPO_FORNE, ORDENPM) SELECT A.IDMAX, B.ID, @TIPO, @SUBTIPO, ISNULL((SELECT MAX(ORDENPM+1) FROM GF_FORNECEDOR_SU WHERE ID_TIPO=(SELECT ID FROM GF_FORNECEDOR_TI WHERE GF_TIPO=@TIPO)),1) FROM GF_FORNECEDOR_SUCNT A, GF_FORNECEDOR_TI B WHERE B.GF_TIPO=@TIPO UPDATE GF_FORNECEDOR_SUCNT SET IDMAX=IDMAX+1 END FETCH NEXT FROM SUBTIPO INTO @TIPO, @SUBTIPO END CLOSE SUBTIPO DEALLOCATE SUBTIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_FORNECEDOR_SU] ON [FORNECEDOR_SUBTIPO] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_TI'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_TI'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_SU'')) ) = 1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_SU'')) ) < 2 ) BEGIN DECLARE @TIPOD VARCHAR(25), @SUBTIPOD VARCHAR(40), @TIPO VARCHAR(25), @SUBTIPO VARCHAR(40) DECLARE SUBTIPOD CURSOR FOR SELECT TIPO,SUBTIPO_FORNECEDOR FROM DELETED DECLARE SUBTIPO CURSOR FOR SELECT TIPO,SUBTIPO_FORNECEDOR FROM INSERTED OPEN SUBTIPOD OPEN SUBTIPO FETCH NEXT FROM SUBTIPOD INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPO INTO @TIPO,@SUBTIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS(SELECT GF_SUBTIPO_FORNE FROM GF_FORNECEDOR_SU WHERE GF_TIPO=@TIPOD AND GF_SUBTIPO_FORNE=@SUBTIPOD) BEGIN UPDATE GF_FORNECEDOR_SU SET GF_TIPO=@TIPO, GF_SUBTIPO_FORNE=@SUBTIPO FROM INSERTED WHERE GF_TIPO=@TIPOD AND GF_SUBTIPO_FORNE=@SUBTIPOD END ELSE BEGIN FETCH NEXT FROM SUBTIPOD INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPO INTO @TIPO,@SUBTIPO END FETCH NEXT FROM SUBTIPOD INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPO INTO @TIPO,@SUBTIPO END CLOSE SUBTIPOD DEALLOCATE SUBTIPOD CLOSE SUBTIPO DEALLOCATE SUBTIPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FORNECEDOR_SUBTIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FORNECEDOR_SUBTIPO] on [FORNECEDOR_SUBTIPO] for DELETE as /* DELETE trigger on FORNECEDOR_SUBTIPO */ begin declare @errno int, @errmsg varchar(255) /* FORNECEDOR_SUBTIPO R/1652 FORNECEDORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FORNECEDORES where FORNECEDORES.SUBTIPO_FORNECEDOR = deleted.SUBTIPO_FORNECEDOR and FORNECEDORES.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDOR_SUBTIPO #porque existem registros em #FORNECEDORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FORNECEDOR_SUBTIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FORNECEDOR_SUBTIPO] on [FORNECEDOR_SUBTIPO] for INSERT as /* INSERT trigger on FORNECEDOR_SUBTIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDOR_TIPOS R/1795 FORNECEDOR_SUBTIPO ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_TIPOS where inserted.TIPO = FORNECEDOR_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDOR_SUBTIPO #porque #FORNECEDOR_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FORNECEDOR_SUBTIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FORNECEDOR_SUBTIPO] on [FORNECEDOR_SUBTIPO] for UPDATE as /* UPDATE trigger on FORNECEDOR_SUBTIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSUBTIPO_FORNECEDOR varchar(40), @insTIPO varchar(25), @delSUBTIPO_FORNECEDOR varchar(40), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDOR_SUBTIPO R/1652 FORNECEDORES ON PARENT UPDATE CASCADE */ IF update(SUBTIPO_FORNECEDOR) OR update(TIPO) BEGIN DECLARE FORNECEDOR_SUBTIPO1652 CURSOR FOR SELECT SUBTIPO_FORNECEDOR, TIPO FROM INSERTED DECLARE FORNECEDOR_SUBTIPO962 CURSOR FOR SELECT SUBTIPO_FORNECEDOR, TIPO FROM DELETED OPEN FORNECEDOR_SUBTIPO1652 OPEN FORNECEDOR_SUBTIPO962 FETCH NEXT FROM FORNECEDOR_SUBTIPO1652 INTO @insSUBTIPO_FORNECEDOR, @insTIPO FETCH NEXT FROM FORNECEDOR_SUBTIPO962 INTO @delSUBTIPO_FORNECEDOR, @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDORES SET FORNECEDORES.SUBTIPO_FORNECEDOR=@insSUBTIPO_FORNECEDOR, FORNECEDORES.TIPO=@insTIPO WHERE FORNECEDORES.SUBTIPO_FORNECEDOR = @delSUBTIPO_FORNECEDOR and FORNECEDORES.TIPO = @delTIPO FETCH NEXT FROM FORNECEDOR_SUBTIPO1652 INTO @insSUBTIPO_FORNECEDOR, @insTIPO FETCH NEXT FROM FORNECEDOR_SUBTIPO962 INTO @delSUBTIPO_FORNECEDOR, @delTIPO END END CLOSE FORNECEDOR_SUBTIPO1652 CLOSE FORNECEDOR_SUBTIPO962 DEALLOCATE FORNECEDOR_SUBTIPO1652 DEALLOCATE FORNECEDOR_SUBTIPO962 END /* FORNECEDOR_TIPOS R/1795 FORNECEDOR_SUBTIPO ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_TIPOS where inserted.TIPO = FORNECEDOR_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDOR_SUBTIPO #porque #FORNECEDOR_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFAULT_9]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N' /****** Object: Default dbo.DEFAULT_9 Script Date: 5/4/2000 18:55:55 ******/ CREATE DEFAULT [DEFAULT_9] AS 9 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBACCESSGR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBACCESSGR]( [ID] [int] NOT NULL, [IDATRIB] [int] NULL, [IDUSERGROUP] [int] NULL, [ACCESS] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CONTROL_CONT_GEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CONTROL_CONT_GEN]( [cemp] [char](3) NOT NULL, [fcon] [datetime] NOT NULL, [ndia] [tinyint] NOT NULL, [njus] [int] NOT NULL, [situ] [char](1) NOT NULL, [moti] [tinyint] NULL, [tdeb] [numeric](14, 2) NOT NULL, [thab] [numeric](14, 2) NOT NULL, [npar] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PRRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RUSUARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RUSUARIOS]( [ID] [int] NULL, [USUARIO] [int] NULL, [GRUPO] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_TOLERANCIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_TOLERANCIAS]( [TOLERANCIA] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUTIV_TOLERANCIAS] PRIMARY KEY NONCLUSTERED ( [TOLERANCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_TOLERANCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_TOLERANCIAS] on [PRODUTIV_TOLERANCIAS] for DELETE as /* DELETE trigger on PRODUTIV_TOLERANCIAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_TOLERANCIAS TOLERANCIA PRODUTOS_TAB_OPERACOES ON PARENT DELETE CASCADE */ delete PRODUTOS_TAB_OPERACOES from PRODUTOS_TAB_OPERACOES,deleted where PRODUTOS_TAB_OPERACOES.TOLERANCIA = deleted.TOLERANCIA /* PRODUTIV_TOLERANCIAS PRODUTIV_TOLERANCIAS PRODUTIV_TOLER_MAQUINA ON PARENT DELETE CASCADE */ delete PRODUTIV_TOLER_MAQUINA from PRODUTIV_TOLER_MAQUINA,deleted where PRODUTIV_TOLER_MAQUINA.TOLERANCIA = deleted.TOLERANCIA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_TOLERANCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_TOLERANCIAS] on [PRODUTIV_TOLERANCIAS] for UPDATE as /* UPDATE trigger on PRODUTIV_TOLERANCIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTOLERANCIA varchar(25), @delTOLERANCIA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TOLERANCIAS TOLERANCIA PRODUTOS_TAB_OPERACOES ON PARENT UPDATE CASCADE */ IF update(TOLERANCIA) BEGIN DECLARE PRODUTIV_TOLERANCIAS1002 CURSOR FOR SELECT TOLERANCIA FROM INSERTED DECLARE PRODUTIV_TOLERANCIAS643 CURSOR FOR SELECT TOLERANCIA FROM DELETED OPEN PRODUTIV_TOLERANCIAS1002 OPEN PRODUTIV_TOLERANCIAS643 FETCH NEXT FROM PRODUTIV_TOLERANCIAS1002 INTO @insTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS643 INTO @delTOLERANCIA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAB_OPERACOES SET PRODUTOS_TAB_OPERACOES.TOLERANCIA=@insTOLERANCIA WHERE PRODUTOS_TAB_OPERACOES.TOLERANCIA = @delTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS1002 INTO @insTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS643 INTO @delTOLERANCIA END END CLOSE PRODUTIV_TOLERANCIAS1002 CLOSE PRODUTIV_TOLERANCIAS643 DEALLOCATE PRODUTIV_TOLERANCIAS1002 DEALLOCATE PRODUTIV_TOLERANCIAS643 END /* PRODUTIV_TOLERANCIAS PRODUTIV_TOLERANCIAS PRODUTIV_TOLER_MAQUINA ON PARENT UPDATE CASCADE */ IF update(TOLERANCIA) BEGIN DECLARE PRODUTIV_TOLERANCIAS996 CURSOR FOR SELECT TOLERANCIA FROM INSERTED DECLARE PRODUTIV_TOLERANCIAS643 CURSOR FOR SELECT TOLERANCIA FROM DELETED OPEN PRODUTIV_TOLERANCIAS996 OPEN PRODUTIV_TOLERANCIAS643 FETCH NEXT FROM PRODUTIV_TOLERANCIAS996 INTO @insTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS643 INTO @delTOLERANCIA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_TOLER_MAQUINA SET PRODUTIV_TOLER_MAQUINA.TOLERANCIA=@insTOLERANCIA WHERE PRODUTIV_TOLER_MAQUINA.TOLERANCIA = @delTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS996 INTO @insTOLERANCIA FETCH NEXT FROM PRODUTIV_TOLERANCIAS643 INTO @delTOLERANCIA END END CLOSE PRODUTIV_TOLERANCIAS996 CLOSE PRODUTIV_TOLERANCIAS643 DEALLOCATE PRODUTIV_TOLERANCIAS996 DEALLOCATE PRODUTIV_TOLERANCIAS643 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNECEDOR_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNECEDOR_TIPOS]( [TIPO] [varchar](25) NOT NULL, CONSTRAINT [XPKFORNECEDOR_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_FORNECEDOR_TI] ON [FORNECEDOR_TIPOS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @TIPO VARCHAR(25), @TIPOD VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO FROM GF_FORNECEDOR_TI WHERE GF_TIPO=@TIPO) DELETE FROM GF_FORNECEDOR_TI WHERE GF_TIPO=@TIPO FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_FORNECEDOR_TI] ON [FORNECEDOR_TIPOS] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) DECLARE @TIPO VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO FROM INSERTED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TIPO FROM GF_FORNECEDOR_TI WHERE GF_TIPO=@TIPO) INSERT INTO GF_FORNECEDOR_TI (ID, GF_TIPO,FECHAC,FECHAM,USERC,USERM,EMP,ACCESO) SELECT B.IDMAX,@TIPO,GETDATE(),GETDATE(),@USER,@USER,@EMPRESA,28983 FROM GF_FORNECEDOR_TICNT B UPDATE GF_FORNECEDOR_TICNT SET IDMAX=IDMAX+1 FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_FORNECEDOR_TI] ON [FORNECEDOR_TIPOS] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_TI'')) ) = 1 ) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_TI'')) ) < 2 ) BEGIN DECLARE @TIPO VARCHAR(25), @TIPOD VARCHAR(25) DECLARE TIPOD CURSOR FOR SELECT TIPO FROM DELETED DECLARE TIPO CURSOR FOR SELECT TIPO FROM INSERTED OPEN TIPOD OPEN TIPO FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO FROM GF_FORNECEDOR_TI WHERE GF_TIPO=@TIPOD) BEGIN UPDATE GF_FORNECEDOR_TI SET GF_TIPO=@TIPO,FECHAM=GETDATE(),USERM=@USER WHERE GF_TIPO=@TIPOD UPDATE FORNECEDOR_SUBTIPO SET TIPO=@TIPO WHERE TIPO=@TIPOD UPDATE GF_FORNECEDOR_SU SET GF_TIPO=@TIPO WHERE GF_TIPO=@TIPOD END ELSE BEGIN FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPOD DEALLOCATE TIPOD CLOSE TIPO DEALLOCATE TIPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FORNECEDOR_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FORNECEDOR_TIPOS] on [FORNECEDOR_TIPOS] for DELETE as /* DELETE trigger on FORNECEDOR_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* FORNECEDOR_TIPOS R/1795 FORNECEDOR_SUBTIPO ON PARENT DELETE CASCADE */ delete FORNECEDOR_SUBTIPO from FORNECEDOR_SUBTIPO,deleted where FORNECEDOR_SUBTIPO.TIPO = deleted.TIPO /* FORNECEDOR_TIPOS R/1794 FORNECEDORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FORNECEDORES where FORNECEDORES.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDOR_TIPOS #porque existem registros em #FORNECEDORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FORNECEDOR_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FORNECEDOR_TIPOS] on [FORNECEDOR_TIPOS] for UPDATE as /* UPDATE trigger on FORNECEDOR_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDOR_TIPOS R/1795 FORNECEDOR_SUBTIPO ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE FORNECEDOR_TIPOS1795 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE FORNECEDOR_TIPOS143 CURSOR FOR SELECT TIPO FROM DELETED OPEN FORNECEDOR_TIPOS1795 OPEN FORNECEDOR_TIPOS143 FETCH NEXT FROM FORNECEDOR_TIPOS1795 INTO @insTIPO FETCH NEXT FROM FORNECEDOR_TIPOS143 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDOR_SUBTIPO SET FORNECEDOR_SUBTIPO.TIPO=@insTIPO WHERE FORNECEDOR_SUBTIPO.TIPO = @delTIPO FETCH NEXT FROM FORNECEDOR_TIPOS1795 INTO @insTIPO FETCH NEXT FROM FORNECEDOR_TIPOS143 INTO @delTIPO END END CLOSE FORNECEDOR_TIPOS1795 CLOSE FORNECEDOR_TIPOS143 DEALLOCATE FORNECEDOR_TIPOS1795 DEALLOCATE FORNECEDOR_TIPOS143 END /* FORNECEDOR_TIPOS R/1794 FORNECEDORES ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE FORNECEDOR_TIPOS1794 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE FORNECEDOR_TIPOS143 CURSOR FOR SELECT TIPO FROM DELETED OPEN FORNECEDOR_TIPOS1794 OPEN FORNECEDOR_TIPOS143 FETCH NEXT FROM FORNECEDOR_TIPOS1794 INTO @insTIPO FETCH NEXT FROM FORNECEDOR_TIPOS143 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDORES SET FORNECEDORES.TIPO=@insTIPO WHERE FORNECEDORES.TIPO = @delTIPO FETCH NEXT FROM FORNECEDOR_TIPOS1794 INTO @insTIPO FETCH NEXT FROM FORNECEDOR_TIPOS143 INTO @delTIPO END END CLOSE FORNECEDOR_TIPOS1794 CLOSE FORNECEDOR_TIPOS143 DEALLOCATE FORNECEDOR_TIPOS1794 DEALLOCATE FORNECEDOR_TIPOS143 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_CPTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_CPTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFAULT_N1]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N' /****** Object: Default dbo.DEFAULT_N1 Script Date: 5/4/2000 18:55:55 ******/ CREATE DEFAULT [DEFAULT_N1] AS 1' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBACCESSGRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBACCESSGRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CONT_GEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CONT_GEN]( [orig] [char](1) NOT NULL, [cemp] [char](3) NOT NULL, [ceje] [smallint] NOT NULL, [ndia] [tinyint] NOT NULL, [fcon] [datetime] NOT NULL, [njus] [int] NOT NULL, [nord] [smallint] NOT NULL, [ccta] [char](15) NOT NULL, [ccon] [char](15) NULL, [deha] [char](1) NOT NULL, [conc] [char](2) NOT NULL, [ampl] [varchar](100) NULL, [fdoc] [datetime] NULL, [nref] [char](15) NULL, [ndoc] [int] NULL, [nefe] [int] NULL, [unid] [int] NULL, [imap] [numeric](14, 2) NOT NULL, [cdiv] [char](3) NOT NULL CONSTRAINT [DF_IC_CONT_GEN_cdiv] DEFAULT (1), [imdi] [numeric](14, 2) NULL CONSTRAINT [DF_IC_CONT_GEN_imdi] DEFAULT (0), [ccba] [char](1) NULL, [tfba] [char](1) NULL, [fban] [datetime] NULL, [csbe] [char](2) NULL, [ccsb] [char](2) NULL, [camb] [numeric](10, 6) NULL, [sdoc] [char](2) NULL, [pavi] [char](1) NULL, [apsa] [char](15) NULL, [banc] [tinyint] NULL, [impv] [numeric](14, 2) NULL, [prce] [int] NULL, [fano] [datetime] NOT NULL, [fmod] [datetime] NULL, [usu1] [char](8) NULL, [usu2] [char](8) NULL, [situ] [char](1) NOT NULL, [moti] [tinyint] NULL, [lote] [int] NOT NULL, [id_carrete] [int] NOT NULL, CONSTRAINT [PK_IC_CONT_GEN] PRIMARY KEY NONCLUSTERED ( [orig] ASC, [cemp] ASC, [ceje] ASC, [ndia] ASC, [fcon] ASC, [njus] ASC, [nord] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_U_IC_CONT_GEN]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GF_U_IC_CONT_GEN] ON [IC_CONT_GEN] FOR UPDATE AS if update(SITU) begin UPDATE [dbo].[IC_CARRETE] SET SITUACION = 5 from [dbo].[IC_CARRETE], inserted WHERE [dbo].[IC_CARRETE].ID = inserted.id_carrete and inserted.situ = ''E'' end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_X_IC_CONT_GEN]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GF_X_IC_CONT_GEN] ON [IC_CONT_GEN] FOR DELETE AS UPDATE [dbo].[IC_CARRETE] SET SITUACION = 6 from [dbo].[IC_CARRETE], deleted WHERE [dbo].[IC_CARRETE].ID = deleted.id_carrete and deleted.id_carrete not in (select id_carrete from [dbo].[IC_CONT_GEN] ) and deleted.situ = ''P'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INF_VENTAS_CABECERA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INF_VENTAS_CABECERA]( [CODIGO] [char](10) NOT NULL, [NUMINF] [varchar](35) NOT NULL, [FUNCION] [char](3) NULL, [FECINF] [datetime] NULL, [EMISOR] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [VENDEDOR] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, CONSTRAINT [PK_INF_VENTAS_CABECERA] PRIMARY KEY CLUSTERED ( [CODIGO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[INF_VENTAS_CABECERA]') AND name = N'IDX_NUMINF_INF_VENTAS_CABECERA') CREATE UNIQUE NONCLUSTERED INDEX [IDX_NUMINF_INF_VENTAS_CABECERA] ON [INF_VENTAS_CABECERA] ( [NUMINF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFTIU_INF_VENTAS_CABECERA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [GFTIU_INF_VENTAS_CABECERA] on [INF_VENTAS_CABECERA] for INSERT, UPDATE as /* INSERT, UPDATE trigger on INF_VENTAS_CABECERA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR R/1827 INF_VENTAS_CABECERA ON CHILD INSERT RESTRICT */ if update(EMISOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.EMISOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_CABECERA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FILIAL = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_CABECERA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.VENDEDOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_CABECERA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PRR]( [ID] [int] NOT NULL, [IDMATERIAL] [int] NOT NULL, [GF_PROCESSO_PROD] [int] NOT NULL, [GF_MATERIAL] [char](11) NULL, [GF_COR_MATERIAL] [char](10) NULL, [GF_OBS] [varchar](254) NULL, [GF_CUSTO_SERVICO] [float] NULL, [GF_CUSTO_MATERIA] [float] NULL, [ORDENPM] [int] NULL, [GF_CUSTO_SERVICN] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_MATERIAIS_PRR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_MATERIAIS_PRR fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_MATERIAIS_PRR] ON [GF_MATERIAIS_PRR] FOR INSERT,UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGFIU_MATERIAIS_PRR'')) ) < 2 ) BEGIN UPDATE GF_MATERIAIS_PRR SET GF_MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=A.IDMATERIAL), GF_COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=A.IDMATERIAL)) FROM INSERTED A WHERE GF_MATERIAIS_PRR.ID=A.ID END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_PROCESSOS_ROTAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_PROCESSOS_ROTAS] ON [GF_MATERIAIS_PRR] FOR DELETE NOT FOR REPLICATION AS BEGIN /*individual IF EXISTS(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM DELETED)) BEGIN IF EXISTS(SELECT MATERIAL,COR_MATERIAL,PROCESO_PRODUTIVO FROM MATERIAIS_PROCESSOS_ROTAS A, DELETED B WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=B.IDMATERIAL) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=B.IDMATERIAL)) AND PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=B.GF_PROCESSO_PROD) ) DELETE FROM MATERIAIS_PROCESSOS_ROTAS WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM DELETED)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM DELETED))) AND PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(SELECT GF_PROCESSO_PROD FROM DELETED)) END */ /*multiple*/ DECLARE @ID_DEL INT, @IDMAT_DEL INT DECLARE CUR_MATROT_DEL CURSOR FOR SELECT ID, IDMATERIAL FROM DELETED OPEN CUR_MATROT_DEL FETCH NEXT FROM CUR_MATROT_DEL INTO @ID_DEL, @IDMAT_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_DEL)) BEGIN IF EXISTS(SELECT MATERIAL,COR_MATERIAL,PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSOS_ROTAS A WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=@IDMAT_DEL) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=@IDMAT_DEL)) AND PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(SELECT GF_PROCESSO_PROD FROM DELETED WHERE ID=@ID_DEL)) ) DELETE FROM MATERIAIS_PROCESSOS_ROTAS WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_DEL)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_DEL))) AND PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(SELECT GF_PROCESSO_PROD FROM DELETED WHERE ID=@ID_DEL)) END FETCH NEXT FROM CUR_MATROT_DEL INTO @ID_DEL,@IDMAT_DEL END/*FS*/ END/*RC*/ CLOSE CUR_MATROT_DEL DEALLOCATE CUR_MATROT_DEL END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_PROCESSOS_ROTAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_PROCESSOS_ROTAS] ON [GF_MATERIAIS_PRR] FOR UPDATE NOT FOR REPLICATION AS BEGIN IF EXISTS(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED) AND TRANSFER=60 OR TRANSFER=70) BEGIN IF NOT EXISTS(SELECT MATERIAL,COR_MATERIAL,PROCESSO_PRODUTIVO FROM MATERIAIS_PROCESSOS_ROTAS WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED))) AND PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(SELECT GF_PROCESSO_PROD FROM INSERTED)) ) BEGIN INSERT INTO MATERIAIS_PROCESSOS_ROTAS (MATERIAL, COR_MATERIAL, PROCESSO_PRODUTIVO, CUSTO_SERVICO_PREVISTO, CUSTO_MATERIAL_TERCEIRO_PREVISTO, OBS) SELECT (SELECT GF_MATERIAL FROM ETEJI WHERE ID=A.IDMATERIAL), (SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=A.IDMATERIAL)), (SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=A.GF_PROCESSO_PROD), A.GF_CUSTO_SERVICO, A.GF_CUSTO_MATERIA, A.GF_OBS FROM INSERTED A END END/*EXISTS*/ END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_PROCESSOS_ROTAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_PROCESSOS_ROTAS] ON [GF_MATERIAIS_PRR] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_PROCESSOS_ROTAS'')) ) < 2 ) /*individual UPDATE MATERIAIS_PROCESSOS_ROTAS SET MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED)), COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED))), PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(SELECT GF_PROCESSO_PROD FROM INSERTED)), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED), OBS=(SELECT GF_OBS FROM INSERTED) WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED))) */ BEGIN DECLARE @ID INT, @IDMAT INT, @PROC INT, @ID_IN INT, @IDMAT_IN INT, @PROC_IN INT DECLARE CUR_PROC CURSOR FOR SELECT ID,IDMATERIAL,GF_PROCESSO_PROD FROM DELETED DECLARE CUR_PROC_IN CURSOR FOR SELECT ID,IDMATERIAL,GF_PROCESSO_PROD FROM INSERTED OPEN CUR_PROC --DELETED OPEN CUR_PROC_IN --INSERTED FETCH NEXT FROM CUR_PROC INTO @ID,@IDMAT,@PROC FETCH NEXT FROM CUR_PROC_IN INTO @ID_IN,@IDMAT_IN,@PROC_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN UPDATE MATERIAIS_PROCESSOS_ROTAS SET MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_IN)), COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_IN))), PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE ID=(@PROC_IN)), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED WHERE ID=@ID_IN), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED WHERE ID=@ID_IN), OBS=(SELECT GF_OBS FROM INSERTED WHERE ID=@ID_IN) WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@IDMAT))) FETCH NEXT FROM CUR_PROC INTO @ID,@IDMAT,@PROC FETCH NEXT FROM CUR_PROC_IN INTO @ID_IN,@IDMAT_IN,@PROC_IN END/*fs*/ END/*rs*/ CLOSE CUR_PROC CLOSE CUR_PROC_IN DEALLOCATE CUR_PROC DEALLOCATE CUR_PROC_IN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RUSUARIOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RUSUARIOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPERIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPERIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [IDVOLBAK] [int] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBCLSEXTRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBCLSEXTRA]( [ID] [smallint] NOT NULL, [IDATRIB] [smallint] NOT NULL, [TYPE] [int] NOT NULL, [VALUE] [char](250) NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[SISATRIBCLSEXTRA]') AND name = N'NODUPLICAR') CREATE UNIQUE NONCLUSTERED INDEX [NODUPLICAR] ON [SISATRIBCLSEXTRA] ( [IDATRIB] ASC, [VALUE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SECT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SECT]( [ID] [int] NULL, [NOMBRE] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPERIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPERIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBCLSEXTRACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBCLSEXTRACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CUENTAS_CONTABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CUENTAS_CONTABLES]( [id_empresa] [int] NOT NULL, [cuenta] [nvarchar](15) NOT NULL, [descripcion] [nvarchar](100) NOT NULL, [automatica] [bit] NOT NULL CONSTRAINT [DF_IC_CUENTAS_CONTABLES_automatica] DEFAULT (1), [cif] [char](20) NULL, [pais] [int] NULL, [clifor] [char](15) NULL, [tipo_iva] [int] NULL, [loc_iva] [int] NULL, [recargo] [char](1) NULL, [partidas_vivas] [char](1) NULL, [tipo_cuenta] [int] NULL, CONSTRAINT [PK_IC_CUENTAS_CONTABLES] PRIMARY KEY CLUSTERED ( [id_empresa] ASC, [cuenta] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INF_VENTAS_LUGAR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INF_VENTAS_LUGAR]( [CODIGO] [char](10) NOT NULL, [IDLUGAR] [char](5) NOT NULL, [LUGAR] [varchar](25) NOT NULL, [NOMBRE_LUGAR] [varchar](70) NULL, [PERIODO_INI] [datetime] NULL, [PERIODO_FIN] [datetime] NULL, CONSTRAINT [PK_INF_VENTAS_LUGAR] PRIMARY KEY CLUSTERED ( [CODIGO] ASC, [IDLUGAR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFTIU_INF_VENTAS_LUGAR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [GFTIU_INF_VENTAS_LUGAR] on [INF_VENTAS_LUGAR] for INSERT, UPDATE as /* INSERT, UPDATE trigger on INF_VENTAS_LUGAR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* INF_VENTAS_CABECERA R/1828 INF_VENTAS_LUGAR ON CHILD INSERT RESTRICT */ if update(CODIGO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INF_VENTAS_CABECERA where inserted.CODIGO = INF_VENTAS_CABECERA.CODIGO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LUGAR #porque #INF_VENTAS_CABECERA #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1827 INF_VENTAS_LUGAR ON CHILD INSERT RESTRICT */ if update(LUGAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.LUGAR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LUGAR #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UNIDADES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_UNIDADES]( [ID] [int] NOT NULL, [GF_UNIDADE] [varchar](5) NOT NULL, [GF_USO_MATERIAIS] [char](1) NOT NULL, [GF_USO_PRODUTOS] [char](1) NOT NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_UNIDADES]') AND name = N'XPKUNIDADES') CREATE UNIQUE NONCLUSTERED INDEX [XPKUNIDADES] ON [GF_UNIDADES] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_UNIDADES] ON [GF_UNIDADES] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_UNIDADES'')))=1) RETURN ELSE DECLARE @UNIDADE CHAR(5) DECLARE UNIDADEV CURSOR FOR SELECT GF_UNIDADE FROM DELETED OPEN UNIDADEV FETCH NEXT FROM UNIDADEV INTO @UNIDADE WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT UNIDADE FROM UNIDADES A WHERE A.UNIDADE=@UNIDADE) DELETE FROM UNIDADES WHERE UNIDADE=@UNIDADE FETCH NEXT FROM UNIDADEV INTO @UNIDADE END CLOSE UNIDADEV DEALLOCATE UNIDADEV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 17:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_UNIDADES] ON [GF_UNIDADES] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @UNIDADE CHAR(5) DECLARE UNIDADEV CURSOR FOR SELECT GF_UNIDADE FROM INSERTED OPEN UNIDADEV FETCH NEXT FROM UNIDADEV INTO @UNIDADE WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT UNIDADE FROM UNIDADES WHERE UNIDADE=@UNIDADE) INSERT INTO UNIDADES (UNIDADE,USO_MATERIAIS,USO_PRODUTOS,Data_para_transferencia) SELECT GF_UNIDADE,GF_USO_MATERIAIS,GF_USO_PRODUTOS,Data_para_transferencia FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE ELSE BEGIN FETCH NEXT FROM UNIDADEV INTO @UNIDADE END FETCH NEXT FROM UNIDADEV INTO @UNIDADE END CLOSE UNIDADEV DEALLOCATE UNIDADEV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 18:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_UNIDADES] ON [GF_UNIDADES] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_UNIDADES'')) ) < 2 ) BEGIN DECLARE @UNIDADE CHAR(5), @UNIDADED CHAR(5) DECLARE UNIDADEDV CURSOR FOR SELECT GF_UNIDADE FROM DELETED DECLARE UNIDADEV CURSOR FOR SELECT GF_UNIDADE FROM INSERTED OPEN UNIDADEDV OPEN UNIDADEV FETCH NEXT FROM UNIDADEDV INTO @UNIDADED FETCH NEXT FROM UNIDADEV INTO @UNIDADE IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT UNIDADE FROM UNIDADES WHERE UNIDADE=@UNIDADED) BEGIN UPDATE UNIDADES SET UNIDADE=@UNIDADE, USO_MATERIAIS=(SELECT GF_USO_MATERIAIS FROM INSERTED WHERE GF_UNIDADE=@UNIDADE), USO_PRODUTOS=(SELECT GF_USO_PRODUTOS FROM INSERTED WHERE GF_UNIDADE=@UNIDADE), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_UNIDADE=@UNIDADE) WHERE UNIDADE=@UNIDADED END FETCH NEXT FROM UNIDADEDV INTO @UNIDADED FETCH NEXT FROM UNIDADEV INTO @UNIDADE END CLOSE UNIDADEDV CLOSE UNIDADEV DEALLOCATE UNIDADEDV DEALLOCATE UNIDADEV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_OP_POR_OF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_OP_POR_OF]( [ORDEM_FABRICACAO] [char](8) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, CONSTRAINT [XPKM_OP_POR_OF] PRIMARY KEY NONCLUSTERED ( [ORDEM_FABRICACAO] ASC, [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_OP_POR_OF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_OP_POR_OF] on [M_OP_POR_OF] for INSERT as /* INSERT trigger on M_OP_POR_OF */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM R/1905 M_OP_POR_OF ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_OP_POR_OF #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* M_ORDEM_FABRICACAO R/1904 M_OP_POR_OF ON CHILD INSERT RESTRICT */ if update(ORDEM_FABRICACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO where inserted.ORDEM_FABRICACAO = M_ORDEM_FABRICACAO.ORDEM_FABRICACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_OP_POR_OF #porque #M_ORDEM_FABRICACAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_OP_POR_OF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_OP_POR_OF] on [M_OP_POR_OF] for UPDATE as /* UPDATE trigger on M_OP_POR_OF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_FABRICACAO char(8), @insORDEM_PRODUCAO char(8), @delORDEM_FABRICACAO char(8), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM R/1905 M_OP_POR_OF ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_OP_POR_OF #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* M_ORDEM_FABRICACAO R/1904 M_OP_POR_OF ON CHILD UPDATE RESTRICT */ if update(ORDEM_FABRICACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO where inserted.ORDEM_FABRICACAO = M_ORDEM_FABRICACAO.ORDEM_FABRICACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_OP_POR_OF #porque #M_ORDEM_FABRICACAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OLD_EPROC]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [KPRENDA] [smallint] NULL, [COMENTARIO] [char](80) NULL, [KTEJ] [smallint] NULL, [COSTE] [float] NULL, [ACCESO] [smallint] NULL, [KEPROC] [smallint] NULL, [PORTE] [float] NULL, [COMISION] [float] NULL, [EMP] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND name = N'REFEPROC') CREATE UNIQUE NONCLUSTERED INDEX [REFEPROC] ON [OLD_EPROC] ( [EMP] ASC, [NOMBRE] ASC, [KEPROC] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND name = N'WEPROC') CREATE NONCLUSTERED INDEX [WEPROC] ON [OLD_EPROC] ( [KPRENDA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND name = N'XEPROC') CREATE UNIQUE NONCLUSTERED INDEX [XEPROC] ON [OLD_EPROC] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND name = N'YEPROC') CREATE NONCLUSTERED INDEX [YEPROC] ON [OLD_EPROC] ( [NOMBRE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OLD_EPROC]') AND name = N'ZEPROC') CREATE NONCLUSTERED INDEX [ZEPROC] ON [OLD_EPROC] ( [KEPROC] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SECTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SECTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBDETALLE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBDETALLE]( [ID] [smallint] NULL, [IDDETALLE] [smallint] NULL, [NOMBRE] [char](16) NULL, [TITULO] [char](16) NULL, [TIPO] [smallint] NULL, [LONGITUD] [smallint] NULL, [ORDINAL] [smallint] NULL, [EDIT] [smallint] NULL, [INDVAL] [smallint] NULL, [ACCES] [int] NULL, [DBCOLLENGTH] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_TITULO_SISATRIBDETALLE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_TITULO_SISATRIBDETALLE fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_TITULO_SISATRIBDETALLE] ON [SISATRIBDETALLE] FOR DELETE AS --RETURN BEGIN DECLARE @TITULO VARCHAR(24), @IDDETALLE INT DECLARE CLI_IDDETALLE CURSOR FOR SELECT TITULO,IDDETALLE FROM DELETED OPEN CLI_IDDETALLE FETCH NEXT FROM CLI_IDDETALLE INTO @TITULO,@IDDETALLE WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM SISATRIBDETALLE_DIC WHERE CLI=@TITULO AND IDDETALLE=@IDDETALLE FETCH NEXT FROM CLI_IDDETALLE INTO @TITULO,@IDDETALLE END CLOSE CLI_IDDETALLE DEALLOCATE CLI_IDDETALLE END RETURN --SISATRIBING /* ACTUALIZAR EL NOMBRE DE UN ATRIBUTOS DE INGREGIENTE EN SISATRIBING_DIC */ --SP_HELPTEXT U_TITLE_SISATRIBING --DROP TRIGGER U_TITLE_SISATRIBING ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_TITULO_SISATRIBDETALLE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_TITULO_SISATRIBDETALLE fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_TITULO_SISATRIBDETALLE] ON [SISATRIBDETALLE] FOR INSERT AS --RETURN BEGIN DECLARE @TITULO VARCHAR(24), @IDDETALLE INT DECLARE CLI_IDDETALLE CURSOR FOR SELECT TITULO,IDDETALLE FROM INSERTED OPEN CLI_IDDETALLE FETCH NEXT FROM CLI_IDDETALLE INTO @TITULO,@IDDETALLE WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO SISATRIBDETALLE_DIC (IDDETALLE,ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT IDDETALLE,TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,NULL FROM SISATRIBDETALLE WHERE TITULO=@TITULO AND IDDETALLE=@IDDETALLE FETCH NEXT FROM CLI_IDDETALLE INTO @TITULO,@IDDETALLE END CLOSE CLI_IDDETALLE DEALLOCATE CLI_IDDETALLE END RETURN /* BORRAR EL NOMBRE DE UN ATRIBUTO DE CLASE EN SISATRIBUTOS_DIC */ --SP_HELPTEXT D_TITULO_SISATRIBDETALLE --DROP TRIGGER D_TITULO_SISATRIBDETALLE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_TITULO_SISATRIBDETALLE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_TITULO_SISATRIBDETALLE fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_TITULO_SISATRIBDETALLE] ON [SISATRIBDETALLE] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISATRIBDETALLE_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_TITULO_SISATRIBDETALLE'')) ) < 2 ) IF UPDATE(TITULO) BEGIN DECLARE @CLII VARCHAR(24), @CLID VARCHAR(24), @IDDETALLE INT DECLARE CLI_IDDETALLE CURSOR FOR SELECT A.TITULO,A.IDDETALLE,B.TITULO FROM INSERTED A, DELETED B OPEN CLI_IDDETALLE FETCH NEXT FROM CLI_IDDETALLE INTO @CLII,@IDDETALLE,@CLID WHILE @@FETCH_STATUS = 0 BEGIN UPDATE SISATRIBDETALLE_DIC SET CLI=@CLII WHERE CLI=@CLID AND IDDETALLE=@IDDETALLE IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISATRIBDETALLE_DIC SET PER=@CLII WHERE CLI=@CLII AND IDDETALLE=@IDDETALLE END FETCH NEXT FROM CLI_IDDETALLE INTO @CLII,@IDDETALLE,@CLID END CLOSE CLI_IDDETALLE DEALLOCATE CLI_IDDETALLE END RETURN /* INSERT EL NOMBRE DE UN NUEVO ATRIBUTO DE DETALLE EN SISATRIBDETALLE_DIC */ --SP_HELPTEXT I_TITULO_SISATRIBDETALLE --DROP TRIGGER I_TITULO_SISATRIBDETALLE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_DIVISAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_DIVISAS]( [nombre_divisa] [char](3) NOT NULL, [descripcion_divisa] [varchar](100) NULL, CONSTRAINT [PK_IC_DIVISAS] PRIMARY KEY NONCLUSTERED ( [nombre_divisa] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UNIDADESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_UNIDADESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISBUNIT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISBUNIT]( [ID] [int] NULL, [NOMBRE] [char](24) NULL, [ABREV] [char](10) NULL, [PRECS] [smallint] NULL, [FIXEDPREC] [bit] NULL DEFAULT (0) ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_NOMBRE_SISBUNIT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_NOMBRE_SISBUNIT fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_NOMBRE_SISBUNIT] ON [SISBUNIT] FOR DELETE AS --RETURN BEGIN DELETE FROM SISBUNIT_DIC WHERE CLI=(SELECT NOMBRE FROM DELETED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_NOMBRE_SISBUNIT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.I_NOMBRE_SISBUNIT fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_NOMBRE_SISBUNIT] ON [SISBUNIT] FOR INSERT AS --RETURN BEGIN INSERT INTO SISBUNIT_DIC (ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NULL FROM SISBUNIT WHERE NOMBRE=(SELECT NOMBRE FROM INSERTED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_NOMBRE_SISBUNIT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.U_NOMBRE_SISBUNIT fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_NOMBRE_SISBUNIT] ON [SISBUNIT] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISBUNIT_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_NOMBRE_SISBUNIT'')) ) < 2 ) IF UPDATE(NOMBRE) BEGIN UPDATE SISBUNIT_DIC SET CLI=(SELECT NOMBRE FROM INSERTED) WHERE CLI=(SELECT NOMBRE FROM DELETED) IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISBUNIT_DIC SET PER=(SELECT NOMBRE FROM INSERTED) WHERE CLI=(SELECT NOMBRE FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_IPTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_IPTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBDETALLECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBDETALLECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_EJ_CONT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_EJ_CONT]( [id_ej] [int] IDENTITY(1,1) NOT NULL, [ceje] [smallint] NOT NULL, [descripcion] [varchar](50) NULL, [fecha_inicio] [datetime] NOT NULL, [fecha_fin] [datetime] NOT NULL, [activo] [bit] NULL, [ultimo_lote] [int] NOT NULL CONSTRAINT [DF_IC_EJ_CONT_ultimo_lote] DEFAULT (0), CONSTRAINT [PK_IC_EJ_CONT] PRIMARY KEY NONCLUSTERED ( [id_ej] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INF_VENTAS_LINEAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INF_VENTAS_LINEAS]( [CODIGO] [char](10) NOT NULL, [IDLUGAR] [char](5) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [EANVEN] [char](17) NOT NULL, [VENDEDOR] [char](4) NOT NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [QTDE_TOTAL] [int] NULL, [QTDE_1] [int] NULL, [QTDE_2] [int] NULL, [QTDE_3] [int] NULL, [QTDE_4] [int] NULL, [QTDE_5] [int] NULL, [QTDE_6] [int] NULL, [QTDE_7] [int] NULL, [QTDE_8] [int] NULL, [QTDE_9] [int] NULL, [QTDE_10] [int] NULL, [QTDE_11] [int] NULL, [QTDE_12] [int] NULL, [QTDE_13] [int] NULL, [QTDE_14] [int] NULL, [QTDE_15] [int] NULL, [QTDE_16] [int] NULL, [QTDE_17] [int] NULL, [QTDE_18] [int] NULL, [QTDE_19] [int] NULL, [QTDE_20] [int] NULL, [QTDE_21] [int] NULL, [QTDE_22] [int] NULL, [QTDE_23] [int] NULL, [QTDE_24] [int] NULL, [QTDE_25] [int] NULL, [QTDE_26] [int] NULL, [QTDE_27] [int] NULL, [QTDE_28] [int] NULL, [QTDE_29] [int] NULL, [QTDE_30] [int] NULL, [QTDE_31] [int] NULL, [QTDE_32] [int] NULL, [QTDE_33] [int] NULL, [QTDE_34] [int] NULL, [QTDE_35] [int] NULL, [QTDE_36] [int] NULL, [QTDE_37] [int] NULL, [QTDE_38] [int] NULL, [QTDE_39] [int] NULL, [QTDE_40] [int] NULL, [QTDE_41] [int] NULL, [QTDE_42] [int] NULL, [QTDE_43] [int] NULL, [QTDE_44] [int] NULL, [QTDE_45] [int] NULL, [QTDE_46] [int] NULL, [QTDE_47] [int] NULL, [QTDE_48] [int] NULL, [DEV_TOTAL] [int] NULL, [DEV_1] [int] NULL, [DEV_2] [int] NULL, [DEV_3] [int] NULL, [DEV_4] [int] NULL, [DEV_5] [int] NULL, [DEV_6] [int] NULL, [DEV_7] [int] NULL, [DEV_8] [int] NULL, [DEV_9] [int] NULL, [DEV_10] [int] NULL, [DEV_11] [int] NULL, [DEV_12] [int] NULL, [DEV_13] [int] NULL, [DEV_14] [int] NULL, [DEV_15] [int] NULL, [DEV_16] [int] NULL, [DEV_17] [int] NULL, [DEV_18] [int] NULL, [DEV_19] [int] NULL, [DEV_20] [int] NULL, [DEV_21] [int] NULL, [DEV_22] [int] NULL, [DEV_23] [int] NULL, [DEV_24] [int] NULL, [DEV_25] [int] NULL, [DEV_26] [int] NULL, [DEV_27] [int] NULL, [DEV_28] [int] NULL, [DEV_29] [int] NULL, [DEV_30] [int] NULL, [DEV_31] [int] NULL, [DEV_32] [int] NULL, [DEV_33] [int] NULL, [DEV_34] [int] NULL, [DEV_35] [int] NULL, [DEV_36] [int] NULL, [DEV_37] [int] NULL, [DEV_38] [int] NULL, [DEV_39] [int] NULL, [DEV_40] [int] NULL, [DEV_41] [int] NULL, [DEV_42] [int] NULL, [DEV_43] [int] NULL, [DEV_44] [int] NULL, [DEV_45] [int] NULL, [DEV_46] [int] NULL, [DEV_47] [int] NULL, [DEV_48] [int] NULL, CONSTRAINT [PK_INF_VENTAS_LINEAS] PRIMARY KEY CLUSTERED ( [CODIGO] ASC, [IDLUGAR] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [EANVEN] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFTIU_INF_VENTAS_LINEAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [GFTIU_INF_VENTAS_LINEAS] on [INF_VENTAS_LINEAS] for INSERT, UPDATE as /* INSERT, UPDATE trigger on INF_VENTAS_LINEAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* INF_VENTAS_CABECERA R/1828 INF_VENTAS_LINEAS ON CHILD INSERT RESTRICT */ if update(CODIGO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INF_VENTAS_CABECERA where inserted.CODIGO = INF_VENTAS_CABECERA.CODIGO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LINEAS #porque #INF_VENTAS_CABECERA #não existe.'' goto error end end /* INF_VENTAS_LUGAR R/1827 INF_VENTAS_LINEAS ON CHILD INSERT RESTRICT */ if update(IDLUGAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INF_VENTAS_LUGAR where inserted.IDLUGAR = INF_VENTAS_LUGAR.IDLUGAR and inserted.CODIGO = INF_VENTAS_LUGAR.CODIGO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LINEAS #porque #INF_VENTAS_LUGAR #não existe.'' goto error end end /* LOJA_VENDEDORES R/1488 INF_VENTAS_LINEAS ON CHILD INSERT RESTRICT */ if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.VENDEDOR = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LINEAS #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES INF_VENTAS_LINEAS ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INF_VENTAS_LINEAS #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFC_TEMAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFC_TEMAS]( [ID] [int] NULL, [ID_COLEC] [int] NULL, [ORDENPM] [smallint] NULL, [CODI] [varchar](4) NULL, [DESCRIP] [varchar](24) NULL, [DESCRIP_NE] [varchar](24) NULL, [DESCRIP_EN] [varchar](24) NULL, [DESCRIP_FR] [varchar](24) NULL, [DESCRIP_SP] [varchar](24) NULL, [DESCRIP_DU] [varchar](24) NULL, [DESCRIP_7] [varchar](24) NULL, [DESCRIP_8] [varchar](24) NULL, [DESCRIP_9] [varchar](24) NULL, [DESCRIP_10] [varchar](24) NULL, [DESCRIP_11] [varchar](24) NULL, [DESCRIP_12] [varchar](24) NULL, [DESCRIP_13] [varchar](24) NULL, [DESCRIP_14] [varchar](24) NULL, [DESCRIP_15] [varchar](24) NULL, [DESCRIP_16] [varchar](24) NULL, [DESCRIP_17] [varchar](24) NULL, [DESCRIP_18] [varchar](24) NULL, [DESCRIP_19] [varchar](24) NULL, [DESCRIP_20] [varchar](24) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GFC_TEMAS]') AND name = N'REFGFC_TEMAS') CREATE UNIQUE NONCLUSTERED INDEX [REFGFC_TEMAS] ON [GFC_TEMAS] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISBUNITCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISBUNITCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO_ANTERIOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_FABRICACAO_ANTERIOR]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [ORDEM_PRODUCAO_ANTERIOR] [char](8) NOT NULL, CONSTRAINT [XPKM_ORDEM_FABRICACAO_ANTERIOR] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC, [ORDEM_PRODUCAO_ANTERIOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO_ANTERIOR]') AND name = N'XIE1M_ORDEM_FABRICACAO_ANTERIOR') CREATE NONCLUSTERED INDEX [XIE1M_ORDEM_FABRICACAO_ANTERIOR] ON [M_ORDEM_FABRICACAO_ANTERIOR] ( [ORDEM_PRODUCAO_ANTERIOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_FABRICACAO_ANTERIO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_FABRICACAO_ANTERIO] on [M_ORDEM_FABRICACAO_ANTERIOR] for INSERT as /* INSERT trigger on M_ORDEM_FABRICACAO_ANTERIOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO_ITEM R/1890 M_ORDEM_FABRICACAO_ANTERIOR ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO_ANTERIOR = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_ANTERIOR #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/1889 M_ORDEM_FABRICACAO_ANTERIOR ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_ANTERIOR #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_FABRICACAO_ANTERIO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_FABRICACAO_ANTERIO] on [M_ORDEM_FABRICACAO_ANTERIOR] for UPDATE as /* UPDATE trigger on M_ORDEM_FABRICACAO_ANTERIOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insORDEM_PRODUCAO_ANTERIOR char(8), @delORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO_ANTERIOR char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO_ITEM R/1890 M_ORDEM_FABRICACAO_ANTERIOR ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO_ANTERIOR = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ANTERIOR #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/1889 M_ORDEM_FABRICACAO_ANTERIOR ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ANTERIOR #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOCALIZACOES_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOCALIZACOES_PRODUTO]( [LOCALIZACAO_PRODUTO] [varchar](12) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [DESC_LOCALIZACAO_PRODUTO] [varchar](40) NULL, [SEQUENCIA_DE_SEPARACAO] [varchar](12) NOT NULL, CONSTRAINT [XPKLOCALIZACOES_PRODUTO] PRIMARY KEY NONCLUSTERED ( [LOCALIZACAO_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOCALIZACOES_PRODUTO]') AND name = N'XAK1LOCALIZACOES_PRODUTO') CREATE UNIQUE NONCLUSTERED INDEX [XAK1LOCALIZACOES_PRODUTO] ON [LOCALIZACOES_PRODUTO] ( [FILIAL] ASC, [SEQUENCIA_DE_SEPARACAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOCALIZACOES_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOCALIZACOES_PRODUTO] on [LOCALIZACOES_PRODUTO] for DELETE as /* DELETE trigger on LOCALIZACOES_PRODUTO */ begin declare @errno int, @errmsg varchar(255) /* LOCALIZACOES_PRODUTO R/1806 PRODUTOS_LOCALIZACAO ON PARENT DELETE CASCADE */ delete PRODUTOS_LOCALIZACAO from PRODUTOS_LOCALIZACAO,deleted where PRODUTOS_LOCALIZACAO.LOCALIZACAO_PRODUTO = deleted.LOCALIZACAO_PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOCALIZACOES_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOCALIZACOES_PRODUTO] on [LOCALIZACOES_PRODUTO] for INSERT as /* INSERT trigger on LOCALIZACOES_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1805 LOCALIZACOES_PRODUTO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOCALIZACOES_PRODUTO #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOCALIZACOES_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOCALIZACOES_PRODUTO] on [LOCALIZACOES_PRODUTO] for UPDATE as /* UPDATE trigger on LOCALIZACOES_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLOCALIZACAO_PRODUTO varchar(12), @delLOCALIZACAO_PRODUTO varchar(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOCALIZACOES_PRODUTO R/1806 PRODUTOS_LOCALIZACAO ON PARENT UPDATE CASCADE */ IF update(LOCALIZACAO_PRODUTO) BEGIN DECLARE LOCALIZACOES_PRODUTO1806 CURSOR FOR SELECT LOCALIZACAO_PRODUTO FROM INSERTED DECLARE LOCALIZACOES_PRODUTO1041 CURSOR FOR SELECT LOCALIZACAO_PRODUTO FROM DELETED OPEN LOCALIZACOES_PRODUTO1806 OPEN LOCALIZACOES_PRODUTO1041 FETCH NEXT FROM LOCALIZACOES_PRODUTO1806 INTO @insLOCALIZACAO_PRODUTO FETCH NEXT FROM LOCALIZACOES_PRODUTO1041 INTO @delLOCALIZACAO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_LOCALIZACAO SET PRODUTOS_LOCALIZACAO.LOCALIZACAO_PRODUTO=@insLOCALIZACAO_PRODUTO WHERE PRODUTOS_LOCALIZACAO.LOCALIZACAO_PRODUTO = @delLOCALIZACAO_PRODUTO FETCH NEXT FROM LOCALIZACOES_PRODUTO1806 INTO @insLOCALIZACAO_PRODUTO FETCH NEXT FROM LOCALIZACOES_PRODUTO1041 INTO @delLOCALIZACAO_PRODUTO END END CLOSE LOCALIZACOES_PRODUTO1806 CLOSE LOCALIZACOES_PRODUTO1041 DEALLOCATE LOCALIZACOES_PRODUTO1806 DEALLOCATE LOCALIZACOES_PRODUTO1041 END /* FILIAIS R/1805 LOCALIZACOES_PRODUTO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOCALIZACOES_PRODUTO #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLORIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLORIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_FOTO fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_FOTO] ON [VARCOLORIMG] FOR INSERT NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT P.PRODUTO FROM dbo.PRODUTOS P, INSERTED I WHERE P.PRODUTO=(SELECT GF_PRODUTO FROM VARCOLOR WHERE IDVARCOLOR=I.CARPETA# AND TRANSFER>50) AND I.ESTADO=0) BEGIN -- Insertamos en Foto Producto (linx) INSERT INTO dbo.PRODUTOS_FOTO (PRODUTO,NUMERO_FOTO,LEGENDA,PATH_FOTO) SELECT V.GF_PRODUTO, VI.IDIMG, VI.IDDOC, ''X:\IMG\VARCOLOR\''+RTRIM(CONVERT(CHAR(3),VI.OFFSET))+''\''+VI.FICHERO FROM VARCOLOR V,VARCOLORIMG VI WHERE VI.CARPETA#=V.IDVARCOLOR AND VI.ESTADO=0 AND V.IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_FOTO fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_FOTO] ON [VARCOLORIMG] FOR UPDATE NOT FOR REPLICATION AS declare @numrows int, @nullcnt int, @validcnt int, @insCARPETA INT, @insNUMFOTO INT, @delCARPETA INT, @delNUMFOTO INT, @errno int, @errmsg varchar(255) select @numrows = @@rowcount IF ( (SELECT trigger_nestlevel (OBJECT_ID(''GFU_PRODUTOS_FOTO'')) ) <2 ) BEGIN IF EXISTS (SELECT * FROM dbo.VARCOLOR PF, INSERTED I WHERE PF.IDVARCOLOR=I.CARPETA# AND PF.TRANSFER>50 AND I.ESTADO=0 ) BEGIN -- Actualizamos en Foto Producto (linx) DECLARE PRODUTOS_FOTO304 CURSOR FOR SELECT CARPETA#,IDIMG FROM INSERTED DECLARE PRODUTOS_FOTO178 CURSOR FOR SELECT CARPETA#,IDIMG FROM DELETED OPEN PRODUTOS_FOTO304 OPEN PRODUTOS_FOTO178 FETCH NEXT FROM PRODUTOS_FOTO304 INTO @insCARPETA,@insNUMFOTO FETCH NEXT FROM PRODUTOS_FOTO178 INTO @delCARPETA,@delNUMFOTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE dbo.PRODUTOS_FOTO SET --PRODUTO=V.GF_PRODUTO, --NUMERO_FOTO=VI.IDIMG, LEGENDA=VI.IDDOC, PATH_FOTO=''X:\IMG\VARCOLOR\''+RTRIM(CONVERT(CHAR(3),VI.OFFSET))+''\''+VI.FICHERO FROM VARCOLORIMG VI WHERE VI.CARPETA#=@delCARPETA AND VI.IDIMG=@delNUMFOTO END /* UPDATE PRODUTOS SET PRODUTOS.GRUPO_PRODUTO=@insGRUPO_PRODUTO, PRODUTOS.SUBGRUPO_PRODUTO=@insSUBGRUPO_PRODUTO WHERE PRODUTOS.GRUPO_PRODUTO = @delGRUPO_PRODUTO and PRODUTOS.SUBGRUPO_PRODUTO = @delSUBGRUPO_PRODUTO */ FETCH NEXT FROM PRODUTOS_FOTO304 INTO @insCARPETA,@insNUMFOTO FETCH NEXT FROM PRODUTOS_FOTO178 INTO @delCARPETA,@delNUMFOTO END -- END CLOSE PRODUTOS_FOTO304 CLOSE PRODUTOS_FOTO178 DEALLOCATE PRODUTOS_FOTO304 DEALLOCATE PRODUTOS_FOTO178 END RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDIDACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDIDACNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFC_TEMASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFC_TEMASCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTO_CORES_TEMP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTO_CORES_TEMP]( [ID_GF_PRODUTO_CO] [int] NULL, [ORDEN_I] [smallint] NULL, [ORDEN_F] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_COLOR_EN_CARTA_TEMP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_INSERT_COLOR_EN_CARTA_TEMP] ON [GF_PRODUTO_CORES_TEMP] FOR INSERT -- Trigger para actualizar las columnas de color de un producto acabado en la tabla RCOMPVARCOLOR -- Actúa sobre todas las variantes que comparten la Carta de Color -- Realizado por: Bernardo Castellanos -- Fecha: 18-11-02 -- Revisado: Eva M. Iglesias -- Fecha: 13-05-03 AS DECLARE @n_ID_GF_PRODUTO_CO INTEGER, @n_orden_i SMALLINT, @n_orden_f SMALLINT, @n_ultimo_orden SMALLINT, @n_inserto SMALLINT, @s_sql VARCHAR(500), @s_sql_base VARCHAR(500), @s_izq VARCHAR(2), @s_der VARCHAR(2), @n_cont SMALLINT, @n_1 SMALLINT, @n_2 SMALLINT, @n_IDVARCOLOR INTEGER BEGIN -- La tabla temporal #FILAS_MOVER contendrá las filas y posiciones que hay que mover en RCOMPVARCOLOR CREATE TABLE #FILAS_MOVER (ID INTEGER, POSI SMALLINT, POSF SMALLINT) SELECT @n_ID_GF_PRODUTO_CO = ID_GF_PRODUTO_CO, @n_orden_i = ORDEN_I, @n_orden_f = ORDEN_F FROM INSERTED INSERT INTO #FILAS_MOVER VALUES(@n_ID_GF_PRODUTO_CO, @n_orden_i, @n_orden_f) SELECT @n_inserto = 1 WHILE @n_inserto <> 0 BEGIN SELECT @n_inserto = ISNULL(COUNT(*),0) FROM GF_PRODUTO_CORES_TEMP T1 WHERE T1.ID_GF_PRODUTO_CO = @n_ID_GF_PRODUTO_CO AND (T1.ORDEN_I IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO AND POSF <> 0) OR T1.ORDEN_F IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO AND POSI <> 0)) AND NOT EXISTS (SELECT * FROM #FILAS_MOVER T2 WHERE T2.POSI = T1.ORDEN_I AND T2.POSF = T1.ORDEN_F AND T2.ID = @n_ID_GF_PRODUTO_CO) INSERT INTO #FILAS_MOVER SELECT * FROM GF_PRODUTO_CORES_TEMP T1 WHERE T1.ID_GF_PRODUTO_CO = @n_ID_GF_PRODUTO_CO AND (T1.ORDEN_I IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO AND POSF <> 0) OR T1.ORDEN_F IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO and posi <> 0)) AND NOT EXISTS (SELECT * FROM #FILAS_MOVER T2 WHERE T2.POSI = T1.ORDEN_I AND T2.POSF = T1.ORDEN_F AND T2.ID = @n_ID_GF_PRODUTO_CO) END -- La variable @n_ultimo_orden almacena el número de filas de GF_PRODUTO_CORES, por tanto el máximo ORDENPM de este detalle SELECT @n_ultimo_orden = ISNULL(COUNT(*),0) FROM GF_PRODUTO_CORES WHERE ID_CART_COL = @n_ID_GF_PRODUTO_CO -- POSI = 0 significa que la fila es nueva; POSF = 0 significa que la fila ha sido borrada; En otro caso, la fila se ha movido SELECT @n_1 = ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO AND (POSI IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO) OR POSI = 0) AND (POSF IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO) OR POSF = 0) SELECT @n_2 = ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE POSI <= @n_ultimo_orden AND POSF <= (SELECT @n_ultimo_orden - ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE ID = @n_ID_GF_PRODUTO_CO AND POSI = 0) IF (@n_1 = @n_2) AND (@n_2<>0) BEGIN SELECT @s_sql = ''UPDATE RCOMPVARCOLOR SET'' DECLARE LISTA_CAMBIOS CURSOR FOR SELECT LTRIM(CONVERT(VARCHAR(2),POSF)),LTRIM(CONVERT(VARCHAR(2),POSI)) FROM #FILAS_MOVER OPEN LISTA_CAMBIOS FETCH NEXT FROM LISTA_CAMBIOS INTO @s_izq, @s_der SELECT @n_cont = 0 WHILE (@@FETCH_STATUS = 0) BEGIN -- La medida se ha movido de sitio, por lo que se copian los valores de la posicion anterior a la actual IF (@s_izq <> ''0'') AND (@s_der <> ''0'') SELECT @s_sql = @s_sql + '' C'' + @s_izq + '' = C'' + @s_der + '','' -- La medida ha sido borrada, por lo que los colores se ponen a NULL IF (@s_der = ''0'') SELECT @s_sql = @s_sql + '' C'' + @s_izq + '' = NULL,'' IF (CONVERT(SMALLINT,@s_der) > @n_cont) SELECT @n_cont = CONVERT(SMALLINT,@s_der) FETCH NEXT FROM LISTA_CAMBIOS INTO @s_izq, @s_der END WHILE (@n_cont > @n_ultimo_orden) BEGIN SELECT @s_sql = @s_sql + '' C'' + LTRIM(CONVERT(VARCHAR(2),@n_cont)) + '' = NULL,'' SELECT @n_cont = @n_cont - 1 END SELECT @s_sql_base = LEFT(@s_sql, LEN(@s_sql) -1) DECLARE LISTA_VARIANTES CURSOR FOR SELECT IDVARCOLOR FROM VARCOLOR WHERE IDCARTA=@n_ID_GF_PRODUTO_CO OPEN LISTA_VARIANTES FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR WHILE (@@FETCH_STATUS = 0) BEGIN -- Eva Ig: se seleccionan las filas de la tabla RCOMPVARCOLOR para cada una de las variantes que utilizan esa carta de colores DECLARE LISTA_COMP CURSOR FOR SELECT IDCOMPVARCOLOR FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @n_IDVARCOLOR DECLARE @IdRComp INT OPEN LISTA_COMP FETCH NEXT FROM LISTA_COMP INTO @IdRComp WHILE (@@FETCH_STATUS = 0) BEGIN SELECT @s_sql = @s_sql_base + '' WHERE IDCOMPVARCOLOR = '' + CONVERT(VARCHAR,@IdRComp) EXEC(@s_sql) FETCH NEXT FROM LISTA_COMP INTO @IdRComp END CLOSE lista_comp DEALLOCATE lista_comp FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR END CLOSE LISTA_VARIANTES DEALLOCATE LISTA_VARIANTES DELETE FROM GF_PRODUTO_CORES_TEMP WHERE ID_GF_PRODUTO_CO = @n_ID_GF_PRODUTO_CO AND (EXISTS(SELECT * FROM #FILAS_MOVER WHERE ID = GF_PRODUTO_CORES_TEMP.ID_GF_PRODUTO_CO AND GF_PRODUTO_CORES_TEMP.ORDEN_I = POSI AND GF_PRODUTO_CORES_TEMP.ORDEN_F = POSF) OR ORDEN_I> @n_ultimo_orden) CLOSE LISTA_CAMBIOS DEALLOCATE LISTA_CAMBIOS END ELSE BEGIN IF (@n_orden_i = 0) AND (@n_orden_f = @n_ultimo_orden) DELETE FROM GF_PRODUTO_CORES_TEMP WHERE ID_GF_PRODUTO_CO = @n_ID_GF_PRODUTO_CO AND ORDEN_F = @n_orden_f IF (@n_orden_f = 0) AND (@n_orden_i > @n_ultimo_orden) BEGIN --raiserror (''borra al final'', 16, 1) SELECT @s_sql = ''UPDATE RCOMPVARCOLOR SET'' SELECT @n_cont = @n_ultimo_orden + 1 WHILE (@n_cont <= @n_orden_i) BEGIN SELECT @s_sql = @s_sql + '' C'' + LTRIM(CONVERT(VARCHAR(2),@n_cont)) + '' = NULL,'' SELECT @n_cont = @n_cont + 1 END SELECT @s_sql_base = LEFT(@s_sql, LEN(@s_sql) -1) DECLARE LISTA_VARIANTES CURSOR FOR SELECT IDVARCOLOR FROM VARCOLOR WHERE IDCARTA=@n_ID_GF_PRODUTO_CO OPEN LISTA_VARIANTES FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR WHILE (@@FETCH_STATUS = 0) BEGIN /* Original: SELECT @s_sql = @s_sql_base + '' WHERE IDVARCOLOR = '' + CONVERT(VARCHAR,@n_IDVARCOLOR) EXEC(@s_sql) */ -- Eva Ig: se seleccionan las filas de la tabla RCOMPVARCOLOR para cada una de las variantes que utilizan esa carta de colores DECLARE LISTA_COMP CURSOR FOR SELECT IDCOMPVARCOLOR FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @n_IDVARCOLOR DECLARE @IdRComp2 INT OPEN LISTA_COMP FETCH NEXT FROM LISTA_COMP INTO @IdRComp2 WHILE (@@FETCH_STATUS = 0) BEGIN SELECT @s_sql = @s_sql_base + '' WHERE IDCOMPVARCOLOR = '' + CONVERT(VARCHAR,@IdRComp2) EXEC(@s_sql) FETCH NEXT FROM LISTA_COMP INTO @IdRComp2 END CLOSE lista_comp DEALLOCATE lista_comp FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR END CLOSE LISTA_VARIANTES DEALLOCATE LISTA_VARIANTES DELETE FROM GF_PRODUTO_CORES_TEMP WHERE ID_GF_PRODUTO_CO = @n_ID_GF_PRODUTO_CO AND ORDEN_I > @n_ultimo_orden END END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PRT]( [ID] [int] NOT NULL, [ID_PROCESSO_PROD] [int] NOT NULL, [GF_PROCESSO_PROD] [char](8) NOT NULL, [GF_TRATAMIENTO] [int] NULL, [GF_MAQUINA] [int] NULL, [GF_CUSTO_SERVICO] [float] NULL, [GF_CUSTO_MATERIA] [float] NULL, [GF_SEQUENCIA_PRO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFI_MATERIAIS_PRT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFI_MATERIAIS_PRT fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFI_MATERIAIS_PRT] ON [GF_MATERIAIS_PRT] FOR INSERT NOT FOR REPLICATION AS BEGIN UPDATE GF_MATERIAIS_PRO SET GF_CUSTO_SERVICO= (SELECT SUM(GF_CUSTO_SERVICO) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD=(SELECT ID_PROCESSO_PROD FROM INSERTED)), GF_CUSTO_MATERIA= (SELECT SUM(GF_CUSTO_MATERIA) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD=(SELECT ID_PROCESSO_PROD FROM INSERTED)) WHERE ID= (SELECT ID_PROCESSO_PROD FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFU_MATERIAIS_PRT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFU_MATERIAIS_PRT fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFU_MATERIAIS_PRT] ON [GF_MATERIAIS_PRT] FOR UPDATE,DELETE NOT FOR REPLICATION AS BEGIN UPDATE GF_MATERIAIS_PRO SET GF_CUSTO_SERVICO= (SELECT SUM(GF_CUSTO_SERVICO) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD= (SELECT ID_PROCESSO_PROD FROM INSERTED)),GF_CUSTO_MATERIA= (SELECT SUM(GF_CUSTO_MATERIA) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD= (SELECT ID_PROCESSO_PROD FROM INSERTED)) WHERE ID= (SELECT ID_PROCESSO_PROD FROM INSERTED) UPDATE GF_MATERIAIS_PRO SET GF_CUSTO_SERVICO= (SELECT SUM(GF_CUSTO_SERVICO) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD= (SELECT ID_PROCESSO_PROD FROM DELETED)),GF_CUSTO_MATERIA= (SELECT SUM(GF_CUSTO_MATERIA) FROM GF_MATERIAIS_PRT WHERE ID_PROCESSO_PROD= (SELECT ID_PROCESSO_PROD FROM DELETED)) WHERE ID= (SELECT ID_PROCESSO_PROD FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_PROCESSO_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_PROCESSO_TRATAMENTO] ON [GF_MATERIAIS_PRT] FOR DELETE NOT FOR REPLICATION AS /* BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_PROCESSO_TRATAMENTO A WHERE A.PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) AND A.TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMIENTO FROM DELETED))) DELETE FROM MATERIAIS_PROCESSO_TRATAMENTO WHERE PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMIENTO FROM DELETED)) ELSE RETURN END */ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_PROCESSO_TRATAMENTO'')))=1) RETURN ELSE BEGIN DECLARE @TRAT_DEL INTEGER DECLARE @TRAT_PROC_DEL CHAR(8) DECLARE CUR_TRAT_PROC_DEL CURSOR FOR SELECT GF_PROCESSO_PROD ,GF_TRATAMIENTO FROM DELETED OPEN CUR_TRAT_PROC_DEL FETCH NEXT FROM CUR_TRAT_PROC_DEL INTO @TRAT_PROC_DEL, @TRAT_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_PROCESSO_TRATAMENTO A WHERE A.PROCESSO_PRODUTIVO=(@TRAT_PROC_DEL) AND A.TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(@TRAT_DEL))) DELETE FROM MATERIAIS_PROCESSO_TRATAMENTO WHERE PROCESSO_PRODUTIVO=(@TRAT_PROC_DEL) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(@TRAT_DEL)) FETCH NEXT FROM CUR_TRAT_PROC_DEL INTO @TRAT_PROC_DEL, @TRAT_DEL END/*fetch_status*/ CLOSE CUR_TRAT_PROC_DEL DEALLOCATE CUR_TRAT_PROC_DEL END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_PROCESSO_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_PROCESSO_TRATAMENTO] ON [GF_MATERIAIS_PRT] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO_TRATAMENTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT * FROM MATERIAIS_PROCESSO_TRATAMENTO WHERE PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMIENTO FROM DELETED))) BEGIN UPDATE MATERIAIS_PROCESSO_TRATAMENTO SET PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM INSERTED), TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMIENTO FROM INSERTED)), MAQUINA=(SELECT GF_MAQUINA FROM GF_MATERIAIS_MAQ WHERE ID=(SELECT GF_MAQUINA FROM INSERTED)), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED), SEQUENCIA_PRODUTIVA=(SELECT GF_SEQUENCIA_PRO FROM INSERTED) WHERE PROCESSO_PRODUTIVO=(SELECT GF_PROCESSO_PROD FROM DELETED) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(SELECT GF_TRATAMIENTO FROM DELETED)) END ELSE RETURN END */ /*MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO_TRATAMENTO'')) ) < 2 ) BEGIN DECLARE @TRAT_PROC CHAR(8) DECLARE @TRAT_PROC_IN CHAR(8) DECLARE @TRAT INTEGER DECLARE @TRAT_IN INTEGER DECLARE CUR_TRATAMIENTO CURSOR FOR SELECT GF_PROCESSO_PROD, GF_TRATAMIENTO FROM DELETED DECLARE CUR_TRATAMIENTO_IN CURSOR FOR SELECT GF_PROCESSO_PROD, GF_TRATAMIENTO FROM INSERTED OPEN CUR_TRATAMIENTO --DELETED OPEN CUR_TRATAMIENTO_IN --INSERTED FETCH NEXT FROM CUR_TRATAMIENTO INTO @TRAT_PROC, @TRAT FETCH NEXT FROM CUR_TRATAMIENTO_IN INTO @TRAT_PROC_IN, @TRAT_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT * FROM MATERIAIS_PROCESSO_TRATAMENTO WHERE PROCESSO_PRODUTIVO=(@TRAT_PROC) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(@TRAT))) BEGIN UPDATE MATERIAIS_PROCESSO_TRATAMENTO SET PROCESSO_PRODUTIVO=(@TRAT_PROC_IN), TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(@TRAT_IN)) , MAQUINA=(SELECT GF_MAQUINA FROM GF_MATERIAIS_MAQ WHERE ID=(SELECT GF_MAQUINA FROM INSERTED WHERE (GF_PROCESSO_PROD=@TRAT_PROC_IN AND GF_TRATAMIENTO=@TRAT_IN))), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED WHERE (GF_PROCESSO_PROD=@TRAT_PROC_IN AND GF_TRATAMIENTO=(@TRAT_IN))), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED WHERE GF_PROCESSO_PROD=@TRAT_PROC_IN AND GF_TRATAMIENTO=(@TRAT_IN)), SEQUENCIA_PRODUTIVA=(SELECT GF_SEQUENCIA_PRO FROM INSERTED WHERE GF_PROCESSO_PROD=@TRAT_PROC_IN AND GF_TRATAMIENTO=(@TRAT_IN)) WHERE PROCESSO_PRODUTIVO=(@TRAT_PROC) AND TRATAMENTO=(SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA WHERE ID=(@TRAT)) END/*IF EXISTS*/ FETCH NEXT FROM CUR_TRATAMIENTO INTO @TRAT_PROC, @TRAT FETCH NEXT FROM CUR_TRATAMIENTO_IN INTO @TRAT_PROC_IN, @TRAT_IN END/*@@fetch_status*/ CLOSE CUR_TRATAMIENTO CLOSE CUR_TRATAMIENTO_IN DEALLOCATE CUR_TRATAMIENTO DEALLOCATE CUR_TRATAMIENTO_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_PRTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_PRTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_CLIENTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_CLIENTE]( [CLIENTE_ATACADO] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [REFERENCIA_CLIENTE] [varchar](20) NULL, [DESC_PRODUTO_CLIENTE] [varchar](40) NULL, [DADOS_PRODUCAO_CLIENTE] [varchar](50) NULL, [GRADE_CLIENTE] [varchar](25) NULL, CONSTRAINT [XPKPRODUTOS_CLIENTE] PRIMARY KEY NONCLUSTERED ( [CLIENTE_ATACADO] ASC, [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_CLIENTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_CLIENTE] on [PRODUTOS_CLIENTE] for INSERT as /* INSERT trigger on PRODUTOS_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1666 PRODUTOS_CLIENTE ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_CLIENTE #porque #PRODUTOS #não existe.'' goto error end end /* CLIENTES_ATACADO R/1663 PRODUTOS_CLIENTE ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_CLIENTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_CLIENTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_CLIENTE] on [PRODUTOS_CLIENTE] for UPDATE as /* UPDATE trigger on PRODUTOS_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLIENTE_ATACADO varchar(25), @insPRODUTO char(12), @delCLIENTE_ATACADO varchar(25), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1666 PRODUTOS_CLIENTE ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_CLIENTE #porque #PRODUTOS #não existe.'' goto error end end /* CLIENTES_ATACADO R/1663 PRODUTOS_CLIENTE ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_CLIENTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROC_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROC_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLORIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLORIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES_MOV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_RECEBER_CHEQUES_MOV]( [CHEQUE_CARTAO] [varchar](35) NOT NULL, [LANCAMENTO] [char](8) NOT NULL, [ALINEA_DEVOLUCAO] [varchar](2) NULL, CONSTRAINT [XPKA_RECEBER_CHEQUES_MOV] PRIMARY KEY NONCLUSTERED ( [CHEQUE_CARTAO] ASC, [LANCAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_RECEBER_CHEQUES_MOV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_RECEBER_CHEQUES_MOV] on [A_RECEBER_CHEQUES_MOV] for INSERT as /* INSERT trigger on A_RECEBER_CHEQUES_MOV */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_LANCAMENTOS R/1335 A_RECEBER_CHEQUES_MOV ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES_MOV #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* A_RECEBER_CHEQUES cheques A_RECEBER_CHEQUES_MOV ON CHILD INSERT RESTRICT */ if update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_CHEQUES where inserted.CHEQUE_CARTAO = A_RECEBER_CHEQUES.CHEQUE_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES_MOV #porque #A_RECEBER_CHEQUES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_RECEBER_CHEQUES_MOV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_RECEBER_CHEQUES_MOV] on [A_RECEBER_CHEQUES_MOV] for UPDATE as /* UPDATE trigger on A_RECEBER_CHEQUES_MOV */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO varchar(35), @insLANCAMENTO char(8), @delCHEQUE_CARTAO varchar(35), @delLANCAMENTO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_LANCAMENTOS R/1335 A_RECEBER_CHEQUES_MOV ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES_MOV #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* A_RECEBER_CHEQUES cheques A_RECEBER_CHEQUES_MOV ON CHILD UPDATE RESTRICT */ if update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_CHEQUES where inserted.CHEQUE_CARTAO = A_RECEBER_CHEQUES.CHEQUE_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES_MOV #porque #A_RECEBER_CHEQUES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDIDA_TEMP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDIDA_TEMP]( [ID_ETEJI_RAIZ] [int] NULL, [ORDEN_I] [smallint] NULL, [ORDEN_F] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_ETEJI_MEDIDA_TEMP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_INSERT_ETEJI_MEDIDA_TEMP] ON [ETEJI_MEDIDA_TEMP] FOR INSERT -- Trigger desarrollado por Alejandro Escribano C&S Mat 28-10-02 AS DECLARE @n_ID_ETEJI_RAIZ INTEGER, @n_orden_i SMALLINT, @n_orden_f SMALLINT, @n_ultimo_orden SMALLINT, @n_inserto SMALLINT, @s_sql VARCHAR(500), @s_izq VARCHAR(2), @s_der VARCHAR(2), @n_cont SMALLINT, @n_1 SMALLINT, @n_2 SMALLINT BEGIN -- La tabla temporal #FILAS_MOVER contendrá las filas y posiciones que hay que mover en ETEJI_PREC_C_T CREATE TABLE #FILAS_MOVER (ID INTEGER, POSI SMALLINT, POSF SMALLINT) SELECT @n_ID_ETEJI_RAIZ = ID_ETEJI_RAIZ, @n_orden_i = ORDEN_I, @n_orden_f = ORDEN_F FROM INSERTED INSERT INTO #FILAS_MOVER VALUES(@n_ID_ETEJI_RAIZ, @n_orden_i, @n_orden_f) SELECT @n_inserto = 1 WHILE @n_inserto <> 0 BEGIN SELECT @n_inserto = ISNULL(COUNT(*),0) FROM ETEJI_MEDIDA_TEMP T1 WHERE T1.ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND (T1.ORDEN_I IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ AND POSF <> 0) OR T1.ORDEN_F IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ AND POSI <> 0)) AND NOT EXISTS (SELECT * FROM #FILAS_MOVER T2 WHERE T2.POSI = T1.ORDEN_I AND T2.POSF = T1.ORDEN_F AND T2.ID = @n_ID_ETEJI_RAIZ) INSERT INTO #FILAS_MOVER SELECT * FROM ETEJI_MEDIDA_TEMP T1 WHERE T1.ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND (T1.ORDEN_I IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ AND POSF <> 0) OR T1.ORDEN_F IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ and posi <> 0)) AND NOT EXISTS (SELECT * FROM #FILAS_MOVER T2 WHERE T2.POSI = T1.ORDEN_I AND T2.POSF = T1.ORDEN_F AND T2.ID = @n_ID_ETEJI_RAIZ) END -- La variable @n_ultimo_orden almacena el número de filas de ETEJI_MEDIDA, por tanto el máximo ORDENPM de este detalle SELECT @n_ultimo_orden = ISNULL(COUNT(*),0) FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ -- POSI = 0 significa que la fila es nueva; POSF = 0 significa que la fila ha sido borrada; En otro caso, la fila se ha movido SELECT @n_1 = ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ AND (POSI IN (SELECT POSF FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ) OR POSI = 0) AND (POSF IN (SELECT POSI FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ) OR POSF = 0) SELECT @n_2 = ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE POSI <= @n_ultimo_orden AND POSF <= (SELECT @n_ultimo_orden - ISNULL(COUNT(*),0) FROM #FILAS_MOVER WHERE ID = @n_ID_ETEJI_RAIZ AND POSI = 0) IF (@n_1 = @n_2) AND (@n_2<>0) BEGIN SELECT @s_sql = ''UPDATE ETEJI_PREC_C_T SET'' DECLARE LISTA_CAMBIOS CURSOR FOR SELECT LTRIM(CONVERT(VARCHAR(2),POSF)),LTRIM(CONVERT(VARCHAR(2),POSI)) FROM #FILAS_MOVER OPEN LISTA_CAMBIOS FETCH NEXT FROM LISTA_CAMBIOS INTO @s_izq, @s_der SELECT @n_cont = 0 WHILE (@@FETCH_STATUS = 0) BEGIN -- La medida se ha movido de sitio, por lo que se copian los valores de la posicion anterior a la actual IF (@s_izq <> ''0'') AND (@s_der <> ''0'') SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + @s_izq + '' = GF_PREC_MEDIDA'' + @s_der + '','' -- La medida ha sido borrada, por lo que los precios se ponen a 0 IF (@s_der = ''0'') SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + @s_izq + '' = 0,'' IF (CONVERT(SMALLINT,@s_der) > @n_cont) SELECT @n_cont = CONVERT(SMALLINT,@s_der) FETCH NEXT FROM LISTA_CAMBIOS INTO @s_izq, @s_der END WHILE (@n_cont > @n_ultimo_orden) BEGIN SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + LTRIM(CONVERT(VARCHAR(2),@n_cont)) + '' = 0,'' SELECT @n_cont = @n_cont - 1 END SELECT @s_sql = LEFT(@s_sql, LEN(@s_sql) -1) + '' WHERE ID_ETEJI_RAIZ = '' + LTRIM(CONVERT(VARCHAR(4),@n_ID_ETEJI_RAIZ)) EXEC(@s_sql) DELETE FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND (EXISTS(SELECT * FROM #FILAS_MOVER WHERE ID = ETEJI_MEDIDA_TEMP.ID_ETEJI_RAIZ AND ETEJI_MEDIDA_TEMP.ORDEN_I = POSI AND ETEJI_MEDIDA_TEMP.ORDEN_F = POSF) OR ORDEN_I> @n_ultimo_orden) CLOSE LISTA_CAMBIOS DEALLOCATE LISTA_CAMBIOS END ELSE BEGIN IF (@n_orden_i = 0) AND (@n_orden_f = @n_ultimo_orden) DELETE FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND ORDEN_F = @n_orden_f IF (@n_orden_f = 0) AND (@n_orden_i > @n_ultimo_orden) BEGIN SELECT @s_sql = ''UPDATE ETEJI_PREC_C_T SET'' SELECT @n_cont = @n_ultimo_orden + 1 WHILE (@n_cont <= @n_orden_i) BEGIN SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + LTRIM(CONVERT(VARCHAR(2),@n_cont)) + '' = 0,'' SELECT @n_cont = @n_cont + 1 END SELECT @s_sql = LEFT(@s_sql, LEN(@s_sql) -1) + '' WHERE ID_ETEJI_RAIZ = '' + LTRIM(CONVERT(VARCHAR(4),@n_ID_ETEJI_RAIZ)) EXEC(@s_sql) DELETE FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND ORDEN_I > @n_ultimo_orden END END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_UNIDADES_CONV]( [ID] [int] NOT NULL, [GF_UNIDADE] [int] NOT NULL, [GF_UNIDADE_CONVE] [int] NOT NULL, [GF_FATOR_CONVERS] [float] NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_UNIDADES_CONV fecha de la secuencia de comandos: Sep 19 2001 13:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_UNIDADES_CONV] ON [GF_UNIDADES_CONV] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_UNIDADES_CONV'')))=1) RETURN ELSE BEGIN DECLARE @UNIDAD INTEGER, @CONVERSION INTEGER DECLARE UNIDADV CURSOR FOR SELECT GF_UNIDADE, GF_UNIDADE_CONVE FROM DELETED OPEN UNIDADV FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT UNIDADE,UNIDADE_CONVERTIDA FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDAD) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION)) BEGIN DELETE FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDAD) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION) END ELSE BEGIN FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION END FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION END CLOSE UNIDADV DEALLOCATE UNIDADV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_UNIDADES_CONV fecha de la secuencia de comandos: Sep 18 2001 20:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_UNIDADES_CONV] ON [GF_UNIDADES_CONV] FOR INSERT NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_UNIDADES_CONV'')))=1) RETURN ELSE DECLARE @UNIDADE INT, @CONVERSION INT DECLARE UNIDADV CURSOR FOR SELECT GF_UNIDADE,GF_UNIDADE_CONVE FROM INSERTED OPEN UNIDADV FETCH NEXT FROM UNIDADV INTO @UNIDADE,@CONVERSION WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=@CONVERSION AND GF_UNIDADE_CONVE=@UNIDADE) BEGIN INSERT INTO GF_UNIDADES_CONV (ID, GF_UNIDADE, GF_UNIDADE_CONVE, GF_FATOR_CONVERS,FECHAM,USERM,FECHAC,USERC,ACCESO,EMP) SELECT IDMAX,@CONVERSION,@UNIDADE,1/GF_FATOR_CONVERS,FECHAM,USERM,FECHAC,USERC,ACCESO,EMP FROM INSERTED , GF_UNIDADES_CONVCNT WHERE GF_UNIDADE=@UNIDADE AND GF_UNIDADE_CONVE=@CONVERSION UPDATE dbo.GF_UNIDADES_CONVCNT SET IDMAX=IDMAX+1 END IF NOT EXISTS (SELECT UNIDADE FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADE) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION)) BEGIN INSERT INTO UNIDADES_CONVERSOES (UNIDADE, UNIDADE_CONVERTIDA, FATOR_CONVERSAO_UNIDADE) SELECT (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADE), (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION),GF_FATOR_CONVERS FROM INSERTED WHERE GF_UNIDADE=@UNIDADE AND GF_UNIDADE_CONVE=@CONVERSION IF NOT EXISTS (SELECT UNIDADE FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADE)) BEGIN INSERT INTO UNIDADES_CONVERSOES (UNIDADE, UNIDADE_CONVERTIDA, FATOR_CONVERSAO_UNIDADE) SELECT (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION), (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADE),1/GF_FATOR_CONVERS FROM INSERTED WHERE GF_UNIDADE=@UNIDADE AND GF_UNIDADE_CONVE=@CONVERSION END END ELSE BEGIN FETCH NEXT FROM UNIDADV INTO @UNIDADE,@CONVERSION END FETCH NEXT FROM UNIDADV INTO @UNIDADE,@CONVERSION CLOSE UNIDADV DEALLOCATE UNIDADV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_UNIDADES_CONV fecha de la secuencia de comandos: Sep 19 2001 10:40AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_UNIDADES_CONV] ON [GF_UNIDADES_CONV] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_UNIDADES_CONV'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_UNIDADES_CONV'')))<2) BEGIN DECLARE @UNIDADD INT, @UNIDAD INT, @CONVERSIOND INT, @CONVERSION INT DECLARE UNIDADDV CURSOR FOR SELECT GF_UNIDADE,GF_UNIDADE_CONVE FROM DELETED DECLARE UNIDADV CURSOR FOR SELECT GF_UNIDADE,GF_UNIDADE_CONVE FROM INSERTED OPEN UNIDADDV OPEN UNIDADV FETCH NEXT FROM UNIDADDV INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=@CONVERSIOND AND GF_UNIDADE_CONVE=@UNIDADD) BEGIN UPDATE GF_UNIDADES_CONV SET GF_UNIDADE=@CONVERSION, GF_UNIDADE_CONVE=@UNIDAD, GF_FATOR_CONVERS=(SELECT 1/GF_FATOR_CONVERS FROM INSERTED WHERE GF_UNIDADE=@UNIDAD AND GF_UNIDADE_CONVE=@CONVERSION), EMP=@EMPRESA, USERM=@USER, FECHAM=GETDATE() WHERE GF_UNIDADE=@CONVERSIOND AND GF_UNIDADE_CONVE=@UNIDADD END IF EXISTS (SELECT UNIDADE,UNIDADE_CONVERTIDA FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADD) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSIOND)) BEGIN UPDATE UNIDADES_CONVERSOES SET UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDAD) , UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION), FATOR_CONVERSAO_UNIDADE=(SELECT GF_FATOR_CONVERS FROM INSERTED WHERE GF_UNIDADE=@UNIDAD AND GF_UNIDADE_CONVE=@CONVERSION) WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADD) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSIOND) IF EXISTS (SELECT UNIDADE,UNIDADE_CONVERTIDA FROM UNIDADES_CONVERSOES WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSIOND) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADD)) BEGIN UPDATE UNIDADES_CONVERSOES SET UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSION) , UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDAD), FATOR_CONVERSAO_UNIDADE=(SELECT 1/GF_FATOR_CONVERS FROM INSERTED WHERE GF_UNIDADE=@UNIDAD AND GF_UNIDADE_CONVE=@CONVERSION) WHERE UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@CONVERSIOND) AND UNIDADE_CONVERTIDA=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=@UNIDADD) END END ELSE BEGIN FETCH NEXT FROM UNIDADDV INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION END FETCH NEXT FROM UNIDADDV INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDADV INTO @UNIDAD,@CONVERSION END CLOSE UNIDADDV DEALLOCATE UNIDADDV CLOSE UNIDADV DEALLOCATE UNIDADV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_CLIENTE_COR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_CLIENTE_COR]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [REFERENCIA_COR_CLIENTE] [varchar](20) NULL, [DESC_COR_PRODUTO_CLIENTE] [varchar](40) NULL, [REFERENCIA_COR_FORNECEDOR] [varchar](20) NULL, [DESC_COR_PRODUTO_FORNECEDOR] [varchar](40) NULL, CONSTRAINT [XPKPRODUTOS_CLIENTE_COR] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [CLIENTE_ATACADO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_CLIENTE_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_CLIENTE_COR] on [PRODUTOS_CLIENTE_COR] for INSERT as /* INSERT trigger on PRODUTOS_CLIENTE_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO R/1668 PRODUTOS_CLIENTE_COR ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_CLIENTE_COR #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* PRODUTO_CORES R/1667 PRODUTOS_CLIENTE_COR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_CLIENTE_COR #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_CLIENTE_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_CLIENTE_COR] on [PRODUTOS_CLIENTE_COR] for UPDATE as /* UPDATE trigger on PRODUTOS_CLIENTE_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insCLIENTE_ATACADO varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delCLIENTE_ATACADO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO R/1668 PRODUTOS_CLIENTE_COR ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_CLIENTE_COR #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* PRODUTO_CORES R/1667 PRODUTOS_CLIENTE_COR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_CLIENTE_COR #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMP1]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMP1]( [CODI] [char](4) NULL, [FAM] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERVICOS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERVICOS_TIPO]( [TIPO_SERVICO] [varchar](25) NOT NULL, CONSTRAINT [XPKSERVICOS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SERVICOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_SERVICOS_TIPO] on [SERVICOS_TIPO] for DELETE as /* DELETE trigger on SERVICOS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* SERVICOS_TIPO R/2130 SERVICOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,SERVICOS where SERVICOS.TIPO_SERVICO = deleted.TIPO_SERVICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERVICOS_TIPO #porque existem registros em #SERVICOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SERVICOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SERVICOS_TIPO] on [SERVICOS_TIPO] for UPDATE as /* UPDATE trigger on SERVICOS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_SERVICO varchar(25), @delTIPO_SERVICO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS_TIPO R/2130 SERVICOS ON PARENT UPDATE CASCADE */ IF update(TIPO_SERVICO) BEGIN DECLARE SERVICOS_TIPO2130 CURSOR FOR SELECT TIPO_SERVICO FROM INSERTED DECLARE SERVICOS_TIPO1194 CURSOR FOR SELECT TIPO_SERVICO FROM DELETED OPEN SERVICOS_TIPO2130 OPEN SERVICOS_TIPO1194 FETCH NEXT FROM SERVICOS_TIPO2130 INTO @insTIPO_SERVICO FETCH NEXT FROM SERVICOS_TIPO1194 INTO @delTIPO_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SERVICOS SET SERVICOS.TIPO_SERVICO=@insTIPO_SERVICO WHERE SERVICOS.TIPO_SERVICO = @delTIPO_SERVICO FETCH NEXT FROM SERVICOS_TIPO2130 INTO @insTIPO_SERVICO FETCH NEXT FROM SERVICOS_TIPO1194 INTO @delTIPO_SERVICO END END CLOSE SERVICOS_TIPO2130 CLOSE SERVICOS_TIPO1194 DEALLOCATE SERVICOS_TIPO2130 DEALLOCATE SERVICOS_TIPO1194 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tmp_SUBGRUP_PA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [tmp_SUBGRUP_PA]( [id] [int] NULL, [grupo] [varchar](30) NULL, [codi] [varchar](2) NULL, [nombre] [varchar](30) NULL, [seq] [varchar](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UNIDADES_CONVCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_UNIDADES_CONVCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTBOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTBOR]( [ID] [int] NOT NULL, [NOMBRE] [varchar](16) NOT NULL, [COSTEB] [float] NOT NULL, [GASTO] [float] NULL, [COMENTARIO] [varchar](64) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [ACCESO] [smallint] NULL, [PROVEEDOR] [int] NULL, [EMP] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDIDAS]( [ID] [int] NOT NULL, [IDTEJIDO] [int] NOT NULL, [GF_LARGURA] [float] NULL, [GF_MATERIAL] [varchar](11) NULL, [GF_DESC_MATERIAL] [varchar](40) NOT NULL, [GF_CUSTO_REPOSIC] [float] NOT NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIV_ETEJI_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIV_ETEJI_MEDIDAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIV_ETEJI_MEDIDAS] ON [ETEJI_MEDIDAS] FOR INSERT AS DECLARE @GF_LARGURA FLOAT, @SECUENCIAL VARCHAR(4), @NSECUENCIAL VARCHAR(8), @GRUPO CHAR(2), @SUBGRUPO CHAR(2), @ORDEN INT DECLARE CODIGOS CURSOR FOR SELECT GF_LARGURA FROM INSERTED OPEN CODIGOS FETCH NEXT FROM CODIGOS INTO @GF_LARGURA WHILE @@FETCH_STATUS=0 BEGIN SET @SECUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM GF_MATERIAIS_SUB WHERE ID_GRUPO=( SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+1 SELECT @NSECUENCIAL=RIGHT(RTRIM(''0000''+LTRIM(CONVERT(CHAR(4),@ORDEN))),4) SET @GRUPO=(SELECT GF_CODIGO_GRUPO FROM GF_MATERIAIS_GRU WHERE ID= (SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) SET @SUBGRUPO=(SELECT GF_CODIGO_SUBGRU FROM GF_MATERIAIS_SUB WHERE ID_GRUPO= (SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) UPDATE ETEJI_MEDIDAS SET GF_MATERIAL=@GRUPO+''.''+@SUBGRUPO+''.''+@NSECUENCIAL WHERE ID=(SELECT ID FROM INSERTED WHERE GF_LARGURA=@GF_LARGURA) AND IDTEJIDO=(SELECT IDTEJIDO FROM INSERTED WHERE GF_LARGURA=GF_LARGURA) UPDATE GF_MATERIAIS_SUB SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=( SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) FETCH NEXT FROM CODIGOS INTO @GF_LARGURA END CLOSE CODIGOS DEALLOCATE CODIGOS ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFUV_ETEJI_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFUV_ETEJI_MEDIDAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFUV_ETEJI_MEDIDAS] ON [ETEJI_MEDIDAS] FOR UPDATE AS IF UPDATE(GF_MATERIAL) BEGIN DECLARE @IDTEJIDO INT , @GF_LARGURA FLOAT, @GF_MATERIAL VARCHAR(11), @GF_DESC_MATERIAL VARCHAR(40), @GF_CUSTO_REPOSIC FLOAT, @IDMAX_ETEJI INT SET @IDTEJIDO=(SELECT IDTEJIDO FROM INSERTED) SET @GF_LARGURA=(SELECT GF_LARGURA FROM INSERTED) SET @GF_MATERIAL=(SELECT GF_MATERIAL FROM INSERTED) SET @GF_DESC_MATERIAL=(SELECT GF_DESC_MATERIAL FROM INSERTED) SET @GF_CUSTO_REPOSIC=(SELECT GF_CUSTO_REPOSIC FROM INSERTED) SET @IDMAX_ETEJI=(SELECT MAX(ID) FROM ETEJI) UPDATE ETEJI SET GF_VARIA_MATERIA=2,GF_CODIGO_MATERI=GF_MATERIAL WHERE ID=@IDTEJIDO INSERT INTO ETEJI (ID,GF_MATERIAL,GF_COMPRIMENTO,GF_DESC_COMPOSIC,GF_LOTE_ECONOMIC,PROVEDR,REFPROV,GF_COMPRA_MININA, GF_OBS,GF_COR_MATERIAL,GROSOR,PORCPERD,GF_DESC_MATERIAL,GF_GRUPO,GF_SUBGRUPO, GF_COLECAO,GF_TIPO,GF_FABRICANTE,GF_DIAS_ENTREGA,GF_CONDICAO_PGTO,GF_REF_FABRICANT, GF_UNID_STOQUE,GF_UNID_FICHA_TE,GF_FATOR_CONVERS,GF_CTRL_UNID_AUX,GF_UNID_AUXILIAR, GF_VARIA_MATERIA,GF_L,GF_CODIGO_MATERI,GF_DES_COR_MATER,GF_REFER_FABRICA,GF_CUSTO_REPOSIC, GF_CUSTO_A_VISTA,GF_INICIO_VENDAS,GF_FIM_VENDAS,GF_CODIGO_EXPORT,DATA_PARA_TRANSFERENCIA, GF_REVENDA,GF_TEC_SIMPLES_T,GF_TEC_LISO_ESTA,GF_TEC_TORNASOL,GF_CLASSIF_FISCA,GF_TRIBUT_ORIGEM, GF_TRIBUT_ICMS,GF_CONTA_CONTABI,GF_DESC_NF,GF_CODIGO_ETIQUE,GF_FASE_PRODUCAO,GF_SETOR_PRODUCA, ACCESO,USERC,FECHAC,USERM,FECHAM,GALGA,ACABADO,GF_GRAMATURA,RENDIMIENTO,TINTE,ANCHO_MAQUINA, USERP,GF_SEMI_ACABADO,GF_CTRL_PARTIDAS,GF_CTRL_PECAS,GF_MATERIAL_INDI,GF_RESERVA_MATER, GF_ABATER_RESERV,GF_INATIVO,GF_DATA_REPOSICA,GF_ICMS_CUSTOS,GF_TAXA_JUROS_CO,GF_VARIA_CUSTO_C, GF_VARIA_PRECO_C,EMP,TIPO,GF_PROCESSO_FABR,GF_TEC_ENC_COR_X,GF_TEC_ENC_COR_Y,GF_TEC_ENC_ACA_X, GF_TEC_ENC_ACA_Y,GF_TEC_ENC_LAV_X,GF_TEC_ENC_LAV_Y,GF_FIO_TORSAO,GF_FIO_CABOS,GF_FIO_FILAMENTO, GF_FIO_ESPESSURA,GF_TEC_COM_FALHA,MARCA,GF_LOCALIZACAO,GF_CTRL_PECAS_PA,TRANSFER,MERMA) SELECT @IDMAX_ETEJI+1,@GF_MATERIAL,B.GF_COMPRIMENTO, B.GF_DESC_COMPOSIC,B.GF_LOTE_ECONOMIC,B.PROVEDR,B.REFPROV,B.GF_COMPRA_MININA, B.GF_OBS,B.GF_COR_MATERIAL,B.GROSOR,B.PORCPERD,@GF_DESC_MATERIAL,B.GF_GRUPO,B.GF_SUBGRUPO, B.GF_COLECAO,B.GF_TIPO,B.GF_FABRICANTE,B.GF_DIAS_ENTREGA,B.GF_CONDICAO_PGTO,B.GF_REF_FABRICANT, B.GF_UNID_STOQUE,B.GF_UNID_FICHA_TE,B.GF_FATOR_CONVERS,B.GF_CTRL_UNID_AUX,B.GF_UNID_AUXILIAR, B.GF_VARIA_MATERIA,@GF_LARGURA,B.GF_MATERIAL,B.GF_DES_COR_MATER,B.GF_REFER_FABRICA,@GF_CUSTO_REPOSIC, @GF_CUSTO_REPOSIC,B.GF_INICIO_VENDAS,B.GF_FIM_VENDAS,B.GF_CODIGO_EXPORT,B.DATA_PARA_TRANSFERENCIA, B.GF_REVENDA,B.GF_TEC_SIMPLES_T,B.GF_TEC_LISO_ESTA,B.GF_TEC_TORNASOL,B.GF_CLASSIF_FISCA,B.GF_TRIBUT_ORIGEM, B.GF_TRIBUT_ICMS,B.GF_CONTA_CONTABI,B.GF_DESC_NF,B.GF_CODIGO_ETIQUE,B.GF_FASE_PRODUCAO,B.GF_SETOR_PRODUCA, B.ACCESO,B.USERC,GETDATE(),B.USERM,GETDATE(),B.GALGA,B.ACABADO,B.GF_GRAMATURA,B.RENDIMIENTO,B.TINTE,B.ANCHO_MAQUINA, B.USERP,B.GF_SEMI_ACABADO,B.GF_CTRL_PARTIDAS,B.GF_CTRL_PECAS,B.GF_MATERIAL_INDI,B.GF_RESERVA_MATER, B.GF_ABATER_RESERV,B.GF_INATIVO,B.GF_DATA_REPOSICA,B.GF_ICMS_CUSTOS,B.GF_TAXA_JUROS_CO,B.GF_VARIA_CUSTO_C, B.GF_VARIA_PRECO_C,B.EMP,B.TIPO,B.GF_PROCESSO_FABR,B.GF_TEC_ENC_COR_X,B.GF_TEC_ENC_COR_Y,B.GF_TEC_ENC_ACA_X, B.GF_TEC_ENC_ACA_Y,B.GF_TEC_ENC_LAV_X,B.GF_TEC_ENC_LAV_Y,B.GF_FIO_TORSAO,B.GF_FIO_CABOS,B.GF_FIO_FILAMENTO, B.GF_FIO_ESPESSURA,B.GF_TEC_COM_FALHA,B.MARCA,B.GF_LOCALIZACAO,B.GF_CTRL_PECAS_PA,B.TRANSFER,0 FROM ETEJI B WHERE B.ID=@IDTEJIDO UPDATE ETEJICNT SET IDMAX=@IDMAX_ETEJI+1 END ELSE RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFV_ETEJI_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFV_ETEJI_MEDIDAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFV_ETEJI_MEDIDAS] ON [ETEJI_MEDIDAS] FOR INSERT AS DECLARE @GF_LARGURA FLOAT, @SECUENCIAL VARCHAR(4), @NSECUENCIAL VARCHAR(8), @GRUPO CHAR(2), @SUBGRUPO CHAR(2), @ORDEN INT DECLARE CODIGOS CURSOR FOR SELECT GF_LARGURA FROM INSERTED OPEN CODIGOS FETCH NEXT FROM CODIGOS INTO @GF_LARGURA WHILE @@FETCH_STATUS=0 BEGIN SET @SECUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM GF_MATERIAIS_SUB WHERE ID_GRUPO=( SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+1 SELECT @NSECUENCIAL=RIGHT(RTRIM(''0000''+LTRIM(CONVERT(CHAR(4),@ORDEN))),4) SET @GRUPO=(SELECT GF_CODIGO_GRUPO FROM GF_MATERIAIS_GRU WHERE ID= (SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) SET @SUBGRUPO=(SELECT GF_CODIGO_SUBGRU FROM GF_MATERIAIS_SUB WHERE ID_GRUPO= (SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED))) UPDATE ETEJI_MEDIDAS SET GF_MATERIAL=@GRUPO+''.''+@SUBGRUPO+''.''+@NSECUENCIAL WHERE ID=(SELECT ID FROM INSERTED WHERE GF_LARGURA=@GF_LARGURA) AND IDTEJIDO=(SELECT IDTEJIDO FROM INSERTED WHERE GF_LARGURA=GF_LARGURA) UPDATE GF_MATERIAIS_SUB SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=( SELECT GF_GRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) AND ID= (SELECT GF_SUBGRUPO FROM ETEJI WHERE ID=(SELECT IDTEJIDO FROM INSERTED)) FETCH NEXT FROM CODIGOS INTO @GF_LARGURA END CLOSE CODIGOS DEALLOCATE CODIGOS ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TAB_CNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_TAB_CNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBDETALLE_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBDETALLE_DIC]( [IDDETALLE] [int] NULL, [ESP] [varchar](16) NOT NULL, [ITA] [varchar](16) NOT NULL, [ENG] [varchar](16) NOT NULL, [CLI] [varchar](16) NOT NULL, [FRA] [varchar](16) NOT NULL, [DEU] [varchar](16) NOT NULL, [POR] [varchar](16) NOT NULL, [PER] [varchar](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISATRIBDETALLE_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISATRIBDETALLE_DIC fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISATRIBDETALLE_DIC] ON [SISATRIBDETALLE_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @TITULO CHAR(24) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @TITULO=(SELECT ESP FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @TITULO=(SELECT ITA FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @TITULO=(SELECT ENG FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @TITULO=(SELECT FRA FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISATRIBDETALLE_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBDETALLE SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END END RETURN --ATRIBUTOS DE INGREDIENTE --SP_HELPTEXT U_SISATRIBING_DIC --DROP TRIGGER U_SISATRIBING_DIC ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_GRUPOS_CONTABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_GRUPOS_CONTABLES]( [grupo_contable] [nvarchar](5) NOT NULL, [descripcion] [nvarchar](100) NOT NULL, CONSTRAINT [PK_IC_GRUPOS_CONTABLES] PRIMARY KEY CLUSTERED ( [grupo_contable] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFT_CLIENTES_CATALOGO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFT_CLIENTES_CATALOGO]( [CLIFOR] [varchar](6) NULL, [RAZAO_SOCIAL] [varchar](60) NULL, [ULTIMO_ENVIO] [datetime] NULL, [VALOR] [int] NULL, [CODIGO_TABLA] [varchar](2) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GFT_CLIENTES_CATALOGO]') AND name = N'X_GFT_CLIENTES_CATALOGO') CREATE UNIQUE NONCLUSTERED INDEX [X_GFT_CLIENTES_CATALOGO] ON [GFT_CLIENTES_CATALOGO] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GFT_CLIENTES_CATALOGO]') AND name = N'Y_GFT_CLIENTES_CATALOGO') CREATE UNIQUE NONCLUSTERED INDEX [Y_GFT_CLIENTES_CATALOGO] ON [GFT_CLIENTES_CATALOGO] ( [VALOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTEMAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTEMAS]( [ID] [int] NULL, [NOMBRE] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTEMASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTEMASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTBORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTBORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TARIFAS_ECOEMBES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TARIFAS_ECOEMBES]( [ID] [int] NOT NULL, [EMP] [int] NOT NULL, [MATERIAL] [varchar](24) NOT NULL, [TARIFA] [float] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDIDASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDIDASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[lx_enumqueuedtasks]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [lx_enumqueuedtasks] /*---[VERSAO: 1.0]---*/ as set nocount on create table #lx_enumqueuedtasks ( job_id uniqueidentifier, last_run_date int, last_run_time int, next_run_date int, next_run_time int, next_run_schedule_id int, requested_to_run int, request_source int, request_source_id varchar(65), running int, current_step int, current_retry int, attempt_state int ) insert into #lx_enumqueuedtasks execute master.dbo.xp_sqlagent_enum_jobs 1,''dbo'' set nocount off select task_name=name,startdate=last_run_date,starttime=last_run_time from #lx_enumqueuedtasks a, msdb..sysjobs b where a.job_id=b.job_id and a.running=1 drop table #lx_enumqueuedtasks ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_SUB]( [ID] [int] NOT NULL, [ID_GRUPO] [int] NOT NULL, [GF_GRUPO] [varchar](25) NOT NULL, [GF_SUBGRUPO] [varchar](25) NOT NULL, [GF_CODIGO_SUBGRU] [varchar](2) NOT NULL, [GF_CODIGO_SEQUEN] [varchar](4) NOT NULL, [GF_FASE_PRODUCAO] [int] NOT NULL, [GF_SETOR_PRODUCA] [int] NOT NULL, [GF_UNIDADE_STOQ] [int] NOT NULL, [GF_FATOR_CONVERS] [float] NULL, [GF_UNIDADE_FICHA] [int] NOT NULL, [GF_UNIDADE_AUXIL] [int] NULL, [GF_CTRL_UNID_AUX] [smallint] NOT NULL, [GF_CTRL_PARTIDAS] [smallint] NOT NULL, [GF_CTRL_PECAS] [smallint] NOT NULL, [GF_CTRL_PECAS_PA] [smallint] NULL, [GF_MATERIAL_INDI] [smallint] NULL, [GF_RESERVA_MATER] [smallint] NOT NULL, [GF_IMPRESSAO_ETI] [smallint] NULL, [GF_INDICA_CORTE] [int] NULL, [GF_ABATER_RESERV] [smallint] NOT NULL, [GF_IGNORAR_EM_FO] [smallint] NOT NULL, [GF_CTRL_DETALHES] [smallint] NULL, [GF_VARIA_MATERI] [smallint] NOT NULL, [GF_CTRL_DETALLES] [smallint] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 20:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_SUB] ON [GF_MATERIAIS_SUB] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_SUB'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO,GF_SUBGRUPO FROM DELETED OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS ( SELECT GRUPO,SUBGRUPO FROM MATERIAIS_SUBGRUPO WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) BEGIN DELETE FROM MATERIAIS_SUBGRUPO WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO END ELSE BEGIN FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 18:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_SUB] ON [GF_MATERIAIS_SUB] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_SUB'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO,GF_SUBGRUPO FROM INSERTED OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS ( SELECT SUBGRUPO FROM MATERIAIS_SUBGRUPO WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) BEGIN INSERT INTO MATERIAIS_SUBGRUPO (GRUPO, SUBGRUPO, CODIGO_SUBGRUPO, CODIGO_SEQUENCIAL, FASE_PRODUCAO, SETOR_PRODUCAO, UNIDADE_ESTOQUE, FATOR_CONVERSAO, UNIDADE_FICHA_TEC, CTRL_UNID_AUX, CTRL_PARTIDAS, CTRL_PECAS, CTRL_PECAS_PARCIAL, MATERIAL_INDIRETO, RESERVA_MATERIAL_OP, IMPRESSAO_ETIQUETA_PRODUCAO, INDICA_CORTE, CTRL_DETALHES_TECIDO, ABATER_RESERVA_QTDE, IGNORAR_EM_FORMACAO_PRECO, CTRL_DETALHES_FIO, VARIA_MATERIAL_TAMANHO, UNIDADE_AUXILIAR) SELECT GF_GRUPO, GF_SUBGRUPO, GF_CODIGO_SUBGRU, GF_CODIGO_SEQUEN, (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=A.GF_FASE_PRODUCAO), (SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE ID=A.GF_SETOR_PRODUCA AND ID_FASE_PRODUCAO=A.GF_FASE_PRODUCAO), (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNIDADE_STOQ), GF_FATOR_CONVERS, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNIDADE_FICHA), GF_CTRL_UNID_AUX-1, GF_CTRL_PARTIDAS-1, GF_CTRL_PECAS-1, GF_CTRL_PECAS_PA-1, GF_MATERIAL_INDI-1, (CASE WHEN GF_RESERVA_MATER=1 THEN 1 ELSE 0 END), GF_IMPRESSAO_ETI-1,GF_INDICA_CORTE, GF_CTRL_DETALHES-1, GF_ABATER_RESERV-1, GF_IGNORAR_EM_FO-1, GF_CTRL_DETALLES-1, GF_VARIA_MATERI-1, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNIDADE_AUXIL) FROM INSERTED A WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO END FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 20:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_SUB] ON [GF_MATERIAIS_SUB] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_SUB'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_SUB'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_SUB'')) ) < 2 ) BEGIN DECLARE @SUBGRUPO VARCHAR(25), @SUBGRUPOD VARCHAR(25), @GRUPO VARCHAR(25), @GRUPOD VARCHAR(25) DECLARE SUBGRUPODV CURSOR FOR SELECT GF_GRUPO,GF_SUBGRUPO FROM DELETED DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO,GF_SUBGRUPO FROM INSERTED OPEN SUBGRUPODV OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRUPO,SUBGRUPO FROM MATERIAIS_SUBGRUPO WHERE GRUPO=@GRUPOD AND SUBGRUPO=@SUBGRUPOD) BEGIN UPDATE MATERIAIS_SUBGRUPO SET GRUPO=@GRUPO, SUBGRUPO=@SUBGRUPO, CODIGO_SUBGRUPO=(SELECT GF_CODIGO_SUBGRU FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CODIGO_SEQUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(SELECT GF_FASE_PRODUCAO FROM INSERTED WHERE (GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO))), SETOR_PRODUCAO=(SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE ID=(SELECT GF_SETOR_PRODUCA FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO) AND ID_FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)), UNIDADE_ESTOQUE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=(SELECT GF_UNIDADE_STOQ FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)), FATOR_CONVERSAO=(SELECT GF_FATOR_CONVERS FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), UNIDADE_FICHA_TEC=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=(SELECT GF_UNIDADE_FICHA FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)), UNIDADE_AUXILIAR=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=(SELECT GF_UNIDADE_AUXIL FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)), CTRL_UNID_AUX=(SELECT GF_CTRL_UNID_AUX-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CTRL_PARTIDAS=(SELECT GF_CTRL_PARTIDAS-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CTRL_PECAS=(SELECT GF_CTRL_PECAS-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CTRL_PECAS_PARCIAL=(SELECT GF_CTRL_PECAS_PA-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), MATERIAL_INDIRETO=(SELECT GF_MATERIAL_INDI-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), RESERVA_MATERIAL_OP=(CASE WHEN (SELECT GF_RESERVA_MATER FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)=1 THEN 1 ELSE 0 END), IMPRESSAO_ETIQUETA_PRODUCAO=(SELECT GF_IMPRESSAO_ETI-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), INDICA_CORTE=(SELECT GF_INDICA_CORTE FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CTRL_DETALHES_TECIDO=(SELECT GF_CTRL_DETALHES-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), ABATER_RESERVA_QTDE=(SELECT GF_ABATER_RESERV-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), IGNORAR_EM_FORMACAO_PRECO=(SELECT GF_IGNORAR_EM_FO-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), CTRL_DETALHES_FIO=(SELECT GF_CTRL_DETALLES-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO), VARIA_MATERIAL_TAMANHO=(SELECT GF_VARIA_MATERI-1 FROM INSERTED WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO) WHERE GRUPO=@GRUPOD AND SUBGRUPO=@SUBGRUPOD END ELSE BEGIN FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPODV DEALLOCATE SUBGRUPODV CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTBORIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTBORIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TARIFAS_ECOEMBESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TARIFAS_ECOEMBESCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_IVA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_IVA]( [cemp] [char](3) NOT NULL, [clpr] [char](1) NOT NULL, [ccli] [varchar](45) NOT NULL, [ncif] [char](20) NOT NULL, [sfac] [char](2) NULL, [nfac] [int] NULL, [ffac] [datetime] NOT NULL, [fpro] [char](15) NULL, [nord] [smallint] NOT NULL CONSTRAINT [DF_IC_IVA_nord] DEFAULT (0), [liva] [smallint] NOT NULL, [bas1] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_bas1] DEFAULT (0), [iva1] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_iva1] DEFAULT (0), [rec1] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_rec1] DEFAULT (0), [cre1] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_cre1] DEFAULT (0), [bas2] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_bas2] DEFAULT (0), [iva2] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_iva2] DEFAULT (0), [rec2] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_rec2] DEFAULT (0), [cre2] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_cre2] DEFAULT (0), [bas3] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_bas3] DEFAULT (0), [iva3] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_iva3] DEFAULT (0), [rec3] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_rec3] DEFAULT (0), [cre3] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_cre3] DEFAULT (0), [bas4] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_bas4] DEFAULT (0), [iva4] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_iva4] DEFAULT (0), [rec4] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_rec4] DEFAULT (0), [cre4] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_cre4] DEFAULT (0), [njus] [int] NOT NULL, [libr] [smallint] NOT NULL, [loc1] [smallint] NOT NULL CONSTRAINT [DF_IC_IVA_loc1] DEFAULT (0), [loc2] [smallint] NOT NULL CONSTRAINT [DF_IC_IVA_loc2] DEFAULT (0), [loc3] [smallint] NOT NULL CONSTRAINT [DF_IC_IVA_loc3] DEFAULT (0), [loc4] [smallint] NOT NULL CONSTRAINT [DF_IC_IVA_loc4] DEFAULT (0), [civ1] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_civ1] DEFAULT (0), [civ2] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_civ2] DEFAULT (0), [civ3] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_civ3] DEFAULT (0), [civ4] [decimal](18, 2) NOT NULL CONSTRAINT [DF_IC_IVA_civ4] DEFAULT (0), [lote] [int] NOT NULL, [id_carrete] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISUNIT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISUNIT]( [ID] [int] NULL, [IDSIS] [int] NULL, [IDUNI] [int] NULL, [ABREV] [char](10) NULL, [CONVER] [real] NULL, [PRECS] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_SUBCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_SUBCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISUNITCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISUNITCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTBORIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTBORIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UVC_COMERC_INDUS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UVC_COMERC_INDUS]( [ID] [int] NOT NULL, [UVC_COMERC_INDUS] [varchar](24) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBDETEXTRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBDETEXTRA]( [ID] [smallint] NOT NULL, [IDATRIB] [smallint] NOT NULL, [TYPE] [int] NOT NULL, [VALUE] [char](250) NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[SISATRIBDETEXTRA]') AND name = N'NODUPLICAR') CREATE UNIQUE NONCLUSTERED INDEX [NODUPLICAR] ON [SISATRIBDETEXTRA] ( [IDATRIB] ASC, [VALUE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_LOCAL_OPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_LOCAL_OPER]( [id_local_oper] [int] NOT NULL, [nombre_local_oper] [varchar](50) NOT NULL, CONSTRAINT [PK_IC_LOCAL_OPER] PRIMARY KEY NONCLUSTERED ( [id_local_oper] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFORNI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFORNI]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [USERC] [int] NOT NULL, [USERM] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [FECHAM] [datetime] NOT NULL, [KPRENDA] [smallint] NULL, [TALLA] [smallint] NULL, [VARIANTE] [int] NULL, [COSTE] [float] NULL, [MONEDA] [smallint] NULL, [COMENTARIO] [char](80) NULL, [COMPINGR] [int] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_TALLAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_TALLAS]( [TALLA] [char](2) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBDETEXTRACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBDETEXTRACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SMARK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SMARK]( [ID] [int] NULL, [KESTADO] [char](1) NULL, [ESTADO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_TIPO_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_TIPO_SEGUNDA]( [TIPO_SEGUNDA] [char](4) NOT NULL, [DESC_SEGUNDA] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUCAO_TIPO_SEGUNDA] PRIMARY KEY NONCLUSTERED ( [TIPO_SEGUNDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_TIPO_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_TIPO_SEGUNDA] on [PRODUCAO_TIPO_SEGUNDA] for DELETE as /* DELETE trigger on PRODUCAO_TIPO_SEGUNDA */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_TIPO_SEGUNDA R/1916 PRODUCAO_OS_SEGUNDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_OS_SEGUNDA where PRODUCAO_OS_SEGUNDA.TIPO_SEGUNDA = deleted.TIPO_SEGUNDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_TIPO_SEGUNDA #porque existem registros em #PRODUCAO_OS_SEGUNDA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UVC_COMERC_INDUSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UVC_COMERC_INDUSCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFORNICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFORNICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[crosstab]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [crosstab] @select varchar(8000), @sumfunc varchar(100), @pivot varchar(100), @table varchar(100) AS DECLARE @sql varchar(8000), @delim varchar(1) SET NOCOUNT ON SET ANSI_WARNINGS OFF EXEC (''SELECT '' + @pivot + '' AS pivot INTO ##pivot FROM '' + @table + '' WHERE 1=2'') EXEC (''INSERT INTO ##pivot SELECT DISTINCT '' + @pivot + '' FROM '' + @table + '' WHERE '' + @pivot + '' Is Not Null'') SELECT @sql='''', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, '' END)'' ) SELECT @delim=CASE Sign( CharIndex(''char'', data_type)+CharIndex(''date'', data_type) ) WHEN 0 THEN '''' ELSE '''''''' END FROM tempdb.information_schema.columns WHERE table_name=''##pivot'' AND column_name=''pivot'' SELECT @sql=@sql + '''''''' + convert(varchar(100), pivot) + '''''' = '' + stuff(@sumfunc,charindex( ''('', @sumfunc )+1, 0, '' CASE '' + @pivot + '' WHEN '' + @delim + convert(varchar(100), pivot) + @delim + '' THEN '' ) + '', '' FROM ##pivot DROP TABLE ##pivot SELECT @sql=left(@sql, len(@sql)-1) SELECT @select=stuff(@select, charindex('' FROM '', @select)+1, 0, '', '' + @sql + '' '') EXEC (@select) SET ANSI_WARNINGS ON ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FORNECEDOR]( [PRODUTO] [char](12) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [REFERENCIA_FORNECEDOR] [varchar](20) NULL, [DESC_PRODUTO_FORNECEDOR] [varchar](40) NULL, [DADOS_PRODUCAO_FORNECEDOR] [varchar](50) NULL, CONSTRAINT [XPKPRODUTOS_FORNECEDOR] PRIMARY KEY NONCLUSTERED ( [FORNECEDOR] ASC, [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_FORNECEDOR] on [PRODUTOS_FORNECEDOR] for DELETE as /* DELETE trigger on PRODUTOS_FORNECEDOR */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_FORNECEDOR R/1922 PRODUTOS_FORNECEDOR_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_FORNECEDOR_COR from PRODUTOS_FORNECEDOR_COR,deleted where PRODUTOS_FORNECEDOR_COR.FORNECEDOR = deleted.FORNECEDOR and PRODUTOS_FORNECEDOR_COR.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_FORNECEDOR] on [PRODUTOS_FORNECEDOR] for INSERT as /* INSERT trigger on PRODUTOS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/1863 PRODUTOS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS R/1862 PRODUTOS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FORNECEDOR #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_FORNECEDOR] on [PRODUTOS_FORNECEDOR] for UPDATE as /* UPDATE trigger on PRODUTOS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFORNECEDOR varchar(25), @insPRODUTO char(12), @delFORNECEDOR varchar(25), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_FORNECEDOR R/1922 PRODUTOS_FORNECEDOR_COR ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) OR update(PRODUTO) BEGIN DECLARE PRODUTOS_FORNECEDOR1922 CURSOR FOR SELECT FORNECEDOR, PRODUTO FROM INSERTED DECLARE PRODUTOS_FORNECEDOR1065 CURSOR FOR SELECT FORNECEDOR, PRODUTO FROM DELETED OPEN PRODUTOS_FORNECEDOR1922 OPEN PRODUTOS_FORNECEDOR1065 FETCH NEXT FROM PRODUTOS_FORNECEDOR1922 INTO @insFORNECEDOR, @insPRODUTO FETCH NEXT FROM PRODUTOS_FORNECEDOR1065 INTO @delFORNECEDOR, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FORNECEDOR_COR SET PRODUTOS_FORNECEDOR_COR.FORNECEDOR=@insFORNECEDOR, PRODUTOS_FORNECEDOR_COR.PRODUTO=@insPRODUTO WHERE PRODUTOS_FORNECEDOR_COR.FORNECEDOR = @delFORNECEDOR and PRODUTOS_FORNECEDOR_COR.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS_FORNECEDOR1922 INTO @insFORNECEDOR, @insPRODUTO FETCH NEXT FROM PRODUTOS_FORNECEDOR1065 INTO @delFORNECEDOR, @delPRODUTO END END CLOSE PRODUTOS_FORNECEDOR1922 CLOSE PRODUTOS_FORNECEDOR1065 DEALLOCATE PRODUTOS_FORNECEDOR1922 DEALLOCATE PRODUTOS_FORNECEDOR1065 END /* FORNECEDORES R/1863 PRODUTOS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS R/1862 PRODUTOS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FORNECEDOR #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAL_FORMATO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAL_FORMATO]( [ID] [int] NOT NULL, [IDFORMATO] [int] NOT NULL, [CANTIDAD] [float] NOT NULL, [ELEMENTO] [int] NOT NULL, [MATERIAL] [int] NOT NULL, [PESO] [float] NOT NULL, [COSTE_UNIDAD_UVC] [float] NULL, [COSTE_ELEMEN_UVC] [float] NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_PREC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_PREC]( [ID] [int] NOT NULL, [IDTABELAS] [int] NOT NULL, [GF_CODIGO_TAB_PR] [char](2) NOT NULL, [GF_PRODUTO] [int] NOT NULL, [GF_PRECO1] [float] NULL, [GF_PRECO2] [float] NULL, [GF_PRECO3] [float] NULL, [GF_PRECO4] [float] NULL, [GF_LIMITE_DESCON] [float] NULL, [GF_PROMOCAO_DESC] [float] NULL, [GF_ULT_ATUALIZAC] [datetime] NOT NULL, [GF_INICIO_PROMOC] [datetime] NULL, [GF_FIM_PROMOCAO] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SMARKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SMARKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBING]( [ID] [smallint] NOT NULL, [IDCLASS] [int] NOT NULL, [NAME] [char](32) NOT NULL, [TYPE] [int] NOT NULL, [LENGTH] [int] NOT NULL, [NORDER] [int] NOT NULL, [TITLE] [char](32) NOT NULL, [EDIT] [smallint] NOT NULL, [INDVAL] [smallint] NOT NULL, [VARSIZE] [int] NOT NULL, [DBCOLLENGTH] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_TITULO_SISATRIBING]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_TITULO_SISATRIBING fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_TITULO_SISATRIBING] ON [SISATRIBING] FOR DELETE AS --RETURN BEGIN DECLARE @TITLE VARCHAR(24), @IDCLASS INT DECLARE CLI_IDCLASS CURSOR FOR SELECT TITLE,IDCLASS FROM DELETED OPEN CLI_IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM SISATRIBING_DIC WHERE CLI=@TITLE AND IDCLASS=@IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS END CLOSE CLI_IDCLASS DEALLOCATE CLI_IDCLASS END RETURN /* --TRIGGER EN LAS TABLAS *****_DIC */ --SISCLASES --SP_HELPTEXT U_SISCLASES_DIC --DROP TRIGGER U_SISCLASES_DIC ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_TITLE_SISATRIBING]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_TITLE_SISATRIBING fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_TITLE_SISATRIBING] ON [SISATRIBING] FOR INSERT AS --RETURN BEGIN DECLARE @TITLE VARCHAR(24), @IDCLASS INT DECLARE CLI_IDCLASS CURSOR FOR SELECT TITLE,IDCLASS FROM INSERTED OPEN CLI_IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO SISATRIBING_DIC (IDCLASS,ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT IDCLASS,TITLE,TITLE,TITLE,TITLE,TITLE,TITLE,TITLE,NULL FROM SISATRIBING WHERE TITLE=@TITLE AND IDCLASS=@IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS END CLOSE CLI_IDCLASS DEALLOCATE CLI_IDCLASS END RETURN /* BORRAR EL NOMBRE DE UN ATRIBUTO DE CLASE EN SISATRIBUTOS_DIC */ --SP_HELPTEXT D_TITULO_SISATRIBING --DROP TRIGGER D_TITULO_SISATRIBING ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_TITLE_SISATRIBING]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_TITLE_SISATRIBING fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_TITLE_SISATRIBING] ON [SISATRIBING] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISATRIBING_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_TITLE_SISATRIBING'')) ) < 2 ) IF UPDATE(TITLE) BEGIN DECLARE @CLII VARCHAR(24), @CLID VARCHAR(24), @IDCLASS INT DECLARE CLI_IDCLASS CURSOR FOR SELECT A.TITLE,A.IDCLASS,B.TITLE FROM INSERTED A, DELETED B OPEN CLI_IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @CLII,@IDCLASS,@CLID WHILE @@FETCH_STATUS = 0 BEGIN UPDATE SISATRIBING_DIC SET CLI=@CLII WHERE CLI=@CLID AND IDCLASS=@IDCLASS IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISATRIBING_DIC SET PER=@CLII WHERE CLI=@CLII AND IDCLASS=@IDCLASS END FETCH NEXT FROM CLI_IDCLASS INTO @CLII,@IDCLASS,@CLID END CLOSE CLI_IDCLASS DEALLOCATE CLI_IDCLASS END RETURN /* INSERT EL NOMBRE DE UN NUEVO ATRIBUTO DE DETALLE EN SISATRIBDETALLE_DIC */ --SP_HELPTEXT I_TITLE_SISATRIBING --DROP TRIGGER I_TITLE_SISATRIBING ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFORNI_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFORNI_ING]( [ID] [int] NULL, [IDINSTANCIA] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL, [IDCOMPINGR] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CB_DES_PRND]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CB_DES_PRND]( [ID] [int] NULL, [DESCRIP_CB] [varchar](13) NULL, [DESCRIP_EN] [varchar](13) NULL, [DESCRIP_SP] [varchar](13) NULL, [DESCRIP_NE] [varchar](13) NULL, [DESCRIP_FR] [varchar](13) NULL, [DESCRIP_DU] [varchar](13) NULL, [DESCRIP_7] [varchar](13) NULL, [DESCRIP_8] [varchar](13) NULL, [DESCRIP_9] [varchar](13) NULL, [DESCRIP_10] [varchar](13) NULL, [DESCRIP_11] [varchar](13) NULL, [DESCRIP_12] [varchar](13) NULL, [DESCRIP_13] [varchar](13) NULL, [DESCRIP_14] [varchar](13) NULL, [DESCRIP_15] [varchar](13) NULL, [DESCRIP_16] [varchar](13) NULL, [DESCRIP_17] [varchar](13) NULL, [DESCRIP_18] [varchar](13) NULL, [DESCRIP_19] [varchar](13) NULL, [DESCRIP_20] [varchar](13) NULL, [ACCESO] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CB_DES_PRND]') AND name = N'REFCB_DES_PRND') CREATE UNIQUE NONCLUSTERED INDEX [REFCB_DES_PRND] ON [CB_DES_PRND] ( [DESCRIP_CB] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SMODS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SMODS]( [ID] [int] NULL, [KESTADO] [char](1) NULL, [ESTADO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FORNECEDOR_COR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FORNECEDOR_COR]( [FORNECEDOR] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [REFERENCIA_COR_CLIENTE] [varchar](20) NULL, [DESC_COR_PRODUTO_CLIENTE] [varchar](40) NULL, CONSTRAINT [XPKPRODUTOS_FORNECEDOR_COR] PRIMARY KEY NONCLUSTERED ( [FORNECEDOR] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_FORNECEDOR_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_FORNECEDOR_COR] on [PRODUTOS_FORNECEDOR_COR] for INSERT as /* INSERT trigger on PRODUTOS_FORNECEDOR_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_FORNECEDOR R/1922 PRODUTOS_FORNECEDOR_COR ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_FORNECEDOR where inserted.FORNECEDOR = PRODUTOS_FORNECEDOR.FORNECEDOR and inserted.PRODUTO = PRODUTOS_FORNECEDOR.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FORNECEDOR_COR #porque #PRODUTOS_FORNECEDOR #não existe.'' goto error end end /* PRODUTO_CORES R/1867 PRODUTOS_FORNECEDOR_COR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FORNECEDOR_COR #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_FORNECEDOR_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_FORNECEDOR_COR] on [PRODUTOS_FORNECEDOR_COR] for UPDATE as /* UPDATE trigger on PRODUTOS_FORNECEDOR_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFORNECEDOR varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delFORNECEDOR varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_FORNECEDOR R/1922 PRODUTOS_FORNECEDOR_COR ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_FORNECEDOR where inserted.FORNECEDOR = PRODUTOS_FORNECEDOR.FORNECEDOR and inserted.PRODUTO = PRODUTOS_FORNECEDOR.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FORNECEDOR_COR #porque #PRODUTOS_FORNECEDOR #não existe.'' goto error end end /* PRODUTO_CORES R/1867 PRODUTOS_FORNECEDOR_COR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FORNECEDOR_COR #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INTEGRIDAD_REFERENCIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_INTEGRIDAD_REFERENCIAL]( [ID] [int] IDENTITY(1,1) NOT NULL, [TIPO] [varchar](20) NULL, [TABLA] [sysname] NOT NULL, [COLUMNA] [sysname] NOT NULL, [TIPO_TABLA] [char](1) NOT NULL, [REFERENCIA_1] [varchar](250) NOT NULL, [REFERENCIA_2] [varchar](250) NOT NULL CONSTRAINT [DF_GF_INTEGRIDAD_REFERENCIAL_REFERENCIA_2] DEFAULT (''), [REFERENCIA] [varchar](50) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_PRECCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_PRECCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFORNI_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFORNI_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CB_DES_PRNDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CB_DES_PRNDCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SMODSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SMODSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_PAGAR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_PAGAR]( [BANCO] [char](4) NOT NULL, [TIPO_RETORNO] [varchar](25) NOT NULL, [NUMERO_RETORNO] [char](8) NOT NULL, [NOME_ARQUIVO_RETORNO] [varchar](40) NULL, [SEQUENCIAL_RETORNO] [char](6) NULL, [DATA_CAPTACAO] [datetime] NULL, [LANCAMENTO_BAIXA] [char](8) NULL, [OBS] [text] NULL, CONSTRAINT [XPKRETORNO_A_PAGAR] PRIMARY KEY NONCLUSTERED ( [TIPO_RETORNO] ASC, [NUMERO_RETORNO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_RETORNO_A_PAGAR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_RETORNO_A_PAGAR] on [RETORNO_A_PAGAR] for DELETE as /* DELETE trigger on RETORNO_A_PAGAR */ begin declare @errno int, @errmsg varchar(255) /* RETORNO_A_PAGAR RETORNO_A_PAGAR RETORNO_A_PAGAR_PARCELAS ON PARENT DELETE CASCADE */ delete RETORNO_A_PAGAR_PARCELAS from RETORNO_A_PAGAR_PARCELAS,deleted where RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO = deleted.TIPO_RETORNO and RETORNO_A_PAGAR_PARCELAS.NUMERO_RETORNO = deleted.NUMERO_RETORNO and RETORNO_A_PAGAR_PARCELAS.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_PAGAR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_PAGAR] on [RETORNO_A_PAGAR] for INSERT as /* INSERT trigger on RETORNO_A_PAGAR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_TIPO TIPO_RETORNO RETORNO_A_PAGAR ON CHILD INSERT RESTRICT */ if update(TIPO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_TIPO where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_TIPO.TIPO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR_TIPO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR #porque #RETORNO_A_PAGAR_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_PAGAR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_PAGAR] on [RETORNO_A_PAGAR] for UPDATE as /* UPDATE trigger on RETORNO_A_PAGAR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_RETORNO varchar(25), @insNUMERO_RETORNO char(8), @insBANCO char(4), @delTIPO_RETORNO varchar(25), @delNUMERO_RETORNO char(8), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR RETORNO_A_PAGAR RETORNO_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_RETORNO) OR update(NUMERO_RETORNO) OR update(BANCO) BEGIN DECLARE RETORNO_A_PAGAR982 CURSOR FOR SELECT TIPO_RETORNO, NUMERO_RETORNO, BANCO FROM INSERTED DECLARE RETORNO_A_PAGAR635 CURSOR FOR SELECT TIPO_RETORNO, NUMERO_RETORNO, BANCO FROM DELETED OPEN RETORNO_A_PAGAR982 OPEN RETORNO_A_PAGAR635 FETCH NEXT FROM RETORNO_A_PAGAR982 INTO @insTIPO_RETORNO, @insNUMERO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR635 INTO @delTIPO_RETORNO, @delNUMERO_RETORNO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_PARCELAS SET RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO=@insTIPO_RETORNO, RETORNO_A_PAGAR_PARCELAS.NUMERO_RETORNO=@insNUMERO_RETORNO, RETORNO_A_PAGAR_PARCELAS.BANCO=@insBANCO WHERE RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO = @delTIPO_RETORNO and RETORNO_A_PAGAR_PARCELAS.NUMERO_RETORNO = @delNUMERO_RETORNO and RETORNO_A_PAGAR_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM RETORNO_A_PAGAR982 INTO @insTIPO_RETORNO, @insNUMERO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR635 INTO @delTIPO_RETORNO, @delNUMERO_RETORNO, @delBANCO END END CLOSE RETORNO_A_PAGAR982 CLOSE RETORNO_A_PAGAR635 DEALLOCATE RETORNO_A_PAGAR982 DEALLOCATE RETORNO_A_PAGAR635 END /* RETORNO_A_PAGAR_TIPO TIPO_RETORNO RETORNO_A_PAGAR ON CHILD UPDATE RESTRICT */ if update(TIPO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_TIPO where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_TIPO.TIPO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR_TIPO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR #porque #RETORNO_A_PAGAR_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPENCAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPENCAT]( [IDGRPCAT] [int] NULL, [IDCAT] [int] NULL, [IDGRUPO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TABELAS_PRECO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TABELAS_PRECO]( [ID] [int] NOT NULL, [GF_CODIGO_TAB_PR] [char](2) NOT NULL, [GF_TABELA] [varchar](25) NOT NULL, [GF_MOEDA] [char](1) NOT NULL, [GF_LANCAMENTO_TA] [datetime] NOT NULL, [GF_DATA_DESATIVA] [datetime] NULL, [GF_ATACADO_VAREJ] [char](1) NULL, [GF_STATUS] [char](1) NULL, [GF_ENVIA_LOJA_VA] [char](1) NOT NULL, [TIMESTAMP] [timestamp] NULL, [GF_ENVIA_LOJA_AT] [char](1) NOT NULL, [GF_ENVIA_REPRESE] [char](1) NOT NULL, [GF_ENVIA_VAREJO_] [char](1) NOT NULL, [GF_ENVIA_ATACADO] [char](1) NOT NULL, [GF_INATIVO] [char](1) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [GF_CONDICAO_PGTO] [int] NULL, [GF_OBS] [varchar](254) NULL, [GF_GRUPO] [int] NULL, [GF_SUBGRUPO] [int] NULL, [GF_LINHA] [int] NULL, [GF_GRADE] [int] NULL, [GF_GRIFFE] [int] NULL, [GF_COLECAO] [int] NULL, [GF_TIPO_PRODUTO] [int] NULL, [EMP] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [ACCESO] [int] NOT NULL, [TRANSFER] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_GF_TABELAS_PRECO_TRANSFER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_GF_TABELAS_PRECO_TRANSFER fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_GF_TABELAS_PRECO_TRANSFER] ON [GF_TABELAS_PRECO] FOR INSERT,UPDATE NOT FOR REPLICATION AS IF (SELECT TRANSFER FROM INSERTED) IS NULL OR (SELECT TRANSFER FROM INSERTED)=0 BEGIN UPDATE GF_TABELAS_PRECO SET TRANSFER=10 WHERE ID=(SELECT ID FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_TIPOS_IVA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_TIPOS_IVA]( [id_tipo_iva] [int] IDENTITY(1,1) NOT NULL, [nombre_tipo_iva] [char](10) NOT NULL, [desc_tipo_iva] [varchar](50) NULL, [porcent_iva] [smallint] NOT NULL CONSTRAINT [DF_IC_TIPOS_IVA_porcent_iva] DEFAULT (16), [recargo_equiv] [char](2) NOT NULL CONSTRAINT [DF_IC_TIPOS_IVA_recargo_equiv] DEFAULT ('NO'), [soportado_repercutido] [char](1) NOT NULL, [ubicacion] [char](20) NOT NULL, [compra_venta] [char](10) NOT NULL, [retencion] [int] NOT NULL CONSTRAINT [DF_IC_TIPOS_IVA_retencion] DEFAULT (0), CONSTRAINT [PK_IC_TIPOS_IVA] PRIMARY KEY NONCLUSTERED ( [id_tipo_iva] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_TIPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_TIPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SPZAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SPZAS]( [ID] [int] NULL, [KESTADO] [char](1) NULL, [ESTADO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_PAGAR_CAMPOS]( [BANCO] [char](4) NOT NULL, [TIPO_RETORNO] [varchar](25) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [VALOR_CAMPO] [varchar](10) NOT NULL, [DESCRICAO_CAMPO] [varchar](100) NULL, CONSTRAINT [XPKRETORNO_A_PAGAR_CAMPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_RETORNO] ASC, [NOME_CAMPO] ASC, [VALOR_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_PAGAR_CAMPOS] on [RETORNO_A_PAGAR_CAMPOS] for INSERT as /* INSERT trigger on RETORNO_A_PAGAR_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_LAYOUT RETORNO_LAYOUT RETORNO_A_PAGAR_CAMPOS ON CHILD INSERT RESTRICT */ if update(TIPO_RETORNO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_LAYOUT where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO and inserted.NOME_CAMPO = RETORNO_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = RETORNO_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_CAMPOS #porque #RETORNO_A_PAGAR_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_PAGAR_CAMPOS] on [RETORNO_A_PAGAR_CAMPOS] for UPDATE as /* UPDATE trigger on RETORNO_A_PAGAR_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_RETORNO varchar(25), @insNOME_CAMPO varchar(25), @insVALOR_CAMPO varchar(10), @insBANCO char(4), @delTIPO_RETORNO varchar(25), @delNOME_CAMPO varchar(25), @delVALOR_CAMPO varchar(10), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_LAYOUT RETORNO_LAYOUT RETORNO_A_PAGAR_CAMPOS ON CHILD UPDATE RESTRICT */ if update(TIPO_RETORNO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_LAYOUT where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO and inserted.NOME_CAMPO = RETORNO_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = RETORNO_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_CAMPOS #porque #RETORNO_A_PAGAR_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TABELAS_PRECOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_TABELAS_PRECOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_TIPO_ASIENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_TIPO_ASIENTOS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_tipoas] [int] IDENTITY(1,1) NOT NULL, [nombre_tipoas] [varchar](25) NOT NULL, [descripcion_tipoas] [varchar](100) NOT NULL, CONSTRAINT [PK_IC_TIPO_ASIENTOS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_tipoas] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPENCATCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPENCATCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SPZASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SPZASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_EMPRESA_CONS_CHQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_EMPRESA_CONS_CHQ]( [CODIGO] [char](3) NOT NULL, [NOME_EMPRESA] [varchar](40) NULL, CONSTRAINT [XPKLOJA_EMPRESA_CONS_CHQ] PRIMARY KEY NONCLUSTERED ( [CODIGO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBINGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBINGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_TIPO_OPERACION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_TIPO_OPERACION]( [id_tipoop] [int] IDENTITY(1,1) NOT NULL, [tipoop] [varchar](25) NOT NULL, CONSTRAINT [PK_IC_TIPO_OPERACION] PRIMARY KEY NONCLUSTERED ( [id_tipoop] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DATA_ATUAL]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N'CREATE DEFAULT [DATA_ATUAL] AS GETDATE() ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPTEJ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPTEJ]( [IDGRPTEJ] [int] NULL, [NOMBRE] [char](24) NULL, [LINEA] [int] NULL, [FECHAC] [datetime] NULL, [USERC] [int] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[v_columnas_tablas]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [v_columnas_tablas] AS SELECT TOP 100 PERCENT dbo.syscolumns.name, dbo.sysobjects.name AS tname, dbo.systypes.name AS Tipo_Dato FROM dbo.syscolumns INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id INNER JOIN dbo.systypes ON dbo.syscolumns.usertype = dbo.systypes.usertype ORDER BY dbo.syscolumns.name ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUCURSAL_CLIENTE_BANCO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUCURSAL_CLIENTE_BANCO]( [SUCURSAL] [char](6) NULL, [CLIENTE] [char](6) NULL, [NOME_CLIFOR] [char](25) NULL, [BANCO] [varchar](4) NULL, [AGENCIA] [varchar](8) NULL, [DIGITO_CONTROL] [varchar](4) NULL, [CODIGO_CUENTA] [varchar](12) NULL, [CUENTA_DEFECTO] [bit] NULL, [CLIENTE_ATACADO] [varchar](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SZMRK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SZMRK]( [ID] [int] NULL, [MARKER] [int] NULL, [BUNDLE] [smallint] NULL, [EJEMPLAR] [smallint] NULL, [VECES] [smallint] NULL, [VTALLA] [smallint] NULL, [VCONF] [smallint] NULL, [VDROP] [smallint] NULL, [VEXTRA] [smallint] NULL, [SIGNO] [char](1) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_PAGAR_PARCELAS]( [BANCO] [char](4) NOT NULL, [TIPO_RETORNO] [varchar](25) NOT NULL, [NUMERO_RETORNO] [char](18) NOT NULL, [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [PARCELA] [char](2) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [CAMPO_DETALHE] [varchar](50) NULL, CONSTRAINT [XPKRETORNO_A_PAGAR_PARCELAS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [TIPO_RETORNO] ASC, [NUMERO_RETORNO] ASC, [FATURA] ASC, [NOME_CLIFOR] ASC, [PARCELA] ASC, [NOME_CAMPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_PAGAR_PARCELAS] on [RETORNO_A_PAGAR_PARCELAS] for INSERT as /* INSERT trigger on RETORNO_A_PAGAR_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_RETORNO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_LAYOUT where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO and inserted.NOME_CAMPO = RETORNO_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = RETORNO_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_PARCELAS #porque #RETORNO_A_PAGAR_LAYOUT #não existe.'' goto error end end /* A_PAGAR_PARCELA A_PAGAR_PARCELA RETORNO_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_PARCELAS #porque #A_PAGAR_PARCELA #não existe.'' goto error end end /* RETORNO_A_PAGAR RETORNO_A_PAGAR RETORNO_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_RETORNO) or update(NUMERO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR where inserted.TIPO_RETORNO = RETORNO_A_PAGAR.TIPO_RETORNO and inserted.NUMERO_RETORNO = RETORNO_A_PAGAR.NUMERO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_PARCELAS #porque #RETORNO_A_PAGAR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_PAGAR_PARCELAS] on [RETORNO_A_PAGAR_PARCELAS] for UPDATE as /* UPDATE trigger on RETORNO_A_PAGAR_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insTIPO_RETORNO varchar(25), @insNUMERO_RETORNO char(18), @insFATURA char(11), @insNOME_CLIFOR varchar(25), @insPARCELA char(2), @insNOME_CAMPO varchar(25), @delBANCO char(4), @delTIPO_RETORNO varchar(25), @delNUMERO_RETORNO char(18), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @delPARCELA char(2), @delNOME_CAMPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_RETORNO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_LAYOUT where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO and inserted.NOME_CAMPO = RETORNO_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = RETORNO_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_PARCELAS #porque #RETORNO_A_PAGAR_LAYOUT #não existe.'' goto error end end /* A_PAGAR_PARCELA A_PAGAR_PARCELA RETORNO_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_PARCELAS #porque #A_PAGAR_PARCELA #não existe.'' goto error end end /* RETORNO_A_PAGAR RETORNO_A_PAGAR RETORNO_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_RETORNO) or update(NUMERO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR where inserted.TIPO_RETORNO = RETORNO_A_PAGAR.TIPO_RETORNO and inserted.NUMERO_RETORNO = RETORNO_A_PAGAR.NUMERO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_PARCELAS #porque #RETORNO_A_PAGAR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KCALD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KCALD]( [ID] [int] NULL, [TIPO] [char](16) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_CPT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_CPT]( [ID] [int] NULL, [IDCOMPVARCOLOR] [int] NOT NULL, [IDTALLA] [int] NOT NULL, [CANTIDAD] [float] NOT NULL, [IDVARCOLOR] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR_CPT]') AND name = N'XVARCOLOR_CPT') CREATE NONCLUSTERED INDEX [XVARCOLOR_CPT] ON [VARCOLOR_CPT] ( [IDCOMPVARCOLOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR_CPT]') AND name = N'YVARCOLOR_CPT') CREATE UNIQUE NONCLUSTERED INDEX [YVARCOLOR_CPT] ON [VARCOLOR_CPT] ( [IDCOMPVARCOLOR] ASC, [IDTALLA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_UNIVCCTA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_UNIVCCTA]( [cemp] [char](3) NOT NULL, [ccta] [char](15) NOT NULL, [pais] [int] NULL, [nive] [smallint] NOT NULL CONSTRAINT [DF_IC_CUENTAS_2_nive] DEFAULT (0), [ncta] [char](15) NULL, [deam] [char](45) NULL, [deta] [char](1) NOT NULL CONSTRAINT [DF_IC_CUENTAS_2_deta] DEFAULT ('N'), [ncif] [char](20) NULL, [ctac] [char](15) NULL, [ctat] [smallint] NOT NULL CONSTRAINT [DF_IC_CUENTAS_2_ctat] DEFAULT (0), [ivah] [smallint] NULL CONSTRAINT [DF_IC_CUENTAS_2_ivah] DEFAULT (0), [reca] [char](1) NOT NULL CONSTRAINT [DF_IC_CUENTAS_2_reca] DEFAULT ('N'), [ivas] [smallint] NULL CONSTRAINT [DF_IC_CUENTAS_2_ivas] DEFAULT (0), [cart] [char](1) NULL CONSTRAINT [DF_IC_CUENTAS_2_cart] DEFAULT ('N'), [coco] [char](15) NULL, [cpai] [int] NULL CONSTRAINT [DF_IC_CUENTAS_2_cpai] DEFAULT (34), [conc] [char](1) NULL CONSTRAINT [DF_IC_CUENTAS_2_conc] DEFAULT ('N'), [apme] [char](1) NOT NULL CONSTRAINT [DF_IC_CUENTAS_2_apme] DEFAULT ('N'), [anal] [char](1) NULL, [nume] [int] NULL CONSTRAINT [DF_IC_CUENTAS_2_nume] DEFAULT (0), [pavi] [char](1) NULL, [cdiv] [int] NULL CONSTRAINT [DF_IC_CUENTAS_2_cdiv] DEFAULT (1), [cons] [char](1) NULL CONSTRAINT [DF_IC_CUENTAS_2_cons] DEFAULT ('N'), [acec] [char](1) NULL CONSTRAINT [DF_IC_CUENTAS_2_acec] DEFAULT ('N'), CONSTRAINT [PK_IC_UNIVCCTA] PRIMARY KEY CLUSTERED ( [cemp] ASC, [ccta] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPTEJCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPTEJCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_COM]( [ID] [int] NULL, [GF_PASSADORA_TEM] [char](3) NULL, [GF_DESC_COMPOSIC] [varchar](150) NULL, [GF_LAVAGEM_TEMPE] [varchar](3) NULL, [GF_LAVAGEM_COM_] [char](1) NULL, [GF_LAVAR_A_SECO] [char](1) NULL, [GF_SECAR_A_SECAD] [char](1) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [GF_COMPOSICAO] [char](6) NULL, [USERP] [int] NULL, [TIPO] [int] NULL, [MATERIA1] [varchar](32) NULL, [POR1MATERIA] [char](3) NULL, [MATERIA2] [varchar](32) NULL, [POR2MATERIA] [char](2) NULL, [MATERIA3] [varchar](32) NULL, [POR3MATERIA] [char](2) NULL, [MATERIA4] [varchar](32) NULL, [POR4MATERIA] [char](2) NULL, [MATERIA5] [varchar](32) NULL, [POR5MATERIA] [char](2) NULL, [MATERIA6] [varchar](32) NULL, [POR6MATERIA] [char](2) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COM]') AND name = N'XPKMATERIAIS_COM') CREATE UNIQUE NONCLUSTERED INDEX [XPKMATERIAIS_COM] ON [GF_MATERIAIS_COM] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COM]') AND name = N'YPKMATERIAIS_COM') CREATE UNIQUE NONCLUSTERED INDEX [YPKMATERIAIS_COM] ON [GF_MATERIAIS_COM] ( [EMP] ASC, [GF_COMPOSICAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COM]') AND name = N'ZPKMATERIAIS_COM') CREATE UNIQUE NONCLUSTERED INDEX [ZPKMATERIAIS_COM] ON [GF_MATERIAIS_COM] ( [EMP] ASC, [GF_DESC_COMPOSIC] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' -- 3ª Parte: Carga de Triggers de GF_MATERIAIS_COM actualizados CREATE TRIGGER [GFDV_MATERIAIS_COM] ON [GF_MATERIAIS_COM] FOR DELETE NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( object_ID( ''GFDV_MATERIAIS_COM'' ) ) ) = 1 ) BEGIN DECLARE @s_COMPOSICAO VARCHAR(6) DECLARE CS_COMPOSICAO CURSOR FOR SELECT GF_COMPOSICAO FROM DELETED ORDER BY GF_COMPOSICAO OPEN CS_COMPOSICAO FETCH NEXT FROM CS_COMPOSICAO INTO @s_COMPOSICAO WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS( SELECT COMPOSICAO FROM MATERIAIS_COMPOSICAO WHERE COMPOSICAO = @s_COMPOSICAO ) DELETE FROM MATERIAIS_COMPOSICAO WHERE COMPOSICAO = @s_COMPOSICAO FETCH NEXT FROM CS_COMPOSICAO INTO @s_COMPOSICAO END CLOSE CS_COMPOSICAO DEALLOCATE CS_COMPOSICAO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFIV_MATERIAIS_COM] ON [GF_MATERIAIS_COM] FOR INSERT AS IF ( ( SELECT trigger_nestlevel( object_ID( ''GFIV_MATERIAIS_COM'' ) ) ) = 1 ) BEGIN DECLARE @s_Desc VARCHAR(150), @IDOBJETO INTEGER DECLARE @n_ErrNo INT, @n_ErrMsg VARCHAR(255), @n_Lang_Id INTEGER, @s_Param_Error1 VARCHAR(50), @s_Param_Error2 VARCHAR(50) DECLARE CS_COMPOS CURSOR FOR SELECT ID FROM INSERTED ORDER BY ID OPEN CS_COMPOS FETCH NEXT FROM CS_COMPOS INTO @IDOBJETO WHILE @@FETCH_STATUS = 0 BEGIN SELECT @s_Desc = RTRIM(POR1MATERIA) + ''% ''+ MATERIA1 + '' '' + CASE WHEN CONVERT( INT, POR2MATERIA ) > 0 THEN RTRIM(POR2MATERIA) + ''% ''+ MATERIA2 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR3MATERIA ) > 0 THEN RTRIM(POR3MATERIA) + ''% ''+ MATERIA3 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR4MATERIA ) > 0 THEN RTRIM(POR4MATERIA) + ''% ''+ MATERIA4 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR5MATERIA ) > 0 THEN RTRIM(POR5MATERIA) + ''% ''+ MATERIA5 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR6MATERIA ) > 0 THEN RTRIM(POR6MATERIA) + ''% ''+ MATERIA6 + '' '' ELSE '' '' END FROM INSERTED WHERE ID = @IDOBJETO IF EXISTS( SELECT * FROM MATERIAIS_COMPOSICAO WHERE DESC_COMPOSICAO = @s_Desc ) BEGIN SET @n_Lang_Id = 1 SET @n_ErrNo = 30012 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' EXEC GF_GET_MESSAGE @n_ErrNo, @s_Param_Error1, @s_Param_Error2, @n_Lang_Id, @sMessage = @n_ErrMsg OUTPUT RAISERROR @n_ErrNo @n_ErrMsg END FETCH NEXT FROM CS_COMPOS INTO @IDOBJETO END CLOSE CS_COMPOS DEALLOCATE CS_COMPOS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFUV_MATERIAIS_COM] ON [GF_MATERIAIS_COM] FOR UPDATE AS IF ( ( SELECT trigger_nestlevel( object_ID( ''GFUV_MATERIAIS_COM'' ) ) ) = 1 ) BEGIN DECLARE @s_Desc1 VARCHAR(150), @s_Desc2 VARCHAR(150), @IDOBJETO INTEGER DECLARE @n_ErrNo INT, @n_ErrMsg VARCHAR(255), @n_Lang_Id INTEGER, @s_Param_Error1 VARCHAR(50), @s_Param_Error2 VARCHAR(50) DECLARE CS_COMPOS1 CURSOR FOR SELECT ID FROM DELETED ORDER BY ID DECLARE CS_COMPOS2 CURSOR FOR SELECT ID FROM INSERTED ORDER BY ID OPEN CS_COMPOS1 FETCH NEXT FROM CS_COMPOS1 INTO @IDOBJETO OPEN CS_COMPOS2 FETCH NEXT FROM CS_COMPOS2 INTO @IDOBJETO WHILE @@FETCH_STATUS = 0 BEGIN SELECT @s_Desc1 = RTRIM(POR1MATERIA) + ''% ''+ MATERIA1 + '' '' + CASE WHEN CONVERT( INT, POR2MATERIA ) > 0 THEN RTRIM(POR2MATERIA) + ''% ''+ MATERIA2 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR3MATERIA ) > 0 THEN RTRIM(POR3MATERIA) + ''% ''+ MATERIA3 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR4MATERIA ) > 0 THEN RTRIM(POR4MATERIA) + ''% ''+ MATERIA4 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR5MATERIA ) > 0 THEN RTRIM(POR5MATERIA) + ''% ''+ MATERIA5 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR6MATERIA ) > 0 THEN RTRIM(POR6MATERIA) + ''% ''+ MATERIA6 + '' '' ELSE '' '' END FROM INSERTED WHERE ID = @IDOBJETO SELECT @s_Desc2 = RTRIM(POR1MATERIA) + ''% ''+ MATERIA1 + '' '' + CASE WHEN CONVERT( INT, POR2MATERIA ) > 0 THEN RTRIM(POR2MATERIA) + ''% ''+ MATERIA2 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR3MATERIA ) > 0 THEN RTRIM(POR3MATERIA) + ''% ''+ MATERIA3 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR4MATERIA ) > 0 THEN RTRIM(POR4MATERIA) + ''% ''+ MATERIA4 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR5MATERIA ) > 0 THEN RTRIM(POR5MATERIA) + ''% ''+ MATERIA5 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR6MATERIA ) > 0 THEN RTRIM(POR6MATERIA) + ''% ''+ MATERIA6 + '' '' ELSE '' '' END FROM DELETED WHERE ID = @IDOBJETO IF EXISTS( SELECT * FROM MATERIAIS_COMPOSICAO WHERE DESC_COMPOSICAO = @s_Desc2 ) AND ( @s_Desc1 != @s_Desc2 ) BEGIN SET @n_Lang_Id = 1 SET @n_ErrNo = 30012 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' EXEC GF_GET_MESSAGE @n_ErrNo, @s_Param_Error1, @s_Param_Error2, @n_Lang_Id, @sMessage = @n_ErrMsg OUTPUT RAISERROR @n_ErrNo @n_ErrMsg END FETCH NEXT FROM CS_COMPOS1 INTO @IDOBJETO FETCH NEXT FROM CS_COMPOS2 INTO @IDOBJETO END CLOSE CS_COMPOS1 DEALLOCATE CS_COMPOS1 CLOSE CS_COMPOS2 DEALLOCATE CS_COMPOS2 END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_COMPOSICION1]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [I_COMPOSICION1] ON [GF_MATERIAIS_COM] FOR INSERT AS IF ( ( SELECT trigger_nestlevel( object_ID( ''I_COMPOSICION1'' ) ) ) = 1 ) BEGIN DECLARE @n_ErrNo INT, @n_ErrMsg VARCHAR(255), @n_Lang_Id INTEGER, @s_Param_Error1 VARCHAR(50), @s_Param_Error2 VARCHAR(50) IF EXISTS( SELECT * FROM INSERTED WHERE ( CONVERT(INT,ISNULL (POR1MATERIA,''0'')) + CONVERT(INT,ISNULL (POR2MATERIA,''0'')) + CONVERT(INT,ISNULL (POR3MATERIA,''0'')) + CONVERT(INT,ISNULL (POR4MATERIA,''0'')) + CONVERT(INT,ISNULL (POR5MATERIA,''0'')) + CONVERT(INT,ISNULL (POR6MATERIA,''0'')) != 100 ) ) BEGIN SET @n_Lang_Id = 1 SET @n_ErrNo = 30011 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' EXEC GF_GET_MESSAGE @n_ErrNo, @s_Param_Error1, @s_Param_Error2, @n_Lang_Id, @sMessage = @n_ErrMsg OUTPUT RAISERROR @n_ErrNo @n_ErrMsg END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_COMPOSICION1]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [U_COMPOSICION1] ON [GF_MATERIAIS_COM] FOR UPDATE AS IF ( ( SELECT trigger_nestlevel( object_ID( ''U_COMPOSICION1'' ) ) ) = 1 ) BEGIN DECLARE @n_ErrNo INT, @n_ErrMsg VARCHAR(255), @n_Lang_Id INTEGER, @s_Param_Error1 VARCHAR(50), @s_Param_Error2 VARCHAR(50) IF EXISTS( SELECT * FROM INSERTED WHERE ( CONVERT(INT,ISNULL (POR1MATERIA,''0'')) + CONVERT(INT,ISNULL (POR2MATERIA,''0'')) + CONVERT(INT,ISNULL (POR3MATERIA,''0'')) + CONVERT(INT,ISNULL (POR4MATERIA,''0'')) + CONVERT(INT,ISNULL (POR5MATERIA,''0'')) + CONVERT(INT,ISNULL (POR6MATERIA,''0'')) != 100 ) ) BEGIN SET @n_Lang_Id = 1 SET @n_ErrNo = 30011 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' EXEC GF_GET_MESSAGE @n_ErrNo, @s_Param_Error1, @s_Param_Error2, @n_Lang_Id, @sMessage = @n_ErrMsg OUTPUT RAISERROR @n_ErrNo @n_ErrMsg END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIO_MAXFECHAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'-- -- Definition for view RDX_V_INVENTARIO_MAXFECHAS : -- CREATE VIEW [RDX_V_INVENTARIO_MAXFECHAS] AS SELECT CENTRO, FILIAL, CODIGO, PRODUCTO, COLOR, TALLA, FECHA = MAX(FECHA) FROM RDX_V_INVENTARIOEDI WHERE RDX_V_INVENTARIOEDI.TIPOCANT = 145 GROUP BY CENTRO, FILIAL, CODIGO, PRODUCTO, COLOR, TALLA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[v_tablas_usuario]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [v_tablas_usuario] AS SELECT TOP 100 PERCENT RTRIM(name) AS name FROM dbo.sysobjects WHERE (type = ''U'') ORDER BY name ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUCURSAL_PROVEEDOR_BANCO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUCURSAL_PROVEEDOR_BANCO]( [SUCURSAL] [char](6) NULL, [FORNECEDOR] [char](6) NULL, [NOME_CLIFOR] [char](25) NULL, [BANCO] [varchar](4) NULL, [AGENCIA] [varchar](8) NULL, [DIGITO_CONTROL] [varchar](4) NULL, [CODIGO_CUENTA] [varchar](12) NULL, [CUENTA_DEFECTO] [bit] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SZMRKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SZMRKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROC]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [KPRENDA] [smallint] NULL, [COMENTARIO] [char](80) NULL, [KTEJ] [smallint] NULL, [ACCESO] [smallint] NULL, [DESCRIP] [char](60) NULL, [COEFDESC] [float] NULL, [CONHILO] [float] NULL, [TEMPO] [float] NULL, [COSTE] [float] NULL, [ESTADO] [smallint] NULL, [COTOT] [float] NULL, [COSTE_EUR] [float] NULL, [COTOT_EUR] [float] NULL, [CONHEUR] [float] NULL, [PORTE] [float] NULL, [COMISION] [float] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[EPROC]') AND name = N'REFEPROC') CREATE UNIQUE NONCLUSTERED INDEX [REFEPROC] ON [EPROC] ( [NOMBRE] ASC, [DESCRIP] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRUPOEMP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRUPOEMP]( [ID] [int] NOT NULL, [GF_DESC_EMPRESA] [char](25) NOT NULL, [ACCESO] [int] NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [USERP] [int] NULL, [GF_EMPRESA] [smallint] NOT NULL, [GF_CODIGO_FILIAL] [char](6) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_EMPRESAS] ON [GRUPOEMP] FOR DELETE AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_EMPRESAS'')) ) < 2 ) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESASV CURSOR FOR SELECT GF_EMPRESA FROM DELETED OPEN EMPRESASV FETCH NEXT FROM EMPRESASV INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN DELETE FROM EMPRESA WHERE EMPRESA=@EMPRESAS FETCH NEXT FROM EMPRESASV INTO @EMPRESAS END CLOSE EMPRESASV DEALLOCATE EMPRESASV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_EMPRESAS] ON [GRUPOEMP] FOR INSERT AS IF NOT EXISTS (SELECT EMPRESA FROM EMPRESA WHERE EMPRESA=(SELECT GF_EMPRESA FROM INSERTED)) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESASV CURSOR FOR SELECT GF_EMPRESA FROM INSERTED OPEN EMPRESASV FETCH NEXT FROM EMPRESASV INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN INSERT INTO EMPRESA (EMPRESA,DESC_EMPRESA) SELECT GF_EMPRESA,GF_DESC_EMPRESA FROM INSERTED FETCH NEXT FROM EMPRESASV INTO @EMPRESAS END CLOSE EMPRESASV DEALLOCATE EMPRESASV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_EMPRESAS] ON [GRUPOEMP] FOR UPDATE AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_EMPRESAS'')) ) < 2 ) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESASV CURSOR FOR SELECT GF_EMPRESA FROM INSERTED OPEN EMPRESASV FETCH NEXT FROM EMPRESASV INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN UPDATE EMPRESA SET EMPRESA=(SELECT GF_EMPRESA FROM INSERTED),DESC_EMPRESA=(SELECT GF_DESC_EMPRESA FROM INSERTED) WHERE EMPRESA=(SELECT GF_EMPRESA FROM DELETED) FETCH NEXT FROM EMPRESASV INTO @EMPRESAS END CLOSE EMPRESASV DEALLOCATE EMPRESASV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KCALDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KCALDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_TRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_TRA]( [ID] [int] NOT NULL, [GF_TRATAMENTO] [char](5) NOT NULL, [GF_FASE_PRODUTIV] [int] NULL, [GF_DESC_TRATAMEN] [varchar](40) NOT NULL, [GF_CUSTO_SERVICO] [float] NULL, [GF_CUSTO_MATERIA] [float] NULL, [GF_OBS] [varchar](254) NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_TRATAMENTO] ON [GF_MATERIAIS_TRA] FOR DELETE NOT FOR REPLICATION AS /*INDIVIDUAL BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_TRATAMENTO A, DELETED B WHERE A.TRATAMENTO=B.GF_TRATAMENTO) DELETE FROM MATERIAIS_TRATAMENTO WHERE TRATAMENTO=(SELECT GF_TRATAMENTO FROM DELETED) ELSE RETURN END */ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_TRATAMENTO'')))=1) RETURN ELSE BEGIN DECLARE @TRATAM_DEL CHAR(5) DECLARE CUR_TRAT_DEL CURSOR FOR SELECT GF_TRATAMENTO FROM DELETED OPEN CUR_TRAT_DEL FETCH NEXT FROM CUR_TRAT_DEL INTO @TRATAM_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_TRATAMENTO A WHERE A.TRATAMENTO=@TRATAM_DEL) DELETE FROM MATERIAIS_TRATAMENTO WHERE TRATAMENTO=(@TRATAM_DEL) FETCH NEXT FROM CUR_TRAT_DEL INTO @TRATAM_DEL END/*fetch_status*/ CLOSE CUR_TRAT_DEL DEALLOCATE CUR_TRAT_DEL END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_TRATAMENTO] ON [GF_MATERIAIS_TRA] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT TRATAMENTO FROM MATERIAIS_TRATAMENTO A, INSERTED B WHERE A.TRATAMENTO=B.GF_TRATAMENTO) BEGIN INSERT INTO MATERIAIS_TRATAMENTO (TRATAMENTO,FASE_PRODUTIVA,DESC_TRATAMENTO,CUSTO_SERVICO_PREVISTO, CUSTO_MATERIAL_TERCEIRO_PREVISTO,OBS) SELECT GF_TRATAMENTO, (SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED)), GF_DESC_TRATAMEN,GF_CUSTO_SERVICO,GF_CUSTO_MATERIA,GF_OBS FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT GF_TRATAMENTO FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_TRATAMENTO] ON [GF_MATERIAIS_TRA] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_TRATAMENTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_TRATAMENTO A, DELETED B WHERE A.TRATAMENTO=B.GF_TRATAMENTO) BEGIN UPDATE MATERIAIS_TRATAMENTO SET TRATAMENTO=(SELECT GF_TRATAMENTO FROM INSERTED), FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED)), DESC_TRATAMENTO=(SELECT GF_DESC_TRATAMEN FROM INSERTED), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED), OBS=(SELECT GF_OBS FROM INSERTED) WHERE TRATAMENTO=(SELECT GF_TRATAMENTO FROM DELETED) END END */ /*MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_TRATAMENTO'')) ) < 2 ) BEGIN DECLARE @TRATAM CHAR(5) DECLARE @TRATAM_IN CHAR(5) DECLARE CUR_TRATAM CURSOR FOR SELECT GF_TRATAMENTO FROM DELETED DECLARE CUR_TRATAM_IN CURSOR FOR SELECT GF_TRATAMENTO FROM INSERTED OPEN CUR_TRATAM --DELETED OPEN CUR_TRATAM_IN --INSERTED FETCH NEXT FROM CUR_TRATAM INTO @TRATAM FETCH NEXT FROM CUR_TRATAM_IN INTO @TRATAM_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT TRATAMENTO FROM MATERIAIS_TRATAMENTO A WHERE A.TRATAMENTO=@TRATAM) BEGIN UPDATE MATERIAIS_TRATAMENTO SET TRATAMENTO=(@TRATAM_IN), FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM GF_MATERIAIS_FAS WHERE ID=(SELECT GF_FASE_PRODUTIV FROM INSERTED WHERE GF_TRATAMENTO=@TRATAM_IN)), DESC_TRATAMENTO=(SELECT GF_DESC_TRATAMEN FROM INSERTED WHERE GF_TRATAMENTO=@TRATAM_IN), CUSTO_SERVICO_PREVISTO=(SELECT GF_CUSTO_SERVICO FROM INSERTED WHERE GF_TRATAMENTO=@TRATAM_IN), CUSTO_MATERIAL_TERCEIRO_PREVISTO=(SELECT GF_CUSTO_MATERIA FROM INSERTED WHERE GF_TRATAMENTO=@TRATAM_IN), OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_TRATAMENTO=@TRATAM_IN) WHERE TRATAMENTO=@TRATAM FETCH NEXT FROM CUR_TRATAM INTO @TRATAM FETCH NEXT FROM CUR_TRATAM_IN INTO @TRATAM_IN END/*IF EXISTS*/ END/*fetch_status*/ CLOSE CUR_TRATAM CLOSE CUR_TRATAM_IN DEALLOCATE CUR_TRATAM DEALLOCATE CUR_TRATAM_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABLES]( [ID] [smallint] NULL, [NTABLES] [char](10) NULL, [COM] [char](150) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RANGO_TALLA_PREC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RANGO_TALLA_PREC]( [ID] [int] NOT NULL, [IDVARCOLOR] [int] NOT NULL, [DE_TALLA_1] [int] NULL, [A_TALLA_1] [int] NULL, [DE_TALLA_2] [int] NULL, [A_TALLA_2] [int] NULL, [DE_TALLA_3] [int] NULL, [A_TALLA_3] [int] NULL, [DE_TALLA_4] [int] NULL, [A_TALLA_4] [int] NULL, [ORDENPM] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIU_RANGO_TALLA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------------------------------------------------------- /****** Objeto: trigger/desencanador dbo.GFIU_RANGO_TALLA fecha de la secuencia de comandos: Abr 24 2003 11:00 AM ******/ ----------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIU_RANGO_TALLA] ON [RANGO_TALLA_PREC] FOR INSERT, UPDATE,DELETE NOT FOR REPLICATION AS DECLARE @n_varpreco int, @n_detalla1 int, @n_detalla2 int, @s_cadena varchar(48), @n_detalla3 int, @n_detalla4 int, @n_atalla1 int, @n_atalla2 int, @n_atalla3 int, @n_atalla4 int, @n_numtallas int, @idtalla int, @s_ponteiro varchar(48), @n_sw int, @idset int, @s_producto char(12) SELECT @s_PONTEIRO = ''111111111111111111111111111111111111111111111111'' SELECT @n_detalla1=(select de_talla_1 from inserted) SELECT @n_detalla2=(select de_talla_2 from inserted) SELECT @n_detalla3=(select de_talla_3 from inserted) SELECT @n_detalla4=(select de_talla_4 from inserted) SELECT @n_atalla1 =(select a_talla_1 from inserted) SELECT @n_atalla2 =(select a_talla_2 from inserted) SELECT @n_atalla3=(select a_talla_3 from inserted) SELECT @n_atalla4 =(select a_talla_4 from inserted) SELECT @IDSET=(SELECT TSET FROM PRNDS WHERE CARPETA#=(SELECT IDPRENDA FROM VARCOLOR WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED))) SELECT @s_producto=(SELECT GF_PRODUTO FROM VARCOLOR WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED)) select @s_cadena='''' select @n_sw=0 BEGIN --- recorremos el set de tallas DECLARE TALLAS_DEL_SET CURSOR FOR SELECT ID FROM TSIM WHERE IDSET=@idset ORDER BY IDTALLA OPEN TALLAS_DEL_SET FETCH NEXT FROM TALLAS_DEL_SET INTO @idtalla WHILE @@FETCH_STATUS=0 BEGIN if @n_sw=0 begin set @n_sw=1 if @n_detalla1<>@idtalla begin -- global obliga a que el primer campo del intervalo sea igual a la primera talla del set update rango_talla_prec set de_talla_1=@idtalla where idvarcolor=(select idvarcolor from inserted) set @n_detalla1=@idtalla end end if @idtalla >= @n_detalla1 and @idtalla<=@n_atalla1 set @s_cadena=@s_cadena+''1'' if @idtalla >= @n_detalla2 and @idtalla<= @n_atalla2 set @s_cadena=@s_cadena+''2'' if @idtalla >= @n_detalla3 and @idtalla<= @n_atalla3 set @s_cadena=@s_cadena+''3'' if @idtalla >= @n_detalla4 and @idtalla<= @n_atalla4 set @s_cadena=@s_cadena+''4'' FETCH NEXT FROM TALLAS_DEL_SET INTO @idtalla END CLOSE TALLAS_DEL_SET DEALLOCATE TALLAS_DEL_SET -- Completar hasta 48 unos select @s_cadena=@s_cadena+@s_ponteiro END --- Actualizamos el campo según el valor del punteiro UPDATE PRODUTOS SET PONTEIRO_PRECO_TAM = @S_CADENA WHERE PRODUTO = @s_PRODUCTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_VINCULACION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_VINCULACION]( [compra_venta] [char](30) NOT NULL, [ubicacion] [char](20) NOT NULL, [forma_pago] [char](25) NOT NULL, [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [id_casuistica] [int] NOT NULL, [id_asiento] [int] NOT NULL, CONSTRAINT [PK_IC_VINCULACION] PRIMARY KEY CLUSTERED ( [compra_venta] ASC, [ubicacion] ASC, [forma_pago] ASC, [id_empresa] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRUPOEMPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRUPOEMPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_TRACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_TRACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABLESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABLESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_RECEBER_CAMPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_RECEBER_CAMPOS]( [BANCO] [char](4) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [VALOR_CAMPO] [varchar](10) NOT NULL, [DESCRICAO_CAMPO] [varchar](100) NULL, CONSTRAINT [XPKRETORNO_A_RECEBER_CAMPOS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [NOME_CAMPO] ASC, [VALOR_CAMPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_RECEBER_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_RECEBER_CAMPOS] on [RETORNO_A_RECEBER_CAMPOS] for INSERT as /* INSERT trigger on RETORNO_A_RECEBER_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_CAMPOS ON CHILD INSERT RESTRICT */ if update(BANCO) or update(NOME_CAMPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER_LAYOUT where inserted.BANCO = RETORNO_A_RECEBER_LAYOUT.BANCO and inserted.NOME_CAMPO = RETORNO_A_RECEBER_LAYOUT.NOME_CAMPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_RECEBER_CAMPOS #porque #RETORNO_A_RECEBER_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_RECEBER_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_RECEBER_CAMPOS] on [RETORNO_A_RECEBER_CAMPOS] for UPDATE as /* UPDATE trigger on RETORNO_A_RECEBER_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insNOME_CAMPO varchar(25), @insVALOR_CAMPO varchar(10), @delBANCO char(4), @delNOME_CAMPO varchar(25), @delVALOR_CAMPO varchar(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_CAMPOS ON CHILD UPDATE RESTRICT */ if update(BANCO) or update(NOME_CAMPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER_LAYOUT where inserted.BANCO = RETORNO_A_RECEBER_LAYOUT.BANCO and inserted.NOME_CAMPO = RETORNO_A_RECEBER_LAYOUT.NOME_CAMPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_RECEBER_CAMPOS #porque #RETORNO_A_RECEBER_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_COL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_COL]( [ID] [int] NOT NULL, [IDETEJI] [int] NOT NULL, [GF_COR_MATERIAL] [int] NOT NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPERCORTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPERCORTE]( [ID] [int] NOT NULL, [ACCESO] [smallint] NULL, [KPRNDS] [smallint] NULL, [KTOOL] [smallint] NULL, [NOMBRE] [char](32) NULL, [TIEMPO] [float] NULL, [KCATEG] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RANGO_TALLA_PRECCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RANGO_TALLA_PRECCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBING_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBING_DIC]( [IDCLASS] [int] NULL, [ESP] [varchar](32) NOT NULL, [ITA] [varchar](32) NOT NULL, [ENG] [varchar](32) NOT NULL, [CLI] [varchar](32) NOT NULL, [FRA] [varchar](32) NOT NULL, [DEU] [varchar](32) NOT NULL, [POR] [varchar](32) NOT NULL, [PER] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISATRIBING_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISATRIBING_DIC fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISATRIBING_DIC] ON [SISATRIBING_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @TITLE CHAR(24) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @TITLE=(SELECT ESP FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @TITLE=(SELECT ITA FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @TITLE=(SELECT ENG FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @TITLE=(SELECT FRA FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @TITLE=(SELECT DEU FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @TITLE=(SELECT DEU FROM INSERTED) UPDATE SISATRIBING_DIC SET CLI=@TITLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBING SET TITLE=@TITLE WHERE TITLE=(SELECT DEU FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CABINV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CABINV]( [INFORME] [char](25) NULL, [TIPO] [char](6) NULL, [DIAINF] [char](8) NULL, [DIAOPE] [char](8) NULL, [EANECI] [char](17) NULL, [EANPROV] [char](20) NULL, [EANCENTRO] [char](17) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRUPOEMPIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRUPOEMPIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCCORTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCCORTE]( [ID] [int] NOT NULL, [ACCESO] [smallint] NULL, [NOMBRE] [char](24) NULL, [DESCRIP] [char](60) NULL, [TEMPO] [float] NULL, [COSTE] [float] NULL, [ESTADO] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [COSTEURO] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TBSI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TBSI]( [CARPETA#] [int] NULL, [TABLA] [char](16) NULL, [TITULO] [char](64) NULL, [TIPO] [char](16) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_COLCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_COLCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCCORTE_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCCORTE_ING]( [ID] [int] NOT NULL, [IDINSTANCIA] [int] NULL, [IDCOMPINGR] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISBUNIT_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISBUNIT_DIC]( [ESP] [varchar](24) NOT NULL, [ITA] [varchar](24) NOT NULL, [ENG] [varchar](24) NOT NULL, [CLI] [varchar](24) NOT NULL, [FRA] [varchar](24) NOT NULL, [DEU] [varchar](24) NOT NULL, [POR] [varchar](24) NOT NULL, [PER] [varchar](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISBUNIT_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISBUNIT_DIC fecha de la secuencia de comandos: Ago 1 2000 12:37PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISBUNIT_DIC] ON [SISBUNIT_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @NOMBRE CHAR(24) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @NOMBRE=(SELECT ESP FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @NOMBRE=(SELECT ITA FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @NOMBRE=(SELECT ENG FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @NOMBRE=(SELECT FRA FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @NOMBRE=(SELECT DEU FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @NOMBRE=(SELECT DEU FROM INSERTED) UPDATE SISBUNIT_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISBUNIT SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT DEU FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CANTINV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CANTINV]( [INFORME] [char](25) NULL, [LINEA] [char](6) NULL, [CAMPO3] [char](6) NULL, [OPERACION] [char](3) NULL, [CANTIDAD] [char](15) NULL, [CENTRO] [char](32) NULL, [DPTO] [char](3) NULL, [VENDEDOR] [char](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRUPOEMPIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRUPOEMPIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_RECEBER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_RECEBER]( [BANCO] [char](4) NOT NULL, [NUMERO_RETORNO] [char](8) NOT NULL, [NOME_ARQUIVO] [varchar](40) NULL, [SEQUENCIAL_RETORNO] [char](6) NULL, [DATA_CAPTACAO] [datetime] NULL, [LANCAMENTO_BAIXA] [char](8) NULL, [OBS] [text] NULL, CONSTRAINT [XPKRETORNO_A_RECEBER] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [NUMERO_RETORNO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TBSICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TBSICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_EMPRESAS]( [id_empresa] [int] NOT NULL, [nombre_empresa] [varchar](25) NOT NULL, [descripcion_empresa] [varchar](100) NULL, [exporta_a] [int] NOT NULL CONSTRAINT [DF_IC_EMPRESAS_exporta_a] DEFAULT (2), [path_exporta] [nvarchar](200) NULL, CONSTRAINT [PK_IC_EMPRESAS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_MDPT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_MDPT]( [ID] [int] NULL, [IDCOMPVARCOLOR] [int] NOT NULL, [IDTALLA] [int] NOT NULL, [MEDIDA] [float] NULL, [IDVARCOLOR] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR_MDPT]') AND name = N'XPK') CREATE NONCLUSTERED INDEX [XPK] ON [VARCOLOR_MDPT] ( [IDVARCOLOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[HILATURAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [HILATURAS]( [ID] [int] NOT NULL, [ID_TEJIDO] [int] NOT NULL, [HILATURA] [int] NULL, [COMPOSICION] [float] NULL, [MERMA] [float] NULL, [PARTIDA] [varchar](16) NULL, [TIPO] [smallint] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_ING]( [ID] [int] NOT NULL, [IDINSTANCIA] [int] NULL, [IDCOMPINGR] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEMPORADA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEMPORADA]( [ID] [int] NULL, [TEMPORADA] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[__transacoes_objeto]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [__transacoes_objeto]( [COD_TRANSACAO] [char](23) NOT NULL, [OBJETO] [varchar](250) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [CRIACAO] [datetime] NOT NULL, [PROPRIEDADE_USUARIO] [text] NULL, [OBJETO_CLASSE] [varchar](40) NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROC_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROC_ING]( [ID] [int] NULL, [IDINSTANCIA] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL, [IDCOMPINGR] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBUTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBUTOS]( [ID] [smallint] NULL, [IDCLASE] [smallint] NULL, [NOMBRE] [char](16) NULL, [TIPO] [smallint] NULL, [LONGITUD] [smallint] NULL, [ORDINAL] [smallint] NULL, [TITULO] [char](24) NULL, [EDIT] [smallint] NULL, [INDVAL] [smallint] NULL, [ACCES] [smallint] NULL, [DBCOLLENGTH] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_TITULO_SISATRIBUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_TITULO_SISATRIBUTOS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_TITULO_SISATRIBUTOS] ON [SISATRIBUTOS] FOR DELETE AS --RETURN BEGIN DECLARE @TITULO VARCHAR(24), @IDCLASE INT DECLARE CLI_IDCLASE CURSOR FOR SELECT TITULO,IDCLASE FROM DELETED OPEN CLI_IDCLASE FETCH NEXT FROM CLI_IDCLASE INTO @TITULO,@IDCLASE WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM SISATRIBUTOS_DIC WHERE CLI=@TITULO AND IDCLASE=@IDCLASE FETCH NEXT FROM CLI_IDCLASE INTO @TITULO,@IDCLASE END CLOSE CLI_IDCLASE DEALLOCATE CLI_IDCLASE END RETURN --SISDETALLES /* ACTUALIZAR EL NOMBRE DE UN DETALLE EN SISCLASES_DIC */ --SP_HELPTEXT U_NOMDETALLE_SISDETALLES --DROP TRIGGER U_NOMDETALLE_SISDETALLES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_TITULO_SISATRIBUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_TITULO_SISATRIBUTOS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_TITULO_SISATRIBUTOS] ON [SISATRIBUTOS] FOR INSERT AS --RETURN BEGIN DECLARE @TITULO VARCHAR(24), @IDCLASE INT DECLARE CLI_IDCLASE CURSOR FOR SELECT TITULO,IDCLASE FROM INSERTED OPEN CLI_IDCLASE FETCH NEXT FROM CLI_IDCLASE INTO @TITULO,@IDCLASE WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO SISATRIBUTOS_DIC (IDCLASE,ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT IDCLASE,TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,NULL FROM SISATRIBUTOS WHERE TITULO=@TITULO AND IDCLASE=@IDCLASE FETCH NEXT FROM CLI_IDCLASE INTO @TITULO,@IDCLASE END CLOSE CLI_IDCLASE DEALLOCATE CLI_IDCLASE END RETURN /* BORRAR EL NOMBRE DE UN ATRIBUTO DE CLASE EN SISATRIBUTOS_DIC */ --SP_HELPTEXT D_TITULO_SISATRIBUTOS --DROP TRIGGER D_TITULO_SISATRIBUTOS ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_TITULO_SISATRIBUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_TITULO_SISATRIBUTOS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_TITULO_SISATRIBUTOS] ON [SISATRIBUTOS] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISATRIBUTOS_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_TITULO_SISATRIBUTOS'')) ) < 2 ) IF UPDATE(TITULO) BEGIN DECLARE @CLII VARCHAR(24), @CLID VARCHAR(24), @IDCLASE INT DECLARE CLI_IDCLASE CURSOR FOR SELECT A.TITULO,A.IDCLASE,B.TITULO FROM INSERTED A, DELETED B OPEN CLI_IDCLASE FETCH NEXT FROM CLI_IDCLASE INTO @CLII,@IDCLASE,@CLID WHILE @@FETCH_STATUS = 0 BEGIN UPDATE SISATRIBUTOS_DIC SET CLI=@CLII WHERE CLI=@CLID AND IDCLASE=@IDCLASE IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISATRIBUTOS_DIC SET PER=@CLII WHERE CLI=@CLII AND IDCLASE=@IDCLASE END FETCH NEXT FROM CLI_IDCLASE INTO @CLII,@IDCLASE,@CLID END CLOSE CLI_IDCLASE DEALLOCATE CLI_IDCLASE END RETURN /* INSERT EL NOMBRE DE UN NUEVO ATRIBUTO DE CLASE EN SISATRIBUTOS_DIC */ --SP_HELPTEXT I_TITULO_SISATRIBUTOS --DROP TRIGGER I_TITULO_SISATRIBUTOS ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[HILATURASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [HILATURASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MOEDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MOEDAS]( [ID] [int] NOT NULL, [GF_MOEDA] [char](6) NOT NULL, [GF_INDICA_PADRAO] [char](1) NULL, [GF_TIMESTAMP] [timestamp] NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [userp] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 16:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MOEDAS] ON [GF_MOEDAS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @MONEDA CHAR(6) DECLARE MONEDAV CURSOR FOR SELECT GF_MOEDA FROM DELETED OPEN MONEDAV FETCH NEXT FROM MONEDAV INTO @MONEDA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT MOEDA FROM MOEDAS WHERE MOEDA=@MONEDA) DELETE FROM MOEDAS WHERE MOEDA=@MONEDA ELSE BEGIN FETCH NEXT FROM MONEDAV INTO @MONEDA END FETCH NEXT FROM MONEDAV INTO @MONEDA END CLOSE MONEDAV DEALLOCATE MONEDAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 13:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MOEDAS] ON [GF_MOEDAS] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @MONEDA CHAR(6) DECLARE MONEDAV CURSOR FOR SELECT GF_MOEDA FROM INSERTED OPEN MONEDAV FETCH NEXT FROM MONEDAV INTO @MONEDA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT MOEDA FROM MOEDAS WHERE MOEDA=@MONEDA) BEGIN INSERT INTO MOEDAS (MOEDA,INDICA_PADRAO,DATA_PARA_TRANSFERENCIA) SELECT GF_MOEDA,GF_INDICA_PADRAO,GF_DATA_PARA_TRANSFERENCIA FROM GF_MOEDAS WHERE GF_MOEDA=@MONEDA END ELSE BEGIN FETCH NEXT FROM MONEDAV INTO @MONEDA END FETCH NEXT FROM MONEDAV INTO @MONEDA END CLOSE MONEDAV DEALLOCATE MONEDAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 15:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MOEDAS] ON [GF_MOEDAS] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS_CONVER'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS_CONVER'')) ) = 1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS'')) ) < 2 ) BEGIN DECLARE @MONEDA CHAR(6), @MONEDAD CHAR(6) DECLARE MONEDADV CURSOR FOR SELECT GF_MOEDA FROM DELETED DECLARE MONEDAV CURSOR FOR SELECT GF_MOEDA FROM INSERTED OPEN MONEDADV OPEN MONEDAV FETCH NEXT FROM MONEDADV INTO @MONEDAD FETCH NEXT FROM MONEDAV INTO @MONEDA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT MOEDA FROM MOEDAS WHERE MOEDA=@MONEDAD) BEGIN UPDATE MOEDAS SET MOEDA=@MONEDA, INDICA_PADRAO=(SELECT GF_INDICA_PADRAO FROM INSERTED WHERE GF_MOEDA=@MONEDA), DATA_PARA_TRANSFERENCIA=(SELECT GF_DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_MOEDA=@MONEDA) WHERE MOEDA=@MONEDAD UPDATE MOEDAS_CONVERSAO SET MOEDA=@MONEDA WHERE MOEDA=@MONEDAD END ELSE BEGIN FETCH NEXT FROM MONEDADV INTO @MONEDAD FETCH NEXT FROM MONEDAV INTO @MONEDA END FETCH NEXT FROM MONEDADV INTO @MONEDAD FETCH NEXT FROM MONEDAV INTO @MONEDA END CLOSE MONEDADV DEALLOCATE MONEDADV CLOSE MONEDAV DEALLOCATE MONEDAV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEMPORADACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEMPORADACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISMACRO_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISMACRO_DIC]( [IDCLASS] [int] NOT NULL, [ESP] [varchar](80) NOT NULL, [ITA] [varchar](80) NOT NULL, [ENG] [varchar](80) NOT NULL, [CLI] [varchar](80) NOT NULL, [FRA] [varchar](80) NOT NULL, [DEU] [varchar](80) NOT NULL, [POR] [varchar](80) NOT NULL, [PER] [varchar](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISMACRO_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISMACRO_DIC fecha de la secuencia de comandos: Ago 1 2000 12:37PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISMACRO_DIC] ON [SISMACRO_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @TITLE CHAR(24) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @TITLE=(SELECT ESP FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @TITLE=(SELECT ITA FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @TITLE=(SELECT ENG FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @TITLE=(SELECT FRA FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @TITLE=(SELECT DEU FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @TITLE=(SELECT DEU FROM INSERTED) UPDATE SISMACRO_DIC SET CLI=@TITLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISMACRO SET TITLE=@TITLE WHERE TITLE=(SELECT DEU FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MED]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MED]( [ID] [int] NOT NULL, [IDETEJI] [int] NOT NULL, [GF_L] [char](10) NOT NULL, [ORDENPM] [int] NOT NULL, [GF_DESCRIPCION] [varchar](40) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBUTOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBUTOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MOVIECI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MOVIECI]( [NOME_CLIFOR] [nvarchar](25) NULL, [REF_ANTERIOR] [nvarchar](7) NULL, [DIAINFORME] [int] NULL, [OPERACION] [int] NULL, [PRODUTO] [nvarchar](12) NULL, [COR_PRODUTO] [nvarchar](10) NULL, [DESC_PRODUTO] [nvarchar](40) NULL, [DESC_COR_PRODUTO] [nvarchar](40) NULL, [38] [float] NULL, [40] [float] NULL, [42] [float] NULL, [44] [float] NULL, [46] [float] NULL, [48] [float] NULL, [TOTAL] [float] NULL, [OPER] [nvarchar](255) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[HILO_COSER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [HILO_COSER]( [ID] [int] NOT NULL, [ID_FICHA_CONF] [int] NOT NULL, [COLOR_CARTA] [int] NOT NULL, [COLOR_MODELO] [varchar](40) NOT NULL, [COLOR_HILO] [int] NOT NULL, [PROVEEDOR] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK_CALCULADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_STOCK_CALCULADO : -- CREATE VIEW [RDX_V_STOCK_CALCULADO] AS SELECT CENTRO, CODIGO, PRODUCTO, TIPO_PRODUCTO, GRUPO_PRODUCTO, COLECCION, COLOR, E38, E40, E42, E44, E46, E48, TE = ISNULL(E38, 0) + ISNULL(E40, 0) + ISNULL(E42, 0) + ISNULL(E44, 0) + ISNULL(E46, 0) + ISNULL(E48, 0), S38, S40, S42, S44, S46, S48, TS = ISNULL(S38, 0) + ISNULL(S40, 0) + ISNULL(S42, 0) + ISNULL(S44, 0) + ISNULL(S46, 0) + ISNULL(S48, 0), K38 = ISNULL(E38, 0) + ISNULL(S38, 0), K40 = ISNULL(E40, 0) + ISNULL(S40, 0), K42 = ISNULL(E42, 0) + ISNULL(S42, 0), K44 = ISNULL(E44, 0) + ISNULL(S44, 0), K46 = ISNULL(E46, 0) + ISNULL(S46, 0), K48 = ISNULL(E48, 0) + ISNULL(S48, 0), KT = ISNULL(E38, 0) + ISNULL(S38, 0) + ISNULL(E40, 0) + ISNULL(S40, 0) + ISNULL(E42, 0) + ISNULL(S42, 0) + ISNULL(E44, 0) + ISNULL(S44, 0) + ISNULL(E46, 0) + ISNULL(S46, 0) + ISNULL(E48, 0) + ISNULL(S48, 0) FROM RDX_V_STOCK ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TSET]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TSET]( [ID] [int] NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [SECTOR] [smallint] NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [COMENTARIO] [char](80) NULL, [ACCESO] [smallint] NULL, [USERP] [smallint] NULL, [EMP] [int] NOT NULL, [GF_QUEBRA_1] [char](1) NULL, [GF_QUEBRA_2] [char](1) NULL, [GF_QUEBRA_3] [char](1) NULL, [GF_QUEBRA_4] [char](1) NULL, [GF_QUEBRA_5] [char](1) NULL, [TRANSFER] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_TSET_TRANSFER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_TSET_TRANSFER fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_TSET_TRANSFER] ON [TSET] FOR INSERT,UPDATE NOT FOR REPLICATION AS IF (SELECT TRANSFER FROM INSERTED) IS NULL OR (SELECT TRANSFER FROM INSERTED)=0 BEGIN UPDATE TSET SET TRANSFER=10 WHERE ID=(SELECT ID FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_SET_TALLAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_SET_TALLAS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_SET_TALLAS] ON [TSET] FOR DELETE NOT FOR REPLICATION AS BEGIN DELETE dbo.PRODUTOS_TAMANHOS WHERE GRADE=(SELECT NOMBRE FROM DELETED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_SET_TALLAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_SET_TALLAS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_SET_TALLAS] ON [TSET] FOR UPDATE NOT FOR REPLICATION AS --RETURN DECLARE @LISTA VARCHAR(64), @NOMBRE CHAR(3), @NTALLA INT, @LISTA2 VARCHAR(64), @TALLAS INT BEGIN IF NOT EXISTS (SELECT GRADE FROM PRODUTOS_TAMANHOS WHERE GRADE=(SELECT NOMBRE FROM INSERTED)) BEGIN SET @LISTA2='''' SET @TALLAS=0 DECLARE LISTA CURSOR FOR SELECT NOMBRE,NTALLA FROM TSIM WHERE (NOMBRE IS NULL OR NOMBRE NOT LIKE '' %'') AND IDSET=(SELECT ID FROM INSERTED) AND NOMBRE IN (SELECT NOMBRE FROM TSIM WHERE (NOMBRE IS NOT NULL OR NOMBRE NOT LIKE '' %'') AND IDSET=(SELECT ID FROM INSERTED)) ORDER BY NTALLA,NOMBRE OPEN LISTA FETCH NEXT FROM LISTA INTO @NOMBRE,@NTALLA WHILE @@FETCH_STATUS=0 BEGIN SET @NOMBRE=SUBSTRING(@NOMBRE,1,3) SET @TALLAS=@TALLAS+1 SET @LISTA=@NOMBRE+'','' SET @LISTA2=@LISTA2+@LISTA FETCH NEXT FROM LISTA INTO @NOMBRE,@NTALLA END CLOSE LISTA DEALLOCATE LISTA PRINT '''' INSERT INTO PRODUTOS_TAMANHOS ( GRADE,NUMERO_TAMANHOS,NUMERO_QUEBRAS, DATA_PARA_TRANSFERENCIA,TAMANHO_1,TAMANHO_2,TAMANHO_3,TAMANHO_4,TAMANHO_5,TAMANHO_6, TAMANHO_7,TAMANHO_8,TAMANHO_9,TAMANHO_10,TAMANHO_11,TAMANHO_12,TAMANHO_13,TAMANHO_14,TAMANHO_15,TAMANHO_16)--, --TAMANHO_17,TAMANHO_18,TAMANHO_19,TAMANHO_20,TAMANHO_21,TAMANHO_22,TAMANHO_23,TAMANHO_24) SELECT TM.NOMBRE,NUMERO_TAMANHOS=(SELECT @TALLAS),1,TM.FECHAC, TAMANHO_1=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,1,3))!='' '' THEN SUBSTRING(@LISTA2,1,3) ELSE (SELECT '' '') END), TAMANHO_2=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,5,3))!='' '' THEN SUBSTRING(@LISTA2,5,3) ELSE (SELECT '' '') END), TAMANHO_3=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,9,3))!='' '' THEN SUBSTRING(@LISTA2,9,3) ELSE (SELECT '' '') END), TAMANHO_4=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,13,3))!='' '' THEN SUBSTRING(@LISTA2,13,3) ELSE (SELECT '' '') END), TAMANHO_5=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,17,3))!='' '' THEN SUBSTRING(@LISTA2,17,3) ELSE (SELECT '' '') END), TAMANHO_6=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,21,3))!='' '' THEN SUBSTRING(@LISTA2,21,3) ELSE (SELECT '' '') END), TAMANHO_7=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,25,3))!='' '' THEN SUBSTRING(@LISTA2,25,3) ELSE (SELECT '' '') END), TAMANHO_8=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,29,3))!='' '' THEN SUBSTRING(@LISTA2,29,3) ELSE (SELECT '' '') END), TAMANHO_9=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,33,3))!='' '' THEN SUBSTRING(@LISTA2,33,3) ELSE (SELECT '' '') END), TAMANHO_10=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,37,3))!='' '' THEN SUBSTRING(@LISTA2,37,3) ELSE (SELECT '' '') END), TAMANHO_11=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,41,3))!='' '' THEN SUBSTRING(@LISTA2,41,3) ELSE (SELECT '' '') END), TAMANHO_12=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,45,3))!='' '' THEN SUBSTRING(@LISTA2,45,3) ELSE (SELECT '' '') END), TAMANHO_13=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,49,3))!='' '' THEN SUBSTRING(@LISTA2,49,3) ELSE (SELECT '' '') END), TAMANHO_14=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,53,3))!='' '' THEN SUBSTRING(@LISTA2,53,3) ELSE (SELECT '' '') END), TAMANHO_15=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,57,3))!='' '' THEN SUBSTRING(@LISTA2,57,3) ELSE (SELECT '' '') END), TAMANHO_16=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,61,3) ELSE (SELECT '' '') END) --, --TAMANHO_17=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,65,3) ELSE (SELECT '' '') END), --TAMANHO_18=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,69,3) ELSE (SELECT '' '') END), --TAMANHO_19=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,73,3) ELSE (SELECT '' '') END), --TAMANHO_20=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,77,3) ELSE (SELECT '' '') END), --TAMANHO_21=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,81,3) ELSE (SELECT '' '') END), --TAMANHO_22=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,85,3) ELSE (SELECT '' '') END), --TAMANHO_23=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,89,3) ELSE (SELECT '' '') END), --TAMANHO_24=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,93,3) ELSE (SELECT '' '') END) FROM INSERTED TM END ELSE PRINT '''' SET @LISTA2='''' SET @TALLAS=0 DECLARE LISTA CURSOR FOR SELECT NOMBRE,NTALLA FROM TSIM WHERE (NOMBRE IS NULL OR NOMBRE NOT LIKE '' %'') AND IDSET=(SELECT ID FROM INSERTED) AND NOMBRE IN (SELECT NOMBRE FROM TSIM WHERE (NOMBRE IS NOT NULL OR NOMBRE NOT LIKE '' %'') AND IDSET=(SELECT ID FROM INSERTED)) ORDER BY NTALLA,NOMBRE OPEN LISTA FETCH NEXT FROM LISTA INTO @NOMBRE,@NTALLA WHILE @@FETCH_STATUS=0 BEGIN SET @NOMBRE=SUBSTRING(@NOMBRE,1,3) SET @TALLAS=@TALLAS+1 SET @LISTA=@NOMBRE+'','' SET @LISTA2=@LISTA2+@LISTA FETCH NEXT FROM LISTA INTO @NOMBRE,@NTALLA END CLOSE LISTA DEALLOCATE LISTA UPDATE PRODUTOS_TAMANHOS SET NUMERO_TAMANHOS=(SELECT @TALLAS), TAMANHO_1=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,1,3))!='' '' THEN SUBSTRING(@LISTA2,1,3) ELSE (SELECT '' '') END), TAMANHO_2=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,5,3))!='' '' THEN SUBSTRING(@LISTA2,5,3) ELSE (SELECT '' '') END), TAMANHO_3=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,9,3))!='' '' THEN SUBSTRING(@LISTA2,9,3) ELSE (SELECT '' '') END), TAMANHO_4=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,13,3))!='' '' THEN SUBSTRING(@LISTA2,13,3) ELSE (SELECT '' '') END), TAMANHO_5=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,17,3))!='' '' THEN SUBSTRING(@LISTA2,17,3) ELSE (SELECT '' '') END), TAMANHO_6=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,21,3))!='' '' THEN SUBSTRING(@LISTA2,21,3) ELSE (SELECT '' '') END), TAMANHO_7=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,25,3))!='' '' THEN SUBSTRING(@LISTA2,25,3) ELSE (SELECT '' '') END), TAMANHO_8=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,29,3))!='' '' THEN SUBSTRING(@LISTA2,29,3) ELSE (SELECT '' '') END), TAMANHO_9=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,33,3))!='' '' THEN SUBSTRING(@LISTA2,33,3) ELSE (SELECT '' '') END), TAMANHO_10=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,37,3))!='' '' THEN SUBSTRING(@LISTA2,37,3) ELSE (SELECT '' '') END), TAMANHO_11=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,41,3))!='' '' THEN SUBSTRING(@LISTA2,41,3) ELSE (SELECT '' '') END), TAMANHO_12=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,45,3))!='' '' THEN SUBSTRING(@LISTA2,45,3) ELSE (SELECT '' '') END), TAMANHO_13=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,49,3))!='' '' THEN SUBSTRING(@LISTA2,49,3) ELSE (SELECT '' '') END), TAMANHO_14=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,53,3))!='' '' THEN SUBSTRING(@LISTA2,53,3) ELSE (SELECT '' '') END), TAMANHO_15=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,57,3))!='' '' THEN SUBSTRING(@LISTA2,57,3) ELSE (SELECT '' '') END), TAMANHO_16=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,61,3) ELSE (SELECT '' '') END)--, --TAMANHO_17=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,65,3) ELSE (SELECT '' '') END), --TAMANHO_18=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,69,3) ELSE (SELECT '' '') END), --TAMANHO_19=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,73,3) ELSE (SELECT '' '') END), --TAMANHO_20=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,77,3) ELSE (SELECT '' '') END), --TAMANHO_21=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,81,3) ELSE (SELECT '' '') END), --TAMANHO_22=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,85,3) ELSE (SELECT '' '') END), --TAMANHO_23=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,89,3) ELSE (SELECT '' '') END), --TAMANHO_24=(SELECT CASE WHEN (SELECT SUBSTRING(@LISTA2,61,3))!='' '' THEN SUBSTRING(@LISTA2,93,3) ELSE (SELECT '' '') END) WHERE GRADE=(SELECT NOMBRE FROM INSERTED) RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TSET_PRNDS_MODS_TMEDS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.TSET_PRNDS_MODS_TMEDS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [TSET_PRNDS_MODS_TMEDS] ON [TSET] FOR DELETE AS BEGIN DECLARE @ERRNO INT, @ERRMSG VARCHAR(255) IF EXISTS (SELECT * FROM DELETED,PRNDS,MODS,TMEDS WHERE PRNDS.TSET=DELETED.ID OR MODS.TSET=DELETED.ID OR TMEDS.TSET=DELETED.ID) BEGIN SELECT @ERRNO=30002, @ERRMSG=''No se puede eliminar un Set de Tallas que esté usandose en la Serie o Tabla de Medidas'' GOTO ERROR END RETURN ERROR: RAISERROR @ERRNO @ERRMSG END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI]( [ID] [int] NOT NULL, [GF_MATERIAL] [varchar](11) NULL, [GF_COMPRIMENTO] [float] NULL, [GF_DESC_COMPOSIC] [smallint] NULL, [GF_LOTE_ECONOMIC] [float] NULL, [PROVEDR] [float] NULL, [REFPROV] [char](32) NULL, [GF_COMPRA_MININA] [float] NULL, [GF_OBS] [varchar](254) NULL, [GF_COR_MATERIAL] [smallint] NULL, [GROSOR] [float] NULL, [PORCPERD] [float] NULL, [GF_DESC_MATERIAL] [varchar](40) NOT NULL, [GF_GRUPO] [int] NOT NULL, [GF_SUBGRUPO] [int] NOT NULL, [GF_COLECAO] [int] NOT NULL, [GF_TIPO] [int] NOT NULL, [GF_FABRICANTE] [int] NOT NULL, [GF_DIAS_ENTREGA] [int] NULL, [GF_CONDICAO_PGTO] [int] NOT NULL, [GF_REF_FABRICANT] [varchar](20) NULL, [GF_UNID_STOQUE] [int] NOT NULL, [GF_UNID_FICHA_TE] [int] NULL, [GF_FATOR_CONVERS] [float] NULL, [GF_CTRL_UNID_AUX] [char](1) NULL, [GF_UNID_AUXILIAR] [int] NOT NULL, [GF_VARIA_MATERIA] [char](1) NOT NULL, [GF_L] [varchar](10) NULL, [GF_CODICO_MATERI] [char](11) NULL, [GF_DES_COR_MATER] [varchar](25) NOT NULL, [GF_REFER_FABRICA] [varchar](15) NULL, [GF_CUSTO_REPOSIC] [float] NOT NULL, [GF_CUSTO_A_VISTA] [float] NOT NULL, [GF_INICIO_VENDAS] [datetime] NULL, [GF_FIM_VENDAS] [datetime] NULL, [GF_CODIGO_EXPORT] [varchar](18) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [GF_REVENDA] [char](1) NOT NULL, [GF_TEC_SIMPLES_T] [smallint] NULL, [GF_TEC_LISO_ESTA] [smallint] NULL, [GF_TEC_TORNASOL] [smallint] NULL, [GF_CLASSIF_FISCA] [int] NOT NULL, [GF_TRIBUT_ORIGEM] [int] NOT NULL, [GF_TRIBUT_ICMS] [int] NOT NULL, [GF_CONTA_CONTABI] [int] NULL, [GF_DESC_NF] [varchar](40) NULL, [GF_CODIGO_ETIQUE] [varchar](11) NULL, [GF_FASE_PRODUCAO] [int] NOT NULL, [GF_SETOR_PRODUCA] [int] NOT NULL, [ACCESO] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [GALGA] [int] NULL, [ACABADO] [int] NULL, [GF_GRAMATURA] [float] NULL, [RENDIMIENTO] [float] NULL, [TINTE] [int] NULL, [ANCHO_MAQUINA] [int] NULL, [USERP] [int] NULL, [GF_SEMI_ACABADO] [char](1) NULL, [GF_CTRL_PARTIDAS] [char](1) NOT NULL, [GF_CTRL_PECAS] [char](1) NULL, [GF_MATERIAL_INDI] [char](1) NOT NULL, [GF_RESERVA_MATER] [char](1) NOT NULL, [GF_ABATER_RESERV] [char](1) NOT NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_DATA_REPOSICA] [datetime] NULL, [GF_ICMS_CUSTOS] [float] NULL, [GF_TAXA_JUROS_CO] [float] NULL, [GF_VARIA_CUSTO_C] [char](1) NOT NULL, [GF_VARIA_PRECO_C] [char](1) NOT NULL, [EMP] [int] NULL, [TIPO] [int] NULL, [GF_PROCESSO_FABR] [varchar](25) NULL, [GF_TEC_ENC_COR_X] [float] NULL, [GF_TEC_ENC_COR_Y] [float] NULL, [GF_TEC_ENC_ACA_X] [float] NULL, [GF_TEC_ENC_ACA_Y] [float] NULL, [GF_TEC_ENC_LAV_X] [float] NULL, [GF_TEC_ENC_LAV_Y] [float] NULL, [GF_FIO_TORSAO] [int] NULL, [GF_FIO_CABOS] [int] NULL, [GF_FIO_FILAMENTO] [int] NULL, [GF_FIO_ESPESSURA] [int] NULL, [GF_TEC_COM_FALHA] [char](1) NULL, [MARCA] [int] NULL, [GF_LOCALIZACAO] [int] NULL, [GF_CTRL_PECAS_PA] [char](1) NOT NULL, [TRANSFER] [int] NULL, [GF_CODIGO_MATERI] [char](11) NULL, [MERMA] [float] NULL, [COLOR_REFERENCIA] [varchar](36) NULL, [NOMBRE] [varchar](11) NULL, [GF_RESTRICAO_LAV] [int] NULL, [GF_REFERENCIA_BA] [int] NULL, [MATERIA_ECOEMBES] [int] NULL, [PESO_ECOEMBES] [float] NULL, [UVC_COMERC_INDUS] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISPROP_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISPROP_DIC]( [ESP] [varchar](32) NOT NULL, [ITA] [varchar](32) NOT NULL, [ENG] [varchar](32) NOT NULL, [CLI] [varchar](32) NOT NULL, [FRA] [varchar](32) NOT NULL, [DEU] [varchar](32) NOT NULL, [POR] [varchar](32) NOT NULL, [PER] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISPROP_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISPROP_DIC fecha de la secuencia de comandos: Ago 1 2000 12:37PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISPROP_DIC] ON [SISPROP_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @NOMBRE CHAR(32) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @NOMBRE=(SELECT ESP FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @NOMBRE=(SELECT ITA FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @NOMBRE=(SELECT ENG FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @NOMBRE=(SELECT FRA FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @NOMBRE=(SELECT DEU FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @NOMBRE=(SELECT DEU FROM INSERTED) UPDATE SISPROP_DIC SET CLI=@NOMBRE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISPROP SET NOMBRE=@NOMBRE WHERE NOMBRE=(SELECT DEU FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[HILO_COSERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [HILO_COSERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TSETCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TSETCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPER_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPER_ING]( [ID] [int] NULL, [IDINSTANCIA] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL, [IDCOMPINGR] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MED_COL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MED_COL]( [ID] [int] NOT NULL, [GF_MATERIAL] [int] NOT NULL, [VERSION] [smallint] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[K2PRNDS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [K2PRNDS]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IDIOMA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IDIOMA]( [ID] [int] NOT NULL, [LAN] [char](3) NOT NULL, [PER] [char](1) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGF_IDIOMA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencadenador dbo.CGF_IDIOMA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGF_IDIOMA] ON [IDIOMA] FOR INSERT,UPDATE AS -- Trigger que cambia el idioma de los atributos. -- R.Rosas verano 2000 BEGIN IF (SELECT ID FROM INSERTED)>1 BEGIN GOTO ERROR1 END ELSE IF NOT EXISTS (SELECT LAN FROM INSERTED WHERE LAN IN (''ESP'',''ITA'',''ENG'',''FRA'',''DEU'',''POR'')) BEGIN GOTO ERROR2 END ELSE DECLARE @sqlcommand char(200), @LAN CHAR(3), @PER CHAR(1) SET @LAN=(SELECT LAN FROM INSERTED) SET @PER=(SELECT PER FROM INSERTED) select @sqlcommand=''UPDATE SISCLASES SET NOMCLASE=''+@LAN+'' FROM SISCLASES_DIC WHERE CLI=NOMCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISCLASES SET TITINGCLAS=''+@LAN+''_CLAS FROM SISCLASES_DIC WHERE CLI=NOMCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISCLASES SET TITINGOBJ=''+@LAN+''_OBJ FROM SISCLASES_DIC WHERE CLI=NOMCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISCLASES SET TITINGCANT=''+@LAN+''_CANT FROM SISCLASES_DIC WHERE CLI=NOMCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISCLASES SET TITINGCOMP=''+@LAN+''_COMP FROM SISCLASES_DIC WHERE CLI=NOMCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBUTOS SET TITULO=''+@LAN+'' FROM SISATRIBUTOS_DIC WHERE SISATRIBUTOS.TITULO=SISATRIBUTOS_DIC.CLI AND SISATRIBUTOS.IDCLASE=SISATRIBUTOS_DIC.IDCLASE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISDETALLES SET NOMDETALLE=''+@LAN+'' FROM SISDETALLES_DIC WHERE CLI=NOMDETALLE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBDETALLE SET TITULO=''+@LAN+'' FROM SISATRIBDETALLE_DIC WHERE SISATRIBDETALLE.TITULO=SISATRIBDETALLE_DIC.CLI AND SISATRIBDETALLE.IDDETALLE=SISATRIBDETALLE_DIC.IDDETALLE'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBING SET TITLE=''+@LAN+'' FROM SISATRIBING_DIC WHERE SISATRIBING.TITLE=SISATRIBING_DIC.CLI AND SISATRIBING.IDCLASS=SISATRIBING_DIC.IDCLASS'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISPROP SET NOMBRE=''+@LAN+'' FROM SISPROP_DIC WHERE SISPROP.NOMBRE=SISPROP_DIC.CLI'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISVALIDACION SET TITULO=''+@LAN+'' FROM SISVALIDACION_DIC WHERE SISVALIDACION.TITULO=SISVALIDACION_DIC.CLI'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISBUNIT SET NOMBRE=''+@LAN+'' FROM SISBUNIT_DIC WHERE SISBUNIT.NOMBRE=SISBUNIT_DIC.CLI'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISMACRO SET TITLE=''+@LAN+'' FROM SISMACRO_DIC WHERE SISMACRO.TITLE=SISMACRO_DIC.CLI AND SISMACRO.IDCLASS=SISMACRO_DIC.IDCLASS'' execute (@sqlcommand) select @sqlcommand=''UPDATE SISCLASES_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBUTOS_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISDETALLES_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBDETALLE_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISATRIBING_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISPROP_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISVALIDACION_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISBUNIT_DIC SET CLI=''+@LAN execute (@sqlcommand) select @sqlcommand=''UPDATE SISMACRO_DIC SET CLI=''+@LAN execute (@sqlcommand) IF @PER=1 BEGIN UPDATE SISCLASES SET NOMCLASE=PER FROM SISCLASES_DIC WHERE NOMCLASE=CLI AND PER IS NOT NULL UPDATE SISCLASES_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISDETALLES SET NOMDETALLE=PER FROM SISDETALLES_DIC WHERE NOMDETALLE=CLI AND PER IS NOT NULL UPDATE SISDETALLES_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISATRIBUTOS SET TITULO=PER FROM SISATRIBUTOS_DIC WHERE TITULO=CLI AND SISATRIBUTOS.IDCLASE=SISATRIBUTOS_DIC.IDCLASE AND PER IS NOT NULL UPDATE SISATRIBUTOS_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISATRIBDETALLE SET TITULO=PER FROM SISATRIBDETALLE_DIC WHERE TITULO=CLI AND SISATRIBDETALLE.IDDETALLE=SISATRIBDETALLE_DIC.IDDETALLE AND PER IS NOT NULL UPDATE SISATRIBDETALLE_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISATRIBING SET TITLE=PER FROM SISATRIBING_DIC WHERE TITLE=CLI AND SISATRIBING.IDCLASS=SISATRIBING_DIC.IDCLASS AND PER IS NOT NULL UPDATE SISATRIBING_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISPROP SET NOMBRE=PER FROM SISPROP_DIC WHERE NOMBRE=CLI AND PER IS NOT NULL UPDATE SISPROP_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISVALIDACION SET TITULO=PER FROM SISVALIDACION_DIC WHERE TITULO=CLI AND PER IS NOT NULL UPDATE SISVALIDACION_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISBUNIT SET NOMBRE=PER FROM SISBUNIT_DIC WHERE NOMBRE=CLI AND PER IS NOT NULL UPDATE SISBUNIT_DIC SET CLI=PER WHERE PER IS NOT NULL UPDATE SISMACRO SET TITLE=PER FROM SISMACRO_DIC WHERE TITLE=CLI AND PER IS NOT NULL UPDATE SISMACRO_DIC SET CLI=PER WHERE PER IS NOT NULL END RETURN ERROR1: DECLARE @ERRORNUM1 INTEGER,@MSGERROR1 CHAR(254),@LANA CHAR(3) SET @LANA=(SELECT LAN FROM INSERTED) SELECT @ERRORNUM1=35020 IF @LANA=''ESP'' BEGIN SELECT @MSGERROR1=(SELECT ESP_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END IF @LANA=''ITA'' BEGIN SELECT @MSGERROR1=(SELECT ITA_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END IF @LANA=''ENG'' BEGIN SELECT @MSGERROR1=(SELECT ENG_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END IF @LANA=''FRA'' BEGIN SELECT @MSGERROR1=(SELECT FRA_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END IF @LANA=''DEU'' BEGIN SELECT @MSGERROR1=(SELECT DEU_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END IF @LANA=''POR'' BEGIN SELECT @MSGERROR1=(SELECT POR_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM1) END RAISERROR @ERRORNUM1 @MSGERROR1 ROLLBACK TRANSACTION RETURN ERROR2: DECLARE @ERRORNUM2 INTEGER,@MSGERROR2 CHAR(254),@LANA2 CHAR(3) SET @LANA2=(SELECT LAN FROM DELETED) SELECT @ERRORNUM2=35021 IF @LANA2=''ESP'' BEGIN SELECT @MSGERROR2=(SELECT ESP_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END IF @LANA2=''ITA'' BEGIN SELECT @MSGERROR2=(SELECT ITA_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END IF @LANA2=''ENG'' BEGIN SELECT @MSGERROR2=(SELECT ENG_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END IF @LANA2=''FRA'' BEGIN SELECT @MSGERROR2=(SELECT FRA_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END IF @LANA2=''DEU'' BEGIN SELECT @MSGERROR2=(SELECT DEU_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END IF @LANA2=''POR'' BEGIN SELECT @MSGERROR2=(SELECT POR_MSGERROR FROM MSGERROR WHERE ERRORNUM=@ERRORNUM2) END RAISERROR @ERRORNUM2 @MSGERROR2 ROLLBACK TRANSACTION RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_SIMILARES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_SIMILARES]( [SIMILAR] [int] NOT NULL, [Data_Inicial] [datetime] NULL, [Data_Final] [datetime] NULL, [DATA_Geracao] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_SIMILARES] PRIMARY KEY NONCLUSTERED ( [SIMILAR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_SIMILARES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_SIMILARES] on [PRODUTOS_SIMILARES] for DELETE as /* DELETE trigger on PRODUTOS_SIMILARES */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_SIMILARES R/1425 PRODUTOS_SIMILARES_MOV ON PARENT DELETE CASCADE */ delete PRODUTOS_SIMILARES_MOV from PRODUTOS_SIMILARES_MOV,deleted where PRODUTOS_SIMILARES_MOV.SIMILAR = deleted.SIMILAR /* PRODUTOS_SIMILARES R/1424 PRODUTOS_SIMILARES_DATA_INIC ON PARENT DELETE CASCADE */ delete PRODUTOS_SIMILARES_DATA_INIC from PRODUTOS_SIMILARES_DATA_INIC,deleted where PRODUTOS_SIMILARES_DATA_INIC.SIMILAR = deleted.SIMILAR /* PRODUTOS_SIMILARES R/1422 PRODUTO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_CORES where PRODUTO_CORES.SIMILAR = deleted.SIMILAR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_SIMILARES #porque existem registros em #PRODUTO_CORES#.'' goto error end /* PRODUTOS_SIMILARES R/1421 PRODUTOS_SIMILARES_QTDE ON PARENT DELETE CASCADE */ delete PRODUTOS_SIMILARES_QTDE from PRODUTOS_SIMILARES_QTDE,deleted where PRODUTOS_SIMILARES_QTDE.SIMILAR = deleted.SIMILAR return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_SIMILARES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_SIMILARES] on [PRODUTOS_SIMILARES] for UPDATE as /* UPDATE trigger on PRODUTOS_SIMILARES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSIMILAR int, @delSIMILAR int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1425 PRODUTOS_SIMILARES_MOV ON PARENT UPDATE RESTRICT */ if update(SIMILAR) begin if exists ( select * from deleted,PRODUTOS_SIMILARES_MOV where PRODUTOS_SIMILARES_MOV.SIMILAR = deleted.SIMILAR ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES #porque existem registros em #PRODUTOS_SIMILARES_MOV#.'' goto error end end /* PRODUTOS_SIMILARES R/1424 PRODUTOS_SIMILARES_DATA_INIC ON PARENT UPDATE RESTRICT */ if update(SIMILAR) begin if exists ( select * from deleted,PRODUTOS_SIMILARES_DATA_INIC where PRODUTOS_SIMILARES_DATA_INIC.SIMILAR = deleted.SIMILAR ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES #porque existem registros em #PRODUTOS_SIMILARES_DATA_INIC#.'' goto error end end /* PRODUTOS_SIMILARES R/1422 PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(SIMILAR) BEGIN DECLARE PRODUTOS_SIMILARES1422 CURSOR FOR SELECT SIMILAR FROM INSERTED DECLARE PRODUTOS_SIMILARES833 CURSOR FOR SELECT SIMILAR FROM DELETED OPEN PRODUTOS_SIMILARES1422 OPEN PRODUTOS_SIMILARES833 FETCH NEXT FROM PRODUTOS_SIMILARES1422 INTO @insSIMILAR FETCH NEXT FROM PRODUTOS_SIMILARES833 INTO @delSIMILAR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.SIMILAR=@insSIMILAR WHERE PRODUTO_CORES.SIMILAR = @delSIMILAR FETCH NEXT FROM PRODUTOS_SIMILARES1422 INTO @insSIMILAR FETCH NEXT FROM PRODUTOS_SIMILARES833 INTO @delSIMILAR END END CLOSE PRODUTOS_SIMILARES1422 CLOSE PRODUTOS_SIMILARES833 DEALLOCATE PRODUTOS_SIMILARES1422 DEALLOCATE PRODUTOS_SIMILARES833 END /* PRODUTOS_SIMILARES R/1421 PRODUTOS_SIMILARES_QTDE ON PARENT UPDATE RESTRICT */ if update(SIMILAR) begin if exists ( select * from deleted,PRODUTOS_SIMILARES_QTDE where PRODUTOS_SIMILARES_QTDE.SIMILAR = deleted.SIMILAR ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES #porque existem registros em #PRODUTOS_SIMILARES_QTDE#.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_GRIFFES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_GRIFFES]( [GRIFFE] [varchar](25) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MED_COLCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MED_COLCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IATVPROC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IATVPROC]( [ID] [int] NULL, [NOMBRE] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IDIOMACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IDIOMACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_SIMILARES_DATA_INIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_SIMILARES_DATA_INIC]( [SIMILAR] [int] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [DI1] [datetime] NULL, [DI2] [datetime] NULL, [DI3] [datetime] NULL, [DI4] [datetime] NULL, [DI5] [datetime] NULL, [DI6] [datetime] NULL, [DI7] [datetime] NULL, [DI8] [datetime] NULL, [DI9] [datetime] NULL, [DI10] [datetime] NULL, [DI11] [datetime] NULL, [DI12] [datetime] NULL, [DI13] [datetime] NULL, [DI14] [datetime] NULL, [DI15] [datetime] NULL, [DI16] [datetime] NULL, [DI17] [datetime] NULL, [DI18] [datetime] NULL, [DI19] [datetime] NULL, [DI20] [datetime] NULL, [DI21] [datetime] NULL, [DI22] [datetime] NULL, [DI23] [datetime] NULL, [DI24] [datetime] NULL, [DI25] [datetime] NULL, [DI26] [datetime] NULL, [DI27] [datetime] NULL, [DI28] [datetime] NULL, [DI29] [datetime] NULL, [DI30] [datetime] NULL, [DI31] [datetime] NULL, [DI32] [datetime] NULL, [DI33] [datetime] NULL, [DI34] [datetime] NULL, [DI35] [datetime] NULL, [DI36] [datetime] NULL, [DI37] [datetime] NULL, [DI38] [datetime] NULL, [DI39] [datetime] NULL, [DI40] [datetime] NULL, [DI41] [datetime] NULL, [DI42] [datetime] NULL, [DI43] [datetime] NULL, [DI44] [datetime] NULL, [DI45] [datetime] NULL, [DI46] [datetime] NULL, [DI47] [datetime] NULL, [DI48] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUTOS_SIMILARES_DATA_INI] PRIMARY KEY NONCLUSTERED ( [SIMILAR] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_SIMILARES_DATA_IN]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_SIMILARES_DATA_IN] on [PRODUTOS_SIMILARES_DATA_INIC] for INSERT as /* INSERT trigger on PRODUTOS_SIMILARES_DATA_INIC */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1424 PRODUTOS_SIMILARES_DATA_INIC ON CHILD INSERT RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_SIMILARES_DATA_INIC #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_SIMILARES_DATA_IN]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_SIMILARES_DATA_IN] on [PRODUTOS_SIMILARES_DATA_INIC] for UPDATE as /* UPDATE trigger on PRODUTOS_SIMILARES_DATA_INIC */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSIMILAR int, @insFILIAL varchar(25), @delSIMILAR int, @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1424 PRODUTOS_SIMILARES_DATA_INIC ON CHILD UPDATE RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES_DATA_INIC #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISVALIDACION_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISVALIDACION_DIC]( [ESP] [varchar](24) NOT NULL, [ITA] [varchar](24) NOT NULL, [ENG] [varchar](24) NOT NULL, [CLI] [varchar](24) NOT NULL, [FRA] [varchar](24) NOT NULL, [DEU] [varchar](24) NOT NULL, [POR] [varchar](24) NOT NULL, [PER] [varchar](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISVALIDACION_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISVALIDACION_DIC fecha de la secuencia de comandos: Ago 1 2000 12:37PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISVALIDACION_DIC] ON [SISVALIDACION_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @TITULO CHAR(32) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @TITULO=(SELECT ESP FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @TITULO=(SELECT ITA FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @TITULO=(SELECT ENG FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @TITULO=(SELECT FRA FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISVALIDACION_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISVALIDACION SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJIIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJIIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_FOTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_FOTO] ON [ETEJIIMG] FOR INSERT NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED) AND TRANSFER=60 OR TRANSFER=70) BEGIN IF NOT EXISTS (SELECT NUMERO_FOTO,MATERIAL FROM MATERIAIS_FOTO A, INSERTED B WHERE NUMERO_FOTO=(SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=B.CARPETA#))))AND MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=B.CARPETA#) ) INSERT INTO MATERIAIS_FOTO ( NUMERO_FOTO, MATERIAL, LEGENDA_FOTO, PATH_FOTO ) SELECT (SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED))))), (SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED)), (RTRIM(A.IDDOC)+''_C/''+(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED)))), (SELECT UNIDAD+''\''+NOMVOL+''\ETEJI\''+RTRIM(CONVERT(CHAR(3),A.OFFSET))+''\''+A.FICHERO FROM VOLUMENES WHERE IDENT#=0) FROM INSERTED A END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_FOTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_FOTO] ON [ETEJIIMG] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_FOTO'')))< 2 ) BEGIN /*individual UPDATE MATERIAIS_FOTO SET NUMERO_FOTO=(SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED))))), MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED)), LEGENDA_FOTO=(RTRIM(A.IDDOC)+''_C/''+(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM INSERTED)))), PATH_FOTO=(SELECT UNIDAD+''\''+NOMVOL+''\ETEJI\''+RTRIM(CONVERT(CHAR(3),A.OFFSET))+''\''+A.FICHERO FROM VOLUMENES WHERE IDENT#=0) FROM ETEJIIMG A WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM DELETED)) AND NUMERO_FOTO=(SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(SELECT CARPETA# FROM DELETED))))) */ /*multiple*/ DECLARE @CARP INT,@CLAS SMALLINT,@PAG INT,@CARP_IN INT,@CLAS_IN SMALLINT,@PAG_IN INT DECLARE CUR_MAT_FOTO CURSOR FOR SELECT CARPETA# FROM DELETED DECLARE CUR_MAT_FOTO_IN CURSOR FOR SELECT CARPETA# FROM INSERTED OPEN CUR_MAT_FOTO --DELETED OPEN CUR_MAT_FOR_IN --DELETED FETCH NEXT FROM CUR_MAT_FOTO INTO @CARP FETCH NEXT FROM CUR_MAT_FOTO_IN INTO @CARP_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN UPDATE MATERIAIS_FOTO SET NUMERO_FOTO=(SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@CARP_IN))))), MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@CARP_IN)), LEGENDA_FOTO=(RTRIM(A.IDDOC)+''_C/''+(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@CARP_IN)))), PATH_FOTO=(SELECT UNIDAD+''\''+NOMVOL+''\ETEJI\''+RTRIM(CONVERT(CHAR(3),A.OFFSET))+''\''+A.FICHERO FROM VOLUMENES WHERE IDENT#=0) FROM ETEJIIMG A WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@CARP)) AND NUMERO_FOTO=(SELECT IDIMG*100+CONVERT(INT,(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@CARP))))) FETCH NEXT FROM CUR_MAT_FOTO INTO @CARP FETCH NEXT FROM CUR_MAT_FOTO_IN INTO @CARP_IN END/*fs*/ END/*rc*/ CLOSE CUR_MAT_FOTO CLOSE CUR_MAT_FOTO_IN DEALLOCATE CUR_MAT_FOTO DEALLOCATE CUR_MAT_FOTO_IN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISATRIBUTOS_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISATRIBUTOS_DIC]( [IDCLASE] [int] NULL, [ESP] [varchar](24) NOT NULL, [ITA] [varchar](24) NOT NULL, [ENG] [varchar](24) NOT NULL, [CLI] [varchar](24) NOT NULL, [FRA] [varchar](24) NOT NULL, [DEU] [varchar](24) NOT NULL, [POR] [varchar](24) NOT NULL, [PER] [varchar](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISATRIBUTOS_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISATRIBUTOS_DIC fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISATRIBUTOS_DIC] ON [SISATRIBUTOS_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @TITULO CHAR(24) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @TITULO=(SELECT ESP FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @TITULO=(SELECT ITA FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @TITULO=(SELECT ENG FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @TITULO=(SELECT FRA FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @TITULO=(SELECT DEU FROM INSERTED) UPDATE SISATRIBUTOS_DIC SET CLI=@TITULO WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISATRIBUTOS SET TITULO=@TITULO WHERE TITULO=(SELECT DEU FROM DELETED) END END RETURN --ATRIBUTOS DE DETALLE --SP_HELPTEXT U_SISATRIBDETALLE_DIC --DROP TRIGGER U_SISATRIBDETALLE_DIC ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJIIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJIIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORMATO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORMATO]( [ID] [int] NOT NULL, [EMP] [int] NOT NULL, [FORMATO] [varchar](24) NOT NULL, [COMENTARIO] [varchar](80) NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [ECOEMBES] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IATVOPERAC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IATVOPERAC]( [ID] [int] NULL, [NOMBRE] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ITEMLISTATMTM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ITEMLISTATMTM]( [ID] [int] NULL, [LISTATEJMTMID] [int] NULL, [TEJIDO] [int] NULL, [COMPONENTE] [smallint] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CUENTA_BANCARIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CUENTA_BANCARIA]( [DIVISA] [char](6) NULL, [TIPO_CONTA_BANCO] [varchar](40) NULL, [BANCO] [char](4) NOT NULL, [AGENCIA] [varchar](8) NOT NULL, [DIGITO_CONTROL] [varchar](4) NOT NULL, [CODIGO_CUENTA] [varchar](12) NOT NULL, [FECHA_APERTURA] [datetime] NULL, [ESTADO] [smallint] NULL, [CUENTA_CONTABLE] [char](20) NOT NULL, [CUENTA_GASTOS] [char](20) NOT NULL, [DIRECCION] [varchar](50) NULL, [LOCALIDAD] [varchar](50) NULL, [PROVINCIA] [varchar](50) NULL, [CODIGO_POSTAL] [varchar](8) NULL, [PAIS] [varchar](35) NULL, [TELEFONO1] [varchar](16) NULL, [TELEFONO2] [varchar](16) NULL, [EMAIL] [varchar](50) NULL, [CONTACTO] [varchar](50) NULL, [CONTRASENA] [varchar](50) NULL, [TIPO] [char](10) NULL, [SUCURSAL] [char](6) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCPLAN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCPLAN]( [ID] [int] NOT NULL, [ACCESO] [smallint] NULL, [NOMBRE] [char](24) NULL, [DESCRIP] [char](60) NULL, [TEMPO] [float] NULL, [COSTE] [float] NULL, [ESTADO] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [COSTE_EUR] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ITEMLISTATMTMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ITEMLISTATMTMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MOEDAS_CONVER]( [ID] [int] NOT NULL, [ID_MOEDA] [int] NOT NULL, [GF_MOEDA] [char](6) NOT NULL, [GF_DATA] [datetime] NOT NULL, [GF_VALOR] [float] NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MOEDAS_CONVER fecha de la secuencia de comandos: Ago 7 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MOEDAS_CONVER] ON [GF_MOEDAS_CONVER] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MOEDAS_CONVER'')) ) < 2 ) BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME DECLARE MOEDAV CURSOR FOR SELECT GF_MOEDA,GF_VALOR,GF_DATA FROM DELETED OPEN MOEDAV FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT MOEDA FROM MOEDAS_CONVERSAO A WHERE A.MOEDA=@MOEDA AND A.VALOR=@VALOR AND A.DATA=@DATA) DELETE FROM MOEDAS_CONVERSAO WHERE MOEDA=@MOEDA AND VALOR=@VALOR AND DATA=@DATA FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDAV DEALLOCATE MOEDAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MOEDAS_CONVER fecha de la secuencia de comandos: Ago 7 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MOEDAS_CONVER] ON [GF_MOEDAS_CONVER] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME DECLARE MOEDAV CURSOR FOR SELECT GF_MOEDA,GF_VALOR,GF_DATA FROM INSERTED OPEN MOEDAV FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS(SELECT MOEDA FROM MOEDAS_CONVERSAO A, INSERTED B WHERE A.MOEDA=B.GF_MOEDA AND A.DATA=B.GF_DATA AND A.VALOR=B.GF_VALOR) BEGIN INSERT INTO MOEDAS_CONVERSAO (MOEDA,DATA,VALOR,Data_para_transferencia) SELECT GF_MOEDA,GF_DATA,GF_VALOR,GF_DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_MOEDA=@MOEDA AND GF_VALOR=@VALOR AND GF_DATA=@DATA END FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDAV DEALLOCATE MOEDAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MOEDAS_CONVER fecha de la secuencia de comandos: Sep 18 2001 12:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MOEDAS_CONVER] ON [GF_MOEDAS_CONVER] FOR UPDATE NOT FOR REPLICATION AS --IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MOEDAS'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS'')))=1) --RETURN --ELSE BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MOEDAS_CONVER'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS_CONVER'')))=1) RETURN ELSE BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME, @MOEDAD CHAR(6), @VALORD FLOAT, @DATAD DATETIME DECLARE MOEDADV CURSOR FOR SELECT GF_MOEDA,GF_VALOR,GF_DATA FROM DELETED DECLARE MOEDAV CURSOR FOR SELECT GF_MOEDA,GF_VALOR,GF_DATA FROM INSERTED OPEN MOEDADV OPEN MOEDAV FETCH NEXT FROM MOEDADV INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT MOEDA FROM MOEDAS_CONVERSAO WHERE MOEDA=@MOEDAD AND DATA=@DATAD AND VALOR=@VALORD) BEGIN UPDATE MOEDAS_CONVERSAO SET MOEDA=@MOEDA, DATA=@DATA, VALOR=@VALOR, Data_para_transferencia=(SELECT GF_DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_MOEDA=@MOEDA AND GF_DATA=@DATA AND GF_VALOR=@VALOR) WHERE MOEDA=@MOEDAD AND DATA=@DATAD AND VALOR=@VALORD END ELSE BEGIN FETCH NEXT FROM MOEDADV INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA END FETCH NEXT FROM MOEDADV INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDAV INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDADV DEALLOCATE MOEDADV CLOSE MOEDAV DEALLOCATE MOEDAV END END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TSIM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TSIM]( [ID] [int] NULL, [IDSET] [int] NULL, [IDTALLA] [int] NULL, [NOMBRE] [char](16) NULL, [NTALLA] [smallint] NULL, [NDROP] [smallint] NULL, [NCONFIG] [smallint] NULL, [NEXTRA] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EDIDEFINICIONES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EDIDEFINICIONES]( [NOME_CLIFOR] [varchar](25) NOT NULL, [MODULO] [varchar](25) NOT NULL, [EDI_TIPOF] [tinyint] NOT NULL, [EDI_FICHERO] [char](1) NOT NULL, [ID] [timestamp] NOT NULL, [EDI_COLUMNA] [varchar](50) NULL, [EDI_TIPO] [char](1) NULL, [EDI_LONGITUD] [int] NULL, [EDI_PRECISION] [int] NULL, [COLUMNAGLOBAL] [varchar](60) NULL, [TIPOGLOBAL] [char](1) NULL, [LONGITUDGLOBAL] [int] NULL, [PRECISIONGLOBAL] [int] NULL, [TIPO_COLUMNA] [char](1) NOT NULL, [TEXTO_VALOR_DEFECTO] [text] NULL, [EDI_TITULO] [varchar](50) NULL, [ORDEN] [int] NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EPROCPLAN_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EPROCPLAN_ING]( [ID] [int] NOT NULL, [IDINSTANCIA] [int] NULL, [IDCOMPINGR] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISAUXTABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISAUXTABLES]( [ID] [smallint] NULL, [TBNAME] [char](16) NULL, [TITULO] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ITEMTRANSFORM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ITEMTRANSFORM]( [IDITEMTRANSFORM] [int] NULL, [IDLISTATRANSFORM] [int] NULL, [TRANSFORM] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MOEDAS_CONVERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MOEDAS_CONVERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TSIMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TSIMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_STATUS_LOG]( [STATUS_PRODUTO] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [DATA_ALTERACAO] [datetime] NOT NULL, [STATUS_ANTIGO] [char](2) NOT NULL, [RESPONSAVEL] [varchar](40) NOT NULL, CONSTRAINT [XPKPRODUTOS_STATUS_LOG] PRIMARY KEY NONCLUSTERED ( [STATUS_PRODUTO] ASC, [PRODUTO] ASC, [DATA_ALTERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_STATUS_LOG] on [PRODUTOS_STATUS_LOG] for INSERT as /* INSERT trigger on PRODUTOS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1696 PRODUTOS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_STATUS_LOG #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTOS_STATUS R/1695 PRODUTOS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(STATUS_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_PRODUTO = PRODUTOS_STATUS.STATUS_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_STATUS_LOG #porque #PRODUTOS_STATUS #não existe.'' goto error end end /* PRODUTOS_STATUS R/1694 PRODUTOS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(STATUS_ANTIGO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_ANTIGO = PRODUTOS_STATUS.STATUS_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_STATUS_LOG #porque #PRODUTOS_STATUS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_STATUS_LOG] on [PRODUTOS_STATUS_LOG] for UPDATE as /* UPDATE trigger on PRODUTOS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSTATUS_PRODUTO char(2), @insPRODUTO char(12), @insDATA_ALTERACAO datetime, @delSTATUS_PRODUTO char(2), @delPRODUTO char(12), @delDATA_ALTERACAO datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1696 PRODUTOS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_STATUS_LOG #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTOS_STATUS R/1695 PRODUTOS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(STATUS_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_PRODUTO = PRODUTOS_STATUS.STATUS_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_STATUS_LOG #porque #PRODUTOS_STATUS #não existe.'' goto error end end /* PRODUTOS_STATUS R/1694 PRODUTOS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(STATUS_ANTIGO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_ANTIGO = PRODUTOS_STATUS.STATUS_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_STATUS_LOG #porque #PRODUTOS_STATUS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FICHA_CONFECCION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FICHA_CONFECCION]( [ID] [int] NOT NULL, [EMP] [int] NULL, [GF_PRODUTO] [char](12) NOT NULL, [GF_DESC_PRODUTO] [varchar](40) NULL, [GF_GRIFFE] [int] NOT NULL, [TEMPORADA] [int] NOT NULL, [GF_TIPO_PRODUTO] [int] NULL, [OBSERVACIONES] [varchar](128) NULL, [INSTRUCIONES] [varchar](128) NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPERPLAN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPERPLAN]( [ID] [int] NOT NULL, [ACCESO] [smallint] NULL, [KPRNDS] [smallint] NULL, [KTOOL] [smallint] NULL, [NOMBRE] [char](32) NULL, [TIEMPO] [float] NULL, [KCATEG] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISAUXTABLESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISAUXTABLESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ITEMTRANSFORMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ITEMTRANSFORMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USUARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USUARIOS]( [USUARIO#] [int] NOT NULL, [GRUPO#] [int] NULL, [CLAVE] [char](12) NULL, [PASSW] [char](12) NULL, [DESCRIPCION] [char](64) NULL, [ALIAS] [varchar](64) NULL, CONSTRAINT [PK_USUARIOS] PRIMARY KEY CLUSTERED ( [USUARIO#] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tD_USUARIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.tD_USUARIOS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [tD_USUARIOS] ON [USUARIOS] FOR DELETE AS begin declare @idprog int, @errmsg varchar(255) delete RUSUARIOGPROGRAM from RUSUARIOGPROGRAM,deleted where RUSUARIOGPROGRAM.IDUSUARIOS = deleted.USUARIO# delete RUSUARIOS from RUSUARIOS,deleted where RUSUARIOS.USUARIO = deleted.USUARIO# end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INTERFACE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INTERFACE]( [FECHA] [datetime] NOT NULL, [ID] [int] NOT NULL, [ESTADO] [tinyint] NOT NULL, [CLAVE] [varchar](250) NOT NULL, [TABLA] [varchar](250) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FICHA_CONFECCIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FICHA_CONFECCIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASES]( [IDCLASE] [smallint] NOT NULL, [NOMCLASE] [char](32) NULL, [TBNAME] [char](16) NULL, [COLKEY] [char](16) NULL, [COMP] [smallint] NULL, [ESTATIC] [smallint] NULL, [CARPIMG] [smallint] NULL, [REF] [char](32) NULL, [ACCESO] [char](16) NULL, [TEMPLATE] [char](24) NULL, [DETALLE] [smallint] NULL, [UNITMED] [smallint] NULL, [TITINGCLAS] [char](32) NULL, [TITINGOBJ] [char](32) NULL, [TITINGCANT] [char](32) NULL, [TITINGCOMP] [char](32) NULL, [INVESPM] [smallint] NULL, [CUTPLAN] [smallint] NULL, [MTM] [smallint] NULL, [REFCOLOR] [char](32) NULL, [OWNER] [varchar](24) NULL, [DEFACCESS] [smallint] NULL, [MINACCESS] [smallint] NULL, [INVESPM32] [smallint] NULL DEFAULT (63), [CUTPLAN32] [smallint] NULL DEFAULT (63), [MTM32] [smallint] NULL DEFAULT (63), CONSTRAINT [PK_SISCLASES] PRIMARY KEY CLUSTERED ( [IDCLASE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_NOMCLASE_SISCLASES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_NOMCLASE_SISCLASES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_NOMCLASE_SISCLASES] ON [SISCLASES] FOR DELETE AS RETURN DELETE FROM SISCLASES_DIC WHERE CLI=(SELECT NOMCLASE FROM DELETED) RETURN --SISATRIBUTOS /* ACTUALIZAR EL NOMBRE DE UN ATRIBUTOS DE CLASE EN SISATRIBUTOS_DIC */ --SP_HELPTEXT U_TITULO_SISATRIBUTOS --DROP TRIGGER U_TITULO_SISATRIBUTOS ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_NOMCLASE_SISCLASES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_NOMCLASE_SISCLASES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_NOMCLASE_SISCLASES] ON [SISCLASES] FOR INSERT AS --RETURN INSERT INTO SISCLASES_DIC (ESP,ITA,ENG,CLI,FRA,DEU,POR,PER,ESP_CLAS,ESP_OBJ,ESP_CANT,ESP_COMP, ITA_CLAS,ITA_OBJ,ITA_CANT,ITA_COMP,ENG_CLAS,ENG_OBJ,ENG_CANT,ENG_COMP,CLI_CLAS,CLI_OBJ,CLI_CANT, CLI_COMP,FRA_CLAS,FRA_OBJ,FRA_CANT,FRA_COMP,DEU_CLAS,DEU_OBJ,DEU_CANT,DEU_COMP,POR_CLAS,POR_OBJ, POR_CANT,POR_COMP) SELECT NOMCLASE,NOMCLASE,NOMCLASE,NOMCLASE,NOMCLASE,NOMCLASE,NOMCLASE,NULL, TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP,TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP, TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP,TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP, TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP,TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP, TITINGCLAS,TITINGOBJ,TITINGCANT,TITINGCOMP FROM SISCLASES WHERE NOMCLASE=(SELECT NOMCLASE FROM INSERTED) RETURN /* BORRAR EL NOMBRE DE UNA CLASE EN SISCLASE_DIC */ --SP_HELPTEXT D_NOMCLASE_SISCLASES --DROP TRIGGER D_NOMCLASE_SISCLASES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_NOMCLASE_SISCLASES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_NOMCLASE_SISCLASES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_NOMCLASE_SISCLASES] ON [SISCLASES] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISCLASES_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_NOMCLASE_SISCLASES'')) ) < 2 ) IF UPDATE(NOMCLASE) BEGIN UPDATE SISCLASES_DIC SET CLI=(SELECT NOMCLASE FROM INSERTED), CLI_CLAS=(SELECT TITINGCLAS FROM INSERTED), CLI_OBJ=(SELECT TITINGOBJ FROM INSERTED), CLI_CANT=(SELECT TITINGCANT FROM INSERTED), CLI_COMP=(SELECT TITINGCOMP FROM INSERTED) WHERE CLI=(SELECT NOMCLASE FROM DELETED) IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISCLASES_DIC SET PER=(SELECT NOMCLASE FROM INSERTED), PER_CLAS=(SELECT TITINGCLAS FROM INSERTED), PER_OBJ=(SELECT TITINGOBJ FROM INSERTED), PER_CANT=(SELECT TITINGCANT FROM INSERTED), PER_COMP=(SELECT TITINGCOMP FROM INSERTED) WHERE PER=(SELECT NOMCLASE FROM INSERTED) END END RETURN /* INSERT EL NOMBRE DE UNA NUEVA CLASE EN SISCLASE_DIC */ --SP_HELPTEXT I_NOMCLASE_SISCLASES --DROP TRIGGER I_NOMCLASE_SISCLASES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KEPROC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KEPROC]( [ID] [int] NULL, [TIPO] [varchar](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIO_STOCK]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' CREATE VIEW [RDX_V_INVENTARIO_STOCK] AS select CENTRO, CODIGO, PRODUCTO, COLOR, TIPO_PRODUCTO, GRUPO_PRODUCTO, COLECCION, I38 = SUM(CASE TALLA WHEN ''38'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,I40 = SUM(CASE TALLA WHEN ''40'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,I42 = SUM(CASE TALLA WHEN ''42'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,I44 = SUM(CASE TALLA WHEN ''44'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,I46 = SUM(CASE TALLA WHEN ''46'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,I48 = SUM(CASE TALLA WHEN ''48'' THEN CANTIDAD_INVENTARIO ELSE 0 END) ,K38 = SUM(CASE TALLA WHEN ''38'' THEN CANTIDAD_STOCK ELSE 0 END) ,K40 = SUM(CASE TALLA WHEN ''40'' THEN CANTIDAD_STOCK ELSE 0 END) ,K42 = SUM(CASE TALLA WHEN ''42'' THEN CANTIDAD_STOCK ELSE 0 END) ,K44 = SUM(CASE TALLA WHEN ''44'' THEN CANTIDAD_STOCK ELSE 0 END) ,K46 = SUM(CASE TALLA WHEN ''46'' THEN CANTIDAD_STOCK ELSE 0 END) ,K48 = SUM(CASE TALLA WHEN ''48'' THEN CANTIDAD_STOCK ELSE 0 END) from RDX_V_INVENTARIO_STOCK_DESGLOSADO group by CENTRO, CODIGO, PRODUCTO, COLOR, TIPO_PRODUCTO, GRUPO_PRODUCTO, COLECCION ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USUARIOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USUARIOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TIPO_LAVAGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TIPO_LAVAGEM]( [RESTRICAO_LAVAGEM] [char](6) NOT NULL, [DESC_RESTRICAO_LAVAGEM] [varchar](40) NOT NULL, [PASSADORIA_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_COM_CLORADOS] [varchar](1) NULL, [LAVAR_A_SECO] [varchar](1) NULL, [SECAR_SECADORA] [varchar](1) NULL, [OBS] [text] NULL, CONSTRAINT [XPKMATERIAIS_TIPO_LAVAGEM] PRIMARY KEY NONCLUSTERED ( [RESTRICAO_LAVAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_LAV fecha de la secuencia de comandos: Sep 10 2001 15:50AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_LAV] ON [MATERIAIS_TIPO_LAVAGEM] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MATERIAIS_LAV'')))=1) RETURN ELSE DECLARE @LAVADO CHAR(8) DECLARE LAVADO CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM DELETED OPEN LAVADO FETCH NEXT FROM LAVADO INTO @LAVADO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE GF_RESTRICAO_LAV=@LAVADO) DELETE FROM GF_MATERIAIS_LAV WHERE GF_RESTRICAO_LAV=@LAVADO ELSE BEGIN FETCH NEXT FROM LAVADO INTO @LAVADO END FETCH NEXT FROM LAVADO INTO @LAVADO END CLOSE LAVADO DEALLOCATE LAVADO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_LAV fecha de la secuencia de comandos: Sep 10 2001 12:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_LAV] ON [MATERIAIS_TIPO_LAVAGEM] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_LAV'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @LAVADO CHAR(6) DECLARE LAVADO CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM INSERTED OPEN LAVADO FETCH NEXT FROM LAVADO INTO @LAVADO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE GF_RESTRICAO_LAV=@LAVADO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_LAV (ID,GF_RESTRICAO_LAV,GF_DESC_RESTRICA,GF_PASSADORIA_TE,GF_LAVAGEM_TEMPE, GF_LAVAGEM_COM_C,GF_LAVAR_A_SECO,GF_SECAR_SECADOR,GF_OBS,EMP,ACCESO,USERC,FECHAC,USERM,FECHAM,USERP) SELECT ISNULL(B.IDMAX,1),RESTRICAO_LAVAGEM,DESC_RESTRICAO_LAVAGEM,PASSADORIA_TEMPERATURA,LAVAGEM_TEMPERATURA, LAVAGEM_COM_CLORADOS,LAVAR_A_SECO,SECAR_SECADORA,OBS,@EMPRESA,28983,@USER,GETDATE(),@USER,GETDATE(),@USER FROM MATERIAIS_TIPO_LAVAGEM A, GF_MATERIAIS_LAVCNT B WHERE RESTRICAO_LAVAGEM=@LAVADO UPDATE GF_MATERIAIS_LAVCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LAVADO INTO @LAVADO END FETCH NEXT FROM LAVADO INTO @LAVADO END CLOSE LAVADO DEALLOCATE LAVADO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_LAV fecha de la secuencia de comandos: Sep 10 2001 15:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_LAV] ON [MATERIAIS_TIPO_LAVAGEM] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_LAV'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_LAV'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_LAV'')) ) < 2 ) BEGIN DECLARE @LAVADO CHAR(6), @LAVADOD CHAR(6), @OBS VARCHAR(254) DECLARE LAVADOD CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM DELETED DECLARE LAVADO CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM INSERTED OPEN LAVADOD OPEN LAVADO FETCH NEXT FROM LAVADOD INTO @LAVADOD FETCH NEXT FROM LAVADO INTO @LAVADO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE GF_RESTRICAO_LAV=@LAVADOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER SET @OBS=(SELECT SUBSTRING(OBS,1,254) FROM MATERIAIS_TIPO_LAVAGEM WHERE RESTRICAO_LAVAGEM=@LAVADO) UPDATE GF_MATERIAIS_LAV SET GF_RESTRICAO_LAV=@LAVADO, GF_DESC_RESTRICA=(SELECT DESC_RESTRICAO_LAVAGEM FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_PASSADORIA_TE=(SELECT PASSADORIA_TEMPERATURA FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_LAVAGEM_TEMPE=(SELECT LAVAGEM_TEMPERATURA FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_LAVAGEM_COM_C=(SELECT LAVAGEM_COM_CLORADOS FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_LAVAR_A_SECO=(SELECT LAVAR_A_SECO FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_SECAR_SECADOR=(SELECT SECAR_SECADORA FROM INSERTED WHERE RESTRICAO_LAVAGEM=@LAVADO), GF_OBS=@OBS, USERM=@USER, FECHAM=GETDATE() WHERE GF_RESTRICAO_LAV=@LAVADOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LAVADOD INTO @LAVADOD FETCH NEXT FROM LAVADO INTO @LAVADO END FETCH NEXT FROM LAVADOD INTO @LAVADOD FETCH NEXT FROM LAVADO INTO @LAVADO END CLOSE LAVADOD DEALLOCATE LAVADOD CLOSE LAVADO DEALLOCATE LAVADO END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_TIPO_LAVAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_TIPO_LAVAGEM] on [MATERIAIS_TIPO_LAVAGEM] for DELETE as /* DELETE trigger on MATERIAIS_TIPO_LAVAGEM */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_TIPO_LAVAGEM R/1944 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.RESTRICAO_LAVAGEM = deleted.RESTRICAO_LAVAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TIPO_LAVAGEM #porque existem registros em #PRODUTOS#.'' goto error end /* MATERIAIS_TIPO_LAVAGEM R/1930 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.RESTRICAO_LAVAGEM = deleted.RESTRICAO_LAVAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TIPO_LAVAGEM #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_TIPO_LAVAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_TIPO_LAVAGEM] on [MATERIAIS_TIPO_LAVAGEM] for UPDATE as /* UPDATE trigger on MATERIAIS_TIPO_LAVAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRESTRICAO_LAVAGEM char(6), @delRESTRICAO_LAVAGEM char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TIPO_LAVAGEM R/1944 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(RESTRICAO_LAVAGEM) BEGIN DECLARE MATERIAIS_TIPO_LAVAGEM1944 CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM INSERTED DECLARE MATERIAIS_TIPO_LAVAGEM1093 CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM DELETED OPEN MATERIAIS_TIPO_LAVAGEM1944 OPEN MATERIAIS_TIPO_LAVAGEM1093 FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1944 INTO @insRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1093 INTO @delRESTRICAO_LAVAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.RESTRICAO_LAVAGEM=@insRESTRICAO_LAVAGEM WHERE PRODUTOS.RESTRICAO_LAVAGEM = @delRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1944 INTO @insRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1093 INTO @delRESTRICAO_LAVAGEM END END CLOSE MATERIAIS_TIPO_LAVAGEM1944 CLOSE MATERIAIS_TIPO_LAVAGEM1093 DEALLOCATE MATERIAIS_TIPO_LAVAGEM1944 DEALLOCATE MATERIAIS_TIPO_LAVAGEM1093 END /* MATERIAIS_TIPO_LAVAGEM R/1930 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(RESTRICAO_LAVAGEM) BEGIN DECLARE MATERIAIS_TIPO_LAVAGEM1930 CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM INSERTED DECLARE MATERIAIS_TIPO_LAVAGEM1093 CURSOR FOR SELECT RESTRICAO_LAVAGEM FROM DELETED OPEN MATERIAIS_TIPO_LAVAGEM1930 OPEN MATERIAIS_TIPO_LAVAGEM1093 FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1930 INTO @insRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1093 INTO @delRESTRICAO_LAVAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.RESTRICAO_LAVAGEM=@insRESTRICAO_LAVAGEM WHERE MATERIAIS.RESTRICAO_LAVAGEM = @delRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1930 INTO @insRESTRICAO_LAVAGEM FETCH NEXT FROM MATERIAIS_TIPO_LAVAGEM1093 INTO @delRESTRICAO_LAVAGEM END END CLOSE MATERIAIS_TIPO_LAVAGEM1930 CLOSE MATERIAIS_TIPO_LAVAGEM1093 DEALLOCATE MATERIAIS_TIPO_LAVAGEM1930 DEALLOCATE MATERIAIS_TIPO_LAVAGEM1093 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNI]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [KFORNI] [smallint] NULL, [QUIM] [smallint] NULL, [COMENTARIO] [char](80) NULL, [COLOR] [smallint] NULL, [FABRANTE] [smallint] NULL, [PROVEDR] [smallint] NULL, [REFPROV] [char](32) NULL, [COSTE] [real] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFBORDADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DEFBORDADO]( [ID] [int] NOT NULL, [ACCESSO] [smallint] NULL, [CODIGO] [char](4) NULL, [DESCRIP] [char](30) NULL, [NPUNT] [int] NULL, [CREAC] [int] NULL, [FECHAC] [datetime] NULL, [MODIC] [int] NULL, [FECHAM] [datetime] NULL, [TRANS] [smallint] NULL, [OC1] [char](24) NULL, [OC2] [char](24) NULL, [OC3] [char](24) NULL, [OC4] [char](24) NULL, [OC5] [char](24) NULL, [OC6] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PMVERSIONDB65]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PMVERSIONDB65]( [NUMERO] [smallint] NOT NULL, [COM] [char](200) NULL, PRIMARY KEY CLUSTERED ( [NUMERO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PMVERSIONDB65]') AND name = N'XPMVERSION') CREATE UNIQUE NONCLUSTERED INDEX [XPMVERSION] ON [PMVERSIONDB65] ( [NUMERO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KEPROCCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KEPROCCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KFORNI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KFORNI]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PROD_TIPO_STA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PROD_TIPO_STA]( [ID] [int] NOT NULL, [TIPO] [char](1) NOT NULL, [DESCRIPCION] [char](24) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VERSIONDB]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VERSIONDB]( [NUMERO] [smallint] NULL, [COM] [char](200) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORMATOSEDI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORMATOSEDI]( [NOME_CLIFOR] [varchar](25) NOT NULL, [MODULO] [varchar](25) NOT NULL, [EDI_TIPOF] [tinyint] NOT NULL, [EDI_UNICO] [int] NULL, [PATH_EDI] [varchar](200) NULL, [EDI_HISTORICO] [varchar](200) NULL, [EDI_CABECERAS] [varchar](50) NULL, [GLOBAL_CABECERAS] [varchar](50) NULL, [EDI_LINEAS] [varchar](50) NULL, [GLOBAL_LINEAS] [varchar](50) NULL, [EDI_FICHERO] [varchar](50) NULL, [EDI_REL_CABECERA] [varchar](50) NULL, [EDI_REL_LINEA] [varchar](50) NULL, [GLOBAL_REL_CABECERA] [varchar](50) NULL, [GLOBAL_REL_LINEA] [varchar](50) NULL, [EDI_TALLA] [varchar](50) NULL, [EDI_TALLA_INI] [int] NULL, [EDI_TALLA_FIN] [int] NULL, [EDI_COLOR] [varchar](50) NULL, [EDI_COLOR_INI] [int] NULL, [EDI_COLOR_FIN] [int] NULL, [EDI_REG_INI] [int] NULL, [EDI_REG_LON] [int] NULL, [EDI_TREG_CAB1] [varchar](20) NULL, [EDI_TREG_CAB2] [varchar](20) NULL, [EDI_TREG_LIN1] [varchar](20) NULL, [EDI_TREG_LIN2] [varchar](20) NULL, [EDI_CLIENTE] [varchar](50) NULL, [EDI_CLIENTE_INI] [int] NULL, [EDI_CLIENTE_FIN] [int] NULL, [EDI_PRODUCTO] [varchar](50) NULL, [EDI_PRODUCTO_INI] [int] NULL, [EDI_PRODUCTO_FIN] [int] NULL, [GLOBAL_CLIENTE_COLUMNA] [char](200) NULL, [EDI_PIES] [varchar](50) NULL, [WHERE_EXP] [varchar](100) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNIIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNIIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [IDVOLBAK] [int] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UBICAC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UBICAC]( [ID] [int] NULL, [NOMBRE] [varchar](30) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BNDLCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BNDLCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARBORDADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARBORDADO]( [IDBOR] [int] NOT NULL, [IDVAR] [int] NOT NULL, [BORDADO] [smallint] NULL, [UBIC] [smallint] NULL, [PZA] [smallint] NULL, [LCOL] [char](16) NULL, [C1] [smallint] NULL, [C2] [smallint] NULL, [C3] [smallint] NULL, [C4] [smallint] NULL, [C5] [smallint] NULL, [C6] [smallint] NULL, [C7] [smallint] NULL, [C8] [smallint] NULL, [C9] [smallint] NULL, [C10] [smallint] NULL, [LOC] [smallint] NULL, [COTAX] [float] NULL, [COTAY] [float] NULL, [PZA2] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BNDL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BNDL]( [ID] [int] NULL, [MARKER] [int] NULL, [BUNDLE] [smallint] NULL, [TIPO] [char](1) NULL, [ELEMENTO] [int] NULL, [TSET] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KFORNICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KFORNICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PROD_TIPO_STACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PROD_TIPO_STACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VERSIONDBCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VERSIONDBCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNIIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNIIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IATVLOCABOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IATVLOCABOR]( [ID] [int] NULL, [NOMBRE] [varchar](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BRND]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BRND]( [ID] [int] NULL, [LINEA] [char](64) NULL, [COMENTARIO] [char](80) NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMATE_ESCANDALLO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMATE_ESCANDALLO]( [ID] [int] NOT NULL, [TIPO] [varchar](1) NOT NULL, [GRUPO] [int] NULL, [COMENTARIO] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_CAPA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_CAPA]( [ID] [int] NOT NULL, [IDRECURSO] [int] NOT NULL, [GF_RECURSO_PRODU] [char](5) NOT NULL, [GF_TABELA_OPERAC] [int] NOT NULL, [GF_FASE_PRODUCAO] [int] NOT NULL, [GF_SETOR_PRODUCA] [int] NOT NULL, [GF_CAPACIDADE] [int] NULL, [GF_TEMPO_OPERACA] [float] NULL, [GF_TEMPO_PREPARA] [float] NULL, [GF_UNIDADE_TEMPO] [int] NULL, [GF_CUSTO_SUGERID] [float] NULL, [GF_TEMPO_PRO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VOLUMENES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VOLUMENES]( [IDENT#] [int] NULL, [NOMVOL] [char](16) NULL, [UNIDAD] [char](2) NULL, [SLOT#] [int] NULL, [TIPODISCO] [int] NULL, [NUMFICH] [int] NULL, [OCUPACION] [int] NULL, [STATUS] [int] NULL, [PROTEC] [int] NULL, [DIRACTUAL] [int] NULL, [FICHANT] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NATUREZAS_BLOQUEADAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NATUREZAS_BLOQUEADAS]( [USUARIO] [varchar](25) NOT NULL, [NATUREZA_SAIDA] [char](7) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tI_NATUREZAS_BLOQUEADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tI_NATUREZAS_BLOQUEADAS] on [NATUREZAS_BLOQUEADAS] for INSERT as /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* INSERT trigger on NATUREZAS_BLOQUEADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* USERS R/29 NATUREZAS_BLOQUEADAS ON CHILD INSERT RESTRICT */ if /* update(USUARIO) */ update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where /* inserted.USUARIO = USERS.USUARIO */ inserted.USUARIO = USERS.USUARIO /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT NATUREZAS_BLOQUEADAS because USERS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* NATUREZAS_SAIDAS R/28 NATUREZAS_BLOQUEADAS ON CHILD INSERT RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT NATUREZAS_BLOQUEADAS because NATUREZAS_SAIDAS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tU_NATUREZAS_BLOQUEADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tU_NATUREZAS_BLOQUEADAS] on [NATUREZAS_BLOQUEADAS] for UPDATE as /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* UPDATE trigger on NATUREZAS_BLOQUEADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @insNATUREZA_SAIDA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* USERS R/29 NATUREZAS_BLOQUEADAS ON CHILD UPDATE RESTRICT */ if /* update(USUARIO) */ update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where /* inserted.USUARIO = USERS.USUARIO */ inserted.USUARIO = USERS.USUARIO /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE NATUREZAS_BLOQUEADAS because USERS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ /* NATUREZAS_SAIDAS R/28 NATUREZAS_BLOQUEADAS ON CHILD UPDATE RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE NATUREZAS_BLOQUEADAS because NATUREZAS_SAIDAS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 11:00:33 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CENTROS_CUSTO]( [ID] [int] NOT NULL, [GF_CENTRO_CUSTO] [varchar](25) NOT NULL, [GF_CODIGO_QUEBRA] [varchar](8) NOT NULL, [GF_PREVISAO_GLOB] [float] NULL, [GF_DESC_CENTRO_C] [varchar](40) NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [EMP] [int] NULL, [ACCESO] [smallint] NULL, [CONTROL] [smallint] NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_CENTROS_CUSTO] ON [GF_CENTROS_CUSTO] FOR DELETE NOT FOR REPLICATION AS /*INDIV BEGIN IF EXISTS (SELECT CENTRO_CUSTO FROM CENTROS_CUSTO A, DELETED B WHERE A.CENTRO_CUSTO=B.GF_CENTRO_CUSTO) DELETE FROM CENTROS_CUSTO WHERE CENTRO_CUSTO=(SELECT GF_CENTRO_CUSTO FROM DELETED) ELSE RETURN END */ /*MULTIPLE*/ BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_CENTROS_CUSTO'')))=1) RETURN ELSE DECLARE @CENTRO_DEL VARCHAR(25) DECLARE CUR_CENTRO_DEL CURSOR FOR SELECT GF_CENTRO_CUSTO FROM DELETED OPEN CUR_CENTRO_DEL FETCH NEXT FROM CUR_CENTRO_DEL INTO @CENTRO_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT CENTRO_CUSTO FROM CENTROS_CUSTO A WHERE A.CENTRO_CUSTO=@CENTRO_DEL) DELETE FROM CENTROS_CUSTO WHERE CENTRO_CUSTO=(@CENTRO_DEL) FETCH NEXT FROM CUR_CENTRO_DEL INTO @CENTRO_DEL END /*FSTATUS*/ CLOSE CUR_CENTRO_DEL DEALLOCATE CUR_CENTRO_DEL END/*rwc*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_CENTROS_CUSTO] ON [GF_CENTROS_CUSTO] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT CENTRO_CUSTO FROM CENTROS_CUSTO A, INSERTED B WHERE A.CENTRO_CUSTO=B.GF_CENTRO_CUSTO) BEGIN INSERT INTO CENTROS_CUSTO (CENTRO_CUSTO,CODIGO_QUEBRA,PREVISAO_GLOBAL,DESC_CENTRO_CUSTO,DATA_PARA_TRANSFERENCIA) SELECT GF_CENTRO_CUSTO,GF_CODIGO_QUEBRA,GF_PREVISAO_GLOB,GF_DESC_CENTRO_C,GF_DATA_PARA_TRANSFERENCIA FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=(SELECT GF_CENTRO_CUSTO FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_CENTROS_CUSTO] ON [GF_CENTROS_CUSTO] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CENTROS_CUSTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT CENTRO_CUSTO FROM CENTROS_CUSTO A, DELETED B WHERE A.CENTRO_CUSTO=B.GF_CENTRO_CUSTO) BEGIN UPDATE CENTROS_CUSTO SET CENTRO_CUSTO=(SELECT GF_CENTRO_CUSTO FROM INSERTED), CODIGO_QUEBRA=(SELECT GF_CODIGO_QUEBRA FROM INSERTED), PREVISAO_GLOBAL=(SELECT GF_PREVISAO_GLOB FROM INSERTED), DESC_CENTRO_CUSTO=(SELECT GF_DESC_CENTRO_C FROM INSERTED), DATA_PARA_TRANSFERENCIA=(SELECT GF_DATA_PARA_TRANSFERENCIA FROM INSERTED) WHERE CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM DELETED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADOS]( [ID] [int] NOT NULL, [ACCESSO] [smallint] NULL, [CODIGO] [char](4) NULL, [NPUNT] [smallint] NULL, [CREAC] [int] NULL, [FECHAC] [datetime] NULL, [DESCRIP] [char](30) NULL, [MODELO] [char](18) NULL, [MEDIDAS] [smallint] NULL, [COMENTARIO] [char](80) NULL, [MODIC] [int] NULL, [FECHAM] [datetime] NULL, [NCOLOR] [smallint] NULL, [COLOR] [char](1) NULL, [CODI] [smallint] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[IACBORDADOS]') AND name = N'REFIACBORDADOS') CREATE UNIQUE NONCLUSTERED INDEX [REFIACBORDADOS] ON [IACBORDADOS] ( [CODI] ASC, [MODELO] ASC, [COLOR] ASC, [CODIGO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BRNDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BRNDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASES_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASES_DIC]( [ESP] [varchar](32) NOT NULL, [ITA] [varchar](32) NOT NULL, [ENG] [varchar](32) NOT NULL, [CLI] [varchar](32) NOT NULL, [FRA] [varchar](32) NOT NULL, [DEU] [varchar](32) NOT NULL, [POR] [varchar](32) NOT NULL, [PER] [varchar](32) NULL, [ESP_CLAS] [varchar](32) NULL, [ESP_OBJ] [varchar](32) NULL, [ESP_CANT] [varchar](32) NULL, [ESP_COMP] [varchar](32) NULL, [ITA_CLAS] [varchar](32) NULL, [ITA_OBJ] [varchar](32) NULL, [ITA_CANT] [varchar](32) NULL, [ITA_COMP] [varchar](32) NULL, [ENG_CLAS] [varchar](32) NULL, [ENG_OBJ] [varchar](32) NULL, [ENG_CANT] [varchar](32) NULL, [ENG_COMP] [varchar](32) NULL, [FRA_CLAS] [varchar](32) NULL, [FRA_OBJ] [varchar](32) NULL, [FRA_CANT] [varchar](32) NULL, [FRA_COMP] [varchar](32) NULL, [DEU_CLAS] [varchar](32) NULL, [DEU_OBJ] [varchar](32) NULL, [DEU_CANT] [varchar](32) NULL, [DEU_COMP] [varchar](32) NULL, [POR_CLAS] [varchar](32) NULL, [POR_OBJ] [varchar](32) NULL, [POR_CANT] [varchar](32) NULL, [POR_COMP] [varchar](32) NULL, [CLI_CLAS] [varchar](32) NULL, [CLI_OBJ] [varchar](32) NULL, [CLI_CANT] [varchar](32) NULL, [CLI_COMP] [varchar](32) NULL, [PER_CLAS] [varchar](32) NULL, [PER_OBJ] [varchar](32) NULL, [PER_CANT] [varchar](32) NULL, [PER_COMP] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISCLASES_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISCLASES_DIC fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISCLASES_DIC] ON [SISCLASES_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @NOMCLASE CHAR(32) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @NOMCLASE=(SELECT ESP FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @NOMCLASE=(SELECT ITA FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @NOMCLASE=(SELECT ENG FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @NOMCLASE=(SELECT FRA FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @NOMCLASE=(SELECT DEU FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @NOMCLASE=(SELECT DEU FROM INSERTED) UPDATE SISCLASES_DIC SET CLI=@NOMCLASE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISCLASES SET NOMCLASE=@NOMCLASE WHERE NOMCLASE=(SELECT DEU FROM DELETED) END END RETURN --DETALLES --SP_HELPTEXT U_SISDETALLES_DIC --DROP TRIGGER U_SISDETALLES_DIC ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMATE_ESCANDALLOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMATE_ESCANDALLOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_CAPACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_CAPACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VOLUMENESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VOLUMENESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NATUREZAS_ENTRADAS_BLOQUEADAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NATUREZAS_ENTRADAS_BLOQUEADAS]( [NATUREZA] [char](15) NOT NULL, [USUARIO] [varchar](25) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_NATUREZAS_ENTRADAS_BLOQUEA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_NATUREZAS_ENTRADAS_BLOQUEA] on [NATUREZAS_ENTRADAS_BLOQUEADAS] for INSERT as /* INSERT trigger on NATUREZAS_ENTRADAS_BLOQUEADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA char(15), @insUSUARIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS R/1380 NATUREZAS_ENTRADAS_BLOQUEADAS ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #NATUREZAS_ENTRADAS_BLOQUEADAS #porque #USERS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1379 NATUREZAS_ENTRADAS_BLOQUEADAS ON CHILD INSERT RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #NATUREZAS_ENTRADAS_BLOQUEADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_NATUREZAS_ENTRADAS_BLOQUEA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_NATUREZAS_ENTRADAS_BLOQUEA] on [NATUREZAS_ENTRADAS_BLOQUEADAS] for UPDATE as /* UPDATE trigger on NATUREZAS_ENTRADAS_BLOQUEADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA char(15), @insUSUARIO varchar(25), @delNATUREZA char(15), @delUSUARIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS R/1380 NATUREZAS_ENTRADAS_BLOQUEADAS ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #NATUREZAS_ENTRADAS_BLOQUEADAS #porque #USERS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1379 NATUREZAS_ENTRADAS_BLOQUEADAS ON CHILD UPDATE RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #NATUREZAS_ENTRADAS_BLOQUEADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CENTROS_CUSTOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CENTROS_CUSTOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADOSIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADOSIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLNT]( [ID] [int] NULL, [EMPRESA] [smallint] NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KPRNDS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KPRNDS]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_FASE]( [ID] [int] NOT NULL, [GF_FASE_PRODUCAO] [varchar](25) NOT NULL, [GF_DESC_FASE_PRO] [char](40) NULL, [GF_SECUENCIA_PRO] [int] NULL, [GF_FALTA_MATERIA] [char](1) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUCAO_FASE]') AND name = N'XPKPRODUCAO_FASE') CREATE UNIQUE NONCLUSTERED INDEX [XPKPRODUCAO_FASE] ON [GF_PRODUCAO_FASE] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFDV_PRODUCAO_FASE fecha de la secuencia de comandos: Sep 19 2001 16:10PM ******/ ------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCAO_FASE] ON [GF_PRODUCAO_FASE] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCAO_FASE'')))=1) RETURN ELSE BEGIN DECLARE @FASE VARCHAR(25) DECLARE FASEV CURSOR FOR SELECT GF_FASE_PRODUCAO FROM DELETED OPEN FASEV FETCH NEXT FROM FASEV INTO @FASE WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT FASE_PRODUCAO FROM PRODUCAO_FASE A WHERE A.FASE_PRODUCAO=@FASE) BEGIN DELETE FROM PRODUCAO_FASE WHERE FASE_PRODUCAO=@FASE END FETCH NEXT FROM FASEV INTO @FASE END CLOSE FASEV DEALLOCATE FASEV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFIV_PRODUCAO_FASE fecha de la secuencia de comandos: Sep 19 2001 13:45PM ******/ --------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUCAO_FASE] ON [GF_PRODUCAO_FASE] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUCAO_FASE'')))=1 ) RETURN ELSE BEGIN DECLARE @FASE VARCHAR(25) DECLARE FASEV CURSOR FOR SELECT GF_FASE_PRODUCAO FROM INSERTED OPEN FASEV FETCH NEXT FROM FASEV INTO @FASE WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT FASE_PRODUCAO FROM PRODUCAO_FASE WHERE FASE_PRODUCAO=@FASE) BEGIN INSERT INTO PRODUCAO_FASE (FASE_PRODUCAO,DESC_FASE_PRODUCAO,SEQUENCIA_PRODUTIVA,FALTA_MATERIAL_BLOQUEIA_OP) SELECT GF_FASE_PRODUCAO,GF_DESC_FASE_PRO,GF_SECUENCIA_PRO,GF_FALTA_MATERIA FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASE END FETCH NEXT FROM FASEV INTO @FASE END CLOSE FASEV DEALLOCATE FASEV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFUV_PRODUCAO_FASE] ON [GF_PRODUCAO_FASE] FOR UPDATE NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFUV_PRODUCAO_FASE'' ) ) ) < 2 ) and ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFU_PRODUCAO_FASE'' ) ) ) = 0 ) BEGIN DECLARE @FASED VARCHAR(25), @FASE VARCHAR(25) DECLARE FASEDV CURSOR FOR SELECT GF_FASE_PRODUCAO FROM DELETED DECLARE FASEV CURSOR FOR SELECT GF_FASE_PRODUCAO FROM INSERTED OPEN FASEDV OPEN FASEV FETCH NEXT FROM FASEDV INTO @FASED FETCH NEXT FROM FASEV INTO @FASE WHILE @@FETCH_STATUS = 0 BEGIN IF EXISTS( SELECT FASE_PRODUCAO FROM PRODUCAO_FASE A WHERE A.FASE_PRODUCAO = @FASED ) BEGIN UPDATE PRODUCAO_FASE SET FASE_PRODUCAO=@FASE, DESC_FASE_PRODUCAO=(SELECT GF_DESC_FASE_PRO FROM INSERTED WHERE GF_FASE_PRODUCAO=@FASE), SEQUENCIA_PRODUTIVA=(SELECT GF_SECUENCIA_PRO FROM INSERTED WHERE GF_FASE_PRODUCAO=@FASE), FALTA_MATERIAL_BLOQUEIA_OP=(SELECT CONVERT(CHAR(1),GF_FALTA_MATERIA) FROM INSERTED WHERE GF_FASE_PRODUCAO=@FASE) WHERE FASE_PRODUCAO = @FASED UPDATE GF_PRODUCAO_SETO SET GF_FASE_PRODUCAO = @FASE WHERE GF_FASE_PRODUCAO = @FASED UPDATE PRODUCAO_SETOR SET FASE_PRODUCAO = @FASE WHERE FASE_PRODUCAO = @FASED END FETCH NEXT FROM FASEDV INTO @FASED FETCH NEXT FROM FASEV INTO @FASE END CLOSE FASEDV DEALLOCATE FASEDV CLOSE FASEV DEALLOCATE FASEV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODSIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODSIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NATUREZAS_SERIES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NATUREZAS_SERIES]( [SERIE_NF] [char](2) NOT NULL, [NATUREZA_SAIDA] [char](7) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tI_NATUREZAS_SERIES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tI_NATUREZAS_SERIES] on [NATUREZAS_SERIES] for INSERT as /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ /* INSERT trigger on NATUREZAS_SERIES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ /* SERIES_NF R/31 NATUREZAS_SERIES ON CHILD INSERT RESTRICT */ if /* update(SERIE_NF) */ update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where /* inserted.SERIE_NF = SERIES_NF.SERIE_NF */ inserted.SERIE_NF = SERIES_NF.SERIE_NF /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT NATUREZAS_SERIES because SERIES_NF does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ /* NATUREZAS_SAIDAS R/30 NATUREZAS_SERIES ON CHILD INSERT RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT NATUREZAS_SERIES because NATUREZAS_SAIDAS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tU_NATUREZAS_SERIES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tU_NATUREZAS_SERIES] on [NATUREZAS_SERIES] for UPDATE as /* ERwin Builtin Thu Jan 16 10:58:50 2003 */ /* UPDATE trigger on NATUREZAS_SERIES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSERIE_NF char(2), @insNATUREZA_SAIDA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ /* SERIES_NF R/31 NATUREZAS_SERIES ON CHILD UPDATE RESTRICT */ if /* update(SERIE_NF) */ update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where /* inserted.SERIE_NF = SERIES_NF.SERIE_NF */ inserted.SERIE_NF = SERIES_NF.SERIE_NF /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE NATUREZAS_SERIES because SERIES_NF does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:58:49 2003 */ /* NATUREZAS_SAIDAS R/30 NATUREZAS_SERIES ON CHILD UPDATE RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE NATUREZAS_SERIES because NATUREZAS_SAIDAS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:58:50 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFBORDADOIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DEFBORDADOIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLNTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLNTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASSDET]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASSDET]( [ID] [int] NOT NULL, [IDCLASS] [int] NOT NULL, [IDDET] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KPRNDSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KPRNDSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_FASECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_FASECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODSIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODSIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLATARE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLATARE]( [ID] [int] NULL, [MESA] [smallint] NULL, [IDOBJETO] [int] NULL, [OPCOLTAR] [int] NULL, [ESCALA] [smallint] NULL, [PRIORIDAD] [smallint] NULL, [ESTADO] [smallint] NULL, [TALLAS] [varchar](250) NULL, [TAREA] [smallint] NULL, [OBJETO] [smallint] NULL, [VARX] [float] NULL, [VARY] [float] NULL, [PIEZAINI] [smallint] NULL, [CUAD] [smallint] NULL, [PIQANTCONT] [int] NULL, [ESCPCOR] [smallint] NULL, [ESCPLAR] [smallint] NULL, [BOCAPV] [smallint] NULL, [BASEPV] [smallint] NULL, [OPCONF] [int] NULL, [OPCONF2] [smallint] NULL, [SEPCOMX] [float] NULL, [SEPCOMY] [float] NULL, [TAMTEXT] [float] NULL, [TAMREF] [float] NULL, [TAMMARPOS] [float] NULL, [TAMTAL] [float] NULL, [COTASM] [smallint] NULL, [SEPMIN] [smallint] NULL, [TXTDIBPIEZ] [int] NULL, [TXTCABMARK] [int] NULL, [TXTPZAMARK] [int] NULL, [COM] [char](250) NULL, [FICHERO] [char](51) NULL, [SETTALLAS] [smallint] NULL, [ORIGENX] [float] NULL, [ORIGENY] [float] NULL, [ANGULO] [float] NULL, [CUTORDER] [varchar](10) NULL, [CONSLINE] [varchar](10) NULL, [PRODCODE] [varchar](10) NULL, [NGARMENTS] [smallint] NULL, [NTELAS] [smallint] NULL, [FICHPARAM] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TRANSF_TABELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TRANSF_TABELAS]( [COD_TRANSF] [int] NOT NULL, [FILIAL_DESTINO] [varchar](25) NOT NULL, [FILIAL_ORIGEM] [varchar](25) NOT NULL, [EMAIL_FILIAL] [varchar](50) NULL, CONSTRAINT [XPKLOJA_TRANSF_TABELAS] PRIMARY KEY NONCLUSTERED ( [COD_TRANSF] ASC, [FILIAL_DESTINO] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_TRANSF_TABELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_TRANSF_TABELAS] on [LOJA_TRANSF_TABELAS] for INSERT as /* INSERT trigger on LOJA_TRANSF_TABELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TRANSF R/1 LOJA_TRANSF_TABELAS ON CHILD INSERT RESTRICT */ if update(COD_TRANSF) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TRANSF where inserted.COD_TRANSF = LOJA_TRANSF.COD_TRANSF and inserted.FILIAL_ORIGEM = LOJA_TRANSF.FILIAL_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_TRANSF_TABELAS #porque #LOJA_TRANSF #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TRANSF_TABELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TRANSF_TABELAS] on [LOJA_TRANSF_TABELAS] for UPDATE as /* UPDATE trigger on LOJA_TRANSF_TABELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSF int, @insFILIAL_DESTINO varchar(25), @insFILIAL_ORIGEM varchar(25), @delCOD_TRANSF int, @delFILIAL_DESTINO varchar(25), @delFILIAL_ORIGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TRANSF R/1 LOJA_TRANSF_TABELAS ON CHILD UPDATE RESTRICT */ if update(COD_TRANSF) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TRANSF where inserted.COD_TRANSF = LOJA_TRANSF.COD_TRANSF and inserted.FILIAL_ORIGEM = LOJA_TRANSF.FILIAL_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_TRANSF_TABELAS #porque #LOJA_TRANSF #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASSACCESSGR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASSACCESSGR]( [ID] [int] NOT NULL, [IDCLASS] [smallint] NOT NULL, [IDUSERGROUP] [smallint] NOT NULL, [ACCESS] [smallint] NOT NULL, PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASSDETCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASSDETCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LISTATEJMTM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LISTATEJMTM]( [LISTATEJMTMID] [int] NULL, [NOMBRE] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLATARECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLATARECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLSCONFIG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLSCONFIG]( [ID] [smallint] NOT NULL, [IDCLASS] [smallint] NOT NULL, [VARNAME] [char](20) NOT NULL, [VALUE] [char](250) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LISTATEJMTMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LISTATEJMTMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUCURSAL_BANCO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUCURSAL_BANCO]( [SUCURSAL] [char](6) NULL, [BANCO] [varchar](4) NULL, [AGENCIA] [varchar](8) NULL, [DIGITO_CONTROL] [varchar](4) NULL, [CODIGO_CUENTA] [varchar](12) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CLASSIF_FISCA]( [ID] [int] NOT NULL, [GF_CLASSIF_FISCA] [char](10) NOT NULL, [GF_IPI] [float] NULL, [GF_DESC_CLASSIFI] [varchar](40) NOT NULL, [GF_CLASSIF_REDUZ] [varchar](6) NULL, [GF_ABATER_ICMS_N] [char](1) NOT NULL, [GF_ABATER_IPI_NO] [char](1) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_CLASSIF_FISCA] ON [GF_CLASSIF_FISCA] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_CLASSIF_FISCA'')) ) =1) RETURN ELSE /*DESDE AQUI NUEVO*/ DECLARE @CLASSIF_FISCAL_DEL CHAR(10) DECLARE CUR_CSF_DELETE CURSOR FOR SELECT GF_CLASSIF_FISCA FROM DELETED OPEN CUR_CSF_DELETE FETCH NEXT FROM CUR_CSF_DELETE INTO @CLASSIF_FISCAL_DEL --IF @@rowcount>=0 --BEGIN WHILE @@fetch_status=0 BEGIN /*HASTA AQUÍ NUEVO*/ IF EXISTS (SELECT CLASSIF_FISCAL FROM CLASSIF_FISCAL A, DELETED B WHERE A.CLASSIF_FISCAL=@CLASSIF_FISCAL_DEL) DELETE FROM CLASSIF_FISCAL WHERE CLASSIF_FISCAL=@CLASSIF_FISCAL_DEL ELSE RETURN /*DESDE AQUÍ NUEVO*/ FETCH NEXT FROM CUR_CSF_DELETE INTO @CLASSIF_FISCAL_DEL END/*fetch_status*/ --END/*rowcount*/ CLOSE CUR_CSF_DELETE DEALLOCATE CUR_CSF_DELETE /*HASTA AQUÍ NUEVO*/ END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_CLASSIF_FISCA] ON [GF_CLASSIF_FISCA] FOR INSERT NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFI_CLASSIF_FISCAL'')) ) =1) RETURN ELSE IF NOT EXISTS (SELECT CLASSIF_FISCAL FROM CLASSIF_FISCAL WHERE CLASSIF_FISCAL= (SELECT GF_CLASSIF_FISCA FROM INSERTED)) BEGIN INSERT INTO CLASSIF_FISCAL (CLASSIF_FISCAL,IPI,DESC_CLASSIFICACAO,CLASSIF_REDUZIDA,ABATER_ICMS_NO_MEDIO, ABATER_IPI_NO_MEDIO,DATA_PARA_TRANSFERENCIA) SELECT GF_CLASSIF_FISCA,GF_IPI,GF_DESC_CLASSIFI,GF_CLASSIF_REDUZ,GF_ABATER_ICMS_N,GF_ABATER_IPI_NO, DATA_PARA_TRANSFERENCIA FROM GF_CLASSIF_FISCA WHERE GF_CLASSIF_FISCA=(SELECT GF_CLASSIF_FISCA FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_CLASSIF_FISCA] ON [GF_CLASSIF_FISCA] FOR UPDATE NOT FOR REPLICATION AS /*ESTO ES INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CLASSIF_FISCA'')) ) < 2 ) BEGIN IF EXISTS (SELECT CLASSIF_FISCAL FROM CLASSIF_FISCAL A, DELETED B WHERE A.CLASSIF_FISCAL=B.GF_CLASSIF_FISCA) BEGIN UPDATE CLASSIF_FISCAL SET CLASSIF_FISCAL=(SELECT GF_CLASSIF_FISCA FROM INSERTED), IPI=(SELECT GF_IPI FROM INSERTED ), DESC_CLASSIFICACAO=(SELECT GF_DESC_CLASSIFI FROM INSERTED ), CLASSIF_REDUZIDA=(SELECT GF_CLASSIF_REDUZ FROM INSERTED ), ABATER_ICMS_NO_MEDIO=(SELECT GF_ABATER_ICMS_N FROM INSERTED), ABATER_IPI_NO_MEDIO=(SELECT GF_ABATER_IPI_NO FROM INSERTED ), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED) WHERE CLASSIF_FISCAL=(SELECT GF_CLASSIF_FISCA FROM DELETED) END ELSE RETURN END */ /*ESTO ES MÚLTIPLE*/ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CLASSIF_FISCA'')) ) < 2 ) BEGIN DECLARE @CLASSIF_FISCAL CHAR(10) DECLARE @CLASSIF_FISCAL_IN CHAR(10) DECLARE CUR_CLASSIF_FISCAL CURSOR FOR SELECT GF_CLASSIF_FISCA FROM DELETED DECLARE CUR_CLASSIF_FISCAL_IN CURSOR FOR SELECT GF_CLASSIF_FISCA FROM INSERTED OPEN CUR_CLASSIF_FISCAL--DELETED OPEN CUR_CLASSIF_FISCAL_IN -- INSERTED FETCH NEXT FROM CUR_CLASSIF_FISCAL INTO @CLASSIF_FISCAL FETCH NEXT FROM CUR_CLASSIF_FISCAL_IN INTO @CLASSIF_FISCAL_IN IF @@rowcount >= 0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT CLASSIF_FISCAL FROM CLASSIF_FISCAL A, DELETED B WHERE A.CLASSIF_FISCAL=@CLASSIF_FISCAL) BEGIN UPDATE CLASSIF_FISCAL SET CLASSIF_FISCAL=(@CLASSIF_FISCAL_IN), IPI=(SELECT GF_IPI FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN), DESC_CLASSIFICACAO=(SELECT GF_DESC_CLASSIFI FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN), CLASSIF_REDUZIDA=(SELECT GF_CLASSIF_REDUZ FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN), ABATER_ICMS_NO_MEDIO=(SELECT GF_ABATER_ICMS_N FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN), ABATER_IPI_NO_MEDIO=(SELECT GF_ABATER_IPI_NO FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_CLASSIF_FISCA=@CLASSIF_FISCAL_IN) WHERE CLASSIF_FISCAL=(@CLASSIF_FISCAL ) END FETCH NEXT FROM CUR_CLASSIF_FISCAL INTO @CLASSIF_FISCAL FETCH NEXT FROM CUR_CLASSIF_FISCAL_IN INTO @CLASSIF_FISCAL_IN END CLOSE CUR_CLASSIF_FISCAL_IN CLOSE CUR_CLASSIF_FISCAL DEALLOCATE CUR_CLASSIF_FISCAL_IN DEALLOCATE CUR_CLASSIF_FISCAL END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FCALID]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FCALID]( [ID] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [SECTOR] [smallint] NULL, [NOMBRE] [char](32) NULL, [COMENTARIO] [char](64) NULL, [FILE] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETACCESS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETACCESS]( [ID] [int] NOT NULL, [IDDET] [smallint] NOT NULL, [IDUSER] [int] NOT NULL, [ACCESS] [smallint] NOT NULL, PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLSCONFIGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLSCONFIGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LISTATRANS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LISTATRANS]( [IDLISTATRANS] [int] NULL, [NOMBRE] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CLASSIF_FISCACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CLASSIF_FISCACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FCALIDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FCALIDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCOMPINGR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCOMPINGR]( [ID] [smallint] NULL, [TBNAME] [char](16) NULL, [IDCOLNAME] [char](16) NULL, [TXTCOLN] [char](16) NULL, [TITULO] [char](24) NULL, [USERC] [int] NULL, [ACCESO] [smallint] NULL, [LASTUPDATE] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LISTATRANSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LISTATRANSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECF]( [ID] [int] NOT NULL, [IDRECURSO] [int] NOT NULL, [GF_RECURSO_PRODU] [char](5) NOT NULL, [GF_FASE_PRODUCAO] [int] NOT NULL, [GF_ORDEM_SELECAO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUCAO_RECURSOS_FASE fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCAO_RECURSOS_FASE] ON [GF_PRODUCAO_RECF] FOR DELETE NOT FOR REPLICATION AS /*individual BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS_FASE A, DELETED B WHERE A.RECURSO_PRODUTIVO=B.GF_RECURSO_PRODU AND A.FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=B.GF_FASE_PRODUCAO)) DELETE FROM PRODUCAO_RECURSOS_FASE WHERE RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM DELETED) AND FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID= (SELECT GF_FASE_PRODUCAO FROM DELETED)) ELSE RETURN END */ /*MULTIPLE*/ BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCAO_RECURSOS_FASE'')))=1) RETURN ELSE DECLARE @PROD_FASEDEL INTEGER DECLARE @PROD_RECDEL CHAR(5) DECLARE CUR_FASEP_DEL CURSOR FOR SELECT GF_RECURSO_PRODU,GF_FASE_PRODUCAO FROM DELETED OPEN CUR_FASEP_DEL FETCH NEXT FROM CUR_FASEP_DEL INTO @PROD_RECDEL, @PROD_FASEDEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status>=0 BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS_FASE A WHERE A.RECURSO_PRODUTIVO=@PROD_RECDEL AND A.FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(@PROD_FASEDEL))) DELETE FROM PRODUCAO_RECURSOS_FASE WHERE RECURSO_PRODUTIVO=(@PROD_RECDEL) AND FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=( @PROD_FASEDEL)) FETCH NEXT FROM CUR_FASEP_DEL INTO @PROD_RECDEL, @PROD_FASEDEL END/*fetch_status*/ CLOSE CUR_FASEP_DEL DEALLOCATE CUR_FASEP_DEL END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUCAO_RECF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFIV_PRODUCAO_RECF] ON [GF_PRODUCAO_RECF] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_RECF'')))=1) RETURN ELSE BEGIN IF NOT EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS_FASE WHERE RECURSO_PRODUTIVO =(SELECT GF_RECURSO_PRODU FROM INSERTED)) BEGIN INSERT INTO PRODUCAO_RECURSOS_FASE (RECURSO_PRODUTIVO,FASE_PRODUCAO,ORDEM_SELECAO) SELECT GF_RECURSO_PRODU, (SELECT GF_DESC_FASE_PRO FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO = (SELECT GF_FASE_PRODUCAO FROM INSERTED)), GF_ORDEM_SELECAO FROM INSERTED END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUCAO_RECURSOS_FASE fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUCAO_RECURSOS_FASE] ON [GF_PRODUCAO_RECF] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_RECURSOS_FASE'')) ) < 2 ) BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS_FASE A, DELETED B WHERE A.RECURSO_PRODUTIVO=B.GF_RECURSO_PRODU AND A.FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=B.GF_FASE_PRODUCAO)) BEGIN UPDATE PRODUCAO_RECURSOS_FASE SET RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM INSERTED), FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(SELECT GF_FASE_PRODUCAO FROM INSERTED)), ORDEM_SELECAO=(SELECT GF_ORDEM_SELECAO FROM INSERTED) WHERE FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(SELECT GF_FASE_PRODUCAO FROM DELETED)) AND RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM DELETED) END ELSE RETURN END /*MULTIPLE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_RECURSOS_FASE'')) ) < 2 ) BEGIN DECLARE @FASE_PROD INTEGER DECLARE @FASE_PRODREC CHAR(5) DECLARE @FASE_PROD_IN INTEGER DECLARE @FASE_PRODREC_IN CHAR(5) DECLARE CUR_FASEPROD CURSOR FOR SELECT GF_RECURSO_PRODU, GF_FASE_PRODUCAO FROM DELETED DECLARE CUR_FASEPROD_IN CURSOR FOR SELECT GF_RECURSO_PRODU, GF_FASE_PRODUCAO FROM INSERTED OPEN CUR_FASEPROD --DELETED OPEN CUR_FASEPROD_IN --INSERTED FETCH NEXT FROM CUR_FASEPROD INTO @FASE_PRODREC, @FASE_PROD FETCH NEXT FROM CUR_FASEPROD_IN INTO @FASE_PRODREC_IN, @FASE_PROD_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS_FASE A, DELETED B WHERE A.RECURSO_PRODUTIVO=@FASE_PRODREC AND A.FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=@FASE_PROD)) BEGIN UPDATE PRODUCAO_RECURSOS_FASE SET RECURSO_PRODUTIVO=(@FASE_PRODREC_IN), FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(@FASE_PROD_IN)), ORDEM_SELECAO=(SELECT GF_ORDEM_SELECAO FROM INSERTED WHERE GF_RECURSO_PRODU=@FASE_PRODREC_IN AND GF_FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(@FASE_PROD_IN))) WHERE FASE_PRODUCAO=(SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=(@FASE_PROD_IN)) AND RECURSO_PRODUTIVO=(@FASE_PROD_IN) END FETCH NEXT FROM CUR_FASEPROD INTO @FASE_PRODREC, @FASE_PROD FETCH NEXT FROM CUR_FASEPROD_IN INTO @FASE_PRODREC_IN, @FASE_PROD_IN END*//*fetch_status*/ /*CLOSE CUR_FASEPROD CLOSE CUR_FASEPROD_IN DEALLOCATE CUR_FASEPROD DEALLOCATE CUR_FASEPROD_IN END*//*rowcount*/ /*END*//*PRINCIPAL*/ ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLBORDA2]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLBORDA2]( [ID] [int] NULL, [IDLINK] [int] NULL, [ORDENPM] [smallint] NULL, [BORDADO] [int] NULL, [COL1] [int] NULL, [COL2] [int] NULL, [PIEZA] [int] NULL, [COL3] [int] NULL, [COL4] [int] NULL, [COL5] [int] NULL, [COL6] [int] NULL, [COL7] [int] NULL, [COL8] [int] NULL, [LOCAL] [smallint] NULL, [UBICA] [smallint] NULL, [HILO] [varchar](48) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FCHESS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FCHESS]( [ID] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [SECTOR] [smallint] NULL, [NOMBRE] [char](32) NULL, [COMENTARIO] [char](80) NULL, [FILE] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETACCESSGR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETACCESSGR]( [ID] [int] NOT NULL, [IDDET] [smallint] NOT NULL, [IDUSERGROUP] [smallint] NOT NULL, [ACCESS] [smallint] NOT NULL, PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCOMPINGRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCOMPINGRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MAQUINAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MAQUINAS]( [ID] [int] NULL, [NOMBRE] [char](24) NULL, [COSTO] [real] NULL, [TIEMPOACEL] [real] NULL, [TIEMPODECEL] [real] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECFCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECFCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TALONARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TALONARIOS]( [BANCO] [char](4) NULL, [AGENCIA] [varchar](8) NULL, [DIGITO_CONTROL] [varchar](4) NULL, [CODIGO_CUENTA] [varchar](12) NULL, [CODIGO_TALONARIO] [varchar](4) NULL, [USUARIO] [varchar](40) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTBORDA2]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTBORDA2]( [ID] [int] NULL, [IDLINK] [int] NULL, [ORDENPM] [smallint] NULL, [REF] [varchar](6) NULL, [COT1] [float] NULL, [COT2] [float] NULL, [COT3] [float] NULL, [COT4] [float] NULL, [COT5] [float] NULL, [COT6] [float] NULL, [COT7] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FCHESSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FCHESSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETALLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETALLES]( [IDDETALLE] [smallint] NOT NULL, [NOMDETALLE] [char](32) NULL, [TBATRIB] [char](16) NULL, [COLLINK] [char](16) NULL, [COLCLAVE] [char](16) NULL, [ESTATIC] [smallint] NULL, [CARPIMG] [smallint] NULL, [TEMPLATE] [char](32) NULL, [REF] [char](32) NULL, [UNITMED] [smallint] NULL, [Acceso] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_NOMDETALLE_SISDETALLES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_NOMDETALLE_SISDETALLES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_NOMDETALLE_SISDETALLES] ON [SISDETALLES] FOR DELETE AS --RETURN DELETE FROM SISDETALLES_DIC WHERE CLI=(SELECT NOMDETALLE FROM DELETED) RETURN --SISATRIBDETALLE /* ACTUALIZAR EL NOMBRE DE UN ATRIBUTOS DE DETALLE EN SISATRIBDETALLE_DIC */ --SP_HELPTEXT U_TITULO_SISATRIBDETALLE --DROP TRIGGER U_TITULO_SISATRIBDETALLE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_NOMDETALLE_SISDETALLES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_NOMDETALLE_SISDETALLES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_NOMDETALLE_SISDETALLES] ON [SISDETALLES] FOR INSERT AS --RETURN INSERT INTO SISDETALLES_DIC (ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT NOMDETALLE,NOMDETALLE,NOMDETALLE,NOMDETALLE,NOMDETALLE,NOMDETALLE,NOMDETALLE,NULL FROM SISDETALLES WHERE NOMDETALLE=(SELECT NOMDETALLE FROM INSERTED) RETURN /* BORRAR EL NOMBRE DE UN DETALLE EN SISDETALLES_DIC */ --SP_HELPTEXT D_NOMDETALLE_SISDETALLES --DROP TRIGGER D_NOMDETALLE_SISDETALLES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_NOMDETALLE_SISDETALLES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_NOMDETALLE_SISDETALLES fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_NOMDETALLE_SISDETALLES] ON [SISDETALLES] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISDETALLES_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_NOMDETALLE_SISDETALLES'')) ) < 2 ) IF UPDATE(NOMDETALLE) BEGIN UPDATE SISDETALLES_DIC SET CLI=(SELECT NOMDETALLE FROM INSERTED) WHERE CLI=(SELECT NOMDETALLE FROM DELETED) IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISDETALLES_DIC SET PER=(SELECT NOMDETALLE FROM INSERTED) WHERE CLI=(SELECT NOMDETALLE FROM INSERTED) END END RETURN /* INSERT EL NOMBRE DE UN NUEVO DETALLE EN SISDETALLES_DIC */ --SP_HELPTEXT I_NOMDETALLE_SISDETALLES --DROP TRIGGER I_NOMDETALLE_SISDETALLES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MAQUINASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MAQUINASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_PREC_C_TCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_PREC_C_TCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TARJETAS_CREDITO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TARJETAS_CREDITO]( [BANCO] [char](4) NULL, [AGENCIA] [varchar](8) NULL, [DIGITO_CONTROL] [varchar](4) NULL, [CODIGO_CUENTA] [varchar](12) NULL, [CREDITO] [smallint] NULL, [NUMERO_TARJETA] [varchar](20) NULL, [USUARIO] [varchar](40) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADO2IMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADO2IMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [varchar](12) NULL, [IDDOC] [varchar](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FHALFS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FHALFS]( [ID] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [SECTOR] [smallint] NULL, [NOMBRE] [char](32) NULL, [COMENTARIO] [char](80) NULL, [FILE] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETALLESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETALLESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_PREC_C_T]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_PREC_C_T]( [ID] [int] NULL, [ID_ETEJI_RAIZ] [int] NULL, [ORDENPM] [smallint] NULL, [GF_COR_MATERIAL] [smallint] NULL, [GF_PREC_MEDIDA1] [float] NULL, [GF_PREC_MEDIDA2] [float] NULL, [GF_PREC_MEDIDA3] [float] NULL, [GF_PREC_MEDIDA4] [float] NULL, [GF_PREC_MEDIDA5] [float] NULL, [GF_PREC_MEDIDA6] [float] NULL, [GF_PREC_MEDIDA7] [float] NULL, [GF_PREC_MEDIDA8] [float] NULL, [GF_PREC_MEDIDA9] [float] NULL, [GF_PREC_MEDIDA10] [float] NULL, [GF_PREC_MEDIDA11] [float] NULL, [GF_PREC_MEDIDA12] [float] NULL, [GF_PREC_MEDIDA13] [float] NULL, [GF_PREC_MEDIDA14] [float] NULL, [GF_PREC_MEDIDA15] [float] NULL, [GF_PREC_MEDIDA16] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARKMTM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARKMTM]( [IDMARKMTM] [int] NULL, [IDPRNDMTM] [int] NULL, [MARCADA] [int] NULL, [COMPONENTE] [int] NULL, [TALLA] [char](12) NULL, [MARKADAA] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOS_CONTAS_BANCOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOS_CONTAS_BANCOS]( [TIPO_CONTA_BANCO] [varchar](40) NOT NULL, [DESCR_TIP_CONTA_BANCO] [char](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COLECOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COLECOES]( [ID] [int] NOT NULL, [COLEC] [char](64) NULL, [COMENTARIO] [char](80) NULL, [GF_COLECAO] [varchar](6) NOT NULL, [GF_DESC_COLECAO] [varchar](40) NOT NULL, [GF_ENVIA_LOJA_VA] [char](1) NOT NULL, [GF_ENVIA_LOJA_AT] [char](1) NOT NULL, [GF_ENVIA_REPRESE] [char](1) NOT NULL, [GF_ENVIA_VAREJO_] [char](1) NOT NULL, [GF_ENVIA_ATACADO] [char](1) NOT NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [GF_INIBE_DESCONT] [char](1) NOT NULL, [CODIGO] [char](3) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [DESCRIP_NE] [varchar](30) NULL, [DESCRIP_EN] [varchar](30) NULL, [DESCRIP_FR] [varchar](30) NULL, [DESCRIP_SP] [varchar](30) NULL, [DESCRIP_DU] [varchar](30) NULL, [DESCRIP_7] [varchar](30) NULL, [DESCRIP_8] [varchar](30) NULL, [DESCRIP_9] [varchar](30) NULL, [DESCRIP_10] [varchar](30) NULL, [DESCRIP_11] [varchar](30) NULL, [DESCRIP_12] [varchar](30) NULL, [DESCRIP_13] [varchar](30) NULL, [DESCRIP_14] [varchar](30) NULL, [DESCRIP_15] [varchar](30) NULL, [DESCRIP_16] [varchar](30) NULL, [DESCRIP_17] [varchar](30) NULL, [DESCRIP_18] [varchar](30) NULL, [DESCRIP_19] [varchar](30) NULL, [DESCRIP_20] [varchar](30) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_COLECOES fecha de la secuencia de comandos: Sep 5 2000 16:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_COLECOES] ON [GF_COLECOES] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_COLECOES'')))=1) RETURN ELSE BEGIN DECLARE @COLECAO CHAR(6) DECLARE COLECAOV CURSOR FOR SELECT GF_COLECAO FROM DELETED OPEN COLECAOV FETCH NEXT FROM COLECAOV INTO @COLECAO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT COLECAO FROM COLECOES WHERE COLECAO=@COLECAO) DELETE FROM COLECOES WHERE COLECAO=@COLECAO FETCH NEXT FROM COLECAOV INTO @COLECAO END CLOSE COLECAOV DEALLOCATE COLECAOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFIV_COLECOES] ON [GF_COLECOES] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @COLECAO CHAR(6) DECLARE COLECAOV CURSOR FOR SELECT GF_COLECAO FROM INSERTED OPEN COLECAOV FETCH NEXT FROM COLECAOV INTO @COLECAO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT COLECAO FROM COLECOES WHERE COLECAO=@COLECAO) BEGIN INSERT INTO COLECOES (COLECAO,DESC_COLECAO,ENVIA_LOJA_VAREJO,ENVIA_LOJA_ATACADO,ENVIA_REPRESENTANTE,ENVIA_VAREJO_INTERNET, ENVIA_ATACADO_INTERNET,INATIVO,DATA_PARA_TRANSFERENCIA,INIBE_DESCONTO_CLIENTE) SELECT GF_COLECAO,GF_DESC_COLECAO,GF_ENVIA_LOJA_VA,GF_ENVIA_LOJA_AT,GF_ENVIA_REPRESE, GF_ENVIA_VAREJO_,GF_ENVIA_ATACADO,GF_INATIVO,GF_DATA_PARA_TRANSFERENCIA,GF_INIBE_DESCONT FROM GF_COLECOES WHERE GF_COLECAO=@COLECAO END ELSE BEGIN FETCH NEXT FROM COLECAOV INTO @COLECAO END FETCH NEXT FROM COLECAOV INTO @COLECAO END CLOSE COLECAOV DEALLOCATE COLECAOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_COLECOES fecha de la secuencia de comandos: Sep 5 2001 16:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_COLECOES] ON [GF_COLECOES] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_COLECOES'')) ) < 2 ) BEGIN DECLARE @COLECAO CHAR(6), @COLECAOD CHAR(6) DECLARE COLECAODV CURSOR FOR SELECT GF_COLECAO FROM DELETED DECLARE COLECAOV CURSOR FOR SELECT GF_COLECAO FROM INSERTED OPEN COLECAODV OPEN COLECAOV FETCH NEXT FROM COLECAODV INTO @COLECAOD FETCH NEXT FROM COLECAOV INTO @COLECAO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT COLECAO FROM COLECOES WHERE COLECAO=@COLECAOD) BEGIN UPDATE COLECOES SET COLECAO=@COLECAO, DESC_COLECAO=(SELECT GF_DESC_COLECAO FROM INSERTED WHERE GF_COLECAO=@COLECAO), ENVIA_LOJA_VAREJO=ISNULL((SELECT GF_ENVIA_LOJA_VA FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), ENVIA_LOJA_ATACADO=ISNULL((SELECT GF_ENVIA_LOJA_AT FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), ENVIA_REPRESENTANTE=ISNULL((SELECT GF_ENVIA_REPRESE FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), ENVIA_VAREJO_INTERNET=ISNULL((SELECT GF_ENVIA_VAREJO_ FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), ENVIA_ATACADO_INTERNET=ISNULL((SELECT GF_ENVIA_ATACADO FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), INATIVO=ISNULL((SELECT GF_INATIVO FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), INIBE_DESCONTO_CLIENTE=ISNULL((SELECT GF_INIBE_DESCONT FROM INSERTED WHERE GF_COLECAO=@COLECAO),0), DATA_PARA_TRANSFERENCIA=(SELECT GF_DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_COLECAO=@COLECAO) WHERE COLECAO=@COLECAOD END FETCH NEXT FROM COLECAODV INTO @COLECAOD FETCH NEXT FROM COLECAOV INTO @COLECAO END CLOSE COLECAODV CLOSE COLECAOV DEALLOCATE COLECAODV DEALLOCATE COLECAOV END END ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADO2CNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADO2CNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FHALFSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FHALFSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARKMTMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARKMTMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECI]( [ID] [int] NOT NULL, [ID_FASE_PRODUCAO] [int] NOT NULL, [GF_FASE_PRODUCAO] [varchar](25) NOT NULL, [GF_RECURSO_PRODU] [varchar](5) NOT NULL, [GF_SETOR_PRODUCA] [varchar](25) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COLECOESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COLECOESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLBORDA2CNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLBORDA2CNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FPROTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FPROTO]( [ID] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [SECTOR] [smallint] NULL, [NOMBRE] [char](32) NULL, [COMENTARIO] [char](80) NULL, [FILE] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIA]( [ID] [int] NOT NULL, [MATERIA] [varchar](32) NULL, [DESCRIP_EN] [varchar](20) NULL, [DESCRIP_SP] [varchar](20) NULL, [DESCRIP_DU] [varchar](20) NULL, [DESCRIP_NE] [varchar](20) NULL, [DESCRIP_FR] [varchar](20) NULL, [DESCRIP_7] [varchar](20) NULL, [DESCRIP_8] [varchar](20) NULL, [DESCRIP_9] [varchar](20) NULL, [DESCRIP_10] [varchar](20) NULL, [DESCRIP_11] [varchar](20) NULL, [DESCRIP_12] [varchar](20) NULL, [DESCRIP_13] [varchar](20) NULL, [DESCRIP_14] [varchar](20) NULL, [DESCRIP_15] [varchar](20) NULL, [DESCRIP_16] [varchar](20) NULL, [DESCRIP_17] [varchar](20) NULL, [DESCRIP_18] [varchar](20) NULL, [DESCRIP_19] [varchar](20) NULL, [DESCRIP_20] [varchar](20) NULL, [ACCESO] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIA]') AND name = N'REFMATERIA') CREATE UNIQUE NONCLUSTERED INDEX [REFMATERIA] ON [MATERIA] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_LAV]( [ID] [int] NOT NULL, [GF_RESTRICAO_LAV] [char](6) NOT NULL, [GF_DESC_RESTRICA] [varchar](40) NOT NULL, [GF_PASSADORIA_TE] [char](3) NULL, [GF_LAVAGEM_TEMPE] [char](3) NULL, [GF_LAVAGEM_COM_C] [char](1) NULL, [GF_LAVAR_A_SECO] [char](1) NULL, [GF_SECAR_SECADOR] [char](1) NULL, [GF_OBS] [varchar](254) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [CODIGO_FONT] [varchar](12) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LAV]') AND name = N'REFGF_MATERIAIS_LAV') CREATE UNIQUE NONCLUSTERED INDEX [REFGF_MATERIAIS_LAV] ON [GF_MATERIAIS_LAV] ( [EMP] ASC, [GF_RESTRICAO_LAV] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_LAV fecha de la secuencia de comandos: Sep 7 2001 13:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_LAV] ON [GF_MATERIAIS_LAV] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_LAV'')))=1) RETURN ELSE BEGIN DECLARE @LAVADO CHAR(8) DECLARE LAVADOV CURSOR FOR SELECT GF_RESTRICAO_LAV FROM INSERTED OPEN LAVADOV FETCH NEXT FROM LAVADOV INTO @LAVADO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT RESTRICAO_LAVAGEM FROM MATERIAIS_TIPO_LAVAGEM WHERE RESTRICAO_LAVAGEM=@LAVADO) BEGIN INSERT INTO MATERIAIS_TIPO_LAVAGEM (RESTRICAO_LAVAGEM,DESC_RESTRICAO_LAVAGEM,PASSADORIA_TEMPERATURA, LAVAGEM_TEMPERATURA,LAVAGEM_COM_CLORADOS,LAVAR_A_SECO,SECAR_SECADORA,OBS) SELECT GF_RESTRICAO_LAV,GF_DESC_RESTRICA,GF_PASSADORIA_TE,GF_LAVAGEM_TEMPE,GF_LAVAGEM_COM_C, GF_LAVAR_A_SECO,GF_SECAR_SECADOR,GF_OBS FROM GF_MATERIAIS_LAV WHERE GF_RESTRICAO_LAV=@LAVADO END ELSE BEGIN FETCH NEXT FROM LAVADOV INTO @LAVADO END FETCH NEXT FROM LAVADOV INTO @LAVADO END CLOSE LAVADOV DEALLOCATE LAVADOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_LAV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_LAV fecha de la secuencia de comandos: Sep 10 2001 15:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_LAV] ON [GF_MATERIAIS_LAV] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_LAV'')) ) < 2 ) BEGIN DECLARE @LAVADO CHAR(8), @LAVADOD CHAR(8) DECLARE LAVADODV CURSOR FOR SELECT GF_RESTRICAO_LAV FROM DELETED DECLARE LAVADOV CURSOR FOR SELECT GF_RESTRICAO_LAV FROM INSERTED OPEN LAVADODV OPEN LAVADOV FETCH NEXT FROM LAVADODV INTO @LAVADOD FETCH NEXT FROM LAVADOV INTO @LAVADO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT RESTRICAO_LAVAGEM FROM MATERIAIS_TIPO_LAVAGEM WHERE RESTRICAO_LAVAGEM=@LAVADOD) BEGIN UPDATE MATERIAIS_TIPO_LAVAGEM SET RESTRICAO_LAVAGEM=@LAVADO, DESC_RESTRICAO_LAVAGEM=(SELECT GF_DESC_RESTRICA FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), PASSADORIA_TEMPERATURA=(SELECT GF_PASSADORIA_TE FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), LAVAGEM_TEMPERATURA=(SELECT GF_LAVAGEM_TEMPE FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), LAVAGEM_COM_CLORADOS=(SELECT GF_LAVAGEM_COM_C FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), LAVAR_A_SECO=(SELECT GF_LAVAR_A_SECO FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), SECAR_SECADORA=(SELECT GF_SECAR_SECADOR FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO), OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_RESTRICAO_LAV=@LAVADO) WHERE RESTRICAO_LAVAGEM=@LAVADOD END ELSE BEGIN FETCH NEXT FROM LAVADODV INTO @LAVADOD FETCH NEXT FROM LAVADOV INTO @LAVADO END FETCH NEXT FROM LAVADODV INTO @LAVADOD FETCH NEXT FROM LAVADOV INTO @LAVADO END CLOSE LAVADODV DEALLOCATE LAVADODV CLOSE LAVADOV DEALLOCATE LAVADOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECP]( [ID] [int] NOT NULL, [GF_RECURSO_PRODU] [char](5) NOT NULL, [GF_DESC_RECURSO] [varchar](40) NULL, [GF_RECURSO_PROPR] [char](1) NOT NULL, [GF_TEMPO_ACRESCE] [float] NULL, [GF_UNIDADE_TEMPO] [int] NULL, [GF_RECURSO_INFIN] [int] NOT NULL, [GF_NOME_CLIFOR] [varchar](25) NULL, [GF_TIPO_RECURSO] [int] NOT NULL, [GF_OBS] [varchar](254) NULL, [GF_UTILIZA_MATER] [char](1) NOT NULL, [GF_UTILIZA_PRODU] [char](1) NOT NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECP]') AND name = N'XPKPRODUCAO_RECURSOS') CREATE UNIQUE NONCLUSTERED INDEX [XPKPRODUCAO_RECURSOS] ON [GF_PRODUCAO_RECP] ( [EMPRESA] ASC, [GF_RECURSO_PRODU] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUCAO_RECURSOS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCAO_RECURSOS] ON [GF_PRODUCAO_RECP] FOR DELETE NOT FOR REPLICATION AS /*INDIVIDUAL BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS A, DELETED B WHERE A.RECURSO_PRODUTIVO=B.GF_RECURSO_PRODU) DELETE FROM PRODUCAO_RECURSOS WHERE RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM DELETED) ELSE RETURN END */ /*MULTIPLE*/ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCAO_RECURSOS'')))=1) RETURN ELSE DECLARE @REC_PROD_DEL CHAR(5) DECLARE CUR_PROD_DEL CURSOR FOR SELECT GF_RECURSO_PRODU FROM DELETED OPEN CUR_PROD_DEL FETCH NEXT FROM CUR_PROD_DEL INTO @REC_PROD_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS A WHERE A.RECURSO_PRODUTIVO=@REC_PROD_DEL) DELETE FROM PRODUCAO_RECURSOS WHERE RECURSO_PRODUTIVO=(@REC_PROD_DEL) FETCH NEXT FROM CUR_PROD_DEL INTO @REC_PROD_DEL END CLOSE CUR_PROD_DEL DEALLOCATE CUR_PROD_DEL END/*rowcount*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFIV_PRODUCAO_RECURSOS] ON [GF_PRODUCAO_RECP] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUCAO_RECURSOS'')))=1) RETURN ELSE BEGIN IF NOT EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS A, INSERTED B WHERE A.RECURSO_PRODUTIVO=B.GF_RECURSO_PRODU) BEGIN INSERT INTO PRODUCAO_RECURSOS (RECURSO_PRODUTIVO,DESC_RECURSO,RECURSO_PROPRIO,TEMPO_ACRESCENTAR,UNIDADE_TEMPO,RECURSO_INFINITO, NOME_CLIFOR,TIPO_RECURSO,OBS,UTILIZA_MATERIAIS,UTILIZA_PRODUTOS) SELECT GF_RECURSO_PRODU,GF_DESC_RECURSO,GF_RECURSO_PROPR,GF_TEMPO_ACRESCE, (SELECT GF_ID_UNIDAD FROM GF_COMBO_UNID_TI WHERE ID=(SELECT GF_UNIDADE_TEMPO FROM INSERTED)), (SELECT GF_ID_TIPO FROM GF_COMBO_RECINF WHERE ID=(SELECT GF_RECURSO_INFIN FROM INSERTED)), (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_NOME_CLIFOR FROM INSERTED)), (SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT WHERE ID=(SELECT GF_TIPO_RECURSO FROM INSERTED)), GF_OBS,GF_UTILIZA_MATER,GF_UTILIZA_PRODU FROM GF_PRODUCAO_RECP A WHERE GF_RECURSO_PRODU=(SELECT GF_RECURSO_PRODU FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUCAO_RECURSOS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUCAO_RECURSOS] ON [GF_PRODUCAO_RECP] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_RECURSOS'')) ) < 2 ) BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS A, DELETED B WHERE A.RECURSO_PRODUTIVO=B.GF_RECURSO_PRODU) BEGIN UPDATE PRODUCAO_RECURSOS SET RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM INSERTED), DESC_RECURSO=(SELECT GF_DESC_RECURSO FROM INSERTED), RECURSO_PROPRIO=(SELECT GF_RECURSO_PROPR FROM INSERTED), TEMPO_ACRESCENTAR=(SELECT GF_TEMPO_ACRESCE FROM INSERTED), UNIDADE_TEMPO=(SELECT GF_ID_UNIDAD FROM GF_COMBO_UNID_TI WHERE ID=(SELECT GF_UNIDADE_TEMPO FROM INSERTED)), RECURSO_INFINITO=(SELECT GF_ID_TIPO FROM GF_COMBO_RECINF WHERE ID=(SELECT GF_RECURSO_INFIN FROM INSERTED)), NOME_CLIFOR=(SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_NOME_CLIFOR FROM INSERTED)), TIPO_RECURSO=(SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT WHERE ID=(SELECT GF_TIPO_RECURSO FROM INSERTED)), OBS=(SELECT GF_OBS FROM INSERTED), UTILIZA_MATERIAIS=(SELECT GF_UTILIZA_MATER FROM INSERTED), UTILIZA_PRODUTOS=(SELECT GF_UTILIZA_PRODU FROM INSERTED) WHERE RECURSO_PRODUTIVO=(SELECT GF_RECURSO_PRODU FROM INSERTED) END ELSE RETURN END */ /*MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_RECURSOS'')) ) < 2 ) BEGIN DECLARE @REC_PROD CHAR(5) DECLARE @REC_PROD_IN CHAR(5) DECLARE CUR_REC CURSOR FOR SELECT GF_RECURSO_PRODU FROM DELETED DECLARE CUR_REC_IN CURSOR FOR SELECT GF_RECURSO_PRODU FROM INSERTED OPEN CUR_REC --DELETED OPEN CUR_REC_IN --INSERTED FETCH NEXT FROM CUR_REC INTO @REC_PROD FETCH NEXT FROM CUR_REC_IN INTO @REC_PROD_IN IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT RECURSO_PRODUTIVO FROM PRODUCAO_RECURSOS A, DELETED B WHERE A.RECURSO_PRODUTIVO=@REC_PROD) BEGIN UPDATE PRODUCAO_RECURSOS SET RECURSO_PRODUTIVO=(@REC_PROD_IN), DESC_RECURSO=(SELECT GF_DESC_RECURSO FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN), RECURSO_PROPRIO=(SELECT GF_RECURSO_PROPR FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN), TEMPO_ACRESCENTAR=(SELECT GF_TEMPO_ACRESCE FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN), UNIDADE_TEMPO=(SELECT GF_ID_UNIDAD FROM GF_COMBO_UNID_TI WHERE ID=(SELECT GF_UNIDADE_TEMPO FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN)), RECURSO_INFINITO=(SELECT GF_ID_TIPO FROM GF_COMBO_RECINF WHERE ID=(SELECT GF_RECURSO_INFIN FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN)), NOME_CLIFOR=(SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_NOME_CLIFOR FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN)), TIPO_RECURSO=(SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT WHERE ID=(SELECT GF_TIPO_RECURSO FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN)), OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN), UTILIZA_MATERIAIS=(SELECT GF_UTILIZA_MATER FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN), UTILIZA_PRODUTOS=(SELECT GF_UTILIZA_PRODU FROM INSERTED WHERE GF_RECURSO_PRODU=@REC_PROD_IN) WHERE RECURSO_PRODUTIVO=(@REC_PROD) FETCH NEXT FROM CUR_REC INTO @REC_PROD FETCH NEXT FROM CUR_REC_IN INTO @REC_PROD_IN END /*IF EXISTS*/ END/*fetch_status*/ CLOSE CUR_REC CLOSE CUR_REC_IN DEALLOCATE CUR_REC DEALLOCATE CUR_REC_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERS_TRANSACOES_SPK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERS_TRANSACOES_SPK]( [USUARIO] [varchar](25) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [ACESSO_BLOQUEADO] [bit] NOT NULL, [INCLUIR] [bit] NOT NULL, [ALTERAR] [bit] NOT NULL, [EXCLUIR] [bit] NOT NULL, [PESQUISAR] [bit] NOT NULL, [PESQUISA_ESPECIAL] [bit] NOT NULL, [IMPRIMIR] [bit] NOT NULL, [CRIAR_RELATORIO] [bit] NOT NULL, [ITEM_EXCLUIR] [bit] NOT NULL, [ITEM_INCLUIR] [bit] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADO2]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADO2]( [ID] [int] NULL, [ACCESO] [smallint] NULL, [NOMBRE] [varchar](32) NULL, [CREAC] [int] NULL, [FECHAC] [datetime] NULL, [TSET] [int] NULL, [COLOR] [varchar](5) NULL, [COSTE] [float] NULL, [FECHAM] [datetime] NULL, [USERM] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[IACBORDADO2]') AND name = N'REFIACBORDADO2') CREATE UNIQUE NONCLUSTERED INDEX [REFIACBORDADO2] ON [IACBORDADO2] ( [NOMBRE] ASC, [COLOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FPROTOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FPROTOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTBORDA2CNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTBORDA2CNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GPROGRAMS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GPROGRAMS]( [ID] [smallint] NOT NULL, [NOMBRE] [char](24) NULL, [DESCRIPCION] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tD_GPROGRAMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.tD_GPROGRAMS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [tD_GPROGRAMS] ON [GPROGRAMS] FOR DELETE AS begin declare @idprog int, @errmsg varchar(255) delete RPROGRAM from RPROGRAM,deleted where RPROGRAM.IDGPROGRAMS = deleted.ID delete RGUSUARIOGPROGRAM from RGUSUARIOGPROGRAM,deleted where RGUSUARIOGPROGRAM.IDGPROGRAMS = deleted.ID delete RUSUARIOGPROGRAM from RUSUARIOGPROGRAM,deleted where RUSUARIOGPROGRAM.IDGPROGRAMS = deleted.ID end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETALLES_DIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETALLES_DIC]( [ESP] [varchar](32) NOT NULL, [ITA] [varchar](32) NOT NULL, [ENG] [varchar](32) NOT NULL, [CLI] [varchar](32) NOT NULL, [FRA] [varchar](32) NOT NULL, [DEU] [varchar](32) NOT NULL, [POR] [varchar](32) NOT NULL, [PER] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_SISDETALLES_DIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_SISDETALLES_DIC fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_SISDETALLES_DIC] ON [SISDETALLES_DIC] FOR UPDATE AS --RETURN BEGIN DECLARE @NOMDETALLE CHAR(32) IF UPDATE(ESP) AND (SELECT LAN FROM IDIOMA)=''ESP'' BEGIN SET @NOMDETALLE=(SELECT ESP FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT ESP FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT ESP FROM DELETED) END IF UPDATE(ITA) AND (SELECT LAN FROM IDIOMA)=''ITA'' BEGIN SET @NOMDETALLE=(SELECT ITA FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT ITA FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT ITA FROM DELETED) END IF UPDATE(ENG) AND (SELECT LAN FROM IDIOMA)=''ENG'' BEGIN SET @NOMDETALLE=(SELECT ENG FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT ENG FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT ENG FROM DELETED) END IF UPDATE(FRA) AND (SELECT LAN FROM IDIOMA)=''FRA'' BEGIN SET @NOMDETALLE=(SELECT FRA FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT FRA FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT FRA FROM DELETED) END IF UPDATE(DEU) AND (SELECT LAN FROM IDIOMA)=''DEU'' BEGIN SET @NOMDETALLE=(SELECT DEU FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT DEU FROM DELETED) END IF UPDATE(POR) AND (SELECT LAN FROM IDIOMA)=''POR'' BEGIN SET @NOMDETALLE=(SELECT DEU FROM INSERTED) UPDATE SISDETALLES_DIC SET CLI=@NOMDETALLE WHERE CLI=(SELECT DEU FROM DELETED) UPDATE SISDETALLES SET NOMDETALLE=@NOMDETALLE WHERE NOMDETALLE=(SELECT DEU FROM DELETED) END END RETURN --ATRIBUTOS DE CLASE --SP_HELPTEXT U_SISATRIBUTOS_DIC --DROP TRIGGER U_SISATRIBUTOS_DIC ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MEDIDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MEDIDA]( [ID] [int] NOT NULL, [MEDIDA] [varchar](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [VARCOLOR_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.IDVARCOLOR,CONVERT(VARCHAR, A.GF_EMPRESA) + '' '' + A.GF_PRODUTO,CONVERT(VARCHAR, A.GF_EMPRESA),A.GF_PRODUTO FROM VARCOLOR A' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GPROGRAMSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GPROGRAMSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MEDIDACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MEDIDACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COMBO_RECINF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COMBO_RECINF]( [ID] [int] NOT NULL, [GF_ID_TIPO] [char](1) NOT NULL, [GF_TIPO] [char](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETALLETIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETALLETIPOS]( [ID] [smallint] NULL, [NOMBRE] [char](16) NULL, [DBTIPO] [char](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRNDSIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRNDSIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NOT NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL, CONSTRAINT [XPRNDSIMG] UNIQUE NONCLUSTERED ( [CARPETA#] ASC, [PAGINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MEDIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MEDIDAS]( [IDCOMPONENTE] [int] NULL, [IDPRENDA] [int] NULL, [MEDIDA] [char](24) NULL, [REFCOMPONENTE] [char](8) NULL, [TALLABASE] [smallint] NULL, [MEDIDABASE] [float] NULL, [INCRBASE] [float] NULL, [INCRMAY] [float] NULL, [INCRMEN] [float] NULL, [NDROP] [smallint] NULL, [NCONFIG] [smallint] NULL, [NEXTRA] [smallint] NULL, [NOMCOMPONENTE] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOG_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOG_ALTERACOES]( [COLUNA] [varchar](40) NOT NULL, [SEQUENCIAL] [int] NOT NULL, [TABELA] [varchar](60) NOT NULL, [VALOR_ANTIGO] [varchar](40) NULL, [VALOR_NOVO] [varchar](40) NULL, CONSTRAINT [XPKLOG_ALTERACOES] PRIMARY KEY NONCLUSTERED ( [COLUNA] ASC, [SEQUENCIAL] ASC, [TABELA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOG_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOG_ALTERACOES] on [LOG_ALTERACOES] for INSERT as /* INSERT trigger on LOG_ALTERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOG_TRANSACOES LOG LOG_ALTERACOES ON CHILD INSERT RESTRICT */ if update(SEQUENCIAL) or update(TABELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOG_TRANSACOES where inserted.SEQUENCIAL = LOG_TRANSACOES.SEQUENCIAL and inserted.TABELA = LOG_TRANSACOES.TABELA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOG_ALTERACOES #porque #LOG_TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOG_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOG_ALTERACOES] on [LOG_ALTERACOES] for UPDATE as /* UPDATE trigger on LOG_ALTERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLUNA varchar(40), @insSEQUENCIAL varchar(12), @insTABELA varchar(60), @delCOLUNA varchar(40), @delSEQUENCIAL varchar(12), @delTABELA varchar(60), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOG_TRANSACOES LOG LOG_ALTERACOES ON CHILD UPDATE RESTRICT */ if update(SEQUENCIAL) or update(TABELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOG_TRANSACOES where inserted.SEQUENCIAL = LOG_TRANSACOES.SEQUENCIAL and inserted.TABELA = LOG_TRANSACOES.TABELA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOG_ALTERACOES #porque #LOG_TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COMBO_RECINFCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COMBO_RECINFCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPMENSAJES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPMENSAJES]( [GRP] [smallint] NULL, [ORDEN] [smallint] NULL, [MENSAJE] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LAVCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_LAVCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_STATUS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_STATUS]( [STATUS_COMPRA] [varchar](2) NOT NULL, [DESC_STATUS_COMPRA] [varchar](25) NOT NULL, [STATUS_APROVACAO] [char](1) NULL, CONSTRAINT [XPKCOMPRAS_STATUS] PRIMARY KEY NONCLUSTERED ( [STATUS_COMPRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_STATUS] on [COMPRAS_STATUS] for DELETE as /* DELETE trigger on COMPRAS_STATUS */ begin declare @errno int, @errmsg varchar(255) /* COMPRAS_STATUS R/1708 COMPRAS_STATUS_LOG ON PARENT DELETE CASCADE */ delete COMPRAS_STATUS_LOG from COMPRAS_STATUS_LOG,deleted where COMPRAS_STATUS_LOG.STATUS_COMPRA = deleted.STATUS_COMPRA /* COMPRAS_STATUS R/1707 COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.STATUS_COMPRA = deleted.STATUS_COMPRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_STATUS #porque existem registros em #COMPRAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_STATUS] on [COMPRAS_STATUS] for UPDATE as /* UPDATE trigger on COMPRAS_STATUS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSTATUS_COMPRA varchar(2), @delSTATUS_COMPRA varchar(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_STATUS R/1708 COMPRAS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(STATUS_COMPRA) BEGIN DECLARE COMPRAS_STATUS1708 CURSOR FOR SELECT STATUS_COMPRA FROM INSERTED DECLARE COMPRAS_STATUS994 CURSOR FOR SELECT STATUS_COMPRA FROM DELETED OPEN COMPRAS_STATUS1708 OPEN COMPRAS_STATUS994 FETCH NEXT FROM COMPRAS_STATUS1708 INTO @insSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS994 INTO @delSTATUS_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_STATUS_LOG SET COMPRAS_STATUS_LOG.STATUS_COMPRA=@insSTATUS_COMPRA WHERE COMPRAS_STATUS_LOG.STATUS_COMPRA = @delSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS1708 INTO @insSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS994 INTO @delSTATUS_COMPRA END END CLOSE COMPRAS_STATUS1708 CLOSE COMPRAS_STATUS994 DEALLOCATE COMPRAS_STATUS1708 DEALLOCATE COMPRAS_STATUS994 END /* COMPRAS_STATUS R/1707 COMPRAS ON PARENT UPDATE CASCADE */ IF update(STATUS_COMPRA) BEGIN DECLARE COMPRAS_STATUS1707 CURSOR FOR SELECT STATUS_COMPRA FROM INSERTED DECLARE COMPRAS_STATUS994 CURSOR FOR SELECT STATUS_COMPRA FROM DELETED OPEN COMPRAS_STATUS1707 OPEN COMPRAS_STATUS994 FETCH NEXT FROM COMPRAS_STATUS1707 INTO @insSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS994 INTO @delSTATUS_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.STATUS_COMPRA=@insSTATUS_COMPRA WHERE COMPRAS.STATUS_COMPRA = @delSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS1707 INTO @insSTATUS_COMPRA FETCH NEXT FROM COMPRAS_STATUS994 INTO @delSTATUS_COMPRA END END CLOSE COMPRAS_STATUS1707 CLOSE COMPRAS_STATUS994 DEALLOCATE COMPRAS_STATUS1707 DEALLOCATE COMPRAS_STATUS994 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETALLETIPOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETALLETIPOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MEDIDASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MEDIDASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOG_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOG_TRANSACOES]( [SEQUENCIAL] [int] IDENTITY(1,1) NOT NULL, [TABELA] [varchar](60) NOT NULL, [DATA_ATUALIZACAO] [datetime] NOT NULL, [TIPO_TRANSACAO] [char](1) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [USUARIO_LINX] [varchar](40) NULL, [USUARIO_WINDOWS] [varchar](40) NULL, [NOME_MAQUINA] [varchar](40) NULL, CONSTRAINT [XPKLOG_TRANSACOES] PRIMARY KEY NONCLUSTERED ( [SEQUENCIAL] ASC, [TABELA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOG_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOG_TRANSACOES] on [LOG_TRANSACOES] for DELETE as /* DELETE trigger on LOG_TRANSACOES */ begin declare @errno int, @errmsg varchar(255) /* LOG_TRANSACOES LOG LOG_ALTERACOES ON PARENT DELETE CASCADE */ delete LOG_ALTERACOES from LOG_ALTERACOES,deleted where LOG_ALTERACOES.SEQUENCIAL = deleted.SEQUENCIAL and LOG_ALTERACOES.TABELA = deleted.TABELA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOG_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOG_TRANSACOES] on [LOG_TRANSACOES] for UPDATE as /* UPDATE trigger on LOG_TRANSACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSEQUENCIAL varchar(12), @insTABELA varchar(60), @delSEQUENCIAL varchar(12), @delTABELA varchar(60), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOG_TRANSACOES LOG LOG_ALTERACOES ON PARENT UPDATE CASCADE */ IF update(SEQUENCIAL) OR update(TABELA) BEGIN DECLARE LOG_TRANSACOES1041 CURSOR FOR SELECT SEQUENCIAL, TABELA FROM INSERTED DECLARE LOG_TRANSACOES657 CURSOR FOR SELECT SEQUENCIAL, TABELA FROM DELETED OPEN LOG_TRANSACOES1041 OPEN LOG_TRANSACOES657 FETCH NEXT FROM LOG_TRANSACOES1041 INTO @insSEQUENCIAL, @insTABELA FETCH NEXT FROM LOG_TRANSACOES657 INTO @delSEQUENCIAL, @delTABELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOG_ALTERACOES SET LOG_ALTERACOES.SEQUENCIAL=@insSEQUENCIAL, LOG_ALTERACOES.TABELA=@insTABELA WHERE LOG_ALTERACOES.SEQUENCIAL = @delSEQUENCIAL and LOG_ALTERACOES.TABELA = @delTABELA FETCH NEXT FROM LOG_TRANSACOES1041 INTO @insSEQUENCIAL, @insTABELA FETCH NEXT FROM LOG_TRANSACOES657 INTO @delSEQUENCIAL, @delTABELA END END CLOSE LOG_TRANSACOES1041 CLOSE LOG_TRANSACOES657 DEALLOCATE LOG_TRANSACOES1041 DEALLOCATE LOG_TRANSACOES657 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COMBO_UNID_TI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COMBO_UNID_TI]( [ID] [int] NOT NULL, [GF_ID_UNIDAD] [char](1) NOT NULL, [GF_UNIDAD] [char](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISFORMULACLASCNTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISFORMULACLASCNTCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GRPMENSAJESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GRPMENSAJESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETCONFIG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETCONFIG]( [ID] [smallint] NOT NULL, [IDDETALLE] [smallint] NULL, [VARNAME] [char](20) NULL, [VALUE] [char](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[_GF_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [_GF_PRODUTOS_GRIF]( [ID] [smallint] NOT NULL, [GF_GRIFFE] [varchar](25) NOT NULL, [GF_LICENCIADO] [smallint] NOT NULL, [GF_ROYALTIES] [float] NULL, [GF_LICENCIADOR] [smallint] NOT NULL, [Data_para_transferencia] [datetime] NULL, [CODIGO] [char](2) NULL, [PORTE1] [float] NULL, [PORTE2] [float] NULL, [CONTROL] [int] NULL, [GG] [float] NULL, [GF] [float] NULL, [CO1] [float] NULL, [CO2] [float] NULL, [MU] [float] NULL, [GS] [float] NULL, [G1] [float] NULL, [G2] [float] NULL, [BEN] [float] NULL, [CODIGON] [char](2) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [ORDENPM] [int] NULL, CONSTRAINT [PK_GF_PRODUTOS_GRIF] PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUCTOS_GRIF fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCTOS_GRIF] ON [_GF_PRODUTOS_GRIF] FOR DELETE NOT FOR REPLICATION AS /*ESTO ES INDIVIDUAL BEGIN IF EXISTS (SELECT GRIFFE FROM PRODUTOS_GRIFFES A, DELETED B WHERE A.GRIFFE=B.GF_GRIFFE) DELETE FROM PRODUTOS_GRIFFES WHERE GRIFFE=(SELECT GRIFFE FROM DELETED) ELSE RETURN END */ /*ESTO ES MÚLTIPLE*/ BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_GRIF'')))=1) RETURN ELSE DECLARE @GRIFFE_DEL VARCHAR(25) DECLARE CUR_GRIFFE_DEL CURSOR FOR SELECT GF_GRIFFE FROM DELETED OPEN CUR_GRIFFE_DEL FETCH NEXT FROM CUR_GRIFFE_DEL INTO @GRIFFE_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT GRIFFE FROM PRODUTOS_GRIFFES A WHERE A.GRIFFE=@GRIFFE_DEL) DELETE FROM PRODUTOS_GRIFFES WHERE GRIFFE=(@GRIFFE_DEL) FETCH NEXT FROM CUR_GRIFFE_DEL INTO @GRIFFE_DEL END /*FSTATUS*/ CLOSE CUR_GRIFFE_DEL DEALLOCATE CUR_GRIFFE_DEL END/*rwc*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MOVMTM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MOVMTM]( [IDMOVMTM] [int] NULL, [COD_MOV] [char](16) NULL, [DESC_MOV] [char](32) NULL, [UMT_MOV] [real] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TIPO_LAVAGEM_FOTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TIPO_LAVAGEM_FOTO]( [NUMERO_FOTO] [int] NOT NULL, [RESTRICAO_LAVAGEM] [char](6) NOT NULL, [LEGENDA_FOTO] [varchar](50) NULL, [PATH_FOTO] [varchar](100) NULL, [OBS] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECT]( [ID] [int] NOT NULL, [GF_TIPO_RECURSO] [varchar](25) NOT NULL, [GF_UTILIZA_MATER] [char](1) NOT NULL, [GF_UTILIZA_PRODU] [char](1) NOT NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECT]') AND name = N'XPKPRODUCAO_RECURSO_TIPOS') CREATE UNIQUE NONCLUSTERED INDEX [XPKPRODUCAO_RECURSO_TIPOS] ON [GF_PRODUCAO_RECT] ( [EMPRESA] ASC, [GF_TIPO_RECURSO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCAO_RECT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFDV_PRODUCAO_RECT] ON [GF_PRODUCAO_RECT] FOR DELETE NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFD_PRODUCAO_RECURSO_TIPOS'' ) ) ) = 1 ) BEGIN RETURN END ELSE BEGIN DECLARE @TIPO_DEL VARCHAR(25) DECLARE CUR_TIPO_DEL CURSOR FOR SELECT GF_TIPO_RECURSO FROM DELETED OPEN CUR_TIPO_DEL FETCH NEXT FROM CUR_TIPO_DEL INTO @TIPO_DEL WHILE @@fetch_status=0 BEGIN IF EXISTS( SELECT TIPO_RECURSO FROM PRODUCAO_RECURSO_TIPOS A WHERE A.TIPO_RECURSO=@TIPO_DEL) DELETE FROM PRODUCAO_RECURSO_TIPOS WHERE TIPO_RECURSO=@TIPO_DEL FETCH NEXT FROM CUR_TIPO_DEL INTO @TIPO_DEL END CLOSE CUR_TIPO_DEL DEALLOCATE CUR_TIPO_DEL END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUCAO_RECT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' -- Cargamos los triggers actualizados de esta tabla... CREATE TRIGGER [GFIV_PRODUCAO_RECT] ON [GF_PRODUCAO_RECT] FOR INSERT NOT FOR REPLICATION AS IF NOT EXISTS( SELECT TIPO_RECURSO FROM PRODUCAO_RECURSO_TIPOS A, INSERTED B WHERE A.TIPO_RECURSO = B.GF_TIPO_RECURSO ) BEGIN INSERT INTO PRODUCAO_RECURSO_TIPOS ( TIPO_RECURSO, UTILIZA_MATERIAIS, UTILIZA_PRODUTOS ) SELECT GF_TIPO_RECURSO, GF_UTILIZA_MATER, GF_UTILIZA_PRODU FROM GF_PRODUCAO_RECT WHERE GF_TIPO_RECURSO = ( SELECT GF_TIPO_RECURSO FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUCAO_RECT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFUV_PRODUCAO_RECT] ON [GF_PRODUCAO_RECT] FOR UPDATE NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFUV_PRODUCAO_RECT'' ) ) ) = 1 ) and ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFU_PRODUCAO_RECURSO_TIPOS'' ) ) ) = 0 ) BEGIN DECLARE @TIP_REC VARCHAR(25) DECLARE @TIP_REC_IN VARCHAR(25) DECLARE CUR_TIPO CURSOR FOR SELECT GF_TIPO_RECURSO FROM DELETED DECLARE CUR_TIPO_IN CURSOR FOR SELECT GF_TIPO_RECURSO FROM INSERTED OPEN CUR_TIPO --DELETED OPEN CUR_TIPO_IN --INSERTED FETCH NEXT FROM CUR_TIPO INTO @TIP_REC FETCH NEXT FROM CUR_TIPO_IN INTO @TIP_REC_IN WHILE @@fetch_status=0 BEGIN IF EXISTS( SELECT TIPO_RECURSO FROM PRODUCAO_RECURSO_TIPOS A WHERE A.TIPO_RECURSO=@TIP_REC ) BEGIN UPDATE PRODUCAO_RECURSO_TIPOS SET TIPO_RECURSO = ( @TIP_REC_IN ), UTILIZA_MATERIAIS = ( SELECT GF_UTILIZA_MATER FROM INSERTED WHERE GF_TIPO_RECURSO=@TIP_REC_IN ), UTILIZA_PRODUTOS = ( SELECT GF_UTILIZA_PRODU FROM INSERTED WHERE GF_TIPO_RECURSO=@TIP_REC_IN ) WHERE TIPO_RECURSO = ( @TIP_REC ) END FETCH NEXT FROM CUR_TIPO INTO @TIP_REC FETCH NEXT FROM CUR_TIPO_IN INTO @TIP_REC_IN END CLOSE CUR_TIPO CLOSE CUR_TIPO_IN DEALLOCATE CUR_TIPO DEALLOCATE CUR_TIPO_IN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COMBO_UNID_TICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COMBO_UNID_TICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFTASKS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFTASKS]( [ID_WFSTASKS] [int] NOT NULL, [NAME] [varchar](80) NOT NULL, [DESCRIPTION] [varchar](255) NULL, PRIMARY KEY CLUSTERED ( [ID_WFSTASKS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GUSUARIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GUSUARIOS]( [ID] [int] NULL, [NOMBRE] [char](18) NULL, [DESCRIPCION] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tD_GUSUARIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.tD_GUSUARIOS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [tD_GUSUARIOS] ON [GUSUARIOS] FOR DELETE AS begin declare @idprog int, @errmsg varchar(255) delete RGUSUARIOGPROGRAM from RGUSUARIOGPROGRAM,deleted where RGUSUARIOGPROGRAM.IDGUSUARIOS = deleted.ID end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISFORMULADET]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISFORMULADET]( [ID] [smallint] NULL, [IDPROP] [smallint] NULL, [IDDETALLE] [smallint] NULL, [FORMULA] [char](250) NULL, [SHOWPROP] [char](254) NULL, [CANT] [smallint] NULL, [VALUNIT] [smallint] NULL, [VALTHIS] [smallint] NULL, [REPORTPOS] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_TIPOS]( [TIPO_COMPRA] [varchar](25) NOT NULL, CONSTRAINT [XPKCOMPRAS_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_COMPRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_TIPOS] on [COMPRAS_TIPOS] for DELETE as /* DELETE trigger on COMPRAS_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* COMPRAS_TIPOS R/2144 COMPRAS_DESPESA_POR_TIPO ON PARENT DELETE CASCADE */ delete COMPRAS_DESPESA_POR_TIPO from COMPRAS_DESPESA_POR_TIPO,deleted where COMPRAS_DESPESA_POR_TIPO.TIPO_COMPRA = deleted.TIPO_COMPRA /* COMPRAS_TIPOS R/1643 COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.TIPO_COMPRA = deleted.TIPO_COMPRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_TIPOS #porque existem registros em #COMPRAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_TIPOS] on [COMPRAS_TIPOS] for UPDATE as /* UPDATE trigger on COMPRAS_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_COMPRA varchar(25), @delTIPO_COMPRA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_TIPOS R/2144 COMPRAS_DESPESA_POR_TIPO ON PARENT UPDATE CASCADE */ IF update(TIPO_COMPRA) BEGIN DECLARE COMPRAS_TIPOS2144 CURSOR FOR SELECT TIPO_COMPRA FROM INSERTED DECLARE COMPRAS_TIPOS958 CURSOR FOR SELECT TIPO_COMPRA FROM DELETED OPEN COMPRAS_TIPOS2144 OPEN COMPRAS_TIPOS958 FETCH NEXT FROM COMPRAS_TIPOS2144 INTO @insTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS958 INTO @delTIPO_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA_POR_TIPO SET COMPRAS_DESPESA_POR_TIPO.TIPO_COMPRA=@insTIPO_COMPRA WHERE COMPRAS_DESPESA_POR_TIPO.TIPO_COMPRA = @delTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS2144 INTO @insTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS958 INTO @delTIPO_COMPRA END END CLOSE COMPRAS_TIPOS2144 CLOSE COMPRAS_TIPOS958 DEALLOCATE COMPRAS_TIPOS2144 DEALLOCATE COMPRAS_TIPOS958 END /* COMPRAS_TIPOS R/1643 COMPRAS ON PARENT UPDATE CASCADE */ IF update(TIPO_COMPRA) BEGIN DECLARE COMPRAS_TIPOS1643 CURSOR FOR SELECT TIPO_COMPRA FROM INSERTED DECLARE COMPRAS_TIPOS958 CURSOR FOR SELECT TIPO_COMPRA FROM DELETED OPEN COMPRAS_TIPOS1643 OPEN COMPRAS_TIPOS958 FETCH NEXT FROM COMPRAS_TIPOS1643 INTO @insTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS958 INTO @delTIPO_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.TIPO_COMPRA=@insTIPO_COMPRA WHERE COMPRAS.TIPO_COMPRA = @delTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS1643 INTO @insTIPO_COMPRA FETCH NEXT FROM COMPRAS_TIPOS958 INTO @delTIPO_COMPRA END END CLOSE COMPRAS_TIPOS1643 CLOSE COMPRAS_TIPOS958 DEALLOCATE COMPRAS_TIPOS1643 DEALLOCATE COMPRAS_TIPOS958 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETCONFIGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETCONFIGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MOVMTMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MOVMTMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_CABVEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_CABVEN]( [CLAVE1] [numeric](10, 0) NOT NULL, [NUMINF] [varchar](35) NULL, [FUNCION] [varchar](10) NULL, [FECINI] [datetime] NULL, [FECFIN] [datetime] NULL, [FECINF] [datetime] NULL, [PERVENINI] [datetime] NULL, [PERVENFIN] [datetime] NULL, [EANOFI] [varchar](17) NULL, [EANEMI] [varchar](17) NULL, [EANREC] [varchar](17) NULL, [EANVEN] [varchar](17) NULL, [EANALM] [varchar](17) NULL, [EANREP] [varchar](17) NULL, [EANPRO] [varchar](17) NULL, [EANADMSA] [varchar](17) NULL, [EANREPSR] [varchar](17) NULL, [ADMVENSA] [varchar](35) NULL, [REPDEPSR] [varchar](35) NULL, [EMAILSA] [varchar](35) NULL, [NUMFAXSA] [varchar](35) NULL, [NUMTELSA] [varchar](35) NULL, [NUMTLXSA] [varchar](35) NULL, [X400SA] [varchar](35) NULL, [EMAILSR] [varchar](35) NULL, [NUMFAXSR] [varchar](35) NULL, [NUMTELSR] [varchar](35) NULL, [NUMTLXSR] [varchar](35) NULL, [X400SR] [varchar](35) NULL, [NUMPRE] [varchar](35) NULL, [NUMINFSC] [varchar](35) NULL, [NUMCON] [varchar](35) NULL, [FECPRE] [datetime] NULL, [FECINFSC] [datetime] NULL, [FECCON] [datetime] NULL, [DIVPED] [varchar](3) NULL, [DIVPRE] [varchar](3) NULL, [DIVPAG] [varchar](3) NULL, [DIVPEDF] [varchar](3) NULL, [DIVPREF] [varchar](3) NULL, [DIVPAGF] [varchar](3) NULL, [TASCAM] [numeric](15, 3) NULL, [FECTAS] [datetime] NULL, [FECHA_CARGA] [datetime] NULL, [IGNORAR] [varchar](1) NULL, PRIMARY KEY CLUSTERED ( [CLAVE1] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COND_ENT_PGTO]( [ID] [int] NOT NULL, [GF_CONDICAO_PGTO] [char](3) NOT NULL, [GF_TIPO_CONDICAO] [char](6) NOT NULL, [GF_DESC_COND_PGT] [varchar](40) NOT NULL, [GF_NUMERO_PARCEL] [int] NULL, [GF_EXCLUSIVO_LIN] [char](1) NOT NULL, [GF_CONDICAO_ESPE] [char](1) NOT NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [EMP] [int] NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [GF_PARCELA_2] [int] NULL, [GF_PARCELA_3] [int] NULL, [GF_PARCELA_4] [int] NULL, [GF_PARCELA_5] [int] NULL, [GF_PARCELA_6] [int] NULL, [GF_PARCELA_7] [int] NULL, [GF_PARCELA_8] [int] NULL, [GF_PARCELA_9] [int] NULL, [GF_PARCELA_10] [int] NULL, [GF_PARCELA_11] [int] NULL, [GF_PARCELA_12] [int] NULL, [GF_PORCENTAGEM_1] [int] NULL, [GF_PORCENTAGEM_2] [int] NULL, [GF_PORCENTAGEM_3] [int] NULL, [GF_PORCENTAGEM_4] [int] NULL, [GF_PORCENTAGEM_5] [int] NULL, [GF_PORCENTAGEM_6] [int] NULL, [GF_PORCENTAGEM_7] [int] NULL, [GF_PORCENTAGEM_8] [int] NULL, [GF_PORCENTAGEM_9] [int] NULL, [GF_PORCENTAGEM_0] [int] NULL, [GF_PORCENTAGEM11] [int] NULL, [GF_PORCENTAGEM12] [int] NULL, [GF_PARCELA_1] [int] NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_COND_ENT_PGTO] ON [GF_COND_ENT_PGTO] FOR DELETE NOT FOR REPLICATION AS /* BEGIN IF EXISTS (SELECT CONDICAO_PGTO FROM COND_ENT_PGTOS A, DELETED B WHERE A.CONDICAO_PGTO=B.GF_CONDICAO_PGTO) DELETE FROM COND_ENT_PGTOS WHERE CONDICAO_PGTO=(SELECT GF_CONDICAO_PGTO FROM DELETED) ELSE RETURN END */ BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_COND_ENT_PGTO''))) =1) RETURN ELSE DECLARE @COND_PAGO_DEL CHAR(3) DECLARE CUR_COND_PAGO CURSOR FOR SELECT GF_CONDICAO_PGTO FROM DELETED OPEN CUR_COND_PAGO FETCH NEXT FROM CUR_COND_PAGO INTO @COND_PAGO_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status= 0 BEGIN IF EXISTS (SELECT CONDICAO_PGTO FROM COND_ENT_PGTOS A, DELETED B WHERE A.CONDICAO_PGTO=@COND_PAGO_DEL) DELETE FROM COND_ENT_PGTOS WHERE CONDICAO_PGTO=(@COND_PAGO_DEL) ELSE RETURN FETCH NEXT FROM CUR_COND_PAGO INTO @COND_PAGO_DEL END/*WHILE fetch_status*/ CLOSE CUR_COND_PAGO DEALLOCATE CUR_COND_PAGO END/*IF rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_COND_ENT_PGTO] ON [GF_COND_ENT_PGTO] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT CONDICAO_PGTO FROM COND_ENT_PGTOS A, INSERTED B WHERE A.CONDICAO_PGTO=B.GF_CONDICAO_PGTO) BEGIN INSERT INTO COND_ENT_PGTOS (CONDICAO_PGTO,TIPO_CONDICAO,DESC_COND_PGTO,NUMERO_PARCELAS,EXCLUSIVO_LINX,CONDICAO_ESPECIAL,DATA_PARA_TRANSFERENCIA, PARCELA_1,PARCELA_2,PARCELA_3,PARCELA_4,PARCELA_5,PARCELA_6, PARCELA_7,PARCELA_8,PARCELA_9,PARCELA_10,PARCELA_11,PARCELA_12, PORCENTAGEM_1,PORCENTAGEM_2,PORCENTAGEM_3,PORCENTAGEM_4,PORCENTAGEM_5,PORCENTAGEM_6, PORCENTAGEM_7,PORCENTAGEM_8,PORCENTAGEM_9,PORCENTAGEM_10,PORCENTAGEM_11,PORCENTAGEM_12) SELECT GF_CONDICAO_PGTO,GF_TIPO_CONDICAO,GF_DESC_COND_PGT,GF_NUMERO_PARCEL,GF_EXCLUSIVO_LIN,GF_CONDICAO_ESPE,GF_DATA_PARA_TRANSFERENCIA, GF_PARCELA_1,GF_PARCELA_2,GF_PARCELA_3,GF_PARCELA_4,GF_PARCELA_5,GF_PARCELA_6, GF_PARCELA_7,GF_PARCELA_8,GF_PARCELA_9,GF_PARCELA_10,GF_PARCELA_11,GF_PARCELA_12, GF_PORCENTAGEM_1,GF_PORCENTAGEM_2,GF_PORCENTAGEM_3,GF_PORCENTAGEM_4,GF_PORCENTAGEM_5,GF_PORCENTAGEM_6, GF_PORCENTAGEM_7,GF_PORCENTAGEM_8,GF_PORCENTAGEM_9,GF_PORCENTAGEM_0,GF_PORCENTAGEM11,GF_PORCENTAGEM12 FROM GF_COND_ENT_PGTO WHERE GF_CONDICAO_PGTO=(SELECT GF_CONDICAO_PGTO FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_COND_ENT_PGTO] ON [GF_COND_ENT_PGTO] FOR UPDATE NOT FOR REPLICATION AS RETURN /*ESTO ES INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_COND_ENT_PGTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT CONDICAO_PGTO FROM COND_ENT_PGTOS A, DELETED B WHERE A.CONDICAO_PGTO=B.GF_CONDICAO_PGTO) BEGIN UPDATE COND_ENT_PGTOS SET CONDICAO_PGTO=(SELECT GF_CONDICAO_PGTO FROM INSERTED), TIPO_CONDICAO=(SELECT GF_TIPO_CONDICAO FROM INSERTED), DESC_COND_PGTO=(SELECT GF_DESC_COND_PGT FROM INSERTED), NUMERO_PARCELAS=(SELECT GF_NUMERO_PARCEL FROM INSERTED), EXCLUSIVO_LINX=(SELECT GF_EXCLUSIVO_LIN FROM INSERTED), CONDICAO_ESPECIAL=(SELECT GF_CONDICAO_ESPE FROM INSERTED), PARCELA_1=(SELECT GF_PARCELA_1 FROM INSERTED), PARCELA_2=(SELECT GF_PARCELA_2 FROM INSERTED), PARCELA_3=(SELECT GF_PARCELA_3 FROM INSERTED), PARCELA_4=(SELECT GF_PARCELA_4 FROM INSERTED), PARCELA_5=(SELECT GF_PARCELA_5 FROM INSERTED), PARCELA_6=(SELECT GF_PARCELA_6 FROM INSERTED), PARCELA_7=(SELECT GF_PARCELA_7 FROM INSERTED), PARCELA_8=(SELECT GF_PARCELA_8 FROM INSERTED), PARCELA_9=(SELECT GF_PARCELA_9 FROM INSERTED), PARCELA_10=(SELECT GF_PARCELA_10 FROM INSERTED), PARCELA_11=(SELECT GF_PARCELA_11 FROM INSERTED), PARCELA_12=(SELECT GF_PARCELA_12 FROM INSERTED), PORCENTAGEM_1=(SELECT GF_PORCENTAGEM_1 FROM INSERTED), PORCENTAGEM_2=(SELECT GF_PORCENTAGEM_2 FROM INSERTED), PORCENTAGEM_3=(SELECT GF_PORCENTAGEM_3 FROM INSERTED), PORCENTAGEM_4=(SELECT GF_PORCENTAGEM_4 FROM INSERTED), PORCENTAGEM_5=(SELECT GF_PORCENTAGEM_5 FROM INSERTED), PORCENTAGEM_6=(SELECT GF_PORCENTAGEM_6 FROM INSERTED), PORCENTAGEM_7=(SELECT GF_PORCENTAGEM_7 FROM INSERTED), PORCENTAGEM_8=(SELECT GF_PORCENTAGEM_8 FROM INSERTED), PORCENTAGEM_9=(SELECT GF_PORCENTAGEM_9 FROM INSERTED), PORCENTAGEM_10=(SELECT GF_PORCENTAGEM_0 FROM INSERTED), PORCENTAGEM_11=(SELECT GF_PORCENTAGEM11 FROM INSERTED), PORCENTAGEM_12=(SELECT GF_PORCENTAGEM12 FROM INSERTED) WHERE CONDICAO_PGTO=(SELECT GF_CONDICAO_PGTO FROM DELETED) END ELSE RETURN END */ /*ESTO ES MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_COND_ENT_PGTO'')) ) < 2 ) BEGIN DECLARE @COND_PAGO CHAR(3) DECLARE @COND_PAGO_IN CHAR(3) DECLARE CUR_COND_PAGO CURSOR FOR SELECT GF_CONDICAO_PGTO FROM DELETED DECLARE CUR_COND_PAGO_IN CURSOR FOR SELECT GF_CONDICAO_PGTO FROM INSERTED OPEN CUR_COND_PAGO --DELETE OPEN CUR_COND_PAGO_IN --INSERT FETCH NEXT FROM CUR_COND_PAGO INTO @COND_PAGO FETCH NEXT FROM CUR_COND_PAGO_IN INTO @COND_PAGO_IN IF @@rowcount >=0 BEGIN WHILE @@fetch_status =0 BEGIN IF EXISTS (SELECT CONDICAO_PGTO FROM COND_ENT_PGTOS A, DELETED B WHERE A.CONDICAO_PGTO=@COND_PAGO) BEGIN UPDATE COND_ENT_PGTOS SET CONDICAO_PGTO=(@COND_PAGO_IN), TIPO_CONDICAO=(SELECT GF_TIPO_CONDICAO FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), DESC_COND_PGTO=(SELECT GF_DESC_COND_PGT FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), NUMERO_PARCELAS=(SELECT GF_NUMERO_PARCEL FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), EXCLUSIVO_LINX=(SELECT GF_EXCLUSIVO_LIN FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), CONDICAO_ESPECIAL=(SELECT GF_CONDICAO_ESPE FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_1=(SELECT GF_PARCELA_1 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_2=(SELECT GF_PARCELA_2 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_3=(SELECT GF_PARCELA_3 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_4=(SELECT GF_PARCELA_4 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_5=(SELECT GF_PARCELA_5 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_6=(SELECT GF_PARCELA_6 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_7=(SELECT GF_PARCELA_7 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_8=(SELECT GF_PARCELA_8 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_9=(SELECT GF_PARCELA_9 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_10=(SELECT GF_PARCELA_10 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_11=(SELECT GF_PARCELA_11 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PARCELA_12=(SELECT GF_PARCELA_12 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_1=(SELECT GF_PORCENTAGEM_1 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_2=(SELECT GF_PORCENTAGEM_2 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_3=(SELECT GF_PORCENTAGEM_3 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_4=(SELECT GF_PORCENTAGEM_4 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_5=(SELECT GF_PORCENTAGEM_5 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_6=(SELECT GF_PORCENTAGEM_6 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_7=(SELECT GF_PORCENTAGEM_7 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_8=(SELECT GF_PORCENTAGEM_8 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_9=(SELECT GF_PORCENTAGEM_9 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_10=(SELECT GF_PORCENTAGEM_0 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_11=(SELECT GF_PORCENTAGEM11 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN), PORCENTAGEM_12=(SELECT GF_PORCENTAGEM12 FROM INSERTED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN) WHERE CONDICAO_PGTO=(SELECT GF_CONDICAO_PGTO FROM DELETED WHERE GF_CONDICAO_PGTO = @COND_PAGO_IN) END/*IF EXISTS*/ FETCH NEXT FROM CUR_COND_PAGO INTO @COND_PAGO FETCH NEXT FROM CUR_COND_PAGO_IN INTO @COND_PAGO_IN END/*WHILE fecth_status*/ CLOSE CUR_COND_PAGO CLOSE CUR_COND_PAGO_IN DEALLOCATE CUR_COND_PAGO DEALLOCATE CUR_COND_PAGO_IN END /*IF rowcount*/ ELSE RETURN END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GUSUARIOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GUSUARIOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISFORMULADETCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISFORMULADETCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDIC]( [ID] [int] NULL, [SPANISH] [char](250) NULL, [ENGLISH] [char](250) NULL, [DEUTSCH] [char](250) NULL, [MARCA] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MSGERROR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MSGERROR]( [ERRORNUM] [int] NOT NULL, [ESP_MSGERROR] [varchar](254) NULL, [ITA_MSGERROR] [varchar](254) NULL, [ENG_MSGERROR] [varchar](254) NULL, [FRA_MSGERROR] [varchar](254) NULL, [DEU_MSGERROR] [varchar](254) NULL, [POR_MSGERROR] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDICCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDICCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COND_ENT_PGTOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_COND_ENT_PGTOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFACTIONS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFACTIONS]( [ID_WFACTIONS] [int] NOT NULL, [NAME] [varchar](80) NOT NULL, [DESCRIPTION] [varchar](255) NULL, PRIMARY KEY CLUSTERED ( [ID_WFACTIONS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INVLINK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INVLINK]( [ID] [int] NULL, [FORMO] [smallint] NULL, [CARPO] [int] NULL, [CLASIFO] [smallint] NULL, [PAGO] [int] NULL, [X] [smallint] NULL, [Y] [smallint] NULL, [FORMD] [smallint] NULL, [CARPD] [int] NULL, [CLASIFD] [smallint] NULL, [PAGD] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ODBC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ODBC]( [ID] [smallint] NULL, [CONTROLADOR] [varchar](64) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFAPPS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFAPPS]( [ID_WFAPPS] [int] NOT NULL, [NAME] [varchar](80) NOT NULL, PRIMARY KEY CLUSTERED ( [ID_WFAPPS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INVLINKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INVLINKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISFORMULACLAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISFORMULACLAS]( [ID] [smallint] NULL, [IDPROP] [smallint] NULL, [IDCLASE] [smallint] NULL, [FORMULA] [char](250) NULL, [SHOWPROP] [char](250) NULL, [CANT] [smallint] NULL, [VALUNIT] [smallint] NULL, [VALTHIS] [smallint] NULL, [REPORTPOS] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_KG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_KG]( [ID] [int] NOT NULL, [ACCESO] [smallint] NOT NULL, [OPERACION] [char](16) NOT NULL, [MERMA] [float] NOT NULL, [COSTE] [float] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [PROVEEDOR] [int] NULL, [EMP] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OPER_TEJ_KG]') AND name = N'XPKOPER_TEJ_KG') CREATE UNIQUE NONCLUSTERED INDEX [XPKOPER_TEJ_KG] ON [OPER_TEJ_KG] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OPER_TEJ_KG]') AND name = N'YPKOPER_TEJ_KG') CREATE UNIQUE NONCLUSTERED INDEX [YPKOPER_TEJ_KG] ON [OPER_TEJ_KG] ( [EMP] ASC, [OPERACION] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUBSTITUICOES_MATERIAL_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUBSTITUICOES_MATERIAL_PRODUTO]( [PRODUTO] [char](12) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [MATERIAL_SUBSTITUIDO] [char](11) NOT NULL, [COR_MATERIAL_SUBSTITUIDO] [char](10) NOT NULL, [TIPO_SUBSTITUICAO] [char](1) NULL, CONSTRAINT [XPKSUBSTITUICOES_MATERIAL_PROD] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [MATERIAL_SUBSTITUIDO] ASC, [COR_MATERIAL_SUBSTITUIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_SUBSTITUICOES_MATERIAL_PRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_SUBSTITUICOES_MATERIAL_PRO] on [SUBSTITUICOES_MATERIAL_PRODUTO] for INSERT as /* INSERT trigger on SUBSTITUICOES_MATERIAL_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SUBSTITUICOES_MATERIAL R/1679 SUBSTITUICOES_MATERIAL_PRODUTO ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SUBSTITUICOES_MATERIAL where inserted.MATERIAL = SUBSTITUICOES_MATERIAL.MATERIAL and inserted.COR_MATERIAL = SUBSTITUICOES_MATERIAL.COR_MATERIAL and inserted.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO and inserted.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL_PRODUTO #porque #SUBSTITUICOES_MATERIAL #não existe.'' goto error end end /* PRODUTOS R/1661 SUBSTITUICOES_MATERIAL_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL_PRODUTO #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SUBSTITUICOES_MATERIAL_PRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SUBSTITUICOES_MATERIAL_PRO] on [SUBSTITUICOES_MATERIAL_PRODUTO] for UPDATE as /* UPDATE trigger on SUBSTITUICOES_MATERIAL_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insMATERIAL_SUBSTITUIDO char(11), @insCOR_MATERIAL_SUBSTITUIDO char(10), @delPRODUTO char(12), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delMATERIAL_SUBSTITUIDO char(11), @delCOR_MATERIAL_SUBSTITUIDO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SUBSTITUICOES_MATERIAL R/1679 SUBSTITUICOES_MATERIAL_PRODUTO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SUBSTITUICOES_MATERIAL where inserted.MATERIAL = SUBSTITUICOES_MATERIAL.MATERIAL and inserted.COR_MATERIAL = SUBSTITUICOES_MATERIAL.COR_MATERIAL and inserted.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO and inserted.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL_PRODUTO #porque #SUBSTITUICOES_MATERIAL #não existe.'' goto error end end /* PRODUTOS R/1661 SUBSTITUICOES_MATERIAL_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL_PRODUTO #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CONTAS_PLANO]( [ID] [int] NOT NULL, [GF_CONTA_CONTABI] [char](20) NOT NULL, [GF_DESC_CONTA] [varchar](40) NOT NULL, [GF_TIPO_CONTA] [int] NOT NULL, [GF_CODIGO_HISTOR] [char](4) NOT NULL, [GF_CODIGO_RESUMI] [char](7) NOT NULL, [GF_INATIVA] [char](1) NOT NULL, [GF_SALDO] [float] NULL, [GF_CONTA_CORRIEN] [char](1) NOT NULL, [GF_DESATIVADA] [char](1) NOT NULL, [GF_INDICA_SINTET] [char](1) NOT NULL, [GF_SALDO_INICIAL] [float] NULL, [GF_ULTIMO_CHEQUE] [varchar](10) NULL, [GF_EXPORTACAO_CO] [varchar](20) NULL, [GF_EXPORTACAO_TI] [char](1) NULL, [GF_CONTA_RED] [varchar](20) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_CONTAS_PLANO]') AND name = N'XPKCONTAS_PLANO') CREATE UNIQUE NONCLUSTERED INDEX [XPKCONTAS_PLANO] ON [GF_CONTAS_PLANO] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFSTATUS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFSTATUS]( [ID_WFSTATUS] [int] NOT NULL, [NAME] [varchar](80) NOT NULL, PRIMARY KEY CLUSTERED ( [ID_WFSTATUS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KACTIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KACTIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ACABADOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ACABADOS]( [ID] [int] NOT NULL, [ACABADO] [varchar](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_HIST_PADRAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_HIST_PADRAO]( [CODIGO_HISTORICO] [char](4) NOT NULL, [HISTORICO_PADRAO] [varchar](40) NOT NULL, CONSTRAINT [XPKCONTAS_HIST_PADRAO] PRIMARY KEY NONCLUSTERED ( [CODIGO_HISTORICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_HIST_PADRAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_HIST_PADRAO] on [CONTAS_HIST_PADRAO] for DELETE as /* DELETE trigger on CONTAS_HIST_PADRAO */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_HIST_PADRAO CONTAS_HIST_PADRAO CONTAS_PLANO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_PLANO where CONTAS_PLANO.CODIGO_HISTORICO = deleted.CODIGO_HISTORICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_HIST_PADRAO #porque existem registros em #CONTAS_PLANO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_HIST_PADRAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_HIST_PADRAO] on [CONTAS_HIST_PADRAO] for UPDATE as /* UPDATE trigger on CONTAS_HIST_PADRAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_HISTORICO char(4), @delCODIGO_HISTORICO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_HIST_PADRAO CONTAS_HIST_PADRAO CONTAS_PLANO ON PARENT UPDATE CASCADE */ IF update(CODIGO_HISTORICO) BEGIN DECLARE CONTAS_HIST_PADRAO828 CURSOR FOR SELECT CODIGO_HISTORICO FROM INSERTED DECLARE CONTAS_HIST_PADRAO254 CURSOR FOR SELECT CODIGO_HISTORICO FROM DELETED OPEN CONTAS_HIST_PADRAO828 OPEN CONTAS_HIST_PADRAO254 FETCH NEXT FROM CONTAS_HIST_PADRAO828 INTO @insCODIGO_HISTORICO FETCH NEXT FROM CONTAS_HIST_PADRAO254 INTO @delCODIGO_HISTORICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_PLANO SET CONTAS_PLANO.CODIGO_HISTORICO=@insCODIGO_HISTORICO WHERE CONTAS_PLANO.CODIGO_HISTORICO = @delCODIGO_HISTORICO FETCH NEXT FROM CONTAS_HIST_PADRAO828 INTO @insCODIGO_HISTORICO FETCH NEXT FROM CONTAS_HIST_PADRAO254 INTO @delCODIGO_HISTORICO END END CLOSE CONTAS_HIST_PADRAO828 CLOSE CONTAS_HIST_PADRAO254 DEALLOCATE CONTAS_HIST_PADRAO828 DEALLOCATE CONTAS_HIST_PADRAO254 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISFORMULACLASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISFORMULACLASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TAB_]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_TAB_]( [ID] [int] NULL, [GF_PRODUTOS_TAB_] [varchar](25) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_KGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_KGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISEVENTDEFCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISEVENTDEFCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ODBCCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ODBCCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KACTION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KACTION]( [id] [smallint] NOT NULL, [actionn] [char](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_COMPOSICAO_OLD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_COMPOSICAO_OLD]( [DESC_COMPOSICAO] [varchar](150) NOT NULL, [PASSADORIA_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_COM_CLORADOS] [varchar](1) NULL, [LAVAR_A_SECO] [varchar](1) NULL, [SECAR_SECADORA] [varchar](1) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABELA_ERROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABELA_ERROS]( [TABELA] [char](30) NULL, [NUMERO_ERROS] [int] NULL, [DATA_ATUALIZACAO] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CONTAS_PLANOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CONTAS_PLANOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KANCHOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KANCHOS]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ACABADOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ACABADOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_INFORMES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_INFORMES]( [ID] [smallint] IDENTITY(1,1) NOT NULL, [CATEGORIA] [varchar](15) NULL, [ICONO] [smallint] NULL, [NOMBRE] [varchar](50) NULL, [DESCRIPCION] [varchar](255) NULL, [ORDEN] [smallint] NULL, [VISTA] [text] NULL, [MODIFICABLE] [char](1) NOT NULL DEFAULT ('S'), CONSTRAINT [RDX_INFORMES_pk] PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISINGPERMCLAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISINGPERMCLAS]( [IDCLASE] [smallint] NULL, [IDCLASEINGREDIENTE] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_MT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_MT]( [ID] [int] NOT NULL, [ACCESO] [smallint] NOT NULL, [OPERACION] [char](16) NOT NULL, [MERMA] [float] NOT NULL, [COSTE] [float] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [PROVEEDOR] [int] NULL, [EMP] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[F_PRODUCAO_PRECO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [F_PRODUCAO_PRECO] @xTexto /*---[VERSAO: 3.0]---*/ VarChar(30), @xEnc Char(1)=''F'', @xResultado VarChar(30) OUTPUT AS set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @xNormal Char(70), @xCripto Char(70) SELECT @xResultado = '''' SELECT @xNormal = '' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-,.'', @xCripto = ''Æ!+#$%^&*()|\][~?><:.,/{}@½QWERTYUIOPASDFGHJKLZXCVBNM1324580976;æ''+CHAR(216) WHERE @xEnc=''T'' SELECT @xCripto = '' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-,.'', @xNormal = ''Æ!+#$%^&*()|\][~?><:.,/{}@½QWERTYUIOPASDFGHJKLZXCVBNM1324580976;æ''+CHAR(216) WHERE @xEnc=''F'' WHILE @xTexto IS NOT NULL AND DATALENGTH(@XTEXTO)<>0 BEGIN SELECT @xResultado = @xResultado + SUBSTRING(@xCripto,CHARINDEX(SUBSTRING(@xTexto,1,1),@xNormal),1) SELECT @xTexto = SUBSTRING(@xTexto,2,30) END set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CONTAS_TIPO]( [ID] [int] NOT NULL, [GF_TIPO_CONTA] [varchar](25) NOT NULL, [GF_PARTICULAR] [char](1) NOT NULL, [GF_INDICA_SINTET] [char](1) NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_CONTAS_TIPO]') AND name = N'XPKCONTAS_TIPO') CREATE UNIQUE NONCLUSTERED INDEX [XPKCONTAS_TIPO] ON [GF_CONTAS_TIPO] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_CONTAS_TIPO fecha de la secuencia de comandos: Sep 6 2001 10:30AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_CONTAS_TIPO] ON [GF_CONTAS_TIPO] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_CONTAS_TIPO'')))=1) RETURN ELSE BEGIN DECLARE @TIPOC VARCHAR(25) DECLARE TIPOCV CURSOR FOR SELECT GF_TIPO_CONTA FROM DELETED OPEN TIPOCV FETCH NEXT FROM TIPOCV INTO @TIPOC WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO_CONTA FROM CONTAS_TIPO WHERE TIPO_CONTA=@TIPOC) DELETE FROM CONTAS_TIPO WHERE TIPO_CONTA=@TIPOC ELSE BEGIN FETCH NEXT FROM TIPOCV INTO @TIPOC END FETCH NEXT FROM TIPOCV INTO @TIPOC END CLOSE TIPOCV DEALLOCATE TIPOCV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_CONTAS_TIPO fecha de la secuencia de comandos: Sep 6 2001 09:35AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_CONTAS_TIPO] ON [GF_CONTAS_TIPO] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @TIPOC VARCHAR(25) DECLARE TIPOCV CURSOR FOR SELECT GF_TIPO_CONTA FROM INSERTED OPEN TIPOCV FETCH NEXT FROM TIPOCV INTO @TIPOC WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TIPO_CONTA FROM CONTAS_TIPO A, INSERTED B WHERE A.TIPO_CONTA=B.GF_TIPO_CONTA) BEGIN INSERT INTO CONTAS_TIPO (TIPO_CONTA,PARTICULAR,INDICA_SINTETICA) SELECT GF_TIPO_CONTA,GF_PARTICULAR,GF_INDICA_SINTET FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=@TIPOC END ELSE BEGIN FETCH NEXT FROM TIPOCV INTO @TIPOC END FETCH NEXT FROM TIPOCV INTO @TIPOC END CLOSE TIPOCV DEALLOCATE TIPOCV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_CONTAS_TIPO fecha de la secuencia de comandos: Sep 6 2001 10:25AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_CONTAS_TIPO] ON [GF_CONTAS_TIPO] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CONTAS_TIPO'')) ) < 2 ) BEGIN DECLARE @TIPOC VARCHAR (25), @TIPOCD VARCHAR (25) DECLARE TIPOCDV CURSOR FOR SELECT GF_TIPO_CONTA FROM DELETED DECLARE TIPOCV CURSOR FOR SELECT GF_TIPO_CONTA FROM INSERTED OPEN TIPOCDV OPEN TIPOCV FETCH NEXT FROM TIPOCDV INTO @TIPOCD FETCH NEXT FROM TIPOCV INTO @TIPOC IF @@rowcount >=0 BEGIN WHILE @@fetch_status =0 BEGIN IF EXISTS (SELECT TIPO_CONTA FROM CONTAS_TIPO WHERE TIPO_CONTA=@TIPOCD) BEGIN UPDATE CONTAS_TIPO SET TIPO_CONTA=@TIPOC, PARTICULAR=(SELECT GF_PARTICULAR FROM INSERTED WHERE GF_TIPO_CONTA=@TIPOC), INDICA_SINTETICA=(SELECT GF_INDICA_SINTET FROM INSERTED WHERE GF_TIPO_CONTA=@TIPOC) WHERE TIPO_CONTA=@TIPOCD END ELSE BEGIN FETCH NEXT FROM TIPOCDV INTO @TIPOCD FETCH NEXT FROM TIPOCV INTO @TIPOC END FETCH NEXT FROM TIPOCDV INTO @TIPOCD FETCH NEXT FROM TIPOCV INTO @TIPOC END CLOSE TIPOCDV CLOSE TIPOCV DEALLOCATE TIPOCDV DEALLOCATE TIPOCV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KANCHOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KANCHOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ATEJI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ATEJI]( [ID] [int] NOT NULL, [TEJIDO] [int] NULL, [ANCHO] [float] NULL, [LARGO] [float] NULL, [CALIDAD] [smallint] NULL, [UNIT] [smallint] NULL, [COMENTARIO] [char](80) NULL, [CANTIDAD] [smallint] NULL, [REF] [char](32) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISINGPERMCLASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISINGPERMCLASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TB_CONTROL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TB_CONTROL]( [CHAVE] [char](50) NOT NULL, [CONTROL] [char](50) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CONTAS_TIPOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CONTAS_TIPOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFPROCESSDEF_DET]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFPROCESSDEF_DET]( [ID_WFPROCDEFDET] [int] NOT NULL, [ID_PROCESSDEF] [int] NULL, [TASK] [int] NULL, [USERGROUP] [smallint] NULL, [DEPENDENCIES] [varchar](80) NULL, [DAYS] [int] NULL, [HOURS] [int] NULL, [MINUTES] [int] NULL, [ACTION] [smallint] NULL, [APPLICATION] [smallint] NULL, [PARAMETERS] [varchar](80) NULL, PRIMARY KEY CLUSTERED ( [ID_WFPROCDEFDET] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KAPP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KAPP]( [id] [smallint] NOT NULL, [appn] [char](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ATEJICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ATEJICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISMACRO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISMACRO]( [IDSISMACRO] [int] NOT NULL, [IDCLASS] [int] NOT NULL, [TYPE] [int] NOT NULL, [TITLE] [varchar](80) NOT NULL, [VALUE] [varchar](250) NOT NULL, [VALUE2] [varchar](255) NULL, [VALUE3] [varchar](250) NULL, [DESCR] [varchar](250) NULL, [ASKCOLLAYOUT] [varchar](64) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_TITLE_SISMACRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_TITLE_SISMACRO fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_TITLE_SISMACRO] ON [SISMACRO] FOR DELETE AS --RETURN BEGIN DECLARE @TITLE VARCHAR(24), @IDCLASS INT DECLARE CLI_IDCLASS CURSOR FOR SELECT TITLE,IDCLASS FROM DELETED OPEN CLI_IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM SISMACRO_DIC WHERE CLI=@TITLE AND IDCLASS=@IDCLASS FETCH NEXT FROM CLI_IDDETALLE INTO @TITLE,@IDCLASS END CLOSE CLI_IDCLASS DEALLOCATE CLI_IDCLASS END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_TITLE_SISMACRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_TITLE_SISMACRO fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_TITLE_SISMACRO] ON [SISMACRO] FOR INSERT AS --RETURN BEGIN DECLARE @TITLE VARCHAR(24), @IDCLASS INT DECLARE CLI_IDCLASS CURSOR FOR SELECT TITLE,IDCLASS FROM INSERTED OPEN CLI_IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO SISMACRO_DIC (IDCLASS,ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT IDCLASS,TITLE,TITLE,TITLE,TITLE,TITLE,TITLE,TITLE,NULL FROM SISMACRO WHERE TITLE=@TITLE AND IDCLASS=@IDCLASS FETCH NEXT FROM CLI_IDCLASS INTO @TITLE,@IDCLASS END CLOSE CLI_IDCLASS DEALLOCATE CLI_IDCLASS END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_MTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_MTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_TE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_TE]( [ID] [int] NOT NULL, [ACCESO] [smallint] NOT NULL, [OPERACION] [char](16) NOT NULL, [MERMA] [float] NOT NULL, [COSTE] [float] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [PROVEEDOR] [int] NULL, [EMP] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OPER_TEJ_TE]') AND name = N'XPKOPER_TEJ_KG') CREATE UNIQUE NONCLUSTERED INDEX [XPKOPER_TEJ_KG] ON [OPER_TEJ_TE] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[OPER_TEJ_TE]') AND name = N'YPKOPER_TEJ_KG') CREATE UNIQUE NONCLUSTERED INDEX [YPKOPER_TEJ_KG] ON [OPER_TEJ_TE] ( [EMP] ASC, [OPERACION] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Adriano]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Adriano] AS SELECT ISNULL((SELECT (SUM(SIZE)/512) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0)DATA_TAM,ISNULL((SELECT (SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID<>8),0)) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0) DATA_SOBRA, ISNULL((SELECT SUM((SIZE/512))TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_TAM,ISNULL((SELECT SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID=8),0)TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_SOBRA if exists (select * from sysobjects where id = object_id(''dbo.LX_ESPACO'') and sysstat & 0xf = 4) drop procedure dbo.LX_ESPACO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KAPPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KAPPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FACT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FACT]( [ID] [int] NOT NULL, [NOMBRE] [varchar](25) NOT NULL, [COMENTARIO] [char](80) NULL, [SERVIDOR] [char](32) NOT NULL, [DB] [char](32) NOT NULL, [CONTROLADOR] [smallint] NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISMACROCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISMACROCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRNDS_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [PRNDS_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.CARPETA#,A.SERIE + '' '' + A.DESCSERIE,A.SERIE,A.DESCSERIE FROM PRNDS A' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[OPER_TEJ_TECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [OPER_TEJ_TECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECU]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECU]( [ID] [int] NOT NULL, [ID_FASE_PRODUCAO] [int] NOT NULL, [GF_FASE_PRODUCAO] [varchar](25) NOT NULL, [GF_RECURSO_PRODU] [varchar](5) NOT NULL, [GF_ORDEM_SELECAO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Adrianoo]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Adrianoo] AS SELECT ISNULL((SELECT (SUM(SIZE)/512) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0)DATA_TAM,ISNULL((SELECT (SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID<>8),0)) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0) DATA_SOBRA, ISNULL((SELECT SUM((SIZE/512))TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_TAM,ISNULL((SELECT SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID=8),0)TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_SOBRA if exists (select * from sysobjects where id = object_id(''dbo.LX_ESPACO'') and sysstat & 0xf = 4) drop procedure dbo.LX_ESPACO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFPROCESSACT_DET]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFPROCESSACT_DET]( [ID_WFPROCACTDET] [int] NOT NULL, [ID_PROCESSACT] [int] NULL, [TASK] [int] NULL, [USERSGROUP] [smallint] NULL, [DEPENDENCIES] [varchar](80) NULL, [DAYS] [int] NULL, [HOURS] [int] NULL, [MINUTES] [int] NULL, [ACTION] [smallint] NULL, [APPLICATION] [smallint] NULL, [PARAMETERS] [varchar](80) NULL, [STATUS] [smallint] NULL, [ACTOR] [smallint] NULL, [STARTTIMEACT] [datetime] NULL, [FINISHTIMEACT] [datetime] NULL, [LEADTIME] [datetime] NULL, [COMMENT] [varchar](254) NULL, PRIMARY KEY CLUSTERED ( [ID_WFPROCACTDET] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CUSTOMER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CUSTOMER]( [ID] [int] NULL, [CODIGO] [int] NULL, [NOMBRE] [char](20) NULL, [APELLIDOS] [char](40) NULL, [CALLE] [char](20) NULL, [LOCALIDAD] [char](20) NULL, [PROVINCIA] [char](20) NULL, [POSTAL] [char](10) NULL, [TELEFONO] [char](20) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FACTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FACTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDO]( [ID] [int] NULL, [PRENDA] [int] NULL, [CLIENTE] [int] NULL, [USUARIO] [int] NULL, [ESTADO] [int] NULL, [COMENTARIO] [char](150) NULL, [FECHA] [datetime] NULL, [FECHAPROC] [datetime] NULL, [SIMETRICO] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_RECUCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_RECUCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_BAIXA_CLUSTER]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_BAIXA_CLUSTER] AS DECLARE @NAME VARCHAR(100), @TABELA VARCHAR(100) DECLARE TAB_CLUSTER SCROLL CURSOR FOR SELECT NAME,OBJECT_NAME(ID)TABELA FROM SYSINDEXES WHERE NAME LIKE ''PK%'' AND INDID=1 SET NOCOUNT ON OPEN TAB_CLUSTER FETCH NEXT FROM TAB_CLUSTER INTO @NAME, @TABELA WHILE (@@fetch_status <> -1) --AND @@fetch_status <> -2 BEGIN IF (@@fetch_status <> -2) BEGIN EXEC (''ALTER TABLE ''+@TABELA+'' DROP CONSTRAINT '' + @NAME) END FETCH NEXT FROM TAB_CLUSTER INTO @NAME, @TABELA END CLOSE TAB_CLUSTER DEALLOCATE TAB_CLUSTER ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CUSTOMERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CUSTOMERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_TIPO_LANC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_TIPO_LANC]( [TIPO_LANCAMENTO] [varchar](25) NOT NULL, [INDICADOR_TIPO] [char](1) NOT NULL, [CLASSIF_CONTABIL] [char](16) NULL, [CLASIF_CONTABLE] [char](16) NULL, [CLASIF_CONTABIL] [char](16) NULL, CONSTRAINT [XPKCONTAS_TIPO_LANC] PRIMARY KEY NONCLUSTERED ( [TIPO_LANCAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_TIPO_LANC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_TIPO_LANC] on [CONTAS_TIPO_LANC] for DELETE as /* DELETE trigger on CONTAS_TIPO_LANC */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_TIPO_LANC CONTAS_TIPO_LANC CONTAS_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANCAMENTOS where CONTAS_LANCAMENTOS.TIPO_LANCAMENTO = deleted.TIPO_LANCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_TIPO_LANC #porque existem registros em #CONTAS_LANCAMENTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_TIPO_LANC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_TIPO_LANC] on [CONTAS_TIPO_LANC] for UPDATE as /* UPDATE trigger on CONTAS_TIPO_LANC */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_LANCAMENTO varchar(25), @delTIPO_LANCAMENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_TIPO_LANC CONTAS_TIPO_LANC CONTAS_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(TIPO_LANCAMENTO) BEGIN DECLARE CONTAS_TIPO_LANC751 CURSOR FOR SELECT TIPO_LANCAMENTO FROM INSERTED DECLARE CONTAS_TIPO_LANC524 CURSOR FOR SELECT TIPO_LANCAMENTO FROM DELETED OPEN CONTAS_TIPO_LANC751 OPEN CONTAS_TIPO_LANC524 FETCH NEXT FROM CONTAS_TIPO_LANC751 INTO @insTIPO_LANCAMENTO FETCH NEXT FROM CONTAS_TIPO_LANC524 INTO @delTIPO_LANCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANCAMENTOS SET CONTAS_LANCAMENTOS.TIPO_LANCAMENTO=@insTIPO_LANCAMENTO WHERE CONTAS_LANCAMENTOS.TIPO_LANCAMENTO = @delTIPO_LANCAMENTO FETCH NEXT FROM CONTAS_TIPO_LANC751 INTO @insTIPO_LANCAMENTO FETCH NEXT FROM CONTAS_TIPO_LANC524 INTO @delTIPO_LANCAMENTO END END CLOSE CONTAS_TIPO_LANC751 CLOSE CONTAS_TIPO_LANC524 DEALLOCATE CONTAS_TIPO_LANC751 DEALLOCATE CONTAS_TIPO_LANC524 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFPROCESSDEFCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFPROCESSDEFCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_SETO]( [ID] [int] NOT NULL, [ID_FASE_PRODUCAO] [int] NOT NULL, [GF_FASE_PRODUCAO] [varchar](25) NOT NULL, [GF_SETOR_PRODUCA] [varchar](25) NOT NULL, [GF_DESC_SETOR_PR] [varchar](40) NULL, [GF_TIPO_TAREFA_S] [char](1) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFDV_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 17:40PM ******/ -------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCAO_SETO] ON [GF_PRODUCAO_SETO] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCAO_SETOR'')))=1) RETURN ELSE BEGIN DECLARE @SECTOR VARCHAR(25), @FASE VARCHAR(25) DECLARE SECTORV CURSOR FOR SELECT GF_FASE_PRODUCAO,GF_SETOR_PRODUCA FROM DELETED OPEN SECTORV FETCH NEXT FROM SECTORV INTO @FASE,@SECTOR WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT SETOR_PRODUCAO FROM PRODUCAO_SETOR WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE) BEGIN DELETE FROM PRODUCAO_SETOR WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE END FETCH NEXT FROM SECTORV INTO @FASE,@SECTOR END CLOSE SECTORV DEALLOCATE SECTORV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFIV_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 16:55PM ******/ -------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUCAO_SETO] ON [GF_PRODUCAO_SETO] FOR INSERT NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFI_PRODUCAO_SETO'' ) ) ) = 1 ) BEGIN RETURN END ELSE BEGIN DECLARE SECTORV CURSOR FOR SELECT GF_FASE_PRODUCAO, GF_SETOR_PRODUCA FROM INSERTED DECLARE @FASE VARCHAR(25), @SECTOR VARCHAR(25) OPEN SECTORV FETCH NEXT FROM SECTORV INTO @FASE, @SECTOR WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS (SELECT SETOR_PRODUCAO FROM PRODUCAO_SETOR WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO = @FASE) BEGIN INSERT INTO PRODUCAO_SETOR (FASE_PRODUCAO, SETOR_PRODUCAO, DESC_SETOR_PRODUCAO, TIPO_TAREFA_SUGERIDO ) SELECT GF_FASE_PRODUCAO, GF_SETOR_PRODUCA, GF_DESC_SETOR_PR, GF_TIPO_TAREFA_S FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA = @SECTOR AND GF_FASE_PRODUCAO = @FASE END FETCH NEXT FROM SECTORV INTO @FASE, @SECTOR END CLOSE SECTORV DEALLOCATE SECTORV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFUV_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 17:15PM ******/ ---------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUCAO_SETO] ON [GF_PRODUCAO_SETO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUCAO_FASE'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_FASE'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_FASE'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUCAO_SETO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_SETO'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_SETO'')) ) < 2 ) BEGIN DECLARE @FASED VARCHAR(25), @FASE VARCHAR(25), @SECTORD VARCHAR(25) , @SECTOR VARCHAR(25) DECLARE SECTORDV CURSOR FOR SELECT GF_FASE_PRODUCAO,GF_SETOR_PRODUCA FROM DELETED DECLARE SECTORV CURSOR FOR SELECT GF_FASE_PRODUCAO,GF_SETOR_PRODUCA FROM INSERTED OPEN SECTORDV OPEN SECTORV FETCH NEXT FROM SECTORDV INTO @FASED, @SECTORD FETCH NEXT FROM SECTORV INTO @FASE, @SECTOR IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT SETOR_PRODUCAO FROM PRODUCAO_SETOR WHERE SETOR_PRODUCAO=@SECTORD AND FASE_PRODUCAO=@FASED) BEGIN UPDATE PRODUCAO_SETOR SET FASE_PRODUCAO=@FASE, SETOR_PRODUCAO=@SECTOR, DESC_SETOR_PRODUCAO=(SELECT GF_DESC_SETOR_PR FROM INSERTED WHERE GF_FASE_PRODUCAO=@FASE AND GF_SETOR_PRODUCA=@SECTOR), TIPO_TAREFA_SUGERIDO=(SELECT CONVERT(CHAR(1),GF_TIPO_TAREFA_S) FROM INSERTED WHERE GF_FASE_PRODUCAO=@FASE AND GF_SETOR_PRODUCA=@SECTOR) WHERE SETOR_PRODUCAO=@SECTORD AND FASE_PRODUCAO=@FASED END FETCH NEXT FROM SECTORDV INTO @FASED, @SECTORD FETCH NEXT FROM SECTORV INTO @FASE, @SECTOR END CLOSE SECTORDV DEALLOCATE SECTORDV CLOSE SECTORV DEALLOCATE SECTORV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_BAIXA_TRIGGER]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_BAIXA_TRIGGER] @Tabela VarChar(35)=NULL AS DECLARE @NAME VARCHAR(100) IF @Tabela IS NULL DECLARE TABELAS SCROLL CURSOR FOR SELECT NAME FROM SYSOBJECTS WHERE TYPE=''TR'' ORDER BY NAME ELSE DECLARE TABELAS SCROLL CURSOR FOR SELECT NAME FROM SYSOBJECTS WHERE TYPE=''TR'' AND Name LIKE ''%''+RTRIM(@Tabela) ORDER BY NAME SET NOCOUNT ON OPEN TABELAS FETCH NEXT FROM TABELAS INTO @NAME WHILE (@@FETCH_STATUS <> -1) --AND @@FETCH_STATUS <> -2 BEGIN IF (@@FETCH_STATUS <> -2) BEGIN EXEC (''DROP TRIGGER ''+ @NAME) END FETCH NEXT FROM TABELAS INTO @NAME END CLOSE TABELAS DEALLOCATE TABELAS ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CART_COLCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CART_COLCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISPROP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISPROP]( [ID] [smallint] NULL, [NOMBRE] [char](32) NULL, [UNIDAD] [smallint] NULL, [ACCESO] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_NOMBRE_SISPROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_NOMBRE_SISPROP fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_NOMBRE_SISPROP] ON [SISPROP] FOR DELETE AS --RETURN BEGIN DELETE FROM SISPROP_DIC WHERE CLI=(SELECT NOMBRE FROM DELETED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_NOMBRE_SISPROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_NOMBRE_SISPROP fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_NOMBRE_SISPROP] ON [SISPROP] FOR INSERT AS --RETURN BEGIN INSERT INTO SISPROP_DIC (ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NOMBRE,NULL FROM SISPROP WHERE NOMBRE=(SELECT NOMBRE FROM INSERTED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_NOMBRE_SISPROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_NOMBRE_SISPROP fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_NOMBRE_SISPROP] ON [SISPROP] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISPROP_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_NOMBRE_SISPROP'')) ) < 2 ) IF UPDATE(NOMBRE) BEGIN UPDATE SISPROP_DIC SET CLI=(SELECT NOMBRE FROM INSERTED) WHERE CLI=(SELECT NOMBRE FROM DELETED) IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISPROP_DIC SET PER=(SELECT NOMBRE FROM INSERTED) WHERE CLI=(SELECT NOMBRE FROM DELETED) END END RETURN ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORDENCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORDENCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOMARK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOMARK]( [PEDIDOID] [int] NULL, [COMPONENTE] [char](80) NULL, [MARCADA] [int] NULL, [ESTADOMRK] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUCAO_SETOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUCAO_SETOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFPROCESSDEF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFPROCESSDEF]( [ID_WFPROCESSDEF] [int] NOT NULL, [ACCESSO] [int] NULL, [NAME] [varchar](80) NULL, [DAYS] [int] NULL, [HOURS] [int] NULL, [MINUTES] [int] NULL, [DESCRIPTION] [varchar](254) NULL, PRIMARY KEY CLUSTERED ( [ID_WFPROCESSDEF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[WFPROCESSDEF]') AND name = N'YWFPROCESSDEF') CREATE UNIQUE NONCLUSTERED INDEX [YWFPROCESSDEF] ON [WFPROCESSDEF] ( [NAME] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KCUA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KCUA]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CADE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CADE] @TEXTO VARCHAR(100)=NULL AS IF SUBSTRING(@TEXTO,1,1) <> ''%'' SELECT @TEXTO = ''%''+@TEXTO IF SUBSTRING(@TEXTO,DATALENGTH(@TEXTO),1) <> ''%'' SELECT @TEXTO = @TEXTO+''%'' SELECT * FROM SYSOBJECTS WHERE NAME LIKE @TEXTO AND TYPE = ''U'' ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KCUACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KCUACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TIPO]( [TIPO] [varchar](25) NOT NULL, CONSTRAINT [XPKMATERIAIS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 13:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_TIP] ON [MATERIAIS_TIPO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MATERIAIS_TIP'')))=1) RETURN ELSE DECLARE @TIPO VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO FROM GF_MATERIAIS_TIP A, DELETED B WHERE A.GF_TIPO=B.TIPO) DELETE FROM GF_MATERIAIS_TIP WHERE GF_TIPO=@TIPO ELSE BEGIN FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 12:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_TIP] ON [MATERIAIS_TIPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_TIP0'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO FROM INSERTED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TIPO FROM GF_MATERIAIS_TIP WHERE GF_TIPO=@TIPO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_TIP (ID,GF_TIPO,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TIPO,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_TIPO A, GF_MATERIAIS_TIPCNT B WHERE TIPO=@TIPO UPDATE GF_MATERIAIS_TIPCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Tipo de Material, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 12:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_TIP] ON [MATERIAIS_TIPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_TIP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_TIP'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_TIP'')) ) < 2 ) BEGIN DECLARE @TIPOD VARCHAR(25) DECLARE @TIPO VARCHAR(25) DECLARE TIPOD CURSOR FOR SELECT TIPO FROM DELETED DECLARE TIPO CURSOR FOR SELECT TIPO FROM INSERTED OPEN TIPOD OPEN TIPO FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO FROM GF_MATERIAIS_TIP WHERE GF_TIPO=@TIPOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_TIP SET GF_TIPO=@TIPO, USERM=@USER,FECHAM=GETDATE() WHERE GF_TIPO=@TIPOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Tipo de Material, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPOD DEALLOCATE TIPOD CLOSE TIPO DEALLOCATE TIPO END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_TIPO] on [MATERIAIS_TIPO] for DELETE as /* DELETE trigger on MATERIAIS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_TIPO R/1984 MATERIAIS_TIPO_GRUPO ON PARENT DELETE CASCADE */ delete MATERIAIS_TIPO_GRUPO from MATERIAIS_TIPO_GRUPO,deleted where MATERIAIS_TIPO_GRUPO.TIPO = deleted.TIPO /* MATERIAIS_TIPO MATERIAIS_TIPO MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TIPO #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_TIPO] on [MATERIAIS_TIPO] for UPDATE as /* UPDATE trigger on MATERIAIS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TIPO R/1984 MATERIAIS_TIPO_GRUPO ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE MATERIAIS_TIPO1984 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE MATERIAIS_TIPO547 CURSOR FOR SELECT TIPO FROM DELETED OPEN MATERIAIS_TIPO1984 OPEN MATERIAIS_TIPO547 FETCH NEXT FROM MATERIAIS_TIPO1984 INTO @insTIPO FETCH NEXT FROM MATERIAIS_TIPO547 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_TIPO_GRUPO SET MATERIAIS_TIPO_GRUPO.TIPO=@insTIPO WHERE MATERIAIS_TIPO_GRUPO.TIPO = @delTIPO FETCH NEXT FROM MATERIAIS_TIPO1984 INTO @insTIPO FETCH NEXT FROM MATERIAIS_TIPO547 INTO @delTIPO END END CLOSE MATERIAIS_TIPO1984 CLOSE MATERIAIS_TIPO547 DEALLOCATE MATERIAIS_TIPO1984 DEALLOCATE MATERIAIS_TIPO547 END /* MATERIAIS_TIPO MATERIAIS_TIPO MATERIAIS ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE MATERIAIS_TIPO786 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE MATERIAIS_TIPO547 CURSOR FOR SELECT TIPO FROM DELETED OPEN MATERIAIS_TIPO786 OPEN MATERIAIS_TIPO547 FETCH NEXT FROM MATERIAIS_TIPO786 INTO @insTIPO FETCH NEXT FROM MATERIAIS_TIPO547 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.TIPO=@insTIPO WHERE MATERIAIS.TIPO = @delTIPO FETCH NEXT FROM MATERIAIS_TIPO786 INTO @insTIPO FETCH NEXT FROM MATERIAIS_TIPO547 INTO @delTIPO END END CLOSE MATERIAIS_TIPO786 CLOSE MATERIAIS_TIPO547 DEALLOCATE MATERIAIS_TIPO786 DEALLOCATE MATERIAIS_TIPO547 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CART_COLIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CART_COLIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISPROPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISPROPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[K2PRNDSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [K2PRNDSCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOMARKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOMARKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CADE_COLUNA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CADE_COLUNA] @TEXTO VARCHAR(100)=NULL AS IF SUBSTRING(@TEXTO,1,1) <> ''%'' SELECT @TEXTO = ''%''+@TEXTO IF SUBSTRING(@TEXTO,DATALENGTH(@TEXTO),1) <> ''%'' SELECT @TEXTO = @TEXTO+''%'' SELECT OBJECT_NAME(ID) TABELA,NAME COLUNA FROM SYSCOLUMNS WHERE NAME LIKE @TEXTO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFPROCESSACT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFPROCESSACT]( [ID_WFACTIVEPROC] [int] NOT NULL, [ACCESSO] [int] NULL, [NAME] [varchar](80) NULL, [STARTTIMEPLAN] [datetime] NULL, [FINISHTIMEPLAN] [datetime] NULL, [STARTTIMEACTUAL] [datetime] NULL, [FINISHTIMEACTUAL] [datetime] NULL, [TOTALTIMEPLAN] [datetime] NULL, [STATUS] [smallint] NULL, [CLASS] [smallint] NULL, [OBJECT] [int] NULL, [DESCRIPTION] [varchar](254) NULL, PRIMARY KEY CLUSTERED ( [ID_WFACTIVEPROC] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[WFPROCESSACT]') AND name = N'YWFPROCESSACT') CREATE UNIQUE NONCLUSTERED INDEX [YWFPROCESSACT] ON [WFPROCESSACT] ( [NAME] ASC, [CLASS] ASC, [OBJECT] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KESTADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KESTADO]( [ID] [smallint] NULL, [NESTADO] [char](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOMODI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOMODI]( [PEDIDOID] [int] NULL, [SUBPRENDA] [int] NULL, [TRANSFORMACION] [int] NULL, [CANTIDAD] [float] NULL, [IZQUIERDA] [float] NULL, [DERECHA] [float] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CART_COLIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CART_COLIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOMODICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOMODICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CORES_BASICAS]( [ID] [int] NOT NULL, [GF_GRUPO_CORES] [char](5) NOT NULL, [GF_COR] [char](10) NOT NULL, [GF_DESC_COR] [char](25) NOT NULL, [GF_USO_PRODUTOS] [char](1) NOT NULL, [GF_USO_MATERIAIS] [char](1) NOT NULL, [GF_COR_SORTIDA] [char](1) NOT NULL, [GF_COR_RGB] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COLOR] [varchar](36) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [ACCESO] [smallint] NULL, [USERM] [int] NULL, [EMP] [int] NULL, [USERP] [int] NULL, [DESCRIP_SP] [varchar](25) NULL, [DESCRIP_EN] [varchar](25) NULL, [DESCRIP_NE] [varchar](25) NULL, [DESCRIP_FR] [varchar](25) NULL, [DESCRIP_DU] [varchar](25) NULL, [DESCRIP_7] [varchar](25) NULL, [DESCRIP_8] [varchar](25) NULL, [DESCRIP_9] [varchar](25) NULL, [DESCRIP_10] [varchar](25) NULL, [DESCRIP_11] [varchar](25) NULL, [DESCRIP_12] [varchar](25) NULL, [DESCRIP_13] [varchar](25) NULL, [DESCRIP_14] [varchar](25) NULL, [DESCRIP_15] [varchar](25) NULL, [DESCRIP_16] [varchar](25) NULL, [DESCRIP_17] [varchar](25) NULL, [DESCRIP_18] [varchar](25) NULL, [DESCRIP_19] [varchar](25) NULL, [DESCRIP_20] [varchar](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_CORES_BASICAS] ON [GF_CORES_BASICAS] FOR INSERT,UPDATE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGFIU_CORES_BASICAS'')) ) < 2 ) DECLARE @ID INT, @GF_COR VARCHAR(25) DECLARE COLOR CURSOR FOR SELECT ID,GF_COR FROM INSERTED OPEN COLOR FETCH NEXT FROM COLOR INTO @ID,@GF_COR WHILE @@FETCH_STATUS=0 BEGIN UPDATE GF_CORES_BASICAS SET COLOR=RTRIM(GF_COR)+''-''+GF_DESC_COR WHERE GF_COR=@GF_COR AND ID=@ID FETCH NEXT FROM COLOR INTO @ID,@GF_COR END CLOSE COLOR DEALLOCATE COLOR END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_CORES_BASICAS] ON [GF_CORES_BASICAS] FOR DELETE NOT FOR REPLICATION AS /*ESTO ES INDIVIDUAL BEGIN IF EXISTS (SELECT COR FROM CORES_BASICAS A, DELETED B WHERE A.COR=B.GF_COR) DELETE FROM CORES_BASICAS WHERE COR=(SELECT GF_COR FROM DELETED) ELSE RETURN END */ /*ESTO ES MULTIPLE*/ BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_CORES_BASICAS'')))=1) RETURN ELSE DECLARE @CORES_BASICAS_DEL CHAR(10) DECLARE CUR_CORES_BASICAS_DEL CURSOR FOR SELECT GF_COR FROM DELETED OPEN CUR_CORES_BASICAS_DEL FETCH NEXT FROM CUR_CORES_BASICAS_DEL INTO @CORES_BASICAS_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT COR FROM CORES_BASICAS A WHERE A.COR=@CORES_BASICAS_DEL) DELETE FROM CORES_BASICAS WHERE COR=(@CORES_BASICAS_DEL) FETCH NEXT FROM CUR_CORES_BASICAS_DEL INTO @CORES_BASICAS_DEL END/*WHILE fetch_status*/ CLOSE CUR_CORES_BASICAS_DEL DEALLOCATE CUR_CORES_BASICAS_DEL END/*IF rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_CORES_BASICAS] ON [GF_CORES_BASICAS] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT COR FROM CORES_BASICAS A, INSERTED B WHERE A.COR=B.GF_COR) BEGIN INSERT INTO CORES_BASICAS (COR,DESC_COR,USO_PRODUTOS,USO_MATERIAIS,GRUPO_CORES,COR_SORTIDA,COR_RGB,DATA_PARA_TRANSFERENCIA) SELECT GF_COR,GF_DESC_COR,GF_USO_PRODUTOS,GF_USO_MATERIAIS,GF_GRUPO_CORES,GF_COR_SORTIDA,GF_COR_RGB, DATA_PARA_TRANSFERENCIA FROM GF_CORES_BASICAS WHERE GF_COR IN (SELECT GF_COR FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_CORES_BASICAS] ON [GF_CORES_BASICAS] FOR UPDATE NOT FOR REPLICATION AS /*ESTO ES INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CORES_BASICAS'')) ) < 2 ) BEGIN IF EXISTS (SELECT COR FROM CORES_BASICAS A, DELETED B WHERE A.COR=B.GF_COR) BEGIN UPDATE CORES_BASICAS SET GRUPO_CORES=(SELECT GF_GRUPO_CORES FROM INSERTED), COR=(SELECT GF_COR FROM INSERTED), DESC_COR=(SELECT GF_DESC_COR FROM INSERTED), USO_PRODUTOS=(SELECT GF_USO_PRODUTOS FROM INSERTED), USO_MATERIAIS=(SELECT GF_USO_MATERIAIS FROM INSERTED), COR_SORTIDA=(SELECT GF_COR_SORTIDA FROM INSERTED), COR_RGB=(SELECT GF_COR_RGB FROM INSERTED), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED) WHERE COR=(SELECT GF_COR FROM DELETED) END ELSE RETURN END */ /*ESTO ES MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CORES_BASICAS'')) ) < 2 ) BEGIN DECLARE @COR_BASICO CHAR(10) DECLARE @COR_BASICO_IN CHAR(10) DECLARE CUR_CORES_BASICAS CURSOR FOR SELECT GF_COR FROM DELETED DECLARE CUR_CORES_BASICAS_IN CURSOR FOR SELECT GF_COR FROM INSERTED OPEN CUR_CORES_BASICAS --DELETED OPEN CUR_CORES_BASICAS_IN -- INSERTED FETCH NEXT FROM CUR_CORES_BASICAS INTO @COR_BASICO FETCH NEXT FROM CUR_CORES_BASICAS_IN INTO @COR_BASICO_IN IF @@rowcount >= 0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT COR FROM CORES_BASICAS A WHERE A.COR=@COR_BASICO) BEGIN UPDATE CORES_BASICAS SET GRUPO_CORES=(SELECT GF_GRUPO_CORES FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), COR=(@COR_BASICO_IN), DESC_COR=(SELECT GF_DESC_COR FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), USO_PRODUTOS=(SELECT GF_USO_PRODUTOS FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), USO_MATERIAIS=(SELECT GF_USO_MATERIAIS FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), COR_SORTIDA=(SELECT GF_COR_SORTIDA FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), COR_RGB=(SELECT GF_COR_RGB FROM INSERTED WHERE GF_COR=@COR_BASICO_IN), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_COR=@COR_BASICO_IN) WHERE COR=(@COR_BASICO) END/*if exist*/ FETCH NEXT FROM CUR_CORES_BASICAS INTO @COR_BASICO FETCH NEXT FROM CUR_CORES_BASICAS_IN INTO @COR_BASICO_IN END/*WHILE fetch_status*/ CLOSE CUR_CORES_BASICAS CLOSE CUR_CORES_BASICAS_IN DEALLOCATE CUR_CORES_BASICAS DEALLOCATE CUR_CORES_BASICAS_IN END/*IF rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KESTADOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KESTADOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CATEGORIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CATEGORIAS]( [ID] [int] NULL, [NOMBRE] [char](24) NULL, [COSTO] [real] NULL, [COSTOEXT] [real] NULL, [PORCCOSTURA] [real] NULL, [PORCCORTE] [real] NULL, [PORCPLANCHA] [real] NULL, [PORCETIQUE] [real] NULL, [BOOLEAN] [char](1) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTACOES]( [COTACAO] [char](7) NOT NULL, [DATA] [datetime] NULL, [RESPONSAVEL] [varchar](40) NULL, [TABELA_FILHA] [varchar](40) NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKCOTACOES] PRIMARY KEY NONCLUSTERED ( [COTACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COTACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COTACOES] on [COTACOES] for DELETE as /* DELETE trigger on COTACOES */ begin declare @errno int, @errmsg varchar(255) /* COTACOES R/1291 COMPRAS_CONSUMIVEL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_CONSUMIVEL where COMPRAS_CONSUMIVEL.COTACAO = deleted.COTACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COTACOES #porque existem registros em #COMPRAS_CONSUMIVEL#.'' goto error end /* COTACOES COTACOES COMPRAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_MATERIAL where COMPRAS_MATERIAL.COTACAO = deleted.COTACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COTACOES #porque existem registros em #COMPRAS_MATERIAL#.'' goto error end /* COTACOES R/1248 REQUISICAO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_MATERIAL where REQUISICAO_MATERIAL.COTACAO = deleted.COTACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COTACOES #porque existem registros em #REQUISICAO_MATERIAL#.'' goto error end /* COTACOES R/1247 REQUISICAO_CONSUMIVEL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_CONSUMIVEL where REQUISICAO_CONSUMIVEL.COTACAO = deleted.COTACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COTACOES #porque existem registros em #REQUISICAO_CONSUMIVEL#.'' goto error end /* COTACOES COTACOES COTACOES_CONSUMIVEL ON PARENT DELETE CASCADE */ delete COTACOES_CONSUMIVEL from COTACOES_CONSUMIVEL,deleted where COTACOES_CONSUMIVEL.COTACAO = deleted.COTACAO /* COTACOES COTACOES COTACAO_MATERIAIS ON PARENT DELETE CASCADE */ delete COTACAO_MATERIAIS from COTACAO_MATERIAIS,deleted where COTACAO_MATERIAIS.COTACAO = deleted.COTACAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COTACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COTACOES] on [COTACOES] for UPDATE as /* UPDATE trigger on COTACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTACAO char(7), @delCOTACAO char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES R/1291 COMPRAS_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1291 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1291 OPEN COTACOES734 FETCH NEXT FROM COTACOES1291 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_CONSUMIVEL SET COMPRAS_CONSUMIVEL.COTACAO=@insCOTACAO WHERE COMPRAS_CONSUMIVEL.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1291 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1291 CLOSE COTACOES734 DEALLOCATE COTACOES1291 DEALLOCATE COTACOES734 END /* COTACOES COTACOES COMPRAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1267 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1267 OPEN COTACOES734 FETCH NEXT FROM COTACOES1267 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_MATERIAL SET COMPRAS_MATERIAL.COTACAO=@insCOTACAO WHERE COMPRAS_MATERIAL.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1267 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1267 CLOSE COTACOES734 DEALLOCATE COTACOES1267 DEALLOCATE COTACOES734 END /* COTACOES R/1248 REQUISICAO_MATERIAL ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1248 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1248 OPEN COTACOES734 FETCH NEXT FROM COTACOES1248 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_MATERIAL SET REQUISICAO_MATERIAL.COTACAO=@insCOTACAO WHERE REQUISICAO_MATERIAL.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1248 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1248 CLOSE COTACOES734 DEALLOCATE COTACOES1248 DEALLOCATE COTACOES734 END /* COTACOES R/1247 REQUISICAO_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1247 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1247 OPEN COTACOES734 FETCH NEXT FROM COTACOES1247 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_CONSUMIVEL SET REQUISICAO_CONSUMIVEL.COTACAO=@insCOTACAO WHERE REQUISICAO_CONSUMIVEL.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1247 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1247 CLOSE COTACOES734 DEALLOCATE COTACOES1247 DEALLOCATE COTACOES734 END /* COTACOES COTACOES COTACOES_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1203 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1203 OPEN COTACOES734 FETCH NEXT FROM COTACOES1203 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONSUMIVEL SET COTACOES_CONSUMIVEL.COTACAO=@insCOTACAO WHERE COTACOES_CONSUMIVEL.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1203 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1203 CLOSE COTACOES734 DEALLOCATE COTACOES1203 DEALLOCATE COTACOES734 END /* COTACOES COTACOES COTACAO_MATERIAIS ON PARENT UPDATE CASCADE */ IF update(COTACAO) BEGIN DECLARE COTACOES1198 CURSOR FOR SELECT COTACAO FROM INSERTED DECLARE COTACOES734 CURSOR FOR SELECT COTACAO FROM DELETED OPEN COTACOES1198 OPEN COTACOES734 FETCH NEXT FROM COTACOES1198 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACAO_MATERIAIS SET COTACAO_MATERIAIS.COTACAO=@insCOTACAO WHERE COTACAO_MATERIAIS.COTACAO = @delCOTACAO FETCH NEXT FROM COTACOES1198 INTO @insCOTACAO FETCH NEXT FROM COTACOES734 INTO @delCOTACAO END END CLOSE COTACOES1198 CLOSE COTACOES734 DEALLOCATE COTACOES1198 DEALLOCATE COTACOES734 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTO_CORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTO_CORES]( [ID_GF_PRODUTO_CO] [int] NOT NULL, [ID_CART_COL] [int] NOT NULL, [GF_COR_PRODUTO] [int] NOT NULL, [GF_DESC_COR_PROD] [varchar](40) NOT NULL, [GF_INICIO_VENDAS] [datetime] NULL, [GF_FIM_VENDAS] [datetime] NULL, [KEY_ORDEN] [int] NULL, [ORDENPM] [int] NULL, [TEMAS] [smallint] NULL, [COD_COR] [varchar](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_DELETE_COLOR_EN_CARTA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_DELETE_COLOR_EN_CARTA] ON [GF_PRODUTO_CORES] FOR DELETE -- Trigger que inserta un nuevo color en una tabla temporal que ajusta las columnas de color -- en las variantes que utilizan esta carta de color. -- También borra los colores en PRODUTO_CORES para los productos liberados que usan esta carta de color. -- Realizado por: Bernardo Castellanos -- Fecha: 16-12-02 -- Modificado por: Eva M. Iglesias: Se eliminan los colores del detalle Productos Precios Color/Talla -- Fecha: Abril 2003 AS DECLARE @n_ID_CART_COL INTEGER, @n_ORDENPM SMALLINT, @n_GF_COR_PRODUTO INTEGER, @n_IDVARCOLOR INTEGER, @s_Producto VARCHAR(80), @s_Color VARCHAR(80) BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT ID_CART_COL,GF_COR_PRODUTO,ORDENPM FROM DELETED OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_CART_COL,@n_GF_COR_PRODUTO,@n_ORDENPM WHILE @@FETCH_STATUS = 0 BEGIN DECLARE LISTA_VARIANTES CURSOR FOR SELECT IDVARCOLOR FROM VARCOLOR WHERE IDCARTA = @n_ID_CART_COL AND TRANSFER>50 OPEN LISTA_VARIANTES FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR WHILE (@@FETCH_STATUS = 0) BEGIN SELECT @s_Producto = GF_PRODUTO FROM VARCOLOR WHERE IDVARCOLOR=@n_IDVARCOLOR SELECT @s_Color = GF_COR FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_PRODUTO -- Borramos en Lista de Materiales Con Color de LINX (PRODUTOS_FICHA_COR) IF EXISTS (SELECT * FROM PRODUTOS_FICHA_COR WHERE PRODUTO=@s_Producto AND COR_PRODUTO=@s_Color) BEGIN DELETE dbo.PRODUTOS_FICHA_COR WHERE PRODUTO=@s_Producto AND COR_PRODUTO=@s_Color END -- Borramos en Productos Colores (LINX) IF EXISTS (SELECT * FROM PRODUTO_CORES WHERE PRODUTO=@s_Producto AND COR_PRODUTO=@s_Color) BEGIN DELETE dbo.PRODUTO_CORES WHERE PRODUTO=@s_Producto AND COR_PRODUTO=@s_Color END FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR END CLOSE LISTA_VARIANTES DEALLOCATE LISTA_VARIANTES -- original: INSERT INTO GF_PRODUTO_CORES_TEMP VALUES(@n_ID_CART_COL, 0, @n_ORDENPM) INSERT INTO GF_PRODUTO_CORES_TEMP VALUES(@n_ID_CART_COL, @n_ORDENPM, 0) --- Se eliminan los colores del detalle VARCOLOR_PRECIOS de todas las variantes que utilizan esa carta de colore DECLARE LISTA_VAR CURSOR FOR SELECT IDVARCOLOR FROM VARCOLOR WHERE IDCARTA = @n_ID_CART_COL OPEN LISTA_VAR FETCH NEXT FROM LISTA_VAR INTO @n_IDVARCOLOR WHILE (@@FETCH_STATUS = 0) BEGIN DELETE dbo.VARCOLOR_PRECIOS WHERE IDVARCOLOR = @n_IDVARCOLOR AND GF_COR_PRODUTO=@n_GF_COR_PRODUTO FETCH NEXT FROM LISTA_VAR INTO @n_IDVARCOLOR END CLOSE LISTA_VAR DEALLOCATE LISTA_VAR FETCH NEXT FROM LISTA_COLORES INTO @n_ID_CART_COL,@n_GF_COR_PRODUTO,@n_ORDENPM END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_COLOR_EN_CARTA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_INSERT_COLOR_EN_CARTA] ON [GF_PRODUTO_CORES] FOR INSERT -- Trigger que inserta un nuevo color en una tabla temporal que ajusta las columnas de color -- en las variantes que utilizan esta carta de color. -- También crea nuevos colores en PRODUTO_CORES para los productos liberados que usan esta carta de color. -- Realizado por: Bernardo Castellanos -- Fecha: 13-11-02 -- Modificado: 09-12-02 AS DECLARE @n_ID_CART_COL INTEGER, @n_GF_COR_PRODUTO INTEGER, @s_GF_DESC_COR_PROD VARCHAR(255), @n_ORDENPM SMALLINT, @d_GF_INICIO_VENDAS DATETIME, @d_GF_FIM_VENDAS DATETIME, @n_IDVARCOLOR INTEGER, @s_Producto VARCHAR(80), @s_Color VARCHAR(80) BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT ID_CART_COL,GF_COR_PRODUTO,GF_DESC_COR_PROD,GF_INICIO_VENDAS,GF_FIM_VENDAS,ORDENPM FROM INSERTED OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_CART_COL,@n_GF_COR_PRODUTO,@s_GF_DESC_COR_PROD,@d_GF_INICIO_VENDAS,@d_GF_FIM_VENDAS,@n_ORDENPM WHILE @@FETCH_STATUS = 0 BEGIN DECLARE LISTA_VARIANTES CURSOR FOR SELECT IDVARCOLOR FROM VARCOLOR WHERE IDCARTA = @n_ID_CART_COL AND TRANSFER>50 OPEN LISTA_VARIANTES FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR WHILE (@@FETCH_STATUS = 0) BEGIN SELECT @s_Producto = GF_PRODUTO FROM VARCOLOR WHERE IDVARCOLOR=@n_IDVARCOLOR SELECT @s_Color = GF_COR FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_PRODUTO -- Insertamos en Productos Colores (linx) IF NOT EXISTS (SELECT * FROM PRODUTO_CORES WHERE PRODUTO=@s_Producto AND COR_PRODUTO=@s_Color) BEGIN INSERT INTO dbo.PRODUTO_CORES (PRODUTO,COR_PRODUTO,DESC_COR_PRODUTO,INICIO_VENDAS,FIM_VENDAS, STATUS_VENDA_ATUAL) VALUES (@s_Producto,@s_Color,@s_GF_DESC_COR_PROD,@d_GF_INICIO_VENDAS,@d_GF_FIM_VENDAS,1) END FETCH NEXT FROM LISTA_VARIANTES INTO @n_IDVARCOLOR END CLOSE LISTA_VARIANTES DEALLOCATE LISTA_VARIANTES INSERT INTO GF_PRODUTO_CORES_TEMP VALUES(@n_ID_CART_COL, 0, @n_ORDENPM) FETCH NEXT FROM LISTA_COLORES INTO @n_ID_CART_COL,@n_GF_COR_PRODUTO,@s_GF_DESC_COR_PROD,@d_GF_INICIO_VENDAS,@d_GF_FIM_VENDAS,@n_ORDENPM END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UPDATE_COLOR_EN_CARTA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_UPDATE_COLOR_EN_CARTA] ON [GF_PRODUTO_CORES] FOR UPDATE -- Trigger que inserta un nuevo color en una tabla temporal que ajusta las columnas de color -- en las variantes que utilizan esta carta de color. -- Realizado por: Bernardo Castellanos -- Fecha: 13-11-02 AS BEGIN INSERT INTO GF_PRODUTO_CORES_TEMP SELECT INSERTED.ID_CART_COL, DELETED.ORDENPM, INSERTED.ORDENPM FROM INSERTED INNER JOIN DELETED ON INSERTED.ID_CART_COL = DELETED.ID_CART_COL WHERE INSERTED.ORDENPM <> DELETED.ORDENPM END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CORES_BASICASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CORES_BASICASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WFTASKTYPE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [WFTASKTYPE]( [ID_WFTASKTYPE] [smallint] NOT NULL, [TASK_TYPE] [varchar](32) NOT NULL, [TASK_TYPE_DESCR] [varchar](254) NULL, PRIMARY KEY CLUSTERED ( [ID_WFTASKTYPE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KETEJI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KETEJI]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CATEGORIASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CATEGORIASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOTALLA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOTALLA]( [PEDIDOID] [int] NULL, [SUBPRENDA] [int] NULL, [TALLA] [char](20) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KETEJICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KETEJICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CATTEJ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CATTEJ]( [IDCATTEJ] [int] NULL, [NOMBRE] [char](24) NULL, [KPRENDA] [int] NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISSELECT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISSELECT]( [ID] [int] NOT NULL, [VALOR] [char](250) NOT NULL, [TITULO] [char](250) NOT NULL, [VALOR2] [varchar](254) NULL, [VALOR3] [varchar](254) NULL, [VALOR4] [varchar](254) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[SISSELECT]') AND name = N'NODUPLICAR') CREATE UNIQUE NONCLUSTERED INDEX [NODUPLICAR] ON [SISSELECT] ( [TITULO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[_TMP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [_TMP]( [NOM] [char](5) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOTALLACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOTALLACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTO_CORESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTO_CORESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFERENCIA_TABELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFERENCIA_TABELAS]( [TABELA] [varchar](30) NOT NULL, [tipo_transf] [int] NOT NULL, [ORDEM] [int] NOT NULL, [ULTIMA_TRANSFERENCIA] [datetime] NULL, [ATIVO] [char](1) NULL, [FILTROS_SELECT] [varchar](250) NULL, CONSTRAINT [XPKTRANSFERENCIA_TABELAS] PRIMARY KEY NONCLUSTERED ( [TABELA] ASC, [tipo_transf] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADO2IMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IACBORDADO2IMGCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KJOB]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KJOB]( [ID] [smallint] NULL, [JOBN] [char](20) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CATTEJCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CATTEJCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SEXO_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SEXO_TIPO]( [ID] [int] NULL, [SEXO] [varchar](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISSELECTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISSELECTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOTEJ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOTEJ]( [PEDIDOID] [int] NULL, [COMPONENTE] [char](80) NULL, [TEJIDO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_ENTR]( [ID] [int] NOT NULL, [ID_PRODUTOS_PERI] [int] NOT NULL, [GF_NUMERO_ENTREG] [int] NOT NULL, [GF_PERIODO_PCP] [varchar](25) NOT NULL, [GF_ENTREGA] [datetime] NOT NULL, [GF_LIMITE] [datetime] NOT NULL, [Data_para_transferencia] [datetime] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_ENTR]') AND name = N'YPKPRODUTOS_ENTR') CREATE UNIQUE NONCLUSTERED INDEX [YPKPRODUTOS_ENTR] ON [GF_PRODUTOS_ENTR] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUCTOS_ENTR fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCTOS_ENTR] ON [GF_PRODUTOS_ENTR] FOR DELETE NOT FOR REPLICATION AS /*ESTO ES INDIVIDUAL Y FUNCIONA*/ --IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCTOS_PERI'')))=1) --RETURN --ELSE /*BEGIN IF EXISTS (SELECT NUMERO_ENTREGA FROM PRODUTOS_PERIODOS_ENTREGAS A, DELETED B WHERE A.NUMERO_ENTREGA=B.GF_NUMERO_ENTREG AND A.PERIODO_PCP=B.GF_PERIODO_PCP) DELETE FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=(SELECT GF_NUMERO_ENTREG FROM DELETED) AND PERIODO_PCP=(SELECT GF_PERIODO_PCP FROM DELETED) ELSE RETURN END*/ /*ESTO ES MULTIPLE*/ BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_ENTR'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCTOS_PERI'')))=1) RETURN ELSE DECLARE @PER_ENT_DEL INTEGER DECLARE @PER_PCP_DEL VARCHAR(25) DECLARE CUR_PER_ENT_DEL CURSOR FOR SELECT GF_NUMERO_ENTREG FROM DELETED DECLARE CUR_PER_DEL CURSOR FOR SELECT GF_PERIODO_PCP FROM DELETED OPEN CUR_PER_ENT_DEL OPEN CUR_PER_DEL FETCH NEXT FROM CUR_PER_ENT_DEL INTO @PER_ENT_DEL FETCH NEXT FROM CUR_PER_DEL INTO @PER_PCP_DEL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status =0 BEGIN IF EXISTS (SELECT NUMERO_ENTREGA FROM PRODUTOS_PERIODOS_ENTREGAS A WHERE A.NUMERO_ENTREGA=@PER_ENT_DEL AND A.PERIODO_PCP=@PER_PCP_DEL) DELETE FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=(@PER_ENT_DEL) AND PERIODO_PCP=(@PER_PCP_DEL) ELSE RETURN FETCH NEXT FROM CUR_PER_ENT_DEL INTO @PER_ENT_DEL FETCH NEXT FROM CUR_PER_DEL INTO @PER_PCP_DEL END/*while fetch_status*/ CLOSE CUR_PER_ENT_DEL DEALLOCATE CUR_PER_ENT_DEL CLOSE CUR_PER_DEL DEALLOCATE CUR_PER_DEL END/*if rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_ENTR fecha de la secuencia de comandos: Sep 19 2001 18:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_ENTR] ON [GF_PRODUTOS_ENTR] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCTOS_PERI'')))=1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCTOS_ENTR'')))=1) RETURN ELSE BEGIN DECLARE @ENTREGA VARCHAR(25), @PERIODO VARCHAR(25) DECLARE ENTREGAV CURSOR FOR SELECT GF_NUMERO_ENTREG,GF_PERIODO_PCP FROM DELETED OPEN ENTREGAV FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT NUMERO_ENTREGA FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO) BEGIN DELETE FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO END ELSE BEGIN FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO END FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO END CLOSE ENTREGAV DEALLOCATE ENTREGAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_ENTR fecha de la secuencia de comandos: Sep 19 2001 15:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_ENTR] ON [GF_PRODUTOS_ENTR] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUCTOS_ENTR'')))=1) RETURN ELSE BEGIN DECLARE @ENTREGA VARCHAR(25), @PERIODO VARCHAR(25) DECLARE ENTREGAV CURSOR FOR SELECT GF_NUMERO_ENTREG,GF_PERIODO_PCP FROM INSERTED OPEN ENTREGAV FETCH NEXT FROM ENTREGAV INTO @ENTREGA, @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT NUMERO_ENTREGA FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO) BEGIN INSERT INTO PRODUTOS_PERIODOS_ENTREGAS (NUMERO_ENTREGA,PERIODO_PCP,ENTREGA,LIMITE,DATA_PARA_TRANSFERENCIA) SELECT GF_NUMERO_ENTREG,GF_PERIODO_PCP,GF_ENTREGA,GF_LIMITE,DATA_PARA_TRANSFERENCIA FROM GF_PRODUTOS_ENTR WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO END ELSE FETCH NEXT FROM ENTREGAV INTO @ENTREGA, @PERIODO END FETCH NEXT FROM ENTREGAV INTO @ENTREGA, @PERIODO CLOSE ENTREGAV DEALLOCATE ENTREGAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_ENTR fecha de la secuencia de comandos: Sep 19 2001 16:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_ENTR] ON [GF_PRODUTOS_ENTR] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_PERI'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_PERI'')) ) = 1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_ENTR'')) ) < 2 ) BEGIN DECLARE @ENTREGA VARCHAR(25), @PERIODO VARCHAR(25), @ENTREGAD VARCHAR(25), @PERIODOD VARCHAR(25) DECLARE ENTREGADV CURSOR FOR SELECT GF_NUMERO_ENTREG, GF_PERIODO_PCP FROM DELETED DECLARE ENTREGAV CURSOR FOR SELECT GF_NUMERO_ENTREG, GF_PERIODO_PCP FROM INSERTED OPEN ENTREGADV OPEN ENTREGAV FETCH NEXT FROM ENTREGADV INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT NUMERO_ENTREGA FROM PRODUTOS_PERIODOS_ENTREGAS WHERE NUMERO_ENTREGA=@ENTREGAD AND PERIODO_PCP=@PERIODOD) BEGIN UPDATE PRODUTOS_PERIODOS_ENTREGAS SET NUMERO_ENTREGA=@ENTREGA, PERIODO_PCP=@PERIODO, ENTREGA=(SELECT GF_ENTREGA FROM INSERTED WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO), LIMITE=(SELECT GF_LIMITE FROM INSERTED WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO) WHERE NUMERO_ENTREGA=@ENTREGAD AND PERIODO_PCP=@PERIODOD END ELSE BEGIN FETCH NEXT FROM ENTREGADV INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO END FETCH NEXT FROM ENTREGADV INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGAV INTO @ENTREGA,@PERIODO END CLOSE ENTREGADV DEALLOCATE ENTREGADV CLOSE ENTREGAV DEALLOCATE ENTREGAV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KJOBCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KJOBCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CERO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CERO]( [CERO] [char](1) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTIPOS]( [ID] [smallint] NULL, [NOMBRE] [char](16) NULL, [DBTIPO] [char](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PEDIDOTEJCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PEDIDOTEJCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_ENTRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_ENTRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_FILIALES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_FILIALES]( [CODFILIAL] [char](6) NULL, [CODBARRA] [varchar](17) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[Tmp_MARKOFPRND]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [Tmp_MARKOFPRND]( [IDMARKOFPRND] [int] NOT NULL, [NOMBRE] [char](50) NULL, [IDPROCMARCADO] [int] NULL, [TIPO] [smallint] NULL, [IDMARK] [int] NULL, [IDCOMPONENTE] [int] NOT NULL, [IDPRENDA] [int] NULL, [IDSTRUCT] [int] NOT NULL, [TALLAS] [char](80) NULL, [ANCHO] [float] NULL, [LARGOEST] [float] NULL, [EFICEST] [float] NULL, [LARGOREAL] [float] NULL, [TALLAS2] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMARK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMARK]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CEROCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CEROCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUBSTITUICOES_MATERIAL_CLIENTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUBSTITUICOES_MATERIAL_CLIENTE]( [CLIENTE_ATACADO] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [MATERIAL_SUBSTITUIDO] [char](11) NOT NULL, [COR_MATERIAL_SUBSTITUIDO] [char](10) NOT NULL, [TIPO_SUBSTITUICAO] [char](1) NULL, CONSTRAINT [XPKSUBSTITUICOES_MATERIAL_CLIE] PRIMARY KEY NONCLUSTERED ( [CLIENTE_ATACADO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [MATERIAL_SUBSTITUIDO] ASC, [COR_MATERIAL_SUBSTITUIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_SUBSTITUICOES_MATERIAL_CLI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_SUBSTITUICOES_MATERIAL_CLI] on [SUBSTITUICOES_MATERIAL_CLIENTE] for INSERT as /* INSERT trigger on SUBSTITUICOES_MATERIAL_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO R/2109 SUBSTITUICOES_MATERIAL_CLIENTE ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL_CLIENTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* SUBSTITUICOES_MATERIAL R/2108 SUBSTITUICOES_MATERIAL_CLIENTE ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SUBSTITUICOES_MATERIAL where inserted.MATERIAL = SUBSTITUICOES_MATERIAL.MATERIAL and inserted.COR_MATERIAL = SUBSTITUICOES_MATERIAL.COR_MATERIAL and inserted.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO and inserted.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL_CLIENTE #porque #SUBSTITUICOES_MATERIAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SUBSTITUICOES_MATERIAL_CLI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SUBSTITUICOES_MATERIAL_CLI] on [SUBSTITUICOES_MATERIAL_CLIENTE] for UPDATE as /* UPDATE trigger on SUBSTITUICOES_MATERIAL_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLIENTE_ATACADO varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insMATERIAL_SUBSTITUIDO char(11), @insCOR_MATERIAL_SUBSTITUIDO char(10), @delCLIENTE_ATACADO varchar(25), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delMATERIAL_SUBSTITUIDO char(11), @delCOR_MATERIAL_SUBSTITUIDO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO R/2109 SUBSTITUICOES_MATERIAL_CLIENTE ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL_CLIENTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* SUBSTITUICOES_MATERIAL R/2108 SUBSTITUICOES_MATERIAL_CLIENTE ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SUBSTITUICOES_MATERIAL where inserted.MATERIAL = SUBSTITUICOES_MATERIAL.MATERIAL and inserted.COR_MATERIAL = SUBSTITUICOES_MATERIAL.COR_MATERIAL and inserted.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO and inserted.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL_CLIENTE #porque #SUBSTITUICOES_MATERIAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[_SISEVENTDEF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [_SISEVENTDEF]( [ID] [smallint] NOT NULL, [PRIORITY] [smallint] NOT NULL, [SNDTYPE] [smallint] NOT NULL, [IDSNDPARENT] [int] NOT NULL, [IDSENDER] [smallint] NOT NULL, [EVENT] [smallint] NOT NULL, [RCVTYPE] [smallint] NOT NULL, [IDRECEIVER] [smallint] NOT NULL, [ACTION] [smallint] NOT NULL, [LPARAM] [smallint] NULL, [DESCRIPCION] [varchar](128) NULL, [DESCRIPTION] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PERIODOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PERIODOS]( [ID] [int] NOT NULL, [PERIODO] [varchar](25) NOT NULL, [TIPO] [char](1) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_DROPAIND]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_DROPAIND] @NOME_DA_TABELA VARCHAR(100) = NULL AS SET NOCOUNT ON DECLARE @INDICE VARCHAR(100), @TABELA VARCHAR(100), @CONTADOR_C INT, @CONTADOR_I INT, @CONTADOR INT IF @NOME_DA_TABELA IS NULL DECLARE TAB_MANUTENCAO SCROLL CURSOR FOR SELECT NAME,OBJECT_NAME(ID) FROM SYSINDEXES WHERE INDID<>0 AND INDID<>255 AND NAME NOT LIKE ''%SYS%'' AND NAME NOT LIKE ''hind_%'' ORDER BY NAME ELSE DECLARE TAB_MANUTENCAO SCROLL CURSOR FOR SELECT NAME,OBJECT_NAME(ID) FROM SYSINDEXES WHERE INDID<>0 AND INDID<>255 AND NAME NOT LIKE ''%SYS%'' AND NAME NOT LIKE ''hind_%'' AND OBJECT_NAME(ID) = @NOME_DA_TABELA ORDER BY NAME OPEN TAB_MANUTENCAO FETCH NEXT FROM TAB_MANUTENCAO INTO @INDICE, @TABELA SELECT @CONTADOR = 0, @CONTADOR_C = 0, @CONTADOR_I = 0 WHILE @@FETCH_STATUS <> -1 AND @@FETCH_STATUS <> -2 BEGIN IF (SELECT COUNT(Name) FROM SYSOBJECTS WHERE NAME=@INDICE AND TYPE=''K'') > 0 /*(SUBSTRING(@INDICE,1,2) = ''PK'' OR SUBSTRING(@INDICE,1,3) = ''XPK'') AND*/ BEGIN SELECT ''DROPANDO CONSTRAINT ''+@INDICE SELECT @CONTADOR_C = @CONTADOR_C + 1 EXEC (''ALTER TABLE ''+@TABELA+'' DROP CONSTRAINT ''+@INDICE) END ELSE BEGIN SELECT ''DROPANDO INDICE ''+@INDICE SELECT @CONTADOR_I = @CONTADOR_I + 1 EXEC (''DROP INDEX ''+@TABELA+''.''+@INDICE) END SELECT @CONTADOR = @CONTADOR + 1 FETCH NEXT FROM TAB_MANUTENCAO INTO @INDICE,@TABELA END SELECT REPLICATE(''-'',200) SELECT ''TOTAL DE CONSTRAINTS DROPADAS = ''+CONVERT(CHAR(3),@CONTADOR_C) SELECT ''TOTAL DE INDICES DROPADOS = ''+CONVERT(CHAR(3),@CONTADOR_I) SELECT ''TOTAL DE OBJETOS DROPADOS = ''+CONVERT(CHAR(3),@CONTADOR) CLOSE TAB_MANUTENCAO DEALLOCATE TAB_MANUTENCAO SET NOCOUNT OFF ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTIPOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTIPOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ESTOQUE_MATER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_ESTOQUE_MATER]( [ID] [int] NOT NULL, [IDETEJI] [int] NOT NULL, [OBJETO] [int] NOT NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_GF_ESTOQUE_MATER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GF_ESTOQUE_MATER fecha de la secuencia de comandos: Ago 6 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_GF_ESTOQUE_MATER] ON [GF_ESTOQUE_MATER] FOR INSERT NOT FOR REPLICATION AS IF (SELECT ID FROM INSERTED)!=(SELECT IDETEJI FROM INSERTED) BEGIN UPDATE GF_ESTOQUE_MATER SET ID=(SELECT IDETEJI FROM INSERTED),OBJETO=(SELECT IDETEJI FROM INSERTED),ORDENPM=1 WHERE IDETEJI=(SELECT IDETEJI FROM INSERTED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMARKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMARKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CODELEMOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CODELEMOPER]( [ID] [smallint] NULL, [CODE] [char](5) NULL, [FACTOR] [real] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PARTE_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PARTE_TIPO]( [ID] [int] NULL, [PARTE] [varchar](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTRANSTABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTRANSTABLES]( [ID] [int] NULL, [TBNAME] [char](16) NULL, [COLNAME] [char](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[_SISSELECT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [_SISSELECT]( [ID] [int] NOT NULL, [VALOR] [char](250) NOT NULL, [TITULO] [char](250) NOT NULL, [VALOR2] [varchar](254) NULL, [VALOR3] [varchar](254) NULL, [VALOR4] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PERIODOSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PERIODOSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_ESPACO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_ESPACO] AS SELECT ISNULL((SELECT (SUM(SIZE)/512) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0)DATA_TAM,ISNULL((SELECT (SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID<>8),0)) FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=3 GROUP BY DBID),0) DATA_SOBRA, ISNULL((SELECT SUM((SIZE/512))TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_TAM,ISNULL((SELECT SUM((SIZE/512))-ISNULL((SELECT (SUM(USED)*2)/1024 FROM SYSINDEXES WHERE ID=8),0)TAMANHO FROM MASTER..SYSUSAGES WHERE DB_NAME(DBID)=DB_NAME() AND SEGMAP=4 GROUP BY DBID,SEGMAP),0) LOG_SOBRA ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ESTOQUE_MATERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_ESTOQUE_MATERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMATCH]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMATCH]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_GRUPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_GRUPOS]( [GRUPO_COMPONENTE] [varchar](25) NOT NULL, [CODIGO_GRUPO] [char](2) NOT NULL, CONSTRAINT [XPKORCAMENTOS_GRUPOS] PRIMARY KEY NONCLUSTERED ( [GRUPO_COMPONENTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ORCAMENTOS_GRUPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ORCAMENTOS_GRUPOS] on [ORCAMENTOS_GRUPOS] for DELETE as /* DELETE trigger on ORCAMENTOS_GRUPOS */ begin declare @errno int, @errmsg varchar(255) /* ORCAMENTOS_GRUPOS R/1341 ORCAMENTOS_COMPONENTES ON PARENT DELETE CASCADE */ delete ORCAMENTOS_COMPONENTES from ORCAMENTOS_COMPONENTES,deleted where ORCAMENTOS_COMPONENTES.GRUPO_COMPONENTE = deleted.GRUPO_COMPONENTE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS_GRUPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS_GRUPOS] on [ORCAMENTOS_GRUPOS] for UPDATE as /* UPDATE trigger on ORCAMENTOS_GRUPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRUPO_COMPONENTE varchar(25), @delGRUPO_COMPONENTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_GRUPOS R/1341 ORCAMENTOS_COMPONENTES ON PARENT UPDATE CASCADE */ IF update(GRUPO_COMPONENTE) BEGIN DECLARE ORCAMENTOS_GRUPOS1341 CURSOR FOR SELECT GRUPO_COMPONENTE FROM INSERTED DECLARE ORCAMENTOS_GRUPOS810 CURSOR FOR SELECT GRUPO_COMPONENTE FROM DELETED OPEN ORCAMENTOS_GRUPOS1341 OPEN ORCAMENTOS_GRUPOS810 FETCH NEXT FROM ORCAMENTOS_GRUPOS1341 INTO @insGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_GRUPOS810 INTO @delGRUPO_COMPONENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_COMPONENTES SET ORCAMENTOS_COMPONENTES.GRUPO_COMPONENTE=@insGRUPO_COMPONENTE WHERE ORCAMENTOS_COMPONENTES.GRUPO_COMPONENTE = @delGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_GRUPOS1341 INTO @insGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_GRUPOS810 INTO @delGRUPO_COMPONENTE END END CLOSE ORCAMENTOS_GRUPOS1341 CLOSE ORCAMENTOS_GRUPOS810 DEALLOCATE ORCAMENTOS_GRUPOS1341 DEALLOCATE ORCAMENTOS_GRUPOS810 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CODELEMOPERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CODELEMOPERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISTRANSTABLESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISTRANSTABLESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PMVERSIONDB]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PMVERSIONDB]( [NUMERO] [smallint] NULL, [COM] [char](200) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PMVERSIONDB]') AND name = N'XPMVERSION') CREATE UNIQUE NONCLUSTERED INDEX [XPMVERSION] ON [PMVERSIONDB] ( [NUMERO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_CE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_CE]( [ID] [int] NOT NULL, [ID_FORNECEDOR] [int] NOT NULL, [GF_CENTRO_CUSTO] [smallint] NOT NULL, [GF_FORNECEDOR] [int] NOT NULL, [GF_RATEIO] [float] NOT NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMATCHCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMATCHCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCION]( [ID] [int] NOT NULL, [ACCESO] [smallint] NULL, [EMPRESA] [smallint] NOT NULL, [MARCA] [smallint] NOT NULL, [TEMPORADA] [smallint] NOT NULL, [BARRA] [char](16) NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISVALIDACION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISVALIDACION]( [ID] [smallint] NULL, [TBNAME] [char](16) NULL, [IDCOLNAME] [char](16) NULL, [TXTCOLN] [char](16) NULL, [TITULO] [char](24) NULL, [USERC] [int] NULL, [ACCESO] [smallint] NULL, [INFOEXTRA] [varchar](36) NULL, [SELFOREDIT] [varchar](254) NULL, [TXTCOLOUTPUT] [varchar](32) NULL, [LASTUPDATE] [datetime] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[D_TITULO_SISVALIDACION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.D_TITULO_SISVALIDACION fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [D_TITULO_SISVALIDACION] ON [SISVALIDACION] FOR DELETE AS --RETURN BEGIN DELETE FROM SISVALIDACION_DIC WHERE CLI=(SELECT TITULO FROM DELETED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_TITULO_SISVALIDACION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_TITULO_SISVALIDACION fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_TITULO_SISVALIDACION] ON [SISVALIDACION] FOR INSERT AS --RETURN BEGIN INSERT INTO SISVALIDACION_DIC (ESP,ITA,ENG,CLI,FRA,DEU,POR,PER) SELECT TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,TITULO,NULL FROM SISVALIDACION WHERE TITULO=(SELECT TITULO FROM INSERTED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_TITULO_SISVALIDACION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_TITULO_SISVALIDACION fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_TITULO_SISVALIDACION] ON [SISVALIDACION] FOR UPDATE AS --return IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_SISVALIDACION_DIC'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''CGF_IDIOMA'')) ) = 0 ) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''U_TITULO_SISVALIDACION'')) ) < 2 ) IF UPDATE(TITULO) BEGIN UPDATE SISVALIDACION_DIC SET CLI=(SELECT TITULO FROM INSERTED) WHERE CLI=(SELECT TITULO FROM DELETED) IF (SELECT PER FROM IDIOMA)=1 BEGIN UPDATE SISVALIDACION_DIC SET PER=(SELECT TITULO FROM INSERTED) WHERE CLI=(SELECT TITULO FROM DELETED) END END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UNIDADES_CONVERSOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UNIDADES_CONVERSOES]( [UNIDADE] [char](5) NOT NULL, [UNIDADE_CONVERTIDA] [char](5) NOT NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NOT NULL, CONSTRAINT [XPKUNIDADES_CONVERSOES] PRIMARY KEY NONCLUSTERED ( [UNIDADE] ASC, [UNIDADE_CONVERTIDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_UNIDADES_CONV fecha de la secuencia de comandos: Sep 19 2001 12:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_UNIDADES_CONV] ON [UNIDADES_CONVERSOES] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @UNIDAD VARCHAR(5), @CONVERSION VARCHAR(5) DECLARE UNIDAD CURSOR FOR SELECT UNIDADE,UNIDADE_CONVERTIDA FROM DELETED OPEN UNIDAD FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDAD) AND GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSION)) DELETE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDAD) AND GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSION) ELSE BEGIN FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION END FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION END CLOSE UNIDAD DEALLOCATE UNIDAD END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_UNIDADES_CONV fecha de la secuencia de comandos: Sep 19 2001 20:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_UNIDADES_CONV] ON [UNIDADES_CONVERSOES] FOR INSERT NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_UNIDADES_CONV'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) DECLARE @UNIDADE VARCHAR(5), @CONVERSION VARCHAR(5) DECLARE UNIDAD CURSOR FOR SELECT UNIDADE,UNIDADE_CONVERTIDA FROM INSERTED OPEN UNIDAD FETCH NEXT FROM UNIDAD INTO @UNIDADE,@CONVERSION WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE) AND GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSION)) BEGIN INSERT INTO GF_UNIDADES_CONV (ID, GF_UNIDADE, GF_UNIDADE_CONVE, GF_FATOR_CONVERS,FECHAM,USERM,FECHAC,USERC,ACCESO,EMP) SELECT IDMAX,(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE), (SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSION), FATOR_CONVERSAO_UNIDADE,GETDATE(),@USER,GETDATE(),@USER,28983,@EMPRESA FROM INSERTED , GF_UNIDADES_CONVCNT WHERE UNIDADE=@UNIDADE AND UNIDADE_CONVERTIDA=@CONVERSION UPDATE dbo.GF_UNIDADES_CONVCNT SET IDMAX=IDMAX+1 END ELSE BEGIN FETCH NEXT FROM UNIDAD INTO @UNIDADE,@CONVERSION END FETCH NEXT FROM UNIDAD INTO @UNIDADE,@CONVERSION END CLOSE UNIDAD DEALLOCATE UNIDAD END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_UNIDADES_CONV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_UNIDADES_CONV fecha de la secuencia de comandos: Sep 19 2001 10:35AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_UNIDADES_CONV] ON [UNIDADES_CONVERSOES] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_UNIDADES_CONV'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_UNIDADES_CONV'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_UNIDADES_CONV''))) < 2) BEGIN DECLARE @UNIDADD VARCHAR(5), @UNIDAD VARCHAR(5), @CONVERSIOND VARCHAR(5), @CONVERSION VARCHAR(5) DECLARE UNIDADD CURSOR FOR SELECT UNIDADE,UNIDADE_CONVERTIDA FROM DELETED DECLARE UNIDAD CURSOR FOR SELECT UNIDADE,UNIDADE_CONVERTIDA FROM INSERTED OPEN UNIDADD OPEN UNIDAD FETCH NEXT FROM UNIDADD INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES_CONV WHERE GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADD) AND GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSIOND)) BEGIN UPDATE GF_UNIDADES_CONV SET GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDAD), GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSION), GF_FATOR_CONVERS=FATOR_CONVERSAO_UNIDADE, EMP=@EMPRESA, USERM=@USER, FECHAM=GETDATE() FROM INSERTED WHERE GF_UNIDADE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADD) AND GF_UNIDADE_CONVE=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=@CONVERSIOND) END ELSE BEGIN FETCH NEXT FROM UNIDADD INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION END FETCH NEXT FROM UNIDADD INTO @UNIDADD,@CONVERSIOND FETCH NEXT FROM UNIDAD INTO @UNIDAD,@CONVERSION END CLOSE UNIDADD DEALLOCATE UNIDADD CLOSE UNIDAD DEALLOCATE UNIDAD END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_UNIDADES_CONVERSOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_UNIDADES_CONVERSOES] on [UNIDADES_CONVERSOES] for INSERT as /* INSERT trigger on UNIDADES_CONVERSOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES UNIDADE UNIDADES_CONVERSOES ON CHILD INSERT RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #UNIDADES_CONVERSOES #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES CONVERSAO UNIDADES_CONVERSOES ON CHILD INSERT RESTRICT */ if update(UNIDADE_CONVERTIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_CONVERTIDA = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #UNIDADES_CONVERSOES #porque #UNIDADES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_UNIDADES_CONVERSOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_UNIDADES_CONVERSOES] on [UNIDADES_CONVERSOES] for UPDATE as /* UPDATE trigger on UNIDADES_CONVERSOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUNIDADE char(5), @insUNIDADE_CONVERTIDA char(5), @delUNIDADE char(5), @delUNIDADE_CONVERTIDA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES UNIDADE UNIDADES_CONVERSOES ON CHILD UPDATE RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #UNIDADES_CONVERSOES #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES CONVERSAO UNIDADES_CONVERSOES ON CHILD UPDATE RESTRICT */ if update(UNIDADE_CONVERTIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_CONVERTIDA = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #UNIDADES_CONVERSOES #porque #UNIDADES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PMVERSIONDBCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PMVERSIONDBCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABLA_CONTADOR_REGISTROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABLA_CONTADOR_REGISTROS]( [TABLA] [char](48) NULL, [NUMREG] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_CECNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_CECNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMODS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMODS]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISVALIDACIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISVALIDACIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[POSICI_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [POSICI_ETIQUETAS]( [ID] [int] NOT NULL, [ID_FICHA_CONF] [int] NOT NULL, [TIPO] [int] NOT NULL, [POSICION] [int] NOT NULL, [OBSERVACION] [varchar](128) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_SU]( [ID] [int] NOT NULL, [ID_TIPO] [int] NOT NULL, [GF_TIPO] [varchar](25) NOT NULL, [GF_SUBTIPO_FORNE] [varchar](40) NOT NULL, [ORDENPM] [int] NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_FORNECEDOR_SU] ON [GF_FORNECEDOR_SU] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @SUBTIPO_FORNECEDOR varchar(40), @TIPO VARCHAR(25) DECLARE SUBTIPOV CURSOR FOR SELECT GF_TIPO,GF_SUBTIPO_FORNE FROM DELETED OPEN SUBTIPOV FETCH NEXT FROM SUBTIPOV INTO @TIPO,@SUBTIPO_FORNECEDOR BEGIN IF EXISTS (SELECT SUBTIPO_FORNECEDOR FROM FORNECEDOR_SUBTIPO WHERE TIPO=@TIPO AND SUBTIPO_FORNECEDOR=@SUBTIPO_FORNECEDOR) DELETE FROM FORNECEDOR_SUBTIPO WHERE TIPO=@TIPO AND SUBTIPO_FORNECEDOR=@SUBTIPO_FORNECEDOR FETCH NEXT FROM SUBTIPOV INTO @TIPO,@SUBTIPO_FORNECEDOR END CLOSE SUBTIPOV DEALLOCATE SUBTIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_FORNECEDOR_SU] ON [GF_FORNECEDOR_SU] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @SUBTIPO VARCHAR(40), @TIPO VARCHAR(25) DECLARE SUBTIPOV CURSOR FOR SELECT GF_TIPO,GF_SUBTIPO_FORNE FROM INSERTED OPEN SUBTIPOV FETCH NEXT FROM SUBTIPOV INTO @TIPO, @SUBTIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TIPO FROM FORNECEDOR_SUBTIPO WHERE TIPO=@TIPO AND SUBTIPO_FORNECEDOR=@SUBTIPO) BEGIN INSERT INTO FORNECEDOR_SUBTIPO (TIPO, SUBTIPO_FORNECEDOR) VALUES (@TIPO,@SUBTIPO) END FETCH NEXT FROM SUBTIPOV INTO @TIPO, @SUBTIPO END CLOSE SUBTIPOV DEALLOCATE SUBTIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_FORNECEDOR_SU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_FORNECEDOR_SU fecha de la secuencia de comandos: Ago 8 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_FORNECEDOR_SU] ON [GF_FORNECEDOR_SU] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_TI'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_TI'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_SU'')) ) = 1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_SU'')) ) < 2 ) BEGIN DECLARE @TIPO VARCHAR(25), @SUBTIPO VARCHAR(40), @TIPOD VARCHAR(25), @SUBTIPOD VARCHAR(40) DECLARE SUBTIPODV CURSOR FOR SELECT GF_TIPO,GF_SUBTIPO_FORNE FROM DELETED DECLARE SUBTIPOV CURSOR FOR SELECT GF_TIPO,GF_SUBTIPO_FORNE FROM INSERTED OPEN SUBTIPODV OPEN SUBTIPOV FETCH NEXT FROM SUBTIPODV INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPOV INTO @TIPO,@SUBTIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT SUBTIPO_FORNECEDOR FROM FORNECEDOR_SUBTIPO WHERE TIPO=@TIPOD AND SUBTIPO_FORNECEDOR=@SUBTIPOD) BEGIN UPDATE FORNECEDOR_SUBTIPO SET TIPO=@TIPO, SUBTIPO_FORNECEDOR=@SUBTIPO WHERE TIPO=@TIPOD AND SUBTIPO_FORNECEDOR=@SUBTIPOD END ELSE BEGIN FETCH NEXT FROM SUBTIPODV INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPOV INTO @TIPO,@SUBTIPO END FETCH NEXT FROM SUBTIPODV INTO @TIPOD,@SUBTIPOD FETCH NEXT FROM SUBTIPOV INTO @TIPO,@SUBTIPO END CLOSE SUBTIPODV DEALLOCATE SUBTIPODV CLOSE SUBTIPOV DEALLOCATE SUBTIPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KMODSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KMODSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCION_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCION_ING]( [ID] [int] NOT NULL, [IDINSTANCIA] [int] NULL, [IDCOMPINGR] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CLIENTES_ATAC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_CLIENTES_ATAC]( [ID] [int] NOT NULL, [GF_CLIENTE_ATACA] [varchar](25) NOT NULL, [GF_COD_CLIENTE] [char](6) NULL, [GF_CONDICAO_PGTO] [char](3) NOT NULL, [GF_REGIAO] [int] NOT NULL, [GF_MATRIZ_CLIENT] [varchar](25) NULL, [GF_FILIAL] [varchar](25) NOT NULL, [GF_PONTUALIDADE] [varchar](25) NOT NULL, [GF_TRANSPORTADOR] [varchar](25) NOT NULL, [GF_CONCEITO] [varchar](25) NOT NULL, [GF_TIPO] [varchar](25) NOT NULL, [GF_TIPO_BLOQUEIO] [varchar](25) NOT NULL, [GF_CGC_CPF] [varchar](19) NOT NULL, [GF_CLIFOR] [char](6) NOT NULL, [GF_FRETE_A_PAGAR] [char](1) NOT NULL, [GF_DESCONTO_FATU] [float] NULL, [GF_PRIORIDADE] [int] NULL, [GF_OBS] [varchar](255) NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_MOEDA] [int] NULL, [GF_CODIGO_TAB_PR] [char](2) NULL, [GF_DESCONTO_PEDI] [float] NULL, [GF_CONTA_CONTABI] [int] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[POSICI_ETIQUETASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [POSICI_ETIQUETASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_SUCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_SUCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFT_VERSION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GFT_VERSION]( [ID] [int] NOT NULL, [V_LINX] [varchar](12) NULL, [V_INVMARK] [varchar](12) NULL, [V_PM] [varchar](12) NULL, [V_PM65] [varchar](12) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_BLOQUEO_INSERT_VERSION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'create trigger [GF_BLOQUEO_INSERT_VERSION] ON [GFT_VERSION] FOR INSERT,DELETE AS ROLLBACK TRANSACTION ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KOBJACTION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KOBJACTION]( [id] [smallint] NOT NULL, [OBJACTIONn] [char](16) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PARAMETROS_USERS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PARAMETROS_USERS]( [USUARIO] [varchar](25) NOT NULL, [PARAMETRO] [varchar](25) NOT NULL, [VALOR_ATUAL_USER] [varchar](100) NOT NULL, CONSTRAINT [XPKPARAMETROS_USERS] PRIMARY KEY NONCLUSTERED ( [USUARIO] ASC, [PARAMETRO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PARAMETROS_USERS]') AND name = N'XIE1PARAMETROS_USERS') CREATE NONCLUSTERED INDEX [XIE1PARAMETROS_USERS] ON [PARAMETROS_USERS] ( [USUARIO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PARAMETROS_USERS]') AND name = N'XIE2PARAMETROS_USERS') CREATE NONCLUSTERED INDEX [XIE2PARAMETROS_USERS] ON [PARAMETROS_USERS] ( [PARAMETRO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PARAMETROS_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PARAMETROS_USERS] on [PARAMETROS_USERS] for INSERT as /* INSERT trigger on PARAMETROS_USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PARAMETROS USERS PARAMETROS_USERS ON CHILD INSERT RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_USERS #porque #PARAMETROS #não existe.'' goto error end end /* USERS PARAMETROS PARAMETROS_USERS ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_USERS #porque #USERS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PARAMETROS_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PARAMETROS_USERS] on [PARAMETROS_USERS] for UPDATE as /* UPDATE trigger on PARAMETROS_USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @insPARAMETRO varchar(25), @delUSUARIO varchar(25), @delPARAMETRO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PARAMETROS USERS PARAMETROS_USERS ON CHILD UPDATE RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_USERS #porque #PARAMETROS #não existe.'' goto error end end /* USERS PARAMETROS PARAMETROS_USERS ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_USERS #porque #USERS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCION_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCION_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REGIOES_VENDA]( [ID] [int] NOT NULL, [GF_REGIAO] [varchar](25) NOT NULL, [GF_PESO_DA_REGI] [char](1) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_REGIOES_VENDA]') AND name = N'XPKREGIOES_VENDA') CREATE UNIQUE NONCLUSTERED INDEX [XPKREGIOES_VENDA] ON [GF_REGIOES_VENDA] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_REGIOES_VENDA fecha de la secuencia de comandos: Sep 11 2001 15:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_REGIOES_VENDA] ON [GF_REGIOES_VENDA] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_REGIOES_VENDA'')))=1) RETURN ELSE BEGIN DECLARE @REGION CHAR(25) DECLARE REGIONV CURSOR FOR SELECT GF_REGIAO FROM INSERTED OPEN REGIONV FETCH NEXT FROM REGIONV INTO @REGION WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT REGIAO FROM REGIOES_VENDA WHERE REGIAO=@REGION) BEGIN INSERT INTO REGIOES_VENDA (REGIAO,PESO_DA_REGIAO,DATA_PARA_TRANSFERENCIA) SELECT GF_REGIAO,GF_PESO_DA_REGI,DATA_PARA_TRANSFERENCIA FROM GF_REGIOES_VENDA WHERE GF_REGIAO=@REGION END ELSE BEGIN FETCH NEXT FROM REGIONV INTO @REGION END FETCH NEXT FROM REGIONV INTO @REGION END CLOSE REGIONV DEALLOCATE REGIONV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_REGIOES_VENDA fecha de la secuencia de comandos: Sep 11 2001 16:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_REGIOES_VENDA] ON [GF_REGIOES_VENDA] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_REGIOES_VENDA'')) ) < 2 ) BEGIN DECLARE @REGION CHAR(25), @REGIOND CHAR(25) DECLARE REGIONDV CURSOR FOR SELECT GF_REGIAO FROM DELETED DECLARE REGIONV CURSOR FOR SELECT GF_REGIAO FROM INSERTED OPEN REGIONDV OPEN REGIONV FETCH NEXT FROM REGIONDV INTO @REGIOND FETCH NEXT FROM REGIONV INTO @REGION IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT REGIAO FROM REGIOES_VENDA WHERE REGIAO=@REGIOND) BEGIN UPDATE REGIOES_VENDA SET REGIAO=@REGION, PESO_DA_REGIAO=(SELECT GF_PESO_DA_REGI FROM INSERTED WHERE REGIAO=@REGION), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE REGIAO=@REGION) WHERE REGIAO=@REGIOND END ELSE BEGIN FETCH NEXT FROM REGIONDV INTO @REGIOND FETCH NEXT FROM REGIONV INTO @REGION END FETCH NEXT FROM REGIONDV INTO @REGIOND FETCH NEXT FROM REGIONV INTO @REGION END CLOSE REGIONDV DEALLOCATE REGIONDV CLOSE REGIONV DEALLOCATE REGIONV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[POSICION_ETIQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [POSICION_ETIQ]( [ID] [int] NOT NULL, [POSICION] [varchar](80) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[POSICION_ETIQCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [POSICION_ETIQCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIFCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_GRIFCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_TI]( [ID] [int] NOT NULL, [GF_TIPO] [varchar](25) NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_FORNECEDOR_TI] ON [GF_FORNECEDOR_TI] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @TIPO VARCHAR(25), @TIPOD VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM DELETED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO FROM FORNECEDOR_TIPOS WHERE TIPO=@TIPO) DELETE FROM FORNECEDOR_TIPOS WHERE TIPO=@TIPO FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_FORNECEDOR_TI] ON [GF_FORNECEDOR_TI] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM INSERTED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TIPO FROM FORNECEDOR_TIPOS WHERE TIPO=@TIPO) INSERT INTO FORNECEDOR_TIPOS (TIPO) VALUES (@TIPO) FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_FORNECEDOR_TI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_FORNECEDOR_TI fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_FORNECEDOR_TI] ON [GF_FORNECEDOR_TI] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDOR_TI'')) ) = 1 ) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_FORNECEDOR_TI'')) ) < 2 ) BEGIN DECLARE @TIPO VARCHAR(25), @TIPOD VARCHAR(25) DECLARE TIPODV CURSOR FOR SELECT GF_TIPO FROM DELETED DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM INSERTED OPEN TIPODV OPEN TIPOV FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO FROM FORNECEDOR_TIPOS WHERE TIPO=@TIPOD) BEGIN UPDATE FORNECEDOR_TIPOS SET TIPO=@TIPO WHERE TIPO=@TIPOD UPDATE FORNECEDOR_SUBTIPO SET TIPO=@TIPO WHERE TIPO=@TIPOD UPDATE GF_FORNECEDOR_SU SET GF_TIPO=@TIPO WHERE GF_TIPO=@TIPOD END ELSE BEGIN FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPODV DEALLOCATE TIPODV CLOSE TIPOV DEALLOCATE TIPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KOBJACTIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KOBJACTIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCIONIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCIONIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REGIOES_VENDACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REGIOES_VENDACNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDOR_TICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDOR_TICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KOBJECT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KOBJECT]( [ID] [smallint] NULL, [OBJECTN] [char](20) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRECIO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRECIO_MATERIAL]( [ID] [int] NOT NULL, [ID_TEJIDO] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [PRECIO] [float] NOT NULL, [ORDENPM] [int] NULL, [MUESTRARIO] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFI_PRECIO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFI_PRECIO_MATERIAL fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFI_PRECIO_MATERIAL] ON [PRECIO_MATERIAL] FOR INSERT NOT FOR REPLICATION AS IF (SELECT MUESTRARIO FROM INSERTED)=0 BEGIN UPDATE ETEJI SET GF_CUSTO_REPOSIC=PRECIO FROM INSERTED A WHERE A.ID_TEJIDO=ETEJI.ID END IF (SELECT MUESTRARIO FROM INSERTED)=1 BEGIN UPDATE ETEJI SET GF_CUSTO_A_VISTA=PRECIO,GF_CUSTO_REPOSIC=PRECIO FROM INSERTED A WHERE A.ID_TEJIDO=ETEJI.ID END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFU_PRECIO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFU_PRECIO_MATERIAL fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFU_PRECIO_MATERIAL] ON [PRECIO_MATERIAL] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel (OBJECT_ID(''CGFU_PRECIO_MATERIAL'')) ) <2 ) IF UPDATE(PRECIO) BEGIN UPDATE PRECIO_MATERIAL SET PRECIO=(SELECT PRECIO FROM DELETED) WHERE ID=(SELECT ID FROM DELETED) END IF UPDATE(MUESTRARIO) BEGIN UPDATE PRECIO_MATERIAL SET MUESTRARIO=(SELECT MUESTRARIO FROM DELETED) WHERE ID=(SELECT ID FROM DELETED) END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRECIO_MATERIALCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRECIO_MATERIALCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_GRUP]( [ID] [int] NOT NULL, [GF_GRUPO_PRODUTO] [varchar](25) NOT NULL, [GF_CODIGO_GRUPO] [varchar](2) NOT NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 21:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_GRUP] ON [GF_PRODUTOS_GRUP] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_GRUP'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25) DECLARE GRUPOV CURSOR FOR SELECT GF_GRUPO_PRODUTO FROM DELETED OPEN GRUPOV FETCH NEXT FROM GRUPOV INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRUPO_PRODUTO FROM PRODUTOS_GRUPO WHERE GRUPO_PRODUTO=@GRUPO) BEGIN DELETE FROM PRODUTOS_GRUPO WHERE GRUPO_PRODUTO=@GRUPO END ELSE BEGIN FETCH NEXT FROM GRUPOV INTO @GRUPO END FETCH NEXT FROM GRUPOV INTO @GRUPO END CLOSE GRUPOV DEALLOCATE GRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 19:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_GRUP] ON [GF_PRODUTOS_GRUP] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_GRUP'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25) DECLARE GRUPOV CURSOR FOR SELECT GF_GRUPO_PRODUTO FROM INSERTED OPEN GRUPOV FETCH NEXT FROM GRUPOV INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GRUPO_PRODUTO FROM PRODUTOS_GRUPO WHERE GRUPO_PRODUTO=@GRUPO) BEGIN INSERT INTO PRODUTOS_GRUPO (GRUPO_PRODUTO, CODIGO_GRUPO, Data_para_transferencia) SELECT GF_GRUPO_PRODUTO, GF_CODIGO_GRUPO, Data_para_transferencia FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO END ELSE BEGIN FETCH NEXT FROM GRUPOV INTO @GRUPO END FETCH NEXT FROM GRUPOV INTO @GRUPO END CLOSE GRUPOV DEALLOCATE GRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 20:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_GRUP] ON [GF_PRODUTOS_GRUP] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRUP'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRUP'')) ) < 2 ) BEGIN DECLARE @GRUPO VARCHAR(25), @GRUPOD VARCHAR(25) DECLARE GRUPOD CURSOR FOR SELECT GF_GRUPO_PRODUTO FROM DELETED DECLARE GRUPO CURSOR FOR SELECT GF_GRUPO_PRODUTO FROM INSERTED OPEN GRUPOD OPEN GRUPO FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRUPO_PRODUTO FROM PRODUTOS_GRUPO WHERE GRUPO_PRODUTO=@GRUPOD) BEGIN UPDATE PRODUTOS_GRUPO SET GRUPO_PRODUTO=@GRUPO, CODIGO_GRUPO=(SELECT GF_CODIGO_GRUPO FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO) WHERE GRUPO_PRODUTO=@GRUPOD UPDATE PRODUTOS_SUBGRUPO SET GRUPO_PRODUTO=@GRUPO WHERE GRUPO_PRODUTO=@GRUPOD UPDATE GF_PRODUTOS_SUBG SET GF_GRUPO_PRODUTO=@GRUPO WHERE GF_GRUPO_PRODUTO=@GRUPOD END ELSE BEGIN FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPOD DEALLOCATE GRUPOD CLOSE GRUPO DEALLOCATE GRUPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECCIONIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECCIONIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_TIPO]( [TIPO_ENTRADAS] [varchar](25) NOT NULL, [INDICADOR_TIPO] [char](4) NULL, CONSTRAINT [XPKENTRADAS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_ENTRADAS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ENTRADAS_TIPO] on [ENTRADAS_TIPO] for DELETE as /* DELETE trigger on ENTRADAS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* ENTRADAS_TIPO TIPO_ENTRADAS ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.TIPO_ENTRADAS = deleted.TIPO_ENTRADAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS_TIPO #porque existem registros em #ENTRADAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADAS_TIPO] on [ENTRADAS_TIPO] for UPDATE as /* UPDATE trigger on ENTRADAS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENTRADAS varchar(25), @delTIPO_ENTRADAS varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_TIPO TIPO_ENTRADAS ENTRADAS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENTRADAS) BEGIN DECLARE ENTRADAS_TIPO1332 CURSOR FOR SELECT TIPO_ENTRADAS FROM INSERTED DECLARE ENTRADAS_TIPO803 CURSOR FOR SELECT TIPO_ENTRADAS FROM DELETED OPEN ENTRADAS_TIPO1332 OPEN ENTRADAS_TIPO803 FETCH NEXT FROM ENTRADAS_TIPO1332 INTO @insTIPO_ENTRADAS FETCH NEXT FROM ENTRADAS_TIPO803 INTO @delTIPO_ENTRADAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.TIPO_ENTRADAS=@insTIPO_ENTRADAS WHERE ENTRADAS.TIPO_ENTRADAS = @delTIPO_ENTRADAS FETCH NEXT FROM ENTRADAS_TIPO1332 INTO @insTIPO_ENTRADAS FETCH NEXT FROM ENTRADAS_TIPO803 INTO @delTIPO_ENTRADAS END END CLOSE ENTRADAS_TIPO1332 CLOSE ENTRADAS_TIPO803 DEALLOCATE ENTRADAS_TIPO1332 DEALLOCATE ENTRADAS_TIPO803 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISVARSZ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISVARSZ]( [ID] [int] NOT NULL, [IDCLASS] [int] NOT NULL, [ATRIBVAR] [char](80) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KOBJECTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KOBJECTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLOR_HILO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLOR_HILO]( [ID] [int] NOT NULL, [COLOR_HILO] [varchar](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDORESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDORESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KPZAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KPZAS]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL, [IDALFA] [varchar](4) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISVARSZCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISVARSZCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRUPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_GRUPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_COMPOSICAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_COMPOSICAO]( [COMPOSICAO] [char](6) NOT NULL, [DESC_COMPOSICAO] [varchar](150) NOT NULL, [PASSADORIA_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_COM_CLORADOS] [varchar](1) NULL, [LAVAR_A_SECO] [varchar](1) NULL, [SECAR_SECADORA] [varchar](1) NULL, CONSTRAINT [XPKMATERIAIS_COMPOSICAO] PRIMARY KEY NONCLUSTERED ( [COMPOSICAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_COM fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_COM] ON [MATERIAIS_COMPOSICAO] FOR DELETE NOT FOR REPLICATION AS DECLARE @COMPOSICAOD VARCHAR(6) DECLARE COMPOSICAOD CURSOR FOR SELECT COMPOSICAO FROM DELETED OPEN COMPOSICAOD FETCH NEXT FROM COMPOSICAOD INTO @COMPOSICAOD WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO=@COMPOSICAOD) DELETE FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO=@COMPOSICAOD FETCH NEXT FROM COMPOSICAOD INTO @COMPOSICAOD END CLOSE COMPOSICAOD DEALLOCATE COMPOSICAOD ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_COM fecha de la secuencia de comandos: Sep 3 2001 16:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_COM] ON [MATERIAIS_COMPOSICAO] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() DECLARE @COMPOSICAO CHAR(6) DECLARE COMPOSICAO CURSOR FOR SELECT COMPOSICAO FROM INSERTED OPEN COMPOSICAO FETCH NEXT FROM COMPOSICAO INTO @COMPOSICAO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO=@COMPOSICAO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_COM (ID,GF_PASSADORA_TEM,GF_DESC_COMPOSIC,GF_LAVAGEM_TEMPE,GF_LAVAGEM_COM_,GF_LAVAR_A_SECO, GF_SECAR_A_SECAD,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP,GF_COMPOSICAO) SELECT B.IDMAX,PASSADORIA_TEMPERATURA,DESC_COMPOSICAO,LAVAGEM_TEMPERATURA,LAVAGEM_COM_CLORADOS, LAVAR_A_SECO,SECAR_SECADORA,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER,COMPOSICAO FROM INSERTED A, GF_MATERIAIS_COMCNT B WHERE COMPOSICAO=@COMPOSICAO UPDATE GF_MATERIAIS_COMCNT SET IDMAX=IDMAX+1 END --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END ELSE BEGIN FETCH NEXT FROM COMPOSICAO INTO @COMPOSICAO END FETCH NEXT FROM COMPOSICAO INTO @COMPOSICAO END CLOSE COMPOSICAO DEALLOCATE COMPOSICAO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_COM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_COM fecha de la secuencia de comandos: Sep 4 2001 18:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_COM] ON [MATERIAIS_COMPOSICAO] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_COM'')) ) < 2 ) BEGIN DECLARE @COMPOSICAO VARCHAR(6),@COMPOSICAOD VARCHAR(6) DECLARE COMPOSICAOD CURSOR FOR SELECT COMPOSICAO FROM DELETED DECLARE COMPOSICAO CURSOR FOR SELECT COMPOSICAO FROM INSERTED OPEN COMPOSICAOD OPEN COMPOSICAO FETCH NEXT FROM COMPOSICAOD INTO @COMPOSICAOD FETCH NEXT FROM COMPOSICAO INTO @COMPOSICAO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO=@COMPOSICAOD) --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_COM SET GF_COMPOSICAO=@COMPOSICAO, GF_PASSADORA_TEM=(SELECT PASSADORIA_TEMPERATURA FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), GF_DESC_COMPOSIC=(SELECT DESC_COMPOSICAO FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), GF_LAVAGEM_TEMPE=(SELECT LAVAGEM_TEMPERATURA FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), GF_LAVAGEM_COM_=(SELECT LAVAGEM_COM_CLORADOS FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), GF_LAVAR_A_SECO=(SELECT LAVAR_A_SECO FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), GF_SECAR_A_SECAD=(SELECT SECAR_SECADORA FROM INSERTED WHERE COMPOSICAO=@COMPOSICAO), USERM=@USER, FECHAM=GETDATE() WHERE GF_COMPOSICAO=@COMPOSICAOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Proveedor, consulte con el administrador de su Empresa.'' --GOTO ERROR --END FETCH NEXT FROM COMPOSICAOD INTO @COMPOSICAOD FETCH NEXT FROM COMPOSICAO INTO @COMPOSICAO END CLOSE COMPOSICAO DEALLOCATE COMPOSICAO CLOSE COMPOSICAOD DEALLOCATE COMPOSICAOD END END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_COMPOSICAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_COMPOSICAO] on [MATERIAIS_COMPOSICAO] for DELETE as /* DELETE trigger on MATERIAIS_COMPOSICAO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_COMPOSICAO R/1957 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.COMPOSICAO = deleted.COMPOSICAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_COMPOSICAO #porque existem registros em #PRODUTOS#.'' goto error end /* MATERIAIS_COMPOSICAO R/1932 MATERIAIS_BASE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE where MATERIAIS_BASE.COMPOSICAO = deleted.COMPOSICAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_COMPOSICAO #porque existem registros em #MATERIAIS_BASE#.'' goto error end /* MATERIAIS_COMPOSICAO R/1929 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.COMPOSICAO = deleted.COMPOSICAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_COMPOSICAO #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_COMPOSICAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_COMPOSICAO] on [MATERIAIS_COMPOSICAO] for UPDATE as /* UPDATE trigger on MATERIAIS_COMPOSICAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOMPOSICAO char(6), @delCOMPOSICAO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_COMPOSICAO R/1957 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(COMPOSICAO) BEGIN DECLARE MATERIAIS_COMPOSICAO1957 CURSOR FOR SELECT COMPOSICAO FROM INSERTED DECLARE MATERIAIS_COMPOSICAO975 CURSOR FOR SELECT COMPOSICAO FROM DELETED OPEN MATERIAIS_COMPOSICAO1957 OPEN MATERIAIS_COMPOSICAO975 FETCH NEXT FROM MATERIAIS_COMPOSICAO1957 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.COMPOSICAO=@insCOMPOSICAO WHERE PRODUTOS.COMPOSICAO = @delCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO1957 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO END END CLOSE MATERIAIS_COMPOSICAO1957 CLOSE MATERIAIS_COMPOSICAO975 DEALLOCATE MATERIAIS_COMPOSICAO1957 DEALLOCATE MATERIAIS_COMPOSICAO975 END /* MATERIAIS_COMPOSICAO R/1932 MATERIAIS_BASE ON PARENT UPDATE CASCADE */ IF update(COMPOSICAO) BEGIN DECLARE MATERIAIS_COMPOSICAO1932 CURSOR FOR SELECT COMPOSICAO FROM INSERTED DECLARE MATERIAIS_COMPOSICAO975 CURSOR FOR SELECT COMPOSICAO FROM DELETED OPEN MATERIAIS_COMPOSICAO1932 OPEN MATERIAIS_COMPOSICAO975 FETCH NEXT FROM MATERIAIS_COMPOSICAO1932 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE SET MATERIAIS_BASE.COMPOSICAO=@insCOMPOSICAO WHERE MATERIAIS_BASE.COMPOSICAO = @delCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO1932 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO END END CLOSE MATERIAIS_COMPOSICAO1932 CLOSE MATERIAIS_COMPOSICAO975 DEALLOCATE MATERIAIS_COMPOSICAO1932 DEALLOCATE MATERIAIS_COMPOSICAO975 END /* MATERIAIS_COMPOSICAO R/1929 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(COMPOSICAO) BEGIN DECLARE MATERIAIS_COMPOSICAO1929 CURSOR FOR SELECT COMPOSICAO FROM INSERTED DECLARE MATERIAIS_COMPOSICAO975 CURSOR FOR SELECT COMPOSICAO FROM DELETED OPEN MATERIAIS_COMPOSICAO1929 OPEN MATERIAIS_COMPOSICAO975 FETCH NEXT FROM MATERIAIS_COMPOSICAO1929 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.COMPOSICAO=@insCOMPOSICAO WHERE MATERIAIS.COMPOSICAO = @delCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO1929 INTO @insCOMPOSICAO FETCH NEXT FROM MATERIAIS_COMPOSICAO975 INTO @delCOMPOSICAO END END CLOSE MATERIAIS_COMPOSICAO1929 CLOSE MATERIAIS_COMPOSICAO975 DEALLOCATE MATERIAIS_COMPOSICAO1929 DEALLOCATE MATERIAIS_COMPOSICAO975 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLOR_HILOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLOR_HILOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_LISO_EST_CUAD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_LISO_EST_CUAD]( [ID] [int] NOT NULL, [GF_LISO_EST_CUAD] [char](1) NOT NULL, [COMENTARIO] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KPZASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KPZASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CART_COL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CART_COL]( [ID_CART_COL] [int] NOT NULL, [NAME] [varchar](25) NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [GF_DESC_COLECAO] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTM]( [IDPRENDMTM] [int] NULL, [NOMBRE] [char](80) NULL, [READY] [char](1) NULL, [COMENTARIO] [char](80) NULL, [LISTATEJIDOS] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TIPO_LAVAGEM_OLD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TIPO_LAVAGEM_OLD]( [RESTRICAO_LAVAGEM] [char](6) NOT NULL, [DESC_RESTRICAO_LAVAGEM] [varchar](40) NOT NULL, [PASSADORIA_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_TEMPERATURA] [varchar](3) NULL, [LAVAGEM_COM_CLORADOS] [varchar](1) NULL, [LAVAR_A_SECO] [varchar](1) NULL, [SECAR_SECADORA] [varchar](1) NULL, [OBS] [text] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPGEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPGEN]( [IDCOMP] [smallint] NULL, [NOMBRE] [char](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SITUDESCRI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SITUDESCRI]( [ID] [int] NOT NULL, [NOMBRE] [varchar](36) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE_SUBGRUPO]( [REFERENCIA_BASE] [char](11) NOT NULL, [SUBGRUPO] [varchar](25) NOT NULL, [GRUPO] [varchar](25) NOT NULL, CONSTRAINT [XPKMATERIAIS_BASE_SUBGRUPO] PRIMARY KEY NONCLUSTERED ( [REFERENCIA_BASE] ASC, [SUBGRUPO] ASC, [GRUPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_LISO_EST_CUADCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_LISO_EST_CUADCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KSPR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KSPR]( [ID] [int] NULL, [TIPO] [char](64) NULL, [COMENTARIO] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SITUDESCRICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SITUDESCRICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPGENCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPGENCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CreaContador]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [CreaContador] @sTabla varchar(30), @sCol varchar(30) as declare @ComandoSQL varchar(100) select @ComandoSQL = ''CREATE TABLE '' + @sTabla +''CNT (IDMAX INTEGER)'' execute (@ComandoSQL) IF @@ERROR = 0 begin select @ComandoSQL = ''INSERT INTO ''+ @sTabla +''CNT SELECT COALESCE(MAX(''+ @sCol +'')+1,1) FROM ''+ @sTabla +'' '' execute (@ComandoSQL) end ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[KSPRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [KSPRCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DEFAULT_100]') AND OBJECTPROPERTY(id, N'IsDefault') = 1) EXEC dbo.sp_executesql N'CREATE DEFAULT [DEFAULT_100] AS 100' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPOSICION]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPOSICION]( [ID] [int] NOT NULL, [COMPOSICION] [varchar](255) NOT NULL, [MATERIA1] [varchar](32) NULL, [POR1MATERIA] [char](3) NULL, [MATERIA2] [varchar](32) NULL, [POR2MATERIA] [char](2) NULL, [MATERIA3] [varchar](32) NULL, [POR3MATERIA] [char](2) NULL, [MATERIA4] [varchar](32) NULL, [POR4MATERIA] [char](2) NULL, [MATERIA5] [varchar](32) NULL, [POR5MATERIA] [char](2) NULL, [MATERIA6] [varchar](32) NULL, [POR6MATERIA] [char](2) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[I_COMPOSICION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.I_COMPOSICION fecha de la secuencia de comandos: Ago 1 2000 12:34PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [I_COMPOSICION] ON [COMPOSICION] FOR INSERT AS BEGIN DECLARE @ERRNO INT, @ERRMSG VARCHAR (255) IF EXISTS (SELECT * FROM INSERTED WHERE ( CONVERT(INT,ISNULL (POR1MATERIA,''0'')) + CONVERT(INT,ISNULL (POR2MATERIA,''0'')) + CONVERT(INT,ISNULL (POR3MATERIA,''0'')) + CONVERT(INT,ISNULL (POR4MATERIA,''0'')) + CONVERT(INT,ISNULL (POR5MATERIA,''0'')) + CONVERT(INT,ISNULL (POR6MATERIA,''0'')) !=100)) BEGIN SELECT @ERRNO=30001,@ERRMSG='' Los porcentajes de Materias no suman un 100%. Por favor verifique sus datos '' GOTO ERROR END RETURN ERROR: RAISERROR @ERRNO @ERRMSG END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[U_COMPOSICION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.U_COMPOSICION fecha de la secuencia de comandos: Ago 1 2000 12:34PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [U_COMPOSICION] ON [COMPOSICION] FOR UPDATE AS BEGIN DECLARE @ERRNO INT, @ERRMSG VARCHAR (255) IF EXISTS (SELECT * FROM INSERTED WHERE ( CONVERT(INT,ISNULL (POR1MATERIA,''0'')) + CONVERT(INT,ISNULL (POR2MATERIA,''0'')) + CONVERT(INT,ISNULL (POR3MATERIA,''0'')) + CONVERT(INT,ISNULL (POR4MATERIA,''0'')) + CONVERT(INT,ISNULL (POR5MATERIA,''0'')) + CONVERT(INT,ISNULL (POR6MATERIA,''0'')) !=100)) BEGIN SELECT @ERRNO=30001,@ERRMSG='' Los porcentajes de Materias no suman un 100%. Por favor verifique sus datos '' GOTO ERROR END RETURN ERROR: RAISERROR @ERRNO @ERRMSG END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_LOG_CARGA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_LOG_CARGA]( [ID] [int] IDENTITY(1,1) NOT NULL, [REPORT] [varchar](10) NOT NULL, [FECHA] [datetime] NOT NULL, [OK] [bit] NOT NULL, [ERROR_MSG] [varchar](255) NULL, UNIQUE NONCLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_COMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SgtesClaves]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [SgtesClaves] @Table varchar(30), @nClaves integer, @nKey integer output as DECLARE @ComandoSQL varchar(300) DECLARE @IdAux integer DECLARE @TableCNT varchar(30) SELECT @nKey = 0 SELECT @IdAux = 0 SELECT @TableCNT= @Table + ''CNT'' SELECT @ComandoSQL = ''UPDATE '' + @Table + ''CNT SET IDMAX=IDMAX + ''+ CONVERT (char(12),@nClaves) --UPDATE @TableCNT SET IDMAX=IDMAX + @nClaves EXECUTE (@ComandoSQL) --PRINT (@ComandoSQL) --print (CONVERT (char(12),@@ERROR)) IF (@@ERROR <> 0) RETURN (-36) select @ComandoSQL = ''declare tb_cursor CURSOR FOR SELECT IDMAX FROM ''+ @Table +''CNT'' execute (@ComandoSQL) open tb_cursor fetch next from tb_cursor into @IdAux if (@@fetch_status <> -1) begin if (@@fetch_status <> -2) begin select @nKey = @IdAux - @nClaves --print Convert(char(34),@nKey) end end deallocate tb_cursor return (0) ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGIN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGIN]( [ORDFAB] [int] NULL, [MESA] [smallint] NULL, [OPERADOR] [char](24) NULL, [TAREA] [smallint] NULL, [OBJETO] [smallint] NULL, [FICHERO] [char](51) NULL, [FECHAC] [datetime] NULL, [FECHAF] [datetime] NULL, [TCORTE] [float] NULL, [TARRIBA] [float] NULL, [TDESPL] [float] NULL, [TPARADA] [float] NULL, [TDESPVACIO] [float] NULL, [TDESPCORTE] [float] NULL, [TSUBCUCHILLA] [float] NULL, [TBAJCUCHILLA] [float] NULL, [TGIROCUCHABA] [float] NULL, [TGIROCUCHARR] [float] NULL, [TSUBBAJTALADRO] [float] NULL, [TOPERCONVEYOR] [float] NULL, [TAFILADOS] [float] NULL, [TCALCULO] [float] NULL, [TMANUAL] [float] NULL, [TAUTOMATICO] [float] NULL, [TPREPARACION] [float] NULL, [ANCHURA] [float] NULL, [LONGITUD] [float] NULL, [PERARRIBA] [float] NULL, [PERABAJO] [float] NULL, [PERBRUTO] [float] NULL, [PERNETO] [float] NULL, [VELMEDIA] [float] NULL, [NPIQUETES] [smallint] NULL, [PIQI] [smallint] NULL, [PIQV] [smallint] NULL, [PIQT] [smallint] NULL, [PIQLARGOS] [smallint] NULL, [NAFILADOS] [smallint] NULL, [NTELAS] [smallint] NULL, [NTALLAS] [smallint] NULL, [NTALADROS] [smallint] NULL, [NSECCIONES] [smallint] NULL, [NPZAS] [smallint] NULL, [NVENTANAS] [smallint] NULL, [CUTORDER] [char](10) NULL, [PRODCODE] [char](10) NULL, [CONSLINE] [char](10) NULL, [NGARMENTS] [smallint] NULL, [VMAXREC] [float] NULL, [VMAX] [float] NULL, [VMIN] [float] NULL, [FICHPARAM] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPOSICIONCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPOSICIONCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEJENGRP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEJENGRP]( [IDTEJGRP] [int] NULL, [IDGRUPO] [int] NULL, [IDTEJIDO] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_CODIGO_PRODUCTO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [GF_SP_CODIGO_PRODUCTO] @SUBGRUPO INTEGER, @GRUPO INTEGER, @IDVAR INTEGER AS ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTM_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTM_ING]( [ID] [int] NULL, [IDINSTANCIA] [int] NULL, [IDCOMPINGR] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_DESENHO_MEIO_PRODUCAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_DESENHO_MEIO_PRODUCAO]( [MEIO_PRODUCAO_DESENHO] [varchar](25) NOT NULL, CONSTRAINT [XPKMATERIAIS_DESENHO_MEIO_PROD] PRIMARY KEY NONCLUSTERED ( [MEIO_PRODUCAO_DESENHO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_DESENHO_MEIO_PRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_DESENHO_MEIO_PRO] on [MATERIAIS_DESENHO_MEIO_PRODUCAO] for DELETE as /* DELETE trigger on MATERIAIS_DESENHO_MEIO_PRODUCAO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_DESENHO_MEIO_PRODUCAO R/1995 MATERIAIS_DESENHO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_DESENHO where MATERIAIS_DESENHO.MEIO_PRODUCAO_DESENHO = deleted.MEIO_PRODUCAO_DESENHO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_DESENHO_MEIO_PRODUCAO #porque existem registros em #MATERIAIS_DESENHO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_DESENHO_MEIO_PRO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_DESENHO_MEIO_PRO] on [MATERIAIS_DESENHO_MEIO_PRODUCAO] for UPDATE as /* UPDATE trigger on MATERIAIS_DESENHO_MEIO_PRODUCAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMEIO_PRODUCAO_DESENHO varchar(25), @delMEIO_PRODUCAO_DESENHO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_DESENHO_MEIO_PRODUCAO R/1995 MATERIAIS_DESENHO ON PARENT UPDATE CASCADE */ IF update(MEIO_PRODUCAO_DESENHO) BEGIN DECLARE MATERIAIS_DESENHO_MEIO_PRO1995 CURSOR FOR SELECT MEIO_PRODUCAO_DESENHO FROM INSERTED DECLARE MATERIAIS_DESENHO_MEIO_PRO1120 CURSOR FOR SELECT MEIO_PRODUCAO_DESENHO FROM DELETED OPEN MATERIAIS_DESENHO_MEIO_PRO1995 OPEN MATERIAIS_DESENHO_MEIO_PRO1120 FETCH NEXT FROM MATERIAIS_DESENHO_MEIO_PRO1995 INTO @insMEIO_PRODUCAO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_MEIO_PRO1120 INTO @delMEIO_PRODUCAO_DESENHO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_DESENHO SET MATERIAIS_DESENHO.MEIO_PRODUCAO_DESENHO=@insMEIO_PRODUCAO_DESENHO WHERE MATERIAIS_DESENHO.MEIO_PRODUCAO_DESENHO = @delMEIO_PRODUCAO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_MEIO_PRO1995 INTO @insMEIO_PRODUCAO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_MEIO_PRO1120 INTO @delMEIO_PRODUCAO_DESENHO END END CLOSE MATERIAIS_DESENHO_MEIO_PRO1995 CLOSE MATERIAIS_DESENHO_MEIO_PRO1120 DEALLOCATE MATERIAIS_DESENHO_MEIO_PRO1995 DEALLOCATE MATERIAIS_DESENHO_MEIO_PRO1120 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRANSFER_MATERIAIS_FORNECEDORES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_TRANSFER_MATERIAIS_FORNECEDORES] @n_IdEtejiRaiz INTEGER AS ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTM_INGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTM_INGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_LINH]( [ID] [int] NOT NULL, [GF_LINHA] [varchar](25) NOT NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [USERP] [int] NULL, [EMP] [int] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [ACCESO] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 16:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_LINH] ON [GF_PRODUTOS_LINH] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_LINH'')) ) =1) RETURN ELSE DECLARE @LINEA VARCHAR(25) DECLARE LINEAV CURSOR FOR SELECT GF_LINHA FROM DELETED OPEN LINEAV FETCH NEXT FROM LINEAV INTO @LINEA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT LINHA FROM PRODUTOS_LINHAS WHERE LINHA=@LINEA) DELETE FROM PRODUTOS_LINHAS WHERE LINHA=@LINEA ELSE BEGIN FETCH NEXT FROM LINEAV INTO @LINEA END FETCH NEXT FROM LINEAV INTO @LINEA END CLOSE LINEAV DEALLOCATE LINEAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 13:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_LINH] ON [GF_PRODUTOS_LINH] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_LINH''))) =1) RETURN ELSE BEGIN DECLARE @LINEA VARCHAR(25) DECLARE LINEAV CURSOR FOR SELECT GF_LINHA FROM INSERTED OPEN LINEAV FETCH NEXT FROM LINEAV INTO @LINEA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT LINHA FROM PRODUTOS_LINHAS WHERE LINHA=@LINEA) BEGIN INSERT INTO PRODUTOS_LINHAS(LINHA,Data_para_transferencia) SELECT GF_LINHA,GF_DATA_PARA_TRANSFERENCIA FROM GF_PRODUTOS_LINH WHERE GF_LINHA=@LINEA END ELSE BEGIN FETCH NEXT FROM LINEAV INTO @LINEA END FETCH NEXT FROM LINEAV INTO @LINEA END CLOSE LINEAV DEALLOCATE LINEAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 15:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_LINH] ON [GF_PRODUTOS_LINH] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_LINH'')) ) < 2 ) BEGIN DECLARE @LINEAD VARCHAR(25) DECLARE @LINEA VARCHAR(25) DECLARE LINEADV CURSOR FOR SELECT GF_LINHA FROM DELETED DECLARE LINEAV CURSOR FOR SELECT GF_LINHA FROM INSERTED OPEN LINEADV OPEN LINEAV FETCH NEXT FROM LINEADV INTO @LINEAD FETCH NEXT FROM LINEAV INTO @LINEA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT LINHA FROM PRODUTOS_LINHAS WHERE LINHA=@LINEAD) BEGIN UPDATE PRODUTOS_LINHAS SET LINHA=@LINEA,Data_para_transferencia=(SELECT GF_DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE LINHA=@LINEA) WHERE LINHA=@LINEAD END ELSE BEGIN FETCH NEXT FROM LINEADV INTO @LINEAD FETCH NEXT FROM LINEAV INTO @LINEA END FETCH NEXT FROM LINEADV INTO @LINEAD FETCH NEXT FROM LINEAV INTO @LINEA END CLOSE LINEADV DEALLOCATE LINEADV CLOSE LINEAV DEALLOCATE LINEAV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_DESENHO_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_DESENHO_TIPO]( [TIPO_DESENHO] [varchar](20) NOT NULL, CONSTRAINT [XPKMATERIAIS_DESENHO_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_DESENHO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_DESENHO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_DESENHO_TIPO] on [MATERIAIS_DESENHO_TIPO] for DELETE as /* DELETE trigger on MATERIAIS_DESENHO_TIPO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_DESENHO_TIPO R/1996 MATERIAIS_DESENHO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_DESENHO where MATERIAIS_DESENHO.TIPO_DESENHO = deleted.TIPO_DESENHO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_DESENHO_TIPO #porque existem registros em #MATERIAIS_DESENHO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_DESENHO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_DESENHO_TIPO] on [MATERIAIS_DESENHO_TIPO] for UPDATE as /* UPDATE trigger on MATERIAIS_DESENHO_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_DESENHO varchar(20), @delTIPO_DESENHO varchar(20), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_DESENHO_TIPO R/1996 MATERIAIS_DESENHO ON PARENT UPDATE CASCADE */ IF update(TIPO_DESENHO) BEGIN DECLARE MATERIAIS_DESENHO_TIPO1996 CURSOR FOR SELECT TIPO_DESENHO FROM INSERTED DECLARE MATERIAIS_DESENHO_TIPO1122 CURSOR FOR SELECT TIPO_DESENHO FROM DELETED OPEN MATERIAIS_DESENHO_TIPO1996 OPEN MATERIAIS_DESENHO_TIPO1122 FETCH NEXT FROM MATERIAIS_DESENHO_TIPO1996 INTO @insTIPO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_TIPO1122 INTO @delTIPO_DESENHO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_DESENHO SET MATERIAIS_DESENHO.TIPO_DESENHO=@insTIPO_DESENHO WHERE MATERIAIS_DESENHO.TIPO_DESENHO = @delTIPO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_TIPO1996 INTO @insTIPO_DESENHO FETCH NEXT FROM MATERIAIS_DESENHO_TIPO1122 INTO @delTIPO_DESENHO END END CLOSE MATERIAIS_DESENHO_TIPO1996 CLOSE MATERIAIS_DESENHO_TIPO1122 DEALLOCATE MATERIAIS_DESENHO_TIPO1996 DEALLOCATE MATERIAIS_DESENHO_TIPO1122 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTMIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTMIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [int] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [int] NULL, [OFFSET] [int] NULL, [ESTADO] [int] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_LINHCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_LINHCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGINCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGINCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_REFERENCIA_GENERICA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_REFERENCIA_GENERICA]( [NUMINF] [varchar](35) NOT NULL, [CLAVE1] [numeric](10, 0) NOT NULL, [CLAVE2] [numeric](5, 0) NOT NULL, [CLAVE3] [numeric](5, 0) NOT NULL, [FECHACAMBIO] [datetime] NOT NULL, [ESTADO] [char](1) NOT NULL, [CODIGO_BARRA] [varchar](25) NULL, [CANVEN] [numeric](15, 3) NULL, [CANESP] [numeric](15, 3) NULL, [CANVENNET] [numeric](15, 3) NULL, [NUMCON] [smallint] NOT NULL DEFAULT (0), [VALVEN] [numeric](15, 3) NULL, CONSTRAINT [PK__RDX_REFERENCIA_G__68DE77D5] PRIMARY KEY CLUSTERED ( [NUMINF] ASC, [CLAVE1] ASC, [CLAVE2] ASC, [CLAVE3] ASC, [NUMCON] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_TAREFAS_DE_EXCLUSAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_TAREFAS_DE_EXCLUSAO] AS SELECT DESCRICAO = ''Pedidos de Venda '', JOB_NAME = ''LX_EXCLUI_VENDA '' UNION ALL --SELECT DESCRICAO = ''Faturamentos '', JOB_NAME = ''LX_EXCLUI_FATURAMENTO '' --UNION ALL SELECT DESCRICAO = ''Ordens de Produção '', JOB_NAME = ''LX_EXCLUI_ORDEM_PRODUCAO '' UNION ALL SELECT DESCRICAO = ''Movimentações de Estoque '', JOB_NAME = ''LX_EXCLUI_MOV_ESTOQUE '' --UNION ALL --SELECT DESCRICAO = ''Vendas de Loja '', JOB_NAME = ''LX_EXCLUI_VENDA_LOJA '' --UNION ALL --SELECT DESCRICAO = ''Entradas de Produtos '', JOB_NAME = ''LX_EXCLUI_ENTRADA_PRODUTO '' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGINMATCH]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGINMATCH]( [ORDMATCH] [int] NOT NULL, [USERM] [smallint] NULL, [TABLEMATCH] [smallint] NULL, [TABLECUT] [smallint] NULL, [FICHERO] [char](51) NULL, [FECHAC] [datetime] NULL, [FECHAF] [datetime] NULL, [TOTALTIME] [smallint] NULL, [MATCHPOINTS] [smallint] NULL, [CUADRANTE] [smallint] NULL, [ORDNUMBER] [smallint] NULL, [BLOCK] [smallint] NULL, [ERROR] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DBSYSCOLUMNS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [DBSYSCOLUMNS] (COLNO,TBNAME,NAME,COLTYPE,LENGTH) AS SELECT syscolumns.COLid, CONVERT(VARCHAR(40),UPPER(sysobjects.name)) TBNAME, CONVERT(VARCHAR(40),UPPER(syscolumns.name)) NAME, CONVERT(VARCHAR(40),UPPER(systypes.name)) COLTYPE, syscolumns.length LENGTH from syscolumns,sysobjects,systypes where (sysobjects.id=syscolumns.id AND syscolumns.Xusertype=systypes.Xusertype) AND systypes.name != ''SYSNAME'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRENDMTMIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRENDMTMIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEJENGRPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEJENGRPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEXDESCRI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEXDESCRI]( [ID] [int] NOT NULL, [DESCRI] [int] NOT NULL, [SITUACION] [int] NULL, [TEXTO] [varchar](128) NULL, [ORDENPM] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGINMATCHCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGINMATCHCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOG_CAIXA_LOJA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOG_CAIXA_LOJA]( [SEQUENCIAL] [int] IDENTITY(0,1) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [TERMINAL] [char](3) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [DATA_ALTERACAO] [datetime] NOT NULL, [USUARIO] [varchar](35) NOT NULL, [ESTACAO] [varchar](35) NOT NULL, [ACAO] [char](1) NOT NULL, [TABELA] [varchar](35) NOT NULL, [COLUNA] [varchar](35) NULL, [VALOR_ORIGINAL] [varchar](250) NULL, [VALOR_NOVO] [varchar](250) NULL, CONSTRAINT [XPKLOG_CAIXA_LOJA] PRIMARY KEY NONCLUSTERED ( [SEQUENCIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPPOSIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPPOSIC]( [ID] [int] NOT NULL, [NOMBRE] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TEXDESCRICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TEXDESCRICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_DESENHO_VARIANTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_DESENHO_VARIANTES]( [DESENHO] [char](10) NOT NULL, [VARIANTE_DESENHO] [char](10) NOT NULL, [DESC_VARIANTE_DESENHO] [varchar](40) NULL, [ARQUIVO_IMAGEM_DESENHO] [varchar](100) NOT NULL, CONSTRAINT [XPKMATERIAIS_DESENHO_VARIANTES] PRIMARY KEY NONCLUSTERED ( [DESENHO] ASC, [VARIANTE_DESENHO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FAS]( [ID] [int] NOT NULL, [GF_FASE_PRODUTIV] [varchar](25) NOT NULL, [GF_DESC_FASE_PRO] [varchar](40) NOT NULL, [EMPRESA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [smallint] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FAS]') AND name = N'XPKMATERIAIS_FASE_PRODUTIVA') CREATE UNIQUE NONCLUSTERED INDEX [XPKMATERIAIS_FASE_PRODUTIVA] ON [GF_MATERIAIS_FAS] ( [GF_FASE_PRODUTIV] ASC, [EMPRESA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_FASE_PRODUTIVA] ON [GF_MATERIAIS_FAS] FOR DELETE NOT FOR REPLICATION AS /*INDIVIDUAL BEGIN IF EXISTS (SELECT FASE_PRODUTIVA FROM MATERIAIS_FASE_PRODUTIVA A, DELETED B WHERE A.FASE_PRODUTIVA=B.GF_FASE_PRODUTIV) DELETE FROM MATERIAIS_FASE_PRODUTIVA WHERE FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM DELETED) ELSE RETURN END */ /*MULTIPLE*/ IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_FASE_PRODUTIVA'')))=1) RETURN ELSE DECLARE @FASE_PRODUTIVA_DEL VARCHAR(25) DECLARE CUR_MAT_FAS_DEL CURSOR FOR SELECT GF_FASE_PRODUTIV FROM DELETED OPEN CUR_MAT_FAS_DEL FETCH NEXT FROM CUR_MAT_FAS_DEL INTO @FASE_PRODUTIVA_DEL IF @@rowcount >=0 BEGIN WHILE @@fetch_status =0 BEGIN IF EXISTS (SELECT FASE_PRODUTIVA FROM MATERIAIS_FASE_PRODUTIVA A WHERE A.FASE_PRODUTIVA=@FASE_PRODUTIVA_DEL) DELETE FROM MATERIAIS_FASE_PRODUTIVA WHERE FASE_PRODUTIVA=(@FASE_PRODUTIVA_DEL) FETCH NEXT FROM CUR_MAT_FAS_DEL INTO @FASE_PRODUTIVA_DEL END/*fetch_status*/ CLOSE CUR_MAT_FAS_DEL DEALLOCATE CUR_MAT_FAS_DEL END/*rowcount*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_FASE_PRODUTIVA] ON [GF_MATERIAIS_FAS] FOR INSERT NOT FOR REPLICATION AS BEGIN IF NOT EXISTS (SELECT FASE_PRODUTIVA FROM MATERIAIS_FASE_PRODUTIVA A, INSERTED B WHERE A.FASE_PRODUTIVA=B.GF_FASE_PRODUTIV) BEGIN INSERT INTO MATERIAIS_FASE_PRODUTIVA (FASE_PRODUTIVA,DESC_FASE_PRODUTIVA) SELECT GF_FASE_PRODUTIV,GF_DESC_FASE_PRO FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=(SELECT GF_FASE_PRODUTIV FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_FASE_PRODUTIVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_FASE_PRODUTIVA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_FASE_PRODUTIVA] ON [GF_MATERIAIS_FAS] FOR UPDATE NOT FOR REPLICATION AS /*INDIVIDUAL IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_FASE_PRODUTIVA'')) ) < 2 ) BEGIN IF EXISTS (SELECT FASE_PRODUTIVA FROM MATERIAIS_FASE_PRODUTIVA A, DELETED B WHERE A.FASE_PRODUTIVA=B.GF_FASE_PRODUTIV) BEGIN UPDATE MATERIAIS_FASE_PRODUTIVA SET FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM INSERTED), DESC_FASE_PRODUTIVA=(SELECT GF_DESC_FASE_PRO FROM INSERTED) WHERE FASE_PRODUTIVA=(SELECT GF_FASE_PRODUTIV FROM DELETED) END ELSE RETURN END */ /*MULTIPLE*/ IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_FASE_PRODUTIVA'')) ) < 2 ) BEGIN DECLARE @FASE_PROD VARCHAR(25) DECLARE @FASE_PROD_IN VARCHAR(25) DECLARE CUR_FASE_PRODUTIVA CURSOR FOR SELECT GF_FASE_PRODUTIV FROM DELETED DECLARE CUR_FASE_PRODUTIVA_IN CURSOR FOR SELECT GF_FASE_PRODUTIV FROM INSERTED OPEN CUR_FASE_PRODUTIVA --DELETED OPEN CUR_FASE_PRODUTIVA_IN --INSERTED FETCH NEXT FROM CUR_FASE_PRODUTIVA INTO @FASE_PROD FETCH NEXT FROM CUR_FASE_PRODUTIVA_IN INTO @FASE_PROD_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN IF EXISTS (SELECT FASE_PRODUTIVA FROM MATERIAIS_FASE_PRODUTIVA A, DELETED B WHERE A.FASE_PRODUTIVA=@FASE_PROD) BEGIN UPDATE MATERIAIS_FASE_PRODUTIVA SET FASE_PRODUTIVA=(@FASE_PROD_IN), DESC_FASE_PRODUTIVA=(SELECT GF_DESC_FASE_PRO FROM INSERTED WHERE GF_FASE_PRODUTIV=@FASE_PROD_IN) WHERE FASE_PRODUTIVA=(@FASE_PROD) END/*IF EXISTS*/ FETCH NEXT FROM CUR_FASE_PRODUTIVA INTO @FASE_PROD FETCH NEXT FROM CUR_FASE_PRODUTIVA_IN INTO @FASE_PROD_IN END/*fetch_status*/ CLOSE CUR_FASE_PRODUTIVA CLOSE CUR_FASE_PRODUTIVA_IN DEALLOCATE CUR_FASE_PRODUTIVA DEALLOCATE CUR_FASE_PRODUTIVA_IN END/*rowcount*/ END/*PRINCIPAL*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISMESSAGES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISMESSAGES]( [error] [int] NOT NULL, [type] [smallint] NOT NULL, [description] [nvarchar](254) NOT NULL, [msglangid] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGINPLOT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGINPLOT]( [ORDPLOT] [int] NOT NULL, [MESA] [smallint] NULL, [TAREA] [smallint] NULL, [OBJETO] [smallint] NULL, [FICHERO] [char](51) NULL, [FECHAC] [datetime] NULL, [FECHAF] [datetime] NULL, [SETTALLAS] [smallint] NULL, [TALLAS] [char](200) NULL, [ESCALA] [smallint] NULL, [CUADRANTE] [smallint] NULL, [RELATIVA] [smallint] NULL, [LARGO] [smallint] NULL, [ANCHO] [smallint] NULL, [VARX] [float] NULL, [VARY] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPPOSICCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPPOSICCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_INICIA_DB]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_INICIA_DB] @DB VARCHAR(100) AS IF RTRIM(DB_NAME())=RTRIM(@DB) BEGIN EXEC(''TRUNCATE TABLE A_PAGAR_FATURA'') EXEC(''TRUNCATE TABLE A_PAGAR_FATURA_CENTROS'') EXEC(''TRUNCATE TABLE A_PAGAR_PARCELA'') EXEC(''TRUNCATE TABLE A_PAGAR_PARCELA_PG'') EXEC(''TRUNCATE TABLE A_RECEBER_CHEQUES'') EXEC(''TRUNCATE TABLE A_RECEBER_CHEQUES_MOV'') EXEC(''TRUNCATE TABLE A_RECEBER_FATURA'') EXEC(''TRUNCATE TABLE A_RECEBER_PARCELAS'') EXEC(''TRUNCATE TABLE A_RECEBER_PGTOS'') EXEC(''TRUNCATE TABLE BANCOS_A_PAGAR_BORDERO'') EXEC(''TRUNCATE TABLE BANCOS_A_PAGAR_PARCELAS'') EXEC(''TRUNCATE TABLE BANCOS_BORDERO'') EXEC(''TRUNCATE TABLE BANCOS_PARCELAS'') EXEC(''TRUNCATE TABLE COMPRAS'') EXEC(''TRUNCATE TABLE COMPRAS_CONSUMIVEL'') EXEC(''TRUNCATE TABLE COMPRAS_MATERIAL'') EXEC(''TRUNCATE TABLE COMPRAS_PROD_CANCELADA'') EXEC(''TRUNCATE TABLE COMPRAS_PRODUTO'') EXEC(''TRUNCATE TABLE COMPRAS_STATUS_LOG'') EXEC(''TRUNCATE TABLE CONTAS_LANC_CENTROS_CUSTO'') EXEC(''TRUNCATE TABLE CONTAS_LANC_ITENS'') EXEC(''TRUNCATE TABLE CONTAS_LANCAMENTOS'') EXEC(''TRUNCATE TABLE CONTAS_PLANO'') EXEC(''TRUNCATE TABLE CONTRATOS_DESCONTO'') EXEC(''TRUNCATE TABLE COTACAO_MATERIAIS'') EXEC(''TRUNCATE TABLE COTACOES'') EXEC(''TRUNCATE TABLE COTACOES_CONS_FORNECEDOR'') EXEC(''TRUNCATE TABLE COTACOES_CONSUMIVEL'') EXEC(''TRUNCATE TABLE COTACOES_MAT_FORNECEDOR'') EXEC(''TRUNCATE TABLE ENTRADA_DEVOLUCAO_ACERTO'') EXEC(''TRUNCATE TABLE ENTRADA_PORTARIA'') EXEC(''TRUNCATE TABLE ENTRADAS'') EXEC(''TRUNCATE TABLE ENTRADAS_CENTROS_CUSTO'') EXEC(''TRUNCATE TABLE ENTRADAS_CONSUMO'') EXEC(''TRUNCATE TABLE ENTRADAS_MAT_PECA'') EXEC(''TRUNCATE TABLE ENTRADAS_MATERIAL'') EXEC(''TRUNCATE TABLE ENTRADAS_PRO_DEVOL'') EXEC(''TRUNCATE TABLE ENTRADAS_PRODUTO'') EXEC(''TRUNCATE TABLE ESTOQUE_MAT_CONTAGEM'') EXEC(''TRUNCATE TABLE ESTOQUE_MAT_CTG_ITENS'') EXEC(''TRUNCATE TABLE ESTOQUE_MAT_CTG_PECAS'') EXEC(''TRUNCATE TABLE ESTOQUE_MAT_PECA'') EXEC(''TRUNCATE TABLE ESTOQUE_MATERIAIS'') EXEC(''TRUNCATE TABLE ESTOQUE_MATERIAIS_HISTORICO'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CONTAGEM'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_AJUSTE'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_BARRAS'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_ITENS'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_LOCAL'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_NUMEROS'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_CTG_PROD'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_ENT'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD_SAI'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD1_ENT'') EXEC(''TRUNCATE TABLE ESTOQUE_PROD1_SAI'') EXEC(''TRUNCATE TABLE ESTOQUE_PRODUTOS'') EXEC(''TRUNCATE TABLE ESTOQUE_PRODUTOS_HISTORICO'') EXEC(''TRUNCATE TABLE ESTOQUE_RET_MAT'') EXEC(''TRUNCATE TABLE ESTOQUE_RET_PECA'') EXEC(''TRUNCATE TABLE ESTOQUE_RET1_MAT'') EXEC(''TRUNCATE TABLE ESTOQUE_SAI_MAT'') EXEC(''TRUNCATE TABLE ESTOQUE_SAI_PECA'') EXEC(''TRUNCATE TABLE ESTOQUE_SAI1_MAT'') EXEC(''TRUNCATE TABLE FATURAM_DEV_MAT'') EXEC(''TRUNCATE TABLE FATURAM_DEV_MAT_PECA'') EXEC(''TRUNCATE TABLE FATURAM_DEV_PROD'') EXEC(''TRUNCATE TABLE FATURAMENTO'') EXEC(''TRUNCATE TABLE FATURAMENTO_CAIXA_TIPO'') EXEC(''TRUNCATE TABLE FATURAMENTO_CAIXAS'') EXEC(''TRUNCATE TABLE FATURAMENTO_CANCELADO'') EXEC(''TRUNCATE TABLE FATURAMENTO_CONSUMO'') EXEC(''TRUNCATE TABLE FATURAMENTO_DEVOLUCAO_ACERTO'') EXEC(''TRUNCATE TABLE FATURAMENTO_IMAGEM'') EXEC(''TRUNCATE TABLE FATURAMENTO_IMAGEM_PROD'') EXEC(''TRUNCATE TABLE FATURAMENTO_PROD'') EXEC(''TRUNCATE TABLE FATURAMENTO_TERCEIROS'') EXEC(''TRUNCATE TABLE INVENTARIO'') EXEC(''TRUNCATE TABLE INVENTARIO_PRODUTO'') EXEC(''TRUNCATE TABLE INVENTARIO_SETOR'') EXEC(''TRUNCATE TABLE LOCALIZACOES_PRODUTO'') EXEC(''TRUNCATE TABLE LOG_ALTERACOES'') EXEC(''TRUNCATE TABLE LOG_CAIXA_LOJA'') EXEC(''TRUNCATE TABLE LOG_CALCULO'') EXEC(''TRUNCATE TABLE LOG_TRANSACOES'') EXEC(''TRUNCATE TABLE LOJA_A_RECEBER_CHEQUES'') EXEC(''TRUNCATE TABLE LOJA_CAIXA_LANCAMENTOS'') EXEC(''TRUNCATE TABLE LOJA_ENTRADAS'') EXEC(''TRUNCATE TABLE LOJA_ENTRADAS_DIF'') EXEC(''TRUNCATE TABLE LOJA_ENTRADAS_PRODUTO'') EXEC(''TRUNCATE TABLE LOJA_ENTRADAS_PRODUTO_DIF'') EXEC(''TRUNCATE TABLE LOJA_FRANQUIA_ESTOQUE'') EXEC(''TRUNCATE TABLE LOJA_FRANQUIA_GIRO'') EXEC(''TRUNCATE TABLE LOJA_FRANQUIA_VENDA'') EXEC(''TRUNCATE TABLE LOJA_OPERACOES_PGTOS'') EXEC(''TRUNCATE TABLE LOJA_OPERACOES_VENDA'') EXEC(''TRUNCATE TABLE LOJA_PGTO_CLIENTE'') EXEC(''TRUNCATE TABLE LOJA_PGTO_CLIENTE_QUITADOS'') EXEC(''TRUNCATE TABLE LOJA_RESERVA'') EXEC(''TRUNCATE TABLE LOJA_RESERVA_PRODUTO'') EXEC(''TRUNCATE TABLE LOJA_RESERVA_TIPO'') EXEC(''TRUNCATE TABLE LOJA_RESUMO_CAIXAS'') EXEC(''TRUNCATE TABLE LOJA_RESUMO_OPERACAO'') EXEC(''TRUNCATE TABLE LOJA_SAIDAS'') EXEC(''TRUNCATE TABLE LOJA_SAIDAS_PRODUTO'') EXEC(''TRUNCATE TABLE LOJA_TRANSF'') EXEC(''TRUNCATE TABLE LOJA_TRANSF_TABELAS'') EXEC(''TRUNCATE TABLE LOJA_TRANSITO'') EXEC(''TRUNCATE TABLE LOJA_TRANSITO_PRODUTO'') EXEC(''TRUNCATE TABLE LOJA_VENDA'') EXEC(''TRUNCATE TABLE LOJA_VENDA_PARCELAS'') EXEC(''TRUNCATE TABLE LOJA_VENDA_PGTO'') EXEC(''TRUNCATE TABLE LOJA_VENDA_PRODUTO'') EXEC(''TRUNCATE TABLE LOJA_VENDA_TROCA'') EXEC(''TRUNCATE TABLE LOJAS_GIRO'') EXEC(''TRUNCATE TABLE LOJAS_PREVISAO_VENDAS'') EXEC(''TRUNCATE TABLE ORCAMENTOS'') EXEC(''TRUNCATE TABLE ORCAMENTOS_COMPONENTES'') EXEC(''TRUNCATE TABLE ORCAMENTOS_FATORES'') EXEC(''TRUNCATE TABLE ORCAMENTOS_GRUPOS'') EXEC(''TRUNCATE TABLE ORCAMENTOS_ITENS'') EXEC(''TRUNCATE TABLE ORCAMENTOS_PRECOS'') EXEC(''TRUNCATE TABLE PRECOS_LOG'') EXEC(''TRUNCATE TABLE REQUISICAO_CONSUMIVEL'') EXEC(''TRUNCATE TABLE REQUISICAO_MATERIAL'') EXEC(''TRUNCATE TABLE REQUISICOES'') EXEC(''TRUNCATE TABLE RETORNO_A_PAGAR_CAMPOS'') EXEC(''TRUNCATE TABLE RETORNO_A_PAGAR_LAYOUT'') EXEC(''TRUNCATE TABLE RETORNO_A_PAGAR_TIPO'') EXEC(''TRUNCATE TABLE RETORNO_A_RECEBER_CAMPOS'') EXEC(''TRUNCATE TABLE RETORNO_A_RECEBER_LAYOUT'') EXEC(''TRUNCATE TABLE SEQUENCIAIS'') EXEC(''TRUNCATE TABLE SERIES_NF'') EXEC(''TRUNCATE TABLE SUBSTITUICOES_MATERIAL'') EXEC(''TRUNCATE TABLE SUBSTITUICOES_MATERIAL_PRODUTO'') EXEC(''TRUNCATE TABLE TABELA_ERROS'') EXEC(''TRUNCATE TABLE TABELAS_PRECO'') EXEC(''TRUNCATE TABLE TIPO_FRETE'') EXEC(''TRUNCATE TABLE TIPOS_PGTO'') EXEC(''TRUNCATE TABLE TIPOS_TITULO'') EXEC(''TRUNCATE TABLE VENDAS'') EXEC(''TRUNCATE TABLE VENDAS_CANC_PROD'') EXEC(''TRUNCATE TABLE VENDAS_CANCELAMENTO'') EXEC(''TRUNCATE TABLE VENDAS_COTAS_TIPO'') EXEC(''TRUNCATE TABLE VENDAS_COTAS_TIPO_ITENS'') EXEC(''TRUNCATE TABLE VENDAS_HISTORICO'') EXEC(''TRUNCATE TABLE VENDAS_HISTORICO_PROD'') EXEC(''TRUNCATE TABLE VENDAS_LOTE'') EXEC(''TRUNCATE TABLE VENDAS_LOTE_PROD'') EXEC(''TRUNCATE TABLE VENDAS_MATERIAL'') EXEC(''TRUNCATE TABLE VENDAS_OBS_PRODUTO'') EXEC(''TRUNCATE TABLE VENDAS_PROD_EMBALADO'') EXEC(''TRUNCATE TABLE VENDAS_PRODUTO'') EXEC(''TRUNCATE TABLE VENDAS_STATUS'') EXEC(''TRUNCATE TABLE VENDAS_STATUS_LOG'') EXEC(''TRUNCATE TABLE VENDAS_TERCEIRO_FATURAMENTO'') EXEC(''TRUNCATE TABLE VENDAS_TERCEIRO_PRODUTO'') EXEC(''TRUNCATE TABLE VENDAS_TIPO'') EXEC(''TRUNCATE TABLE VENDAS_TIPO_CANC'') EXEC(''TRUNCATE TABLE VENDAS_TIPO_DIGITADOR'') END' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PA] AS SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, ESTOQUE = ISNULL(L.QTDE,0)-ISNULL(B.QTDE,0)+ISNULL(C.QTDE,0)-ISNULL(D.QTDE,0)+ISNULL(E.QTDE,0)-ISNULL(F.QTDE,0)+ISNULL(G.QTDE,0)+ISNULL(H.QTDE,0)-ISNULL(I.QTDE,0)-ISNULL(J.QTDE,0)+ISNULL(K.QTDE,0), ES1 = ISNULL(L.Q1,0)-ISNULL(B.Q1,0)+ISNULL(C.Q1,0)-ISNULL(D.Q1,0)+ISNULL(E.Q1,0)-ISNULL(F.Q1,0)+ISNULL(G.Q1,0)+ISNULL(H.Q1,0)-ISNULL(I.Q1,0)-ISNULL(J.Q1,0)+ISNULL(K.Q1,0), ES2 = ISNULL(L.Q2,0)-ISNULL(B.Q2,0)+ISNULL(C.Q2,0)-ISNULL(D.Q2,0)+ISNULL(E.Q2,0)-ISNULL(F.Q2,0)+ISNULL(G.Q2,0)+ISNULL(H.Q2,0)-ISNULL(I.Q2,0)-ISNULL(J.Q2,0)+ISNULL(K.Q2,0), ES3 = ISNULL(L.Q3,0)-ISNULL(B.Q3,0)+ISNULL(C.Q3,0)-ISNULL(D.Q3,0)+ISNULL(E.Q3,0)-ISNULL(F.Q3,0)+ISNULL(G.Q3,0)+ISNULL(H.Q3,0)-ISNULL(I.Q3,0)-ISNULL(J.Q3,0)+ISNULL(K.Q3,0), ES4 = ISNULL(L.Q4,0)-ISNULL(B.Q4,0)+ISNULL(C.Q4,0)-ISNULL(D.Q4,0)+ISNULL(E.Q4,0)-ISNULL(F.Q4,0)+ISNULL(G.Q4,0)+ISNULL(H.Q4,0)-ISNULL(I.Q4,0)-ISNULL(J.Q4,0)+ISNULL(K.Q4,0), ES5 = ISNULL(L.Q5,0)-ISNULL(B.Q5,0)+ISNULL(C.Q5,0)-ISNULL(D.Q5,0)+ISNULL(E.Q5,0)-ISNULL(F.Q5,0)+ISNULL(G.Q5,0)+ISNULL(H.Q5,0)-ISNULL(I.Q5,0)-ISNULL(J.Q5,0)+ISNULL(K.Q5,0), ES6 = ISNULL(L.Q6,0)-ISNULL(B.Q6,0)+ISNULL(C.Q6,0)-ISNULL(D.Q6,0)+ISNULL(E.Q6,0)-ISNULL(F.Q6,0)+ISNULL(G.Q6,0)+ISNULL(H.Q6,0)-ISNULL(I.Q6,0)-ISNULL(J.Q6,0)+ISNULL(K.Q6,0), ES7 = ISNULL(L.Q7,0)-ISNULL(B.Q7,0)+ISNULL(C.Q7,0)-ISNULL(D.Q7,0)+ISNULL(E.Q7,0)-ISNULL(F.Q7,0)+ISNULL(G.Q7,0)+ISNULL(H.Q7,0)-ISNULL(I.Q7,0)-ISNULL(J.Q7,0)+ISNULL(K.Q7,0), ES8 = ISNULL(L.Q8,0)-ISNULL(B.Q8,0)+ISNULL(C.Q8,0)-ISNULL(D.Q8,0)+ISNULL(E.Q8,0)-ISNULL(F.Q8,0)+ISNULL(G.Q8,0)+ISNULL(H.Q8,0)-ISNULL(I.Q8,0)-ISNULL(J.Q8,0)+ISNULL(K.Q8,0), ES9 = ISNULL(L.Q9,0)-ISNULL(B.Q9,0)+ISNULL(C.Q9,0)-ISNULL(D.Q9,0)+ISNULL(E.Q9,0)-ISNULL(F.Q9,0)+ISNULL(G.Q9,0)+ISNULL(H.Q9,0)-ISNULL(I.Q9,0)-ISNULL(J.Q9,0)+ISNULL(K.Q9,0), ES10 = ISNULL(L.Q10,0)-ISNULL(B.Q10,0)+ISNULL(C.Q10,0)-ISNULL(D.Q10,0)+ISNULL(E.Q10,0)-ISNULL(F.Q10,0)+ISNULL(G.Q10,0)+ISNULL(H.Q10,0)-ISNULL(I.Q10,0)-ISNULL(J.Q10,0)+ISNULL(K.Q10,0), ES11 = ISNULL(L.Q11,0)-ISNULL(B.Q11,0)+ISNULL(C.Q11,0)-ISNULL(D.Q11,0)+ISNULL(E.Q11,0)-ISNULL(F.Q11,0)+ISNULL(G.Q11,0)+ISNULL(H.Q11,0)-ISNULL(I.Q11,0)-ISNULL(J.Q11,0)+ISNULL(K.Q11,0), ES12 = ISNULL(L.Q12,0)-ISNULL(B.Q12,0)+ISNULL(C.Q12,0)-ISNULL(D.Q12,0)+ISNULL(E.Q12,0)-ISNULL(F.Q12,0)+ISNULL(G.Q12,0)+ISNULL(H.Q12,0)-ISNULL(I.Q12,0)-ISNULL(J.Q12,0)+ISNULL(K.Q12,0), ES13 = ISNULL(L.Q13,0)-ISNULL(B.Q13,0)+ISNULL(C.Q13,0)-ISNULL(D.Q13,0)+ISNULL(E.Q13,0)-ISNULL(F.Q13,0)+ISNULL(G.Q13,0)+ISNULL(H.Q13,0)-ISNULL(I.Q13,0)-ISNULL(J.Q13,0)+ISNULL(K.Q13,0), ES14 = ISNULL(L.Q14,0)-ISNULL(B.Q14,0)+ISNULL(C.Q14,0)-ISNULL(D.Q14,0)+ISNULL(E.Q14,0)-ISNULL(F.Q14,0)+ISNULL(G.Q14,0)+ISNULL(H.Q14,0)-ISNULL(I.Q14,0)-ISNULL(J.Q14,0)+ISNULL(K.Q14,0), ES15 = ISNULL(L.Q15,0)-ISNULL(B.Q15,0)+ISNULL(C.Q15,0)-ISNULL(D.Q15,0)+ISNULL(E.Q15,0)-ISNULL(F.Q15,0)+ISNULL(G.Q15,0)+ISNULL(H.Q15,0)-ISNULL(I.Q15,0)-ISNULL(J.Q15,0)+ISNULL(K.Q15,0), ES16 = ISNULL(L.Q16,0)-ISNULL(B.Q16,0)+ISNULL(C.Q16,0)-ISNULL(D.Q16,0)+ISNULL(E.Q16,0)-ISNULL(F.Q16,0)+ISNULL(G.Q16,0)+ISNULL(H.Q16,0)-ISNULL(I.Q16,0)-ISNULL(J.Q16,0)+ISNULL(K.Q16,0), ES17 = ISNULL(L.Q17,0)-ISNULL(B.Q17,0)+ISNULL(C.Q17,0)-ISNULL(D.Q17,0)+ISNULL(E.Q17,0)-ISNULL(F.Q17,0)+ISNULL(G.Q17,0)+ISNULL(H.Q17,0)-ISNULL(I.Q17,0)-ISNULL(J.Q17,0)+ISNULL(K.Q17,0), ES18 = ISNULL(L.Q18,0)-ISNULL(B.Q18,0)+ISNULL(C.Q18,0)-ISNULL(D.Q18,0)+ISNULL(E.Q18,0)-ISNULL(F.Q18,0)+ISNULL(G.Q18,0)+ISNULL(H.Q18,0)-ISNULL(I.Q18,0)-ISNULL(J.Q18,0)+ISNULL(K.Q18,0), ES19 = ISNULL(L.Q19,0)-ISNULL(B.Q19,0)+ISNULL(C.Q19,0)-ISNULL(D.Q19,0)+ISNULL(E.Q19,0)-ISNULL(F.Q19,0)+ISNULL(G.Q19,0)+ISNULL(H.Q19,0)-ISNULL(I.Q19,0)-ISNULL(J.Q19,0)+ISNULL(K.Q19,0), ES20 = ISNULL(L.Q20,0)-ISNULL(B.Q20,0)+ISNULL(C.Q20,0)-ISNULL(D.Q20,0)+ISNULL(E.Q20,0)-ISNULL(F.Q20,0)+ISNULL(G.Q20,0)+ISNULL(H.Q20,0)-ISNULL(I.Q20,0)-ISNULL(J.Q20,0)+ISNULL(K.Q20,0), ES21 = ISNULL(L.Q21,0)-ISNULL(B.Q21,0)+ISNULL(C.Q21,0)-ISNULL(D.Q21,0)+ISNULL(E.Q21,0)-ISNULL(F.Q21,0)+ISNULL(G.Q21,0)+ISNULL(H.Q21,0)-ISNULL(I.Q21,0)-ISNULL(J.Q21,0)+ISNULL(K.Q21,0), ES22 = ISNULL(L.Q22,0)-ISNULL(B.Q22,0)+ISNULL(C.Q22,0)-ISNULL(D.Q22,0)+ISNULL(E.Q22,0)-ISNULL(F.Q22,0)+ISNULL(G.Q22,0)+ISNULL(H.Q22,0)-ISNULL(I.Q22,0)-ISNULL(J.Q22,0)+ISNULL(K.Q22,0), ES23 = ISNULL(L.Q23,0)-ISNULL(B.Q23,0)+ISNULL(C.Q23,0)-ISNULL(D.Q23,0)+ISNULL(E.Q23,0)-ISNULL(F.Q23,0)+ISNULL(G.Q23,0)+ISNULL(H.Q23,0)-ISNULL(I.Q23,0)-ISNULL(J.Q23,0)+ISNULL(K.Q23,0), ES24 = ISNULL(L.Q24,0)-ISNULL(B.Q24,0)+ISNULL(C.Q24,0)-ISNULL(D.Q24,0)+ISNULL(E.Q24,0)-ISNULL(F.Q24,0)+ISNULL(G.Q24,0)+ISNULL(H.Q24,0)-ISNULL(I.Q24,0)-ISNULL(J.Q24,0)+ISNULL(K.Q24,0), ES25 = ISNULL(L.Q25,0)-ISNULL(B.Q25,0)+ISNULL(C.Q25,0)-ISNULL(D.Q25,0)+ISNULL(E.Q25,0)-ISNULL(F.Q25,0)+ISNULL(G.Q25,0)+ISNULL(H.Q25,0)-ISNULL(I.Q25,0)-ISNULL(J.Q25,0)+ISNULL(K.Q25,0), ES26 = ISNULL(L.Q26,0)-ISNULL(B.Q26,0)+ISNULL(C.Q26,0)-ISNULL(D.Q26,0)+ISNULL(E.Q26,0)-ISNULL(F.Q26,0)+ISNULL(G.Q26,0)+ISNULL(H.Q26,0)-ISNULL(I.Q26,0)-ISNULL(J.Q26,0)+ISNULL(K.Q26,0), ES27 = ISNULL(L.Q27,0)-ISNULL(B.Q27,0)+ISNULL(C.Q27,0)-ISNULL(D.Q27,0)+ISNULL(E.Q27,0)-ISNULL(F.Q27,0)+ISNULL(G.Q27,0)+ISNULL(H.Q27,0)-ISNULL(I.Q27,0)-ISNULL(J.Q27,0)+ISNULL(K.Q27,0), ES28 = ISNULL(L.Q28,0)-ISNULL(B.Q28,0)+ISNULL(C.Q28,0)-ISNULL(D.Q28,0)+ISNULL(E.Q28,0)-ISNULL(F.Q28,0)+ISNULL(G.Q28,0)+ISNULL(H.Q28,0)-ISNULL(I.Q28,0)-ISNULL(J.Q28,0)+ISNULL(K.Q28,0), ES29 = ISNULL(L.Q29,0)-ISNULL(B.Q29,0)+ISNULL(C.Q29,0)-ISNULL(D.Q29,0)+ISNULL(E.Q29,0)-ISNULL(F.Q29,0)+ISNULL(G.Q29,0)+ISNULL(H.Q29,0)-ISNULL(I.Q29,0)-ISNULL(J.Q29,0)+ISNULL(K.Q29,0), ES30 = ISNULL(L.Q30,0)-ISNULL(B.Q30,0)+ISNULL(C.Q30,0)-ISNULL(D.Q30,0)+ISNULL(E.Q30,0)-ISNULL(F.Q30,0)+ISNULL(G.Q30,0)+ISNULL(H.Q30,0)-ISNULL(I.Q30,0)-ISNULL(J.Q30,0)+ISNULL(K.Q30,0), ES31 = ISNULL(L.Q31,0)-ISNULL(B.Q31,0)+ISNULL(C.Q31,0)-ISNULL(D.Q31,0)+ISNULL(E.Q31,0)-ISNULL(F.Q31,0)+ISNULL(G.Q31,0)+ISNULL(H.Q31,0)-ISNULL(I.Q31,0)-ISNULL(J.Q31,0)+ISNULL(K.Q31,0), ES32 = ISNULL(L.Q32,0)-ISNULL(B.Q32,0)+ISNULL(C.Q32,0)-ISNULL(D.Q32,0)+ISNULL(E.Q32,0)-ISNULL(F.Q32,0)+ISNULL(G.Q32,0)+ISNULL(H.Q32,0)-ISNULL(I.Q32,0)-ISNULL(J.Q32,0)+ISNULL(K.Q32,0), ES33 = ISNULL(L.Q33,0)-ISNULL(B.Q33,0)+ISNULL(C.Q33,0)-ISNULL(D.Q33,0)+ISNULL(E.Q33,0)-ISNULL(F.Q33,0)+ISNULL(G.Q33,0)+ISNULL(H.Q33,0)-ISNULL(I.Q33,0)-ISNULL(J.Q33,0)+ISNULL(K.Q33,0), ES34 = ISNULL(L.Q34,0)-ISNULL(B.Q34,0)+ISNULL(C.Q34,0)-ISNULL(D.Q34,0)+ISNULL(E.Q34,0)-ISNULL(F.Q34,0)+ISNULL(G.Q34,0)+ISNULL(H.Q34,0)-ISNULL(I.Q34,0)-ISNULL(J.Q34,0)+ISNULL(K.Q34,0), ES35 = ISNULL(L.Q35,0)-ISNULL(B.Q35,0)+ISNULL(C.Q35,0)-ISNULL(D.Q35,0)+ISNULL(E.Q35,0)-ISNULL(F.Q35,0)+ISNULL(G.Q35,0)+ISNULL(H.Q35,0)-ISNULL(I.Q35,0)-ISNULL(J.Q35,0)+ISNULL(K.Q35,0), ES36 = ISNULL(L.Q36,0)-ISNULL(B.Q36,0)+ISNULL(C.Q36,0)-ISNULL(D.Q36,0)+ISNULL(E.Q36,0)-ISNULL(F.Q36,0)+ISNULL(G.Q36,0)+ISNULL(H.Q36,0)-ISNULL(I.Q36,0)-ISNULL(J.Q36,0)+ISNULL(K.Q36,0), ES37 = ISNULL(L.Q37,0)-ISNULL(B.Q37,0)+ISNULL(C.Q37,0)-ISNULL(D.Q37,0)+ISNULL(E.Q37,0)-ISNULL(F.Q37,0)+ISNULL(G.Q37,0)+ISNULL(H.Q37,0)-ISNULL(I.Q37,0)-ISNULL(J.Q37,0)+ISNULL(K.Q37,0), ES38 = ISNULL(L.Q38,0)-ISNULL(B.Q38,0)+ISNULL(C.Q38,0)-ISNULL(D.Q38,0)+ISNULL(E.Q38,0)-ISNULL(F.Q38,0)+ISNULL(G.Q38,0)+ISNULL(H.Q38,0)-ISNULL(I.Q38,0)-ISNULL(J.Q38,0)+ISNULL(K.Q38,0), ES39 = ISNULL(L.Q39,0)-ISNULL(B.Q39,0)+ISNULL(C.Q39,0)-ISNULL(D.Q39,0)+ISNULL(E.Q39,0)-ISNULL(F.Q39,0)+ISNULL(G.Q39,0)+ISNULL(H.Q39,0)-ISNULL(I.Q39,0)-ISNULL(J.Q39,0)+ISNULL(K.Q39,0), ES40 = ISNULL(L.Q40,0)-ISNULL(B.Q40,0)+ISNULL(C.Q40,0)-ISNULL(D.Q40,0)+ISNULL(E.Q40,0)-ISNULL(F.Q40,0)+ISNULL(G.Q40,0)+ISNULL(H.Q40,0)-ISNULL(I.Q40,0)-ISNULL(J.Q40,0)+ISNULL(K.Q40,0), ES41 = ISNULL(L.Q41,0)-ISNULL(B.Q41,0)+ISNULL(C.Q41,0)-ISNULL(D.Q41,0)+ISNULL(E.Q41,0)-ISNULL(F.Q41,0)+ISNULL(G.Q41,0)+ISNULL(H.Q41,0)-ISNULL(I.Q41,0)-ISNULL(J.Q41,0)+ISNULL(K.Q41,0), ES42 = ISNULL(L.Q42,0)-ISNULL(B.Q42,0)+ISNULL(C.Q42,0)-ISNULL(D.Q42,0)+ISNULL(E.Q42,0)-ISNULL(F.Q42,0)+ISNULL(G.Q42,0)+ISNULL(H.Q42,0)-ISNULL(I.Q42,0)-ISNULL(J.Q42,0)+ISNULL(K.Q42,0), ES43 = ISNULL(L.Q43,0)-ISNULL(B.Q43,0)+ISNULL(C.Q43,0)-ISNULL(D.Q43,0)+ISNULL(E.Q43,0)-ISNULL(F.Q43,0)+ISNULL(G.Q43,0)+ISNULL(H.Q43,0)-ISNULL(I.Q43,0)-ISNULL(J.Q43,0)+ISNULL(K.Q43,0), ES44 = ISNULL(L.Q44,0)-ISNULL(B.Q44,0)+ISNULL(C.Q44,0)-ISNULL(D.Q44,0)+ISNULL(E.Q44,0)-ISNULL(F.Q44,0)+ISNULL(G.Q44,0)+ISNULL(H.Q44,0)-ISNULL(I.Q44,0)-ISNULL(J.Q44,0)+ISNULL(K.Q44,0), ES45 = ISNULL(L.Q45,0)-ISNULL(B.Q45,0)+ISNULL(C.Q45,0)-ISNULL(D.Q45,0)+ISNULL(E.Q45,0)-ISNULL(F.Q45,0)+ISNULL(G.Q45,0)+ISNULL(H.Q45,0)-ISNULL(I.Q45,0)-ISNULL(J.Q45,0)+ISNULL(K.Q45,0), ES46 = ISNULL(L.Q46,0)-ISNULL(B.Q46,0)+ISNULL(C.Q46,0)-ISNULL(D.Q46,0)+ISNULL(E.Q46,0)-ISNULL(F.Q46,0)+ISNULL(G.Q46,0)+ISNULL(H.Q46,0)-ISNULL(I.Q46,0)-ISNULL(J.Q46,0)+ISNULL(K.Q46,0), ES47 = ISNULL(L.Q47,0)-ISNULL(B.Q47,0)+ISNULL(C.Q47,0)-ISNULL(D.Q47,0)+ISNULL(E.Q47,0)-ISNULL(F.Q47,0)+ISNULL(G.Q47,0)+ISNULL(H.Q47,0)-ISNULL(I.Q47,0)-ISNULL(J.Q47,0)+ISNULL(K.Q47,0), ES48 = ISNULL(L.Q48,0)-ISNULL(B.Q48,0)+ISNULL(C.Q48,0)-ISNULL(D.Q48,0)+ISNULL(E.Q48,0)-ISNULL(F.Q48,0)+ISNULL(G.Q48,0)+ISNULL(H.Q48,0)-ISNULL(I.Q48,0)-ISNULL(J.Q48,0)+ISNULL(K.Q48,0), QTDE_ENTRADA = ISNULL(L.QTDE,0), QTDE_FATURAMENTO = ISNULL(B.QTDE,0), QTDE_ENT_DEVOL = ISNULL(C.QTDE,0), QTDE_FATURA_DEVOL = ISNULL(D.QTDE,0), QTDE_PROD_ENT = ISNULL(E.QTDE,0), QTDE_PROD_SAI = ISNULL(F.QTDE,0), QTDE_AJUSTE = ISNULL(G.QTDE,0), QTDE_LJ_ENT = ISNULL(H.QTDE,0), QTDE_LJ_SAI = ISNULL(I.QTDE,0), QTDE_VENDA = ISNULL(J.QTDE,0), QTDE_TROCA = ISNULL(K.QTDE,0) FROM V_ESTOQUE_PA_PRODUTOS A LEFT JOIN V_ESTOQUE_PA_FATURAMENTO B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_ENTRADA_DEVOL C ON A.FILIAL=C.FILIAL AND A.PRODUTO=C.PRODUTO AND A.COR_PRODUTO=C.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_FATURAMENTO_DEVOL D ON A.FILIAL=D.FILIAL AND A.PRODUTO=D.PRODUTO AND A.COR_PRODUTO=D.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_PRODUCAO_ENT E ON A.FILIAL=E.FILIAL AND A.PRODUTO=E.PRODUTO AND A.COR_PRODUTO=E.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_PRODUCAO_SAI F ON A.FILIAL=F.FILIAL AND A.PRODUTO=F.PRODUTO AND A.COR_PRODUTO=F.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_AJUSTE G ON A.FILIAL=G.FILIAL AND A.PRODUTO=G.PRODUTO AND A.COR_PRODUTO=G.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_ENTRADA H ON A.FILIAL=H.FILIAL AND A.PRODUTO=H.PRODUTO AND A.COR_PRODUTO=H.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_SAIDA I ON A.FILIAL=I.FILIAL AND A.PRODUTO=I.PRODUTO AND A.COR_PRODUTO=I.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_VENDA J ON A.FILIAL=J.FILIAL AND A.PRODUTO=J.PRODUTO AND A.COR_PRODUTO=J.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_TROCA K ON A.FILIAL=K.FILIAL AND A.PRODUTO=K.PRODUTO AND A.COR_PRODUTO=K.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_ENTRADA L ON A.FILIAL=L.FILIAL AND A.PRODUTO=L.PRODUTO AND A.COR_PRODUTO=L.COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOGINPLOTCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOGINPLOTCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPS]( [ID] [int] NOT NULL, [NOMBRE] [char](24) NULL, [CODIGO] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TINTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TINTES]( [ID] [int] NOT NULL, [TINTE] [varchar](16) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_MANUTENCAO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_MANUTENCAO] @DBCC BIT=1 AS IF @DBCC = 1 BEGIN SELECT ''CHECKDB EM ANDAMENTO ...'' DBCC CHECKDB END SET NOCOUNT ON DECLARE @INDICE VARCHAR(100),@IDTAB INT, @NAME_IND VARCHAR(100), @NAME VARCHAR(100) DECLARE TAB_MANUTENCAO SCROLL CURSOR FOR SELECT NAME,ID FROM SYSOBJECTS WHERE TYPE=''U'' ORDER BY NAME OPEN TAB_MANUTENCAO FETCH NEXT FROM TAB_MANUTENCAO INTO @NAME, @IDTAB WHILE @@FETCH_STATUS <> -1 AND @@FETCH_STATUS <> -2 BEGIN DECLARE TAB_INDICES SCROLL CURSOR FOR SELECT NAME FROM SYSINDEXES WHERE INDID<>0 AND INDID < 255 AND ID=@IDTAB AND NAME NOT LIKE ''%SYS%'' AND NAME NOT LIKE ''hind_%'' OPEN TAB_INDICES FETCH NEXT FROM TAB_INDICES INTO @NAME_IND SELECT ''REINDEX DA TABELA '' + @NAME+'' CONTENDO ''+CONVERT(CHAR(5),@@ROWCOUNT)+'' LINHAS'' WHILE @@FETCH_STATUS <> -1 AND @@FETCH_STATUS <> -2 BEGIN SELECT '' INDICE : ''+@NAME_IND EXEC ( ''DBCC DBREINDEX (''+@NAME+'',''+@NAME_IND+'',90)'' ) FETCH NEXT FROM TAB_INDICES INTO @NAME_IND END CLOSE TAB_INDICES DEALLOCATE TAB_INDICES EXEC (''UPDATE STATISTICS ''+ @NAME) FETCH NEXT FROM TAB_MANUTENCAO INTO @NAME, @IDTAB END SELECT ''REINDEX,STATISTICS COMPLETADO COM SUCESSO'' CLOSE TAB_MANUTENCAO DEALLOCATE TAB_MANUTENCAO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA] AS SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, ESTOQUE = ISNULL(L.QTDE,0)-ISNULL(B.QTDE,0)+ISNULL(C.QTDE,0)-ISNULL(D.QTDE,0)+ISNULL(E.QTDE,0)-ISNULL(F.QTDE,0)+ISNULL(G.QTDE,0)+ISNULL(H.QTDE,0)-ISNULL(I.QTDE,0)-ISNULL(J.QTDE,0)+ISNULL(K.QTDE,0), ES1 = ISNULL(L.Q1,0)-ISNULL(B.Q1,0)+ISNULL(C.Q1,0)-ISNULL(D.Q1,0)+ISNULL(E.Q1,0)-ISNULL(F.Q1,0)+ISNULL(G.Q1,0)+ISNULL(H.Q1,0)-ISNULL(I.Q1,0)-ISNULL(J.Q1,0)+ISNULL(K.Q1,0), ES2 = ISNULL(L.Q2,0)-ISNULL(B.Q2,0)+ISNULL(C.Q2,0)-ISNULL(D.Q2,0)+ISNULL(E.Q2,0)-ISNULL(F.Q2,0)+ISNULL(G.Q2,0)+ISNULL(H.Q2,0)-ISNULL(I.Q2,0)-ISNULL(J.Q2,0)+ISNULL(K.Q2,0), ES3 = ISNULL(L.Q3,0)-ISNULL(B.Q3,0)+ISNULL(C.Q3,0)-ISNULL(D.Q3,0)+ISNULL(E.Q3,0)-ISNULL(F.Q3,0)+ISNULL(G.Q3,0)+ISNULL(H.Q3,0)-ISNULL(I.Q3,0)-ISNULL(J.Q3,0)+ISNULL(K.Q3,0), ES4 = ISNULL(L.Q4,0)-ISNULL(B.Q4,0)+ISNULL(C.Q4,0)-ISNULL(D.Q4,0)+ISNULL(E.Q4,0)-ISNULL(F.Q4,0)+ISNULL(G.Q4,0)+ISNULL(H.Q4,0)-ISNULL(I.Q4,0)-ISNULL(J.Q4,0)+ISNULL(K.Q4,0), ES5 = ISNULL(L.Q5,0)-ISNULL(B.Q5,0)+ISNULL(C.Q5,0)-ISNULL(D.Q5,0)+ISNULL(E.Q5,0)-ISNULL(F.Q5,0)+ISNULL(G.Q5,0)+ISNULL(H.Q5,0)-ISNULL(I.Q5,0)-ISNULL(J.Q5,0)+ISNULL(K.Q5,0), ES6 = ISNULL(L.Q6,0)-ISNULL(B.Q6,0)+ISNULL(C.Q6,0)-ISNULL(D.Q6,0)+ISNULL(E.Q6,0)-ISNULL(F.Q6,0)+ISNULL(G.Q6,0)+ISNULL(H.Q6,0)-ISNULL(I.Q6,0)-ISNULL(J.Q6,0)+ISNULL(K.Q6,0), ES7 = ISNULL(L.Q7,0)-ISNULL(B.Q7,0)+ISNULL(C.Q7,0)-ISNULL(D.Q7,0)+ISNULL(E.Q7,0)-ISNULL(F.Q7,0)+ISNULL(G.Q7,0)+ISNULL(H.Q7,0)-ISNULL(I.Q7,0)-ISNULL(J.Q7,0)+ISNULL(K.Q7,0), ES8 = ISNULL(L.Q8,0)-ISNULL(B.Q8,0)+ISNULL(C.Q8,0)-ISNULL(D.Q8,0)+ISNULL(E.Q8,0)-ISNULL(F.Q8,0)+ISNULL(G.Q8,0)+ISNULL(H.Q8,0)-ISNULL(I.Q8,0)-ISNULL(J.Q8,0)+ISNULL(K.Q8,0), ES9 = ISNULL(L.Q9,0)-ISNULL(B.Q9,0)+ISNULL(C.Q9,0)-ISNULL(D.Q9,0)+ISNULL(E.Q9,0)-ISNULL(F.Q9,0)+ISNULL(G.Q9,0)+ISNULL(H.Q9,0)-ISNULL(I.Q9,0)-ISNULL(J.Q9,0)+ISNULL(K.Q9,0), ES10 = ISNULL(L.Q10,0)-ISNULL(B.Q10,0)+ISNULL(C.Q10,0)-ISNULL(D.Q10,0)+ISNULL(E.Q10,0)-ISNULL(F.Q10,0)+ISNULL(G.Q10,0)+ISNULL(H.Q10,0)-ISNULL(I.Q10,0)-ISNULL(J.Q10,0)+ISNULL(K.Q10,0), ES11 = ISNULL(L.Q11,0)-ISNULL(B.Q11,0)+ISNULL(C.Q11,0)-ISNULL(D.Q11,0)+ISNULL(E.Q11,0)-ISNULL(F.Q11,0)+ISNULL(G.Q11,0)+ISNULL(H.Q11,0)-ISNULL(I.Q11,0)-ISNULL(J.Q11,0)+ISNULL(K.Q11,0), ES12 = ISNULL(L.Q12,0)-ISNULL(B.Q12,0)+ISNULL(C.Q12,0)-ISNULL(D.Q12,0)+ISNULL(E.Q12,0)-ISNULL(F.Q12,0)+ISNULL(G.Q12,0)+ISNULL(H.Q12,0)-ISNULL(I.Q12,0)-ISNULL(J.Q12,0)+ISNULL(K.Q12,0), ES13 = ISNULL(L.Q13,0)-ISNULL(B.Q13,0)+ISNULL(C.Q13,0)-ISNULL(D.Q13,0)+ISNULL(E.Q13,0)-ISNULL(F.Q13,0)+ISNULL(G.Q13,0)+ISNULL(H.Q13,0)-ISNULL(I.Q13,0)-ISNULL(J.Q13,0)+ISNULL(K.Q13,0), ES14 = ISNULL(L.Q14,0)-ISNULL(B.Q14,0)+ISNULL(C.Q14,0)-ISNULL(D.Q14,0)+ISNULL(E.Q14,0)-ISNULL(F.Q14,0)+ISNULL(G.Q14,0)+ISNULL(H.Q14,0)-ISNULL(I.Q14,0)-ISNULL(J.Q14,0)+ISNULL(K.Q14,0), ES15 = ISNULL(L.Q15,0)-ISNULL(B.Q15,0)+ISNULL(C.Q15,0)-ISNULL(D.Q15,0)+ISNULL(E.Q15,0)-ISNULL(F.Q15,0)+ISNULL(G.Q15,0)+ISNULL(H.Q15,0)-ISNULL(I.Q15,0)-ISNULL(J.Q15,0)+ISNULL(K.Q15,0), ES16 = ISNULL(L.Q16,0)-ISNULL(B.Q16,0)+ISNULL(C.Q16,0)-ISNULL(D.Q16,0)+ISNULL(E.Q16,0)-ISNULL(F.Q16,0)+ISNULL(G.Q16,0)+ISNULL(H.Q16,0)-ISNULL(I.Q16,0)-ISNULL(J.Q16,0)+ISNULL(K.Q16,0), ES17 = ISNULL(L.Q17,0)-ISNULL(B.Q17,0)+ISNULL(C.Q17,0)-ISNULL(D.Q17,0)+ISNULL(E.Q17,0)-ISNULL(F.Q17,0)+ISNULL(G.Q17,0)+ISNULL(H.Q17,0)-ISNULL(I.Q17,0)-ISNULL(J.Q17,0)+ISNULL(K.Q17,0), ES18 = ISNULL(L.Q18,0)-ISNULL(B.Q18,0)+ISNULL(C.Q18,0)-ISNULL(D.Q18,0)+ISNULL(E.Q18,0)-ISNULL(F.Q18,0)+ISNULL(G.Q18,0)+ISNULL(H.Q18,0)-ISNULL(I.Q18,0)-ISNULL(J.Q18,0)+ISNULL(K.Q18,0), ES19 = ISNULL(L.Q19,0)-ISNULL(B.Q19,0)+ISNULL(C.Q19,0)-ISNULL(D.Q19,0)+ISNULL(E.Q19,0)-ISNULL(F.Q19,0)+ISNULL(G.Q19,0)+ISNULL(H.Q19,0)-ISNULL(I.Q19,0)-ISNULL(J.Q19,0)+ISNULL(K.Q19,0), ES20 = ISNULL(L.Q20,0)-ISNULL(B.Q20,0)+ISNULL(C.Q20,0)-ISNULL(D.Q20,0)+ISNULL(E.Q20,0)-ISNULL(F.Q20,0)+ISNULL(G.Q20,0)+ISNULL(H.Q20,0)-ISNULL(I.Q20,0)-ISNULL(J.Q20,0)+ISNULL(K.Q20,0), ES21 = ISNULL(L.Q21,0)-ISNULL(B.Q21,0)+ISNULL(C.Q21,0)-ISNULL(D.Q21,0)+ISNULL(E.Q21,0)-ISNULL(F.Q21,0)+ISNULL(G.Q21,0)+ISNULL(H.Q21,0)-ISNULL(I.Q21,0)-ISNULL(J.Q21,0)+ISNULL(K.Q21,0), ES22 = ISNULL(L.Q22,0)-ISNULL(B.Q22,0)+ISNULL(C.Q22,0)-ISNULL(D.Q22,0)+ISNULL(E.Q22,0)-ISNULL(F.Q22,0)+ISNULL(G.Q22,0)+ISNULL(H.Q22,0)-ISNULL(I.Q22,0)-ISNULL(J.Q22,0)+ISNULL(K.Q22,0), ES23 = ISNULL(L.Q23,0)-ISNULL(B.Q23,0)+ISNULL(C.Q23,0)-ISNULL(D.Q23,0)+ISNULL(E.Q23,0)-ISNULL(F.Q23,0)+ISNULL(G.Q23,0)+ISNULL(H.Q23,0)-ISNULL(I.Q23,0)-ISNULL(J.Q23,0)+ISNULL(K.Q23,0), ES24 = ISNULL(L.Q24,0)-ISNULL(B.Q24,0)+ISNULL(C.Q24,0)-ISNULL(D.Q24,0)+ISNULL(E.Q24,0)-ISNULL(F.Q24,0)+ISNULL(G.Q24,0)+ISNULL(H.Q24,0)-ISNULL(I.Q24,0)-ISNULL(J.Q24,0)+ISNULL(K.Q24,0), ES25 = ISNULL(L.Q25,0)-ISNULL(B.Q25,0)+ISNULL(C.Q25,0)-ISNULL(D.Q25,0)+ISNULL(E.Q25,0)-ISNULL(F.Q25,0)+ISNULL(G.Q25,0)+ISNULL(H.Q25,0)-ISNULL(I.Q25,0)-ISNULL(J.Q25,0)+ISNULL(K.Q25,0), ES26 = ISNULL(L.Q26,0)-ISNULL(B.Q26,0)+ISNULL(C.Q26,0)-ISNULL(D.Q26,0)+ISNULL(E.Q26,0)-ISNULL(F.Q26,0)+ISNULL(G.Q26,0)+ISNULL(H.Q26,0)-ISNULL(I.Q26,0)-ISNULL(J.Q26,0)+ISNULL(K.Q26,0), ES27 = ISNULL(L.Q27,0)-ISNULL(B.Q27,0)+ISNULL(C.Q27,0)-ISNULL(D.Q27,0)+ISNULL(E.Q27,0)-ISNULL(F.Q27,0)+ISNULL(G.Q27,0)+ISNULL(H.Q27,0)-ISNULL(I.Q27,0)-ISNULL(J.Q27,0)+ISNULL(K.Q27,0), ES28 = ISNULL(L.Q28,0)-ISNULL(B.Q28,0)+ISNULL(C.Q28,0)-ISNULL(D.Q28,0)+ISNULL(E.Q28,0)-ISNULL(F.Q28,0)+ISNULL(G.Q28,0)+ISNULL(H.Q28,0)-ISNULL(I.Q28,0)-ISNULL(J.Q28,0)+ISNULL(K.Q28,0), ES29 = ISNULL(L.Q29,0)-ISNULL(B.Q29,0)+ISNULL(C.Q29,0)-ISNULL(D.Q29,0)+ISNULL(E.Q29,0)-ISNULL(F.Q29,0)+ISNULL(G.Q29,0)+ISNULL(H.Q29,0)-ISNULL(I.Q29,0)-ISNULL(J.Q29,0)+ISNULL(K.Q29,0), ES30 = ISNULL(L.Q30,0)-ISNULL(B.Q30,0)+ISNULL(C.Q30,0)-ISNULL(D.Q30,0)+ISNULL(E.Q30,0)-ISNULL(F.Q30,0)+ISNULL(G.Q30,0)+ISNULL(H.Q30,0)-ISNULL(I.Q30,0)-ISNULL(J.Q30,0)+ISNULL(K.Q30,0), ES31 = ISNULL(L.Q31,0)-ISNULL(B.Q31,0)+ISNULL(C.Q31,0)-ISNULL(D.Q31,0)+ISNULL(E.Q31,0)-ISNULL(F.Q31,0)+ISNULL(G.Q31,0)+ISNULL(H.Q31,0)-ISNULL(I.Q31,0)-ISNULL(J.Q31,0)+ISNULL(K.Q31,0), ES32 = ISNULL(L.Q32,0)-ISNULL(B.Q32,0)+ISNULL(C.Q32,0)-ISNULL(D.Q32,0)+ISNULL(E.Q32,0)-ISNULL(F.Q32,0)+ISNULL(G.Q32,0)+ISNULL(H.Q32,0)-ISNULL(I.Q32,0)-ISNULL(J.Q32,0)+ISNULL(K.Q32,0), ES33 = ISNULL(L.Q33,0)-ISNULL(B.Q33,0)+ISNULL(C.Q33,0)-ISNULL(D.Q33,0)+ISNULL(E.Q33,0)-ISNULL(F.Q33,0)+ISNULL(G.Q33,0)+ISNULL(H.Q33,0)-ISNULL(I.Q33,0)-ISNULL(J.Q33,0)+ISNULL(K.Q33,0), ES34 = ISNULL(L.Q34,0)-ISNULL(B.Q34,0)+ISNULL(C.Q34,0)-ISNULL(D.Q34,0)+ISNULL(E.Q34,0)-ISNULL(F.Q34,0)+ISNULL(G.Q34,0)+ISNULL(H.Q34,0)-ISNULL(I.Q34,0)-ISNULL(J.Q34,0)+ISNULL(K.Q34,0), ES35 = ISNULL(L.Q35,0)-ISNULL(B.Q35,0)+ISNULL(C.Q35,0)-ISNULL(D.Q35,0)+ISNULL(E.Q35,0)-ISNULL(F.Q35,0)+ISNULL(G.Q35,0)+ISNULL(H.Q35,0)-ISNULL(I.Q35,0)-ISNULL(J.Q35,0)+ISNULL(K.Q35,0), ES36 = ISNULL(L.Q36,0)-ISNULL(B.Q36,0)+ISNULL(C.Q36,0)-ISNULL(D.Q36,0)+ISNULL(E.Q36,0)-ISNULL(F.Q36,0)+ISNULL(G.Q36,0)+ISNULL(H.Q36,0)-ISNULL(I.Q36,0)-ISNULL(J.Q36,0)+ISNULL(K.Q36,0), ES37 = ISNULL(L.Q37,0)-ISNULL(B.Q37,0)+ISNULL(C.Q37,0)-ISNULL(D.Q37,0)+ISNULL(E.Q37,0)-ISNULL(F.Q37,0)+ISNULL(G.Q37,0)+ISNULL(H.Q37,0)-ISNULL(I.Q37,0)-ISNULL(J.Q37,0)+ISNULL(K.Q37,0), ES38 = ISNULL(L.Q38,0)-ISNULL(B.Q38,0)+ISNULL(C.Q38,0)-ISNULL(D.Q38,0)+ISNULL(E.Q38,0)-ISNULL(F.Q38,0)+ISNULL(G.Q38,0)+ISNULL(H.Q38,0)-ISNULL(I.Q38,0)-ISNULL(J.Q38,0)+ISNULL(K.Q38,0), ES39 = ISNULL(L.Q39,0)-ISNULL(B.Q39,0)+ISNULL(C.Q39,0)-ISNULL(D.Q39,0)+ISNULL(E.Q39,0)-ISNULL(F.Q39,0)+ISNULL(G.Q39,0)+ISNULL(H.Q39,0)-ISNULL(I.Q39,0)-ISNULL(J.Q39,0)+ISNULL(K.Q39,0), ES40 = ISNULL(L.Q40,0)-ISNULL(B.Q40,0)+ISNULL(C.Q40,0)-ISNULL(D.Q40,0)+ISNULL(E.Q40,0)-ISNULL(F.Q40,0)+ISNULL(G.Q40,0)+ISNULL(H.Q40,0)-ISNULL(I.Q40,0)-ISNULL(J.Q40,0)+ISNULL(K.Q40,0), ES41 = ISNULL(L.Q41,0)-ISNULL(B.Q41,0)+ISNULL(C.Q41,0)-ISNULL(D.Q41,0)+ISNULL(E.Q41,0)-ISNULL(F.Q41,0)+ISNULL(G.Q41,0)+ISNULL(H.Q41,0)-ISNULL(I.Q41,0)-ISNULL(J.Q41,0)+ISNULL(K.Q41,0), ES42 = ISNULL(L.Q42,0)-ISNULL(B.Q42,0)+ISNULL(C.Q42,0)-ISNULL(D.Q42,0)+ISNULL(E.Q42,0)-ISNULL(F.Q42,0)+ISNULL(G.Q42,0)+ISNULL(H.Q42,0)-ISNULL(I.Q42,0)-ISNULL(J.Q42,0)+ISNULL(K.Q42,0), ES43 = ISNULL(L.Q43,0)-ISNULL(B.Q43,0)+ISNULL(C.Q43,0)-ISNULL(D.Q43,0)+ISNULL(E.Q43,0)-ISNULL(F.Q43,0)+ISNULL(G.Q43,0)+ISNULL(H.Q43,0)-ISNULL(I.Q43,0)-ISNULL(J.Q43,0)+ISNULL(K.Q43,0), ES44 = ISNULL(L.Q44,0)-ISNULL(B.Q44,0)+ISNULL(C.Q44,0)-ISNULL(D.Q44,0)+ISNULL(E.Q44,0)-ISNULL(F.Q44,0)+ISNULL(G.Q44,0)+ISNULL(H.Q44,0)-ISNULL(I.Q44,0)-ISNULL(J.Q44,0)+ISNULL(K.Q44,0), ES45 = ISNULL(L.Q45,0)-ISNULL(B.Q45,0)+ISNULL(C.Q45,0)-ISNULL(D.Q45,0)+ISNULL(E.Q45,0)-ISNULL(F.Q45,0)+ISNULL(G.Q45,0)+ISNULL(H.Q45,0)-ISNULL(I.Q45,0)-ISNULL(J.Q45,0)+ISNULL(K.Q45,0), ES46 = ISNULL(L.Q46,0)-ISNULL(B.Q46,0)+ISNULL(C.Q46,0)-ISNULL(D.Q46,0)+ISNULL(E.Q46,0)-ISNULL(F.Q46,0)+ISNULL(G.Q46,0)+ISNULL(H.Q46,0)-ISNULL(I.Q46,0)-ISNULL(J.Q46,0)+ISNULL(K.Q46,0), ES47 = ISNULL(L.Q47,0)-ISNULL(B.Q47,0)+ISNULL(C.Q47,0)-ISNULL(D.Q47,0)+ISNULL(E.Q47,0)-ISNULL(F.Q47,0)+ISNULL(G.Q47,0)+ISNULL(H.Q47,0)-ISNULL(I.Q47,0)-ISNULL(J.Q47,0)+ISNULL(K.Q47,0), ES48 = ISNULL(L.Q48,0)-ISNULL(B.Q48,0)+ISNULL(C.Q48,0)-ISNULL(D.Q48,0)+ISNULL(E.Q48,0)-ISNULL(F.Q48,0)+ISNULL(G.Q48,0)+ISNULL(H.Q48,0)-ISNULL(I.Q48,0)-ISNULL(J.Q48,0)+ISNULL(K.Q48,0), QTDE_ENTRADA = ISNULL(L.QTDE,0), QTDE_FATURAMENTO = ISNULL(B.QTDE,0), QTDE_ENT_DEVOL = ISNULL(C.QTDE,0), QTDE_FATURA_DEVOL = ISNULL(D.QTDE,0), QTDE_PROD_ENT = ISNULL(E.QTDE,0), QTDE_PROD_SAI = ISNULL(F.QTDE,0), QTDE_AJUSTE = ISNULL(G.QTDE,0), QTDE_LJ_ENT = ISNULL(H.QTDE,0), QTDE_LJ_SAI = ISNULL(I.QTDE,0), QTDE_VENDA = ISNULL(J.QTDE,0), QTDE_TROCA = ISNULL(K.QTDE,0) FROM V_ESTOQUE_PA_PRODUTOS A LEFT JOIN V_ESTOQUE_PA_FATURAMENTO B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_ENTRADA_DEVOL C ON A.FILIAL=C.FILIAL AND A.PRODUTO=C.PRODUTO AND A.COR_PRODUTO=C.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_FATURAMENTO_DEVOL D ON A.FILIAL=D.FILIAL AND A.PRODUTO=D.PRODUTO AND A.COR_PRODUTO=D.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_PRODUCAO_ENT E ON A.FILIAL=E.FILIAL AND A.PRODUTO=E.PRODUTO AND A.COR_PRODUTO=E.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_PRODUCAO_SAI F ON A.FILIAL=F.FILIAL AND A.PRODUTO=F.PRODUTO AND A.COR_PRODUTO=F.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_AJUSTE G ON A.FILIAL=G.FILIAL AND A.PRODUTO=G.PRODUTO AND A.COR_PRODUTO=G.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_ENTRADA H ON A.FILIAL=H.FILIAL AND A.PRODUTO=H.PRODUTO AND A.COR_PRODUTO=H.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_SAIDA I ON A.FILIAL=I.FILIAL AND A.PRODUTO=I.PRODUTO AND A.COR_PRODUTO=I.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_VENDA J ON A.FILIAL=J.FILIAL AND A.PRODUTO=J.PRODUTO AND A.COR_PRODUTO=J.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_LOJA_TROCA K ON A.FILIAL=K.FILIAL AND A.PRODUTO=K.PRODUTO AND A.COR_PRODUTO=K.COR_PRODUTO LEFT JOIN V_ESTOQUE_PA_ENTRADA L ON A.FILIAL=L.FILIAL AND A.PRODUTO=L.PRODUTO AND A.COR_PRODUTO=L.COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARK]( [CARPETA#] [int] NOT NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [SECTOR] [smallint] NULL, [LINEA] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [TIPO] [smallint] NULL, [KTEJ] [smallint] NULL, [KCUAD] [smallint] NULL, [KSPRD] [smallint] NULL, [CRX] [float] NULL, [CRY] [float] NULL, [ENVX] [float] NULL, [ENVY] [float] NULL, [OPTLENGTH] [float] NULL, [FLIP] [char](1) NULL, [NAP] [char](1) NULL, [FCHESS] [smallint] NULL, [FHALFS] [smallint] NULL, [FPROTO] [smallint] NULL, [LARGO] [float] NULL, [ANCHO] [float] NULL, [NEJEMPS] [smallint] NULL, [NMODS] [smallint] NULL, [NTPZAS] [smallint] NULL, [NDPZAS] [smallint] NULL, [NTPTOS] [smallint] NULL, [NTPIQS] [smallint] NULL, [AREA] [float] NULL, [PERIM] [float] NULL, [APROV] [float] NULL, [COMENTARIO] [char](64) NULL, [TEMPORADA] [smallint] NULL, [userp] [smallint] NULL, [ACCESO] [smallint] NULL, [MENSAJE] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRNDSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRNDSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_PERI]( [ID] [int] NOT NULL, [GF_PERIODO_PCP] [varchar](25) NOT NULL, [GF_OBS] [varchar](16) NULL, [GF_TIPO_PERIODO] [smallint] NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUCTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUCTOS_PERI fecha de la secuencia de comandos: Sep 5 2001 16:05PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUCTOS_PERI] ON [GF_PRODUTOS_PERI] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUCTOS_PERI'')))=1) RETURN ELSE DECLARE @PERIODO VARCHAR(25) DECLARE PERIODOV CURSOR FOR SELECT GF_PERIODO_PCP FROM DELETED OPEN PERIODOV FETCH NEXT FROM PERIODOV INTO @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT PERIODO_PCP FROM PRODUTOS_PERIODOS_PCP WHERE PERIODO_PCP=@PERIODO) DELETE FROM PRODUTOS_PERIODOS_PCP WHERE PERIODO_PCP=@PERIODO ELSE BEGIN FETCH NEXT FROM PERIODOV INTO @PERIODO END FETCH NEXT FROM PERIODOV INTO @PERIODO END CLOSE PERIODOV DEALLOCATE PERIODOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_PERI fecha de la secuencia de comandos: SEP 6 2000 11:50AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_PERI] ON [GF_PRODUTOS_PERI] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @PERIODO VARCHAR(25) DECLARE PERIODOV CURSOR FOR SELECT GF_PERIODO_PCP FROM INSERTED OPEN PERIODOV FETCH NEXT FROM PERIODOV INTO @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT PERIODO_PCP FROM PRODUTOS_PERIODOS_PCP WHERE PERIODO_PCP=@PERIODO) INSERT INTO PRODUTOS_PERIODOS_PCP (PERIODO_PCP,OBS,TIPO_PERIODO,DATA_PARA_TRANSFERENCIA) SELECT GF_PERIODO_PCP,GF_OBS, (SELECT TIPO FROM PERIODOS WHERE ID=(SELECT GF_TIPO_PERIODO FROM INSERTED)), DATA_PARA_TRANSFERENCIA FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO ELSE BEGIN FETCH NEXT FROM PERIODOV INTO @PERIODO END FETCH NEXT FROM PERIODOV INTO @PERIODO END CLOSE PERIODOV DEALLOCATE PERIODOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_PERI fecha de la secuencia de comandos: Sep 7 2001 13:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_PERI] ON [GF_PRODUTOS_PERI] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_PERI'')))=1) RETURN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_PERI'')) ) < 2 ) BEGIN DECLARE @PERIODOD VARCHAR(25), @PERIODO VARCHAR(25) DECLARE PERIODODV CURSOR FOR SELECT GF_PERIODO_PCP FROM DELETED DECLARE PERIODOV CURSOR FOR SELECT GF_PERIODO_PCP FROM INSERTED OPEN PERIODODV OPEN PERIODOV FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS =0 BEGIN IF EXISTS (SELECT PERIODO_PCP FROM PRODUTOS_PERIODOS_PCP WHERE PERIODO_PCP=@PERIODOD) BEGIN UPDATE PRODUTOS_PERIODOS_PCP SET PERIODO_PCP=@PERIODO, OBS=(SELECT GF_OBS FROM INSERTED WHERE GF_PERIODO_PCP=@PERIODO), TIPO_PERIODO=(SELECT TIPO FROM PERIODOS WHERE ID=(SELECT GF_TIPO_PERIODO FROM INSERTED WHERE GF_PERIODO_PCP=@PERIODO)), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_PERIODO_PCP=@PERIODO) WHERE PERIODO_PCP=@PERIODOD UPDATE GF_PRODUTOS_ENTR SET GF_PERIODO_PCP=@PERIODO WHERE GF_PERIODO_PCP=@PERIODOD UPDATE PRODUTOS_PERIODOS_ENTREGAS SET PERIODO_PCP=@PERIODO WHERE PERIODO_PCP=@PERIODOD END ELSE BEGIN FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO END FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO END CLOSE PERIODODV DEALLOCATE PERIODODV CLOSE PERIODOV DEALLOCATE PERIODOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TINTESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TINTESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_PERICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_PERICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARKCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARKCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE_TESTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE_TESTE]( [REFERENCIA_BASE] [char](11) NOT NULL, [CODIGO_TESTE] [varchar](25) NOT NULL, [COMPRIMENTO] [varchar](20) NULL, [LARGURA] [varchar](20) NULL, [TORCAO] [varchar](20) NOT NULL, CONSTRAINT [XPKMATERIAIS_BASE_TESTE] PRIMARY KEY NONCLUSTERED ( [REFERENCIA_BASE] ASC, [CODIGO_TESTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_BASE_TESTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_BASE_TESTE] on [MATERIAIS_BASE_TESTE] for INSERT as /* INSERT trigger on MATERIAIS_BASE_TESTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1940 MATERIAIS_BASE_TESTE ON CHILD INSERT RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_TESTE #porque #MATERIAIS_BASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_BASE_TESTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_BASE_TESTE] on [MATERIAIS_BASE_TESTE] for UPDATE as /* UPDATE trigger on MATERIAIS_BASE_TESTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREFERENCIA_BASE char(11), @insCODIGO_TESTE varchar(25), @delREFERENCIA_BASE char(11), @delCODIGO_TESTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1940 MATERIAIS_BASE_TESTE ON CHILD UPDATE RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_TESTE #porque #MATERIAIS_BASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPO]( [ID] [int] NULL, [TIPO] [varchar](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORMATOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORMATOCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARKIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARKIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [IDVOLBAK] [int] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASPROCESOPENDIENTES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASPROCESOPENDIENTES] AS SELECT NUMTALON, CODIGO, COLOR, TALLA, SUM(ISNULL(INICIO, 0)) AS INICIO, SUM(ABS(ISNULL(FINAL, 0))) AS FINAL FROM RDX_V_VENTASPROCESO GROUP BY NUMTALON, CODIGO, COLOR, TALLA HAVING ((SUM(ISNULL(INICIO, 0)) <> 0) AND (SUM(ISNULL(INICIO, 0)) > SUM(ABS(ISNULL(FINAL, 0))))) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FIC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FIC]( [ID] [int] NOT NULL, [IDMATERIAL] [int] NOT NULL, [GF_MATERIAL_UTIL] [int] NOT NULL, [GF_COR_MATERIAL_] [int] NOT NULL, [GF_CONSUMO] [float] NULL, [GF_PERDA] [float] NULL, [GF_DESC_USO] [varchar](40) NULL, [GF_INDICE_ALIMEN] [int] NULL, [ORDENPM] [int] NULL, [COMPOSICION] [float] NULL, [RENDIMIENTO] [float] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_FICHA_TECNICA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_FICHA_TECNICA] ON [GF_MATERIAIS_FIC] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS(SELECT MATERIAL, COR_MATERIAL, MATERIAL_UTILIZADO, COR_MATERIAL_UTILIZADA FROM MATERIAIS_FICHA_TECNICA A, DELETED B WHERE (A.MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(B.IDMATERIAL)) AND A.COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(B.GF_COR_MATERIAL_)) AND A.MATERIAL_UTILIZADO=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(B.GF_MATERIAL_UTIL)) AND A.COR_MATERIAL_UTILIZADA=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(B.GF_COR_MATERIAL_))) ) DECLARE @ID_MATFIC_DEL INT DECLARE CUR_MATFIC_DEL CURSOR FOR SELECT ID FROM DELETED OPEN CUR_MATFIC_DEL FETCH NEXT FROM CUR_MATFIC_DEL INTO @ID_MATFIC_DEL IF @@rowcount>=0 BEGIN WHILE @@fetch_status=0 BEGIN DELETE FROM MATERIAIS_FICHA_TECNICA WHERE (MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM DELETED WHERE ID=@ID_MATFIC_DEL)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL_ FROM DELETED WHERE ID=@ID_MATFIC_DEL)) AND MATERIAL_UTILIZADO=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT GF_MATERIAL_UTIL FROM DELETED WHERE ID=@ID_MATFIC_DEL)) AND COR_MATERIAL_UTILIZADA=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL_ FROM DELETED WHERE ID=@ID_MATFIC_DEL))) FETCH NEXT FROM CUR_MATFIC_DEL INTO @ID_MATFIC_DEL END END CLOSE CUR_MATFIC_DEL DEALLOCATE CUR_MATFIC_DEL END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_FICHA_TECNICA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_FICHA_TECNICA] ON [GF_MATERIAIS_FIC] FOR INSERT NOT FOR REPLICATION AS BEGIN IF EXISTS(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT IDMATERIAL FROM INSERTED) AND TRANSFER=60 OR TRANSFER=70) BEGIN INSERT INTO MATERIAIS_FICHA_TECNICA (MATERIAL, COR_MATERIAL, MATERIAL_UTILIZADO, COR_MATERIAL_UTILIZADA, CONSUMO, PERDA, DESC_USO, INDICE_ALIMENTACAO) SELECT (SELECT GF_MATERIAL FROM ETEJI WHERE ID=(A.IDMATERIAL)), (SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(A.IDMATERIAL))), (SELECT GF_MATERIAL FROM ETEJI WHERE ID=(A.GF_MATERIAL_UTIL)), (SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(A.GF_COR_MATERIAL_)), A.GF_CONSUMO, A.GF_PERDA, A.GF_DESC_USO, A.GF_INDICE_ALIMEN FROM INSERTED A END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_FICHA_TECNICA fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_FICHA_TECNICA] ON [GF_MATERIAIS_FIC] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_FICHA_TECNICA'')) ) < 2 ) BEGIN DECLARE @ID INT, @IDMAT_IN INT, @ID_IN INT, @IDMAT INT, @MAT_IN INT, @COL_IN INT, @MAT INT,@COL INT DECLARE CUR_MAT_FICT CURSOR FOR SELECT ID,IDMATERIAL,GF_MATERIAL_UTIL,GF_COR_MATERIAL_ FROM DELETED DECLARE CUR_MAT_FICT_IN CURSOR FOR SELECT ID,IDMATERIAL,GF_MATERIAL_UTIL,GF_COR_MATERIAL_ FROM INSERTED OPEN CUR_MAT_FICT --DELETED OPEN CUR_MAT_FICT_IN --INSERTED FETCH NEXT FROM CUR_MAT_FICT INTO @ID,@IDMAT,@MAT,@COL FETCH NEXT FROM CUR_MAT_FICT_IN INTO @ID_IN,@IDMAT_IN,@MAT_IN,@COL_IN IF @@rowcount>=0 BEGIN WHILE @@fetch_status>=0 BEGIN UPDATE MATERIAIS_FICHA_TECNICA SET MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT_IN)), COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@IDMAT))), MATERIAL_UTILIZADO=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT GF_MATERIAL_UTIL FROM INSERTED WHERE ID=@ID_IN)), COR_MATERIAL_UTILIZADA=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL_ FROM INSERTED WHERE ID=@ID_IN)), CONSUMO=(SELECT GF_CONSUMO FROM INSERTED WHERE ID=@ID_IN), PERDA=(SELECT GF_PERDA FROM INSERTED WHERE ID=@ID_IN), DESC_USO=(SELECT GF_DESC_USO FROM INSERTED WHERE ID=@ID_IN), INDICE_ALIMENTACAO=(SELECT GF_INDICE_ALIMEN FROM INSERTED WHERE ID=@ID_IN) WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(@IDMAT)) AND COR_MATERIAL=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=(@IDMAT))) FETCH NEXT FROM CUR_MAT_FICT INTO @ID,@IDMAT,@MAT,@COL FETCH NEXT FROM CUR_MAT_FICT_IN INTO @ID_IN,@IDMAT_IN,@MAT_IN,@COL_IN END/*fs*/ END/*rc*/ CLOSE CUR_MAT_FICT CLOSE CUR_MAT_FICT_IN DEALLOCATE CUR_MAT_FICT DEALLOCATE CUR_MAT_FICT_IN END /*----------------------------------------------------------------------------------------------------*/ /*------------------------------ MATERIAIS FOTO -------------------------------*/ /*-----------------------------------------------------------------------------------------------------*/ /*INSERT EN INVMARK (TABLA ETEJIIMG) -> INSERT EN LINX (TABLA MATERIAIS_FOTO)*/ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAL_FORMATOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAL_FORMATOCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MARKIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MARKIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPO_COSTURA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPO_COSTURA]( [ID] [int] NOT NULL, [TIPO] [char](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRNDSIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRNDSIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FICCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FICCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MENSAJES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MENSAJES]( [ID] [int] NULL, [IDENT] [smallint] NULL, [MESSAGES] [char](80) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_A_PAGAR_BORDERO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_A_PAGAR_BORDERO]( [TIPO_ENVIO] [varchar](25) NOT NULL, [BORDERO] [char](8) NOT NULL, [BANCO] [char](4) NOT NULL, [DATA_CRIACAO] [datetime] NULL, [NOME_ARQUIVO] [char](12) NULL, [DATA_ENVIO] [datetime] NULL, [OBS] [text] NULL, CONSTRAINT [XPKBANCOS_A_PAGAR_BORDERO] PRIMARY KEY NONCLUSTERED ( [TIPO_ENVIO] ASC, [BORDERO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS_A_PAGAR_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS_A_PAGAR_BORDERO] on [BANCOS_A_PAGAR_BORDERO] for DELETE as /* DELETE trigger on BANCOS_A_PAGAR_BORDERO */ begin declare @errno int, @errmsg varchar(255) /* BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_PARCELAS ON PARENT DELETE CASCADE */ delete BANCOS_A_PAGAR_PARCELAS from BANCOS_A_PAGAR_PARCELAS,deleted where BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO = deleted.TIPO_ENVIO and BANCOS_A_PAGAR_PARCELAS.BORDERO = deleted.BORDERO and BANCOS_A_PAGAR_PARCELAS.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_A_PAGAR_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_A_PAGAR_BORDERO] on [BANCOS_A_PAGAR_BORDERO] for INSERT as /* INSERT trigger on BANCOS_A_PAGAR_BORDERO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_BORDERO ON CHILD INSERT RESTRICT */ if update(TIPO_ENVIO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_ENVIOS where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_ENVIOS.TIPO_ENVIO and inserted.BANCO = BANCOS_A_PAGAR_ENVIOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_BORDERO #porque #BANCOS_A_PAGAR_ENVIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_A_PAGAR_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_A_PAGAR_BORDERO] on [BANCOS_A_PAGAR_BORDERO] for UPDATE as /* UPDATE trigger on BANCOS_A_PAGAR_BORDERO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENVIO varchar(25), @insBORDERO char(8), @insBANCO char(4), @delTIPO_ENVIO varchar(25), @delBORDERO char(8), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENVIO) OR update(BORDERO) OR update(BANCO) BEGIN DECLARE BANCOS_A_PAGAR_BORDERO971 CURSOR FOR SELECT TIPO_ENVIO, BORDERO, BANCO FROM INSERTED DECLARE BANCOS_A_PAGAR_BORDERO628 CURSOR FOR SELECT TIPO_ENVIO, BORDERO, BANCO FROM DELETED OPEN BANCOS_A_PAGAR_BORDERO971 OPEN BANCOS_A_PAGAR_BORDERO628 FETCH NEXT FROM BANCOS_A_PAGAR_BORDERO971 INTO @insTIPO_ENVIO, @insBORDERO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_BORDERO628 INTO @delTIPO_ENVIO, @delBORDERO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_PARCELAS SET BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO=@insTIPO_ENVIO, BANCOS_A_PAGAR_PARCELAS.BORDERO=@insBORDERO, BANCOS_A_PAGAR_PARCELAS.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO = @delTIPO_ENVIO and BANCOS_A_PAGAR_PARCELAS.BORDERO = @delBORDERO and BANCOS_A_PAGAR_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_A_PAGAR_BORDERO971 INTO @insTIPO_ENVIO, @insBORDERO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_BORDERO628 INTO @delTIPO_ENVIO, @delBORDERO, @delBANCO END END CLOSE BANCOS_A_PAGAR_BORDERO971 CLOSE BANCOS_A_PAGAR_BORDERO628 DEALLOCATE BANCOS_A_PAGAR_BORDERO971 DEALLOCATE BANCOS_A_PAGAR_BORDERO628 END /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_BORDERO ON CHILD UPDATE RESTRICT */ if update(TIPO_ENVIO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_ENVIOS where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_ENVIOS.TIPO_ENVIO and inserted.BANCO = BANCOS_A_PAGAR_ENVIOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_BORDERO #porque #BANCOS_A_PAGAR_ENVIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPO_COSTURACNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPO_COSTURACNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PROVEEDOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PROVEEDOR]( [ID] [int] NOT NULL, [PROVEEDOR] [varchar](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_STAT]( [ID] [int] NULL, [KESTADO] [char](1) NULL, [ESTADO] [char](64) NULL, [COMENTARIO] [char](80) NULL, [GF_STATUS_PRODUT] [varchar](2) NOT NULL, [GF_DESC_STATUS_P] [varchar](40) NULL, [GF_TIPO_STATUS_P] [int] NULL, [USERP] [int] NULL, [EMP] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_STAT fecha de la secuencia de comandos: Sep 17 2001 12:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_STAT] ON [GF_PRODUTOS_STAT] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_STAT'')) ) =1) RETURN ELSE DECLARE @ESTADO VARCHAR(2) DECLARE ESTADOV CURSOR FOR SELECT GF_STATUS_PRODUT FROM DELETED OPEN ESTADOV FETCH NEXT FROM ESTADOV INTO @ESTADO IF @@ROWCOUNT>= 0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT STATUS_PRODUTO FROM PRODUTOS_STATUS WHERE STATUS_PRODUTO=@ESTADO) DELETE FROM PRODUTOS_STATUS WHERE STATUS_PRODUTO=@ESTADO ELSE BEGIN FETCH NEXT FROM ESTADOV INTO @ESTADO END FETCH NEXT FROM ESTADOV INTO @ESTADO END CLOSE ESTADOV DEALLOCATE ESTADOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFIV_PRODUTOS_STAT] ON [GF_PRODUTOS_STAT] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_STAT''))) =1) RETURN ELSE BEGIN DECLARE @ESTADO VARCHAR(2) DECLARE ESTADOV CURSOR FOR SELECT GF_STATUS_PRODUT FROM INSERTED OPEN ESTADOV FETCH NEXT FROM ESTADOV INTO @ESTADO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT STATUS_PRODUTO FROM PRODUTOS_STATUS A, INSERTED B WHERE A.STATUS_PRODUTO=B.GF_STATUS_PRODUT) BEGIN INSERT INTO PRODUTOS_STATUS (STATUS_PRODUTO,DESC_STATUS_PRODUTO,TIPO_STATUS_PRODUTO) SELECT GF_STATUS_PRODUT,GF_DESC_STATUS_P, (SELECT TIPO FROM GF_PROD_TIPO_STA WHERE ID=(SELECT GF_TIPO_STATUS_P FROM INSERTED WHERE GF_STATUS_PRODUT=@ESTADO)) FROM GF_PRODUTOS_STAT WHERE GF_STATUS_PRODUT=@ESTADO END ELSE BEGIN FETCH NEXT FROM ESTADOV INTO @ESTADO END FETCH NEXT FROM ESTADOV INTO @ESTADO END CLOSE ESTADOV DEALLOCATE ESTADOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_STAT fecha de la secuencia de comandos: Sep 17 2001 11:55AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_STAT] ON [GF_PRODUTOS_STAT] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_STAT''))) < 2 ) BEGIN DECLARE @ESTADO VARCHAR(2), @ESTADOD VARCHAR(2) DECLARE ESTADODV CURSOR FOR SELECT GF_STATUS_PRODUT FROM DELETED DECLARE ESTADOV CURSOR FOR SELECT GF_STATUS_PRODUT FROM INSERTED OPEN ESTADODV OPEN ESTADOV FETCH NEXT FROM ESTADODV INTO @ESTADOD FETCH NEXT FROM ESTADOV INTO @ESTADO IF @@ROWCOUNT>= 0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT STATUS_PRODUTO FROM PRODUTOS_STATUS WHERE STATUS_PRODUTO=@ESTADOD) BEGIN UPDATE PRODUTOS_STATUS SET STATUS_PRODUTO=@ESTADO, DESC_STATUS_PRODUTO=(SELECT GF_DESC_STATUS_P FROM INSERTED WHERE GF_STATUS_PRODUT=@ESTADO), TIPO_STATUS_PRODUTO=(SELECT TIPO FROM GF_PROD_TIPO_STA WHERE ID=(SELECT GF_TIPO_STATUS_P FROM INSERTED WHERE GF_STATUS_PRODUT=@ESTADO)) WHERE STATUS_PRODUTO=@ESTADOD END ELSE BEGIN FETCH NEXT FROM ESTADODV INTO @ESTADOD FETCH NEXT FROM ESTADOV INTO @ESTADO END FETCH NEXT FROM ESTADODV INTO @ESTADOD FETCH NEXT FROM ESTADOV INTO @ESTADO END CLOSE ESTADODV DEALLOCATE ESTADODV CLOSE ESTADOV DEALLOCATE ESTADOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MENSAJESCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MENSAJESCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMP_PROVEEDORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMP_PROVEEDORES]( [nombre_proveedor] [varchar](40) NULL, [numero_proveedor] [varchar](6) NULL, [dni_nif] [char](10) NULL, [cuenta_contable] [char](20) NULL, [descrip_proveedor] [char](40) NULL, [codigo_postal] [char](5) NULL, [direccion] [char](40) NULL, [poblacion] [char](35) NULL, [provincia] [char](25) NULL, [telefono] [char](9) NULL, [contacto] [char](40) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PROVEEDORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PROVEEDORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_STATCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_STATCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DESCRI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DESCRI]( [ID] [int] NOT NULL, [NOMBRE] [char](12) NULL, [PRENDA] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOS_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOS_ETIQUETAS]( [ID] [int] NOT NULL, [TIPO] [varchar](32) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASEDI_ERRONEAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASEDI_ERRONEAS] AS SELECT * FROM RDX_V_VENTASEDI WHERE PRODUTO = ''107CH.EN.01'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODS]( [CARPETA#] [int] NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [SECTOR] [smallint] NULL, [LINEA] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [TIPO] [smallint] NULL, [TIPOTEJIDO] [smallint] NULL, [TSET] [int] NULL, [ACCESO] [smallint] NULL, [COMENTARIO] [char](64) NULL, [MENSAJE] [smallint] NULL, [TEMPORADA] [smallint] NULL, [userp] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DESCRICNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DESCRICNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOS_ETIQUETASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOS_ETIQUETASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_OBJETO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_OBJETO]( [COD_TRANSACAO] [char](23) NOT NULL, [OBJETO] [varchar](250) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [CRIACAO] [datetime] NOT NULL, [PROPRIEDADE_USUARIO] [text] NULL, [OBJETO_CLASSE] [varchar](40) NOT NULL, CONSTRAINT [XPKTRANSACOES_OBJETO] PRIMARY KEY NONCLUSTERED ( [COD_TRANSACAO] ASC, [OBJETO] ASC, [USUARIO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_OBJETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_OBJETO] on [TRANSACOES_OBJETO] for INSERT as /* INSERT trigger on TRANSACOES_OBJETO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES R/1959 TRANSACOES_OBJETO ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_OBJETO #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_OBJETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_OBJETO] on [TRANSACOES_OBJETO] for UPDATE as /* UPDATE trigger on TRANSACOES_OBJETO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSACAO char(23), @insOBJETO varchar(250), @insUSUARIO varchar(25), @delCOD_TRANSACAO char(23), @delOBJETO varchar(250), @delUSUARIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES R/1959 TRANSACOES_OBJETO ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_OBJETO #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMEDS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMEDS]( [ID] [int] NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [KPRENDA] [smallint] NULL, [TSET] [smallint] NULL, [UNIT] [smallint] NULL, [COMENTARIO] [char](80) NULL, [TALLAINI] [smallint] NULL, [TALLAFIN] [smallint] NULL, [TALLAB] [smallint] NULL, [DROPB] [smallint] NULL, [CONFIGB] [smallint] NULL, [EXTRAB] [smallint] NULL, [TBASE] [int] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NULL, [TINCR] [smallint] NULL, [TRANSFER] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_TMEDS_TRANSFER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_TMEDS_TRANSFER fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_TMEDS_TRANSFER] ON [TMEDS] FOR INSERT,UPDATE NOT FOR REPLICATION AS IF (SELECT TRANSFER FROM INSERTED) IS NULL OR (SELECT TRANSFER FROM INSERTED)=0 BEGIN UPDATE TMEDS SET TRANSFER=10 WHERE ID=(SELECT ID FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_TAB_MEDIDAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_TAB_MEDIDAS] ON [TMEDS] FOR DELETE NOT FOR REPLICATION AS BEGIN DELETE dbo.PRODUTOS_TAB_MEDIDAS WHERE TABELA_MEDIDAS=(SELECT NOMBRE FROM DELETED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_TAB_MEDIDAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_TAB_MEDIDAS] ON [TMEDS] FOR UPDATE NOT FOR REPLICATION AS IF (SELECT TRANSFER FROM INSERTED)>=49 BEGIN IF NOT EXISTS (SELECT TABELA_MEDIDAS FROM dbo.PRODUTOS_TAB_MEDIDAS WHERE TABELA_MEDIDAS=(SELECT NOMBRE FROM INSERTED)) BEGIN INSERT INTO dbo.PRODUTOS_TAB_MEDIDAS ( TABELA_MEDIDAS,GRUPO_PRODUTO,GRADE,TAMANHO_BASE,DESCRICAO_TABELA, FOTO_DIANTEIRO,FOTO_TRASEIRO,OBS,DATA_PARA_TRANSFERENCIA) SELECT TM.NOMBRE,(SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE ID=TM.KPRENDA),(SELECT NOMBRE FROM TSET WHERE ID=TM.TSET), (SELECT IDTALLA FROM TSIM WHERE ID=TM.TBASE),'''', (SELECT ''X:\IMG\TMEDS\''+RTRIM(CONVERT(CHAR(3),OFFSET))+''\''+FICHERO FROM TMEDSIMG WHERE IDIMG=1 AND CARPETA#=TM.ID), (SELECT ''X:\IMG\TMEDS\''+RTRIM(CONVERT(CHAR(3),OFFSET))+''\''+FICHERO FROM TMEDSIMG WHERE IDIMG=2 AND CARPETA#=TM.ID), TM.COMENTARIO,TM.FECHAC FROM INSERTED TM --WHERE TM.ID=(SELECT ID FROM INSERTED) END UPDATE dbo.PRODUTOS_TAB_MEDIDAS SET --TABELA_MEDIDAS=TM.NOMBRE, GRUPO_PRODUTO=(SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE ID=TM.KPRENDA), GRADE=(SELECT NOMBRE FROM TSET WHERE ID=TM.TSET), TAMANHO_BASE=(SELECT IDTALLA FROM TSIM WHERE ID=TM.TBASE), DESCRICAO_TABELA='''', FOTO_DIANTEIRO=(SELECT ''X:\IMG\TMEDS\''+RTRIM(CONVERT(CHAR(3),OFFSET))+''\''+FICHERO FROM TMEDSIMG WHERE IDIMG=1 AND CARPETA#=TM.ID), FOTO_TRASEIRO=(SELECT ''X:\IMG\TMEDS\''+RTRIM(CONVERT(CHAR(3),OFFSET))+''\''+FICHERO FROM TMEDSIMG WHERE IDIMG=2 AND CARPETA#=TM.ID), OBS=TM.COMENTARIO, DATA_PARA_TRANSFERENCIA=TM.FECHAC FROM INSERTED TM,dbo.PRODUTOS_TAB_MEDIDAS CT WHERE CT.TABELA_MEDIDAS=TM.NOMBRE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMEDS_PRNDS_VARCOLOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.TMEDS_PRNDS_VARCOLOR fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [TMEDS_PRNDS_VARCOLOR] ON [TMEDS] FOR DELETE AS BEGIN DECLARE @ERRNO INT, @ERRMSG VARCHAR(255) IF EXISTS (SELECT * FROM DELETED,PRNDS,VARCOLOR WHERE PRNDS.MEDS=DELETED.ID OR VARCOLOR.MEDS=DELETED.ID) BEGIN SELECT @ERRNO=30003, @ERRMSG=''No se puede eliminar una Tabla de Medidas que esté usandose en un Modelo'' GOTO ERROR END RETURN ERROR: RAISERROR @ERRNO @ERRMSG END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tmp_color]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [tmp_color]( [id2] [int] NULL, [codigo] [char](5) NULL, [descrip] [varchar](32) NULL, [tipo] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RCOMPVARCOLORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RCOMPVARCOLORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[_RCOMPVARCOLOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [_RCOMPVARCOLOR]( [IDCOMPVARCOLOR] [int] NOT NULL, [IDVARCOLOR] [int] NULL, [IDCOMP] [int] NULL, [IDGRUPO] [int] NULL, [IDTEJIDO] [int] NULL, [IDMARCADA] [int] NULL, [CONSUMO] [float] NULL, [T1] [smallint] NULL, [T2] [smallint] NULL, [C1] [int] NULL, [C2] [int] NULL, [C3] [int] NULL, [C4] [int] NULL, [C5] [int] NULL, [C6] [int] NULL, [C7] [int] NULL, [C8] [int] NULL, [C9] [int] NULL, [C10] [int] NULL, [C11] [int] NULL, [C12] [int] NULL, [C13] [int] NULL, [C14] [int] NULL, [C15] [int] NULL, [GRUPO] [int] NULL, [TIPO] [smallint] NULL, [ORDENPM] [int] NULL, [COMP_TEJIDO] [smallint] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[_RCOMPVARCOLOR]') AND name = N'PK__RCOMPVARCOLOR__489AC854') CREATE UNIQUE CLUSTERED INDEX [PK__RCOMPVARCOLOR__489AC854] ON [_RCOMPVARCOLOR] ( [IDCOMPVARCOLOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMP_TEJIDO_EN_VARCOLOR_DE_SI_EN_RCOMPVARCOLOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.COMP_TEJIDO_EN_VARCOLOR_DE_SI_EN_RCOMPVARCOLOR fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [COMP_TEJIDO_EN_VARCOLOR_DE_SI_EN_RCOMPVARCOLOR] ON [_RCOMPVARCOLOR] FOR INSERT,UPDATE AS --RETURN --DECLARE @NombreTransacion VARCHAR(30) --SELECT @NombreTransacion=''Composicion'' --BEGIN TRANSACTION @NombreTransacion DECLARE @ERRNO INT, @ERRMSG VARCHAR(255) IF (SELECT COUNT(COMP_TEJIDO) FROM RCOMPVARCOLOR WHERE COMP_TEJIDO=2 AND IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED))>1 BEGIN SELECT @ERRNO=30030, @ERRMSG=''No se pueden elegir más de dos materiales para formar parte de la composición del Tejido de la Variante'' --ROLLBACK TRANSACTION Composicion GOTO ERROR END ELSE GOTO COMPTEJIDO ERROR: BEGIN RAISERROR @ERRNO @ERRMSG END RETURN COMPTEJIDO: BEGIN UPDATE VARCOLOR SET GF_COMPOSICAO=(SELECT GF_DESC_COMPOSIC FROM ETEJI WHERE ID= (SELECT IDTEJIDO FROM RCOMPVARCOLOR WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED)AND COMP_TEJIDO=2)) WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED) --COMMIT TRANSACTION Composicion END RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DESCRIIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DESCRIIMG]( [CARPETA#] [int] NOT NULL, [CLASIF] [smallint] NOT NULL, [PAGINA] [int] NOT NULL, [IDVOL] [smallint] NOT NULL, [FICHERO] [char](12) NOT NULL, [IDDOC] [char](10) NOT NULL, [IDIMG] [smallint] NOT NULL, [OFFSET] [smallint] NOT NULL, [ESTADO] [smallint] NOT NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FOR]( [ID] [int] NOT NULL, [IDETEJI] [int] NOT NULL, [GF_FORNECEDOR] [int] NOT NULL, [GF_MATERIAL] [int] NOT NULL, [GF_COR_MATERIAL] [int] NOT NULL, [GF_REF_FORNECEDO] [varchar](15) NULL, [GF_DESC_FORNECED] [varchar](60) NOT NULL, [GF_REF_COR_FORNE] [varchar](15) NOT NULL, [GF_DESC_COR_FORN] [varchar](40) NOT NULL, [GF_UNIDADE] [int] NOT NULL, [GF_FATOR_CONVERS] [float] NOT NULL, [GF_DIAS_ENTREGA] [int] NULL, [GF_OBS_FORNECEDO] [varchar](16) NULL, [ORDENPM] [int] NULL, [GF_MEDIDA_MAT] [float] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FOR]') AND name = N'XGF_MATERIAIS_FOR') CREATE UNIQUE NONCLUSTERED INDEX [XGF_MATERIAIS_FOR] ON [GF_MATERIAIS_FOR] ( [IDETEJI] ASC, [GF_FORNECEDOR] ASC, [GF_COR_MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_FOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_FOR fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_FOR] ON [GF_MATERIAIS_FOR] FOR INSERT NOT FOR REPLICATION AS BEGIN IF (SELECT COUNT(A.ID) FROM GF_MATERIAIS_FOR A, INSERTED B WHERE A.GF_COR_MATERIAL=B.GF_COR_MATERIAL AND A.GF_MATERIAL=B.GF_MATERIAL AND A.GF_FORNECEDOR=B.GF_FORNECEDOR)>1 GOTO ERROR ELSE GOTO INSERTA ERROR: DECLARE @ERRORNUM INTEGER,@MSGERROR CHAR(150) SELECT @ERRORNUM=35018 SELECT @MSGERROR=''Debe marcar para eliminar los proveedores alternativos en pantalla antes de dar de alta un nuevo color'' RAISERROR @ERRORNUM @MSGERROR ROLLBACK TRANSACTION INSERTA: RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NORM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NORM]( [ID] [int] NULL, [NOMBRE] [char](16) NULL, [ESTADO] [smallint] NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [TIPO] [char](1) NULL, [COMENTARIO] [char](80) NULL, [ACCES] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CUENTAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CUENTAS]( [CEMP] [char](3) NOT NULL, [CCTA] [char](15) NOT NULL, [PAIS] [int] NULL, [NIVE] [smallint] NOT NULL, [NCTA] [char](15) NULL, [DEAM] [char](45) NULL, [DETA] [char](1) NOT NULL, [NCIF] [char](20) NULL, [CTAC] [char](15) NULL, [CTAT] [smallint] NOT NULL, [IVAH] [smallint] NULL, [RECA] [char](1) NOT NULL, [IVAS] [smallint] NULL, [CART] [char](1) NULL, [COCO] [char](15) NULL, [CPAI] [int] NULL, [CONC] [char](1) NULL, [APME] [char](1) NOT NULL, [ANAL] [char](1) NULL, [NUME] [int] NULL, [PAVI] [char](1) NULL, [CDIV] [int] NULL, [CONS] [char](1) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tmp_compos]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [tmp_compos]( [id2] [int] NULL, [descrip] [varchar](100) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DESCRIIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DESCRIIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMEDSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMEDSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_CABINV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_CABINV]( [NUMDOC] [varchar](25) NOT NULL, [TIPODOC] [varchar](3) NULL, [TIPOLIQ] [varchar](3) NULL, [FECHA] [datetime] NULL, [FECHALIQ] [datetime] NULL, [EMISOR] [varchar](17) NULL, [RECEPTOR] [varchar](17) NULL, [DPTO] [varchar](3) NULL, [CENTRO] [varchar](17) NULL, [FECHA_CARGA] [datetime] NULL, [IGNORAR] [varchar](1) NULL, PRIMARY KEY CLUSTERED ( [NUMDOC] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_CABINV]') AND name = N'RDX_CABINV_idx') CREATE NONCLUSTERED INDEX [RDX_CABINV_idx] ON [RDX_CABINV] ( [FECHALIQ] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_CABINV]') AND name = N'RDX_CABINV_idx2') CREATE NONCLUSTERED INDEX [RDX_CABINV_idx2] ON [RDX_CABINV] ( [CENTRO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_CABINV]') AND name = N'RDX_CABINV_idx3') CREATE NONCLUSTERED INDEX [RDX_CABINV_idx3] ON [RDX_CABINV] ( [IGNORAR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EGOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EGOPER]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [USERC] [int] NOT NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [COMENTARIO] [char](80) NULL, [KPRNDS] [smallint] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_SUBG]( [ID] [int] NOT NULL, [ID_GRUPO] [smallint] NOT NULL, [GF_GRUPO_PRODUTO] [varchar](25) NOT NULL, [GF_SUBGRUPO_PROD] [varchar](25) NOT NULL, [GF_CODIGO_SUBGRU] [char](2) NOT NULL, [GF_CODIGO_SEQUEN] [char](4) NULL, [GF_NUMERO_PARTES] [smallint] NULL, [GF_PARTES_DO_PRO] [varchar](30) NULL, [GF_PARTES_DO_DRO] [varchar](30) NULL, [Data_para_transferencia] [datetime] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_SUBG]') AND name = N'XPKPRODUTOS_SUBGRUPO') CREATE UNIQUE NONCLUSTERED INDEX [XPKPRODUTOS_SUBGRUPO] ON [GF_PRODUTOS_SUBG] ( [GF_GRUPO_PRODUTO] ASC, [GF_SUBGRUPO_PROD] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_SUBG fecha de la secuencia de comandos: Sep 19 2001 12:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_SUBG] ON [GF_PRODUTOS_SUBG] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_SUBG'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO_PRODUTO,GF_SUBGRUPO_PROD FROM DELETED OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT SUBGRUPO_PRODUTO FROM PRODUTOS_SUBGRUPO WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO) BEGIN DELETE FROM PRODUTOS_SUBGRUPO WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO END ELSE BEGIN FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_SUBG fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_SUBG] ON [GF_PRODUTOS_SUBG] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_SUB'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO_PRODUTO,GF_SUBGRUPO_PROD FROM INSERTED OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT SUBGRUPO_PRODUTO FROM PRODUTOS_SUBGRUPO WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO) BEGIN INSERT INTO PRODUTOS_SUBGRUPO (GRUPO_PRODUTO, SUBGRUPO_PRODUTO, CODIGO_SUBGRUPO, CODIGO_SEQUENCIAL, NUMERO_PARTES_PRODUTO, PARTES_DO_PRODUTO, PARTES_DO_PRODUTO_COM_DROP, Data_para_transferencia) SELECT GF_GRUPO_PRODUTO, GF_SUBGRUPO_PROD, GF_CODIGO_SUBGRU, GF_CODIGO_SEQUEN, GF_NUMERO_PARTES, GF_PARTES_DO_PRO, GF_PARTES_DO_DRO, Data_para_transferencia FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO END ELSE BEGIN FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_SUBG fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_SUBG] ON [GF_PRODUTOS_SUBG] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_GRUP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_GRUP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRUP'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_SUBG'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_SUBG'')) ) < 2 ) BEGIN DECLARE @SUBGRUPOD VARCHAR(25), @SUBGRUPO VARCHAR(25), @GRUPOD VARCHAR(25), @GRUPO VARCHAR(25) DECLARE SUBGRUPODV CURSOR FOR SELECT GF_GRUPO_PRODUTO,GF_SUBGRUPO_PROD FROM DELETED DECLARE SUBGRUPOV CURSOR FOR SELECT GF_GRUPO_PRODUTO,GF_SUBGRUPO_PROD FROM INSERTED OPEN SUBGRUPODV OPEN SUBGRUPOV FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT SUBGRUPO_PRODUTO FROM PRODUTOS_SUBGRUPO WHERE GRUPO_PRODUTO=@GRUPOD AND SUBGRUPO_PRODUTO=@SUBGRUPOD) BEGIN UPDATE PRODUTOS_SUBGRUPO SET SUBGRUPO_PRODUTO=@SUBGRUPO, CODIGO_SUBGRUPO=(SELECT GF_CODIGO_SUBGRU FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO), CODIGO_SEQUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO), NUMERO_PARTES_PRODUTO=(SELECT GF_NUMERO_PARTES FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO), PARTES_DO_PRODUTO=(SELECT GF_PARTES_DO_PRO FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO), PARTES_DO_PRODUTO_COM_DROP=(SELECT GF_PARTES_DO_DRO FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO) WHERE GRUPO_PRODUTO=@GRUPOD AND SUBGRUPO_PRODUTO=@SUBGRUPOD END ELSE BEGIN FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPODV INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPOV INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPODV DEALLOCATE SUBGRUPODV CLOSE SUBGRUPOV DEALLOCATE SUBGRUPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_FORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_FORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_TIP]( [ID] [int] NOT NULL, [GF_TIPO] [varchar](25) NOT NULL, [EMP] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NOT NULL, [USERP] [int] NULL, [ETEJI_VAL] [varchar](12) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 13:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_TIP] ON [GF_MATERIAIS_TIP] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_TIP'')))=1) RETURN ELSE DECLARE @TIPO VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM DELETED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO FROM MATERIAIS_TIPO WHERE TIPO=@TIPO) DELETE FROM MATERIAIS_TIPO WHERE TIPO=@TIPO ELSE BEGIN FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 12:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_TIP] ON [GF_MATERIAIS_TIP] FOR INSERT NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_TIP0'')))=1) RETURN ELSE DECLARE @TIPO VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM INSERTED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TIPO FROM MATERIAIS_TIPO WHERE TIPO=@TIPO) BEGIN INSERT INTO MATERIAIS_TIPO (TIPO) SELECT GF_TIPO FROM GF_MATERIAIS_TIP WHERE GF_TIPO=@TIPO END ELSE BEGIN FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_TIP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_TIP fecha de la secuencia de comandos: Sep 14 2001 12:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_TIP] ON [GF_MATERIAIS_TIP] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_TIP'')) ) < 2 ) BEGIN DECLARE @TIPOD VARCHAR(25) DECLARE @TIPO VARCHAR(25) DECLARE TIPODV CURSOR FOR SELECT GF_TIPO FROM DELETED DECLARE TIPOV CURSOR FOR SELECT GF_TIPO FROM INSERTED OPEN TIPODV OPEN TIPOV FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO FROM MATERIAIS_TIPO WHERE TIPO=@TIPOD) BEGIN UPDATE MATERIAIS_TIPO SET TIPO=@TIPO WHERE TIPO=@TIPOD END ELSE BEGIN FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPODV DEALLOCATE TIPODV CLOSE TIPOV DEALLOCATE TIPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NORMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NORMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_A_PAGAR_PARCELAS]( [BANCO] [char](4) NOT NULL, [TIPO_ENVIO] [varchar](25) NOT NULL, [BORDERO] [char](8) NOT NULL, [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [PARCELA] [char](2) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [CAMPO_DETALHE] [varchar](50) NULL, CONSTRAINT [XPKBANCOS_A_PAGAR_PARCELAS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [TIPO_ENVIO] ASC, [BORDERO] ASC, [FATURA] ASC, [NOME_CLIFOR] ASC, [PARCELA] ASC, [NOME_CAMPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_A_PAGAR_PARCELAS] on [BANCOS_A_PAGAR_PARCELAS] for INSERT as /* INSERT trigger on BANCOS_A_PAGAR_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_ENVIO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_LAYOUT where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO and inserted.NOME_CAMPO = BANCOS_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_PARCELAS #porque #BANCOS_A_PAGAR_LAYOUT #não existe.'' goto error end end /* BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_ENVIO) or update(BORDERO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_BORDERO where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_BORDERO.TIPO_ENVIO and inserted.BORDERO = BANCOS_A_PAGAR_BORDERO.BORDERO and inserted.BANCO = BANCOS_A_PAGAR_BORDERO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_PARCELAS #porque #BANCOS_A_PAGAR_BORDERO #não existe.'' goto error end end /* A_PAGAR_PARCELA A_PAGAR_PARCELA BANCOS_A_PAGAR_PARCELAS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_PARCELAS #porque #A_PAGAR_PARCELA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_A_PAGAR_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_A_PAGAR_PARCELAS] on [BANCOS_A_PAGAR_PARCELAS] for UPDATE as /* UPDATE trigger on BANCOS_A_PAGAR_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insTIPO_ENVIO varchar(25), @insBORDERO char(8), @insFATURA char(11), @insNOME_CLIFOR varchar(25), @insPARCELA char(2), @insNOME_CAMPO varchar(25), @delBANCO char(4), @delTIPO_ENVIO varchar(25), @delBORDERO char(8), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @delPARCELA char(2), @delNOME_CAMPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENVIO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_LAYOUT where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO and inserted.NOME_CAMPO = BANCOS_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_PARCELAS #porque #BANCOS_A_PAGAR_LAYOUT #não existe.'' goto error end end /* BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_BORDERO BANCOS_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENVIO) or update(BORDERO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_BORDERO where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_BORDERO.TIPO_ENVIO and inserted.BORDERO = BANCOS_A_PAGAR_BORDERO.BORDERO and inserted.BANCO = BANCOS_A_PAGAR_BORDERO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_PARCELAS #porque #BANCOS_A_PAGAR_BORDERO #não existe.'' goto error end end /* A_PAGAR_PARCELA A_PAGAR_PARCELA BANCOS_A_PAGAR_PARCELAS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_PARCELAS #porque #A_PAGAR_PARCELA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DETALLE_COSTURAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DETALLE_COSTURAS]( [ID] [int] NOT NULL, [ID_FICHA_CONF] [int] NOT NULL, [ELEMENTO] [int] NOT NULL, [COSTURA] [int] NOT NULL, [MEDIDA_DENS_BORA] [int] NULL, [AGUJAS] [int] NULL, [OBSERVACION] [varchar](128) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_BORDERO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_BORDERO]( [BORDERO] [char](8) NOT NULL, [BANCO] [char](4) NOT NULL, [DATA_CRIACAO] [datetime] NULL, [NOME_ARQUIVO] [char](12) NULL, [DATA_ENVIO] [datetime] NULL, [NUMERO_CONTRATO] [varchar](20) NULL, [OBS] [text] NULL, [CODIGO_CUENTA] [varchar](12) NULL, CONSTRAINT [XPKBANCOS_BORDERO] PRIMARY KEY NONCLUSTERED ( [BORDERO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS_BORDERO] on [BANCOS_BORDERO] for DELETE as /* DELETE trigger on BANCOS_BORDERO */ begin declare @errno int, @errmsg varchar(255) /* BANCOS_BORDERO BANCOS_BORDERO BANCOS_PARCELAS ON PARENT DELETE CASCADE */ delete BANCOS_PARCELAS from BANCOS_PARCELAS,deleted where BANCOS_PARCELAS.BORDERO = deleted.BORDERO and BANCOS_PARCELAS.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_BORDERO] on [BANCOS_BORDERO] for INSERT as /* INSERT trigger on BANCOS_BORDERO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO R/1608 BANCOS_BORDERO ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_BORDERO #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* BANCOS BANCOS BANCOS_BORDERO ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_BORDERO #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_BORDERO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_BORDERO] on [BANCOS_BORDERO] for UPDATE as /* UPDATE trigger on BANCOS_BORDERO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBORDERO char(8), @insBANCO char(4), @delBORDERO char(8), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_BORDERO BANCOS_BORDERO BANCOS_PARCELAS ON PARENT UPDATE CASCADE */ IF update(BORDERO) OR update(BANCO) BEGIN DECLARE BANCOS_BORDERO942 CURSOR FOR SELECT BORDERO, BANCO FROM INSERTED DECLARE BANCOS_BORDERO615 CURSOR FOR SELECT BORDERO, BANCO FROM DELETED OPEN BANCOS_BORDERO942 OPEN BANCOS_BORDERO615 FETCH NEXT FROM BANCOS_BORDERO942 INTO @insBORDERO, @insBANCO FETCH NEXT FROM BANCOS_BORDERO615 INTO @delBORDERO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_PARCELAS SET BANCOS_PARCELAS.BORDERO=@insBORDERO, BANCOS_PARCELAS.BANCO=@insBANCO WHERE BANCOS_PARCELAS.BORDERO = @delBORDERO and BANCOS_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_BORDERO942 INTO @insBORDERO, @insBANCO FETCH NEXT FROM BANCOS_BORDERO615 INTO @delBORDERO, @delBANCO END END CLOSE BANCOS_BORDERO942 CLOSE BANCOS_BORDERO615 DEALLOCATE BANCOS_BORDERO942 DEALLOCATE BANCOS_BORDERO615 END /* CONTRATOS_DESCONTO R/1608 BANCOS_BORDERO ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_BORDERO #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* BANCOS BANCOS BANCOS_BORDERO ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_BORDERO #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_LININV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_LININV]( [NUMDOC] [varchar](25) NOT NULL, [NUMLIN] [numeric](6, 0) NOT NULL, [CODART] [varchar](17) NULL, [FAMILIA] [varchar](17) NULL, [BARRA] [varchar](17) NULL, [TALLA] [varchar](17) NULL, [MARCA] [varchar](25) NULL, [TAMANO] [varchar](25) NULL, [SERIE] [varchar](25) NULL, [COLOR] [varchar](25) NULL, [MODELO] [varchar](25) NULL, [DIBUJO] [varchar](25) NULL, [DESCRIP] [varchar](70) NULL, PRIMARY KEY CLUSTERED ( [NUMDOC] ASC, [NUMLIN] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_LININV]') AND name = N'RDX_LININV_idx') CREATE NONCLUSTERED INDEX [RDX_LININV_idx] ON [RDX_LININV] ( [CODART] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRIOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRIOR]( [ID] [smallint] NULL, [NPRIOR] [char](3) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_CEP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_CEP]( [BANCO] [char](4) NOT NULL, [CEP_INICIAL] [char](8) NOT NULL, [CEP_FINAL] [char](8) NOT NULL, [AGENCIA] [varchar](10) NULL, [PRACA_PAGAMENTO] [varchar](35) NULL, CONSTRAINT [XPKBANCOS_CEP] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [CEP_INICIAL] ASC, [CEP_FINAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_CEP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_CEP] on [BANCOS_CEP] for INSERT as /* INSERT trigger on BANCOS_CEP */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS R/1305 BANCOS_CEP ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_CEP #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_CEP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_CEP] on [BANCOS_CEP] for UPDATE as /* UPDATE trigger on BANCOS_CEP */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insCEP_INICIAL char(8), @insCEP_FINAL char(8), @delBANCO char(4), @delCEP_INICIAL char(8), @delCEP_FINAL char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS R/1305 BANCOS_CEP ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_CEP #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DETALLE_COSTURASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DETALLE_COSTURASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELELMOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELELMOPER]( [IDELEMOPER] [int] NULL, [IDOPER] [int] NULL, [CODELM] [smallint] NULL, [DESCELM] [char](64) NULL, [TYPEELM] [smallint] NULL, [ELMMANUAL] [int] NULL, [UMT_M] [float] NULL, [PUNTOS] [float] NULL, [RPM] [float] NULL, [LONGITUD] [float] NULL, [VECES] [int] NULL, [CADA] [int] NULL, [TOOL] [smallint] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_SUBGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_SUBGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_CANTINV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_CANTINV]( [NUMDOC] [varchar](25) NOT NULL, [NUMLIN] [numeric](6, 0) NOT NULL, [NUMCANT] [numeric](6, 0) NOT NULL, [TIPOCANT] [varchar](3) NULL, [CANTIDAD] [numeric](15, 0) NULL, [CENTRO] [varchar](17) NULL, [TMOV] [varchar](3) NULL, [FACT] [varchar](12) NULL, [DEPTO] [varchar](3) NULL, [IDVEN] [varchar](10) NULL, PRIMARY KEY CLUSTERED ( [NUMDOC] ASC, [NUMLIN] ASC, [NUMCANT] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_CANTINV]') AND name = N'RDX_CANTINV_idx') CREATE NONCLUSTERED INDEX [RDX_CANTINV_idx] ON [RDX_CANTINV] ( [CENTRO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_CANTINV]') AND name = N'RDX_CANTINV_idx2') CREATE NONCLUSTERED INDEX [RDX_CANTINV_idx2] ON [RDX_CANTINV] ( [IDVEN] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRIORCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRIORCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EOPER]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EOPER]( [ID] [int] NULL, [NOMBRE] [char](32) NULL, [KTOOL] [smallint] NULL, [TIEMPO] [float] NULL, [KCATEG] [smallint] NULL, [COMENTARIO] [char](80) NULL, [USERC] [int] NOT NULL, [RELAXCOEF] [float] NULL, [KPRNDS] [smallint] NULL, [FECHAC] [datetime] NOT NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELELMOPERCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELELMOPERCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_estatisticas]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_estatisticas] AS SET NOCOUNT ON DECLARE @NAME VARCHAR(100) DECLARE TAB_STATIS SCROLL CURSOR FOR SELECT NAME FROM SYSOBJECTS WHERE TYPE=''U'' ORDER BY NAME OPEN TAB_STATIS FETCH NEXT FROM TAB_STATIS INTO @NAME WHILE @@fetch_status <> -1 AND @@fetch_status <> -2 BEGIN SELECT ''Estatistica Atualizada Da Tabela '' + @NAME EXEC (''UPDATE STATISTICS ''+ @NAME) FETCH NEXT FROM TAB_STATIS INTO @NAME END SELECT REPLICATE(''-'',200) SELECT ''Estatistica - COMPLETADO COM SUCESSO'' CLOSE TAB_STATIS DEALLOCATE TAB_STATIS ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_DEVOLUCION_AJUSTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_DEVOLUCION_AJUSTES]( [FECHA] [datetime] NOT NULL, [CENTRO] [varchar](17) NOT NULL, [CODIGO] [varchar](12) NOT NULL, [COLOR] [varchar](10) NOT NULL, [APROBADO] [char](1) NULL, [FECHACAMBIO] [datetime] NULL, [CANT38] [numeric](15, 0) NULL, [CANT40] [numeric](15, 0) NULL, [CANT42] [numeric](15, 0) NULL, [CANT44] [numeric](15, 0) NULL, [CANT46] [numeric](15, 0) NULL, [CANT48] [numeric](15, 0) NULL, CONSTRAINT [PK_RDX_DEVOLUCION_AJUSTES_2F70F04A] PRIMARY KEY CLUSTERED ( [FECHA] ASC, [CENTRO] ASC, [CODIGO] ASC, [COLOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CADCEP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CADCEP]( [NOME_LOG] [varchar](110) NOT NULL, [LOCAL_LOG] [varchar](60) NOT NULL, [BAIRRO_1_LOG] [varchar](30) NOT NULL, [BAIRRO_2_LOG] [varchar](30) NOT NULL, [CEP5_LOG] [char](5) NOT NULL, [CEP8_LOG] [char](8) NOT NULL, [UF_LOG] [char](2) NOT NULL, [TIPO_LOG] [varchar](10) NOT NULL, [OBS_NOME_LOG] [varchar](50) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADCEP]') AND name = N'XIE1CADCEP') CREATE NONCLUSTERED INDEX [XIE1CADCEP] ON [CADCEP] ( [CEP8_LOG] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADCEP]') AND name = N'XIE2CADCEP') CREATE NONCLUSTERED INDEX [XIE2CADCEP] ON [CADCEP] ( [LOCAL_LOG] ASC, [UF_LOG] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADCEP]') AND name = N'XIE3CADCEP') CREATE NONCLUSTERED INDEX [XIE3CADCEP] ON [CADCEP] ( [NOME_LOG] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tmp_SIMBLAV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [tmp_SIMBLAV]( [id2] [int] NULL, [descrip] [varchar](100) NULL, [CODIGO] [varchar](20) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PROGRAMS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PROGRAMS]( [ID] [smallint] NOT NULL, [NOMBRE] [char](24) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tD_PROGRAMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.tD_PROGRAMS fecha de la secuencia de comandos: Ago 1 2000 12:32PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [tD_PROGRAMS] ON [PROGRAMS] FOR DELETE AS begin declare @idprog int, @errmsg varchar(255) delete RPROGRAM from RPROGRAM,deleted where RPROGRAM.IDPROGRAMS = deleted.ID end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_RECURSOS_INVALIDOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_RECURSOS_INVALIDOS]( [RECURSO_PRODUTIVO] [char](5) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, CONSTRAINT [XPKPRODUCAO_RECURSOS_INVALIDOS] PRIMARY KEY NONCLUSTERED ( [RECURSO_PRODUTIVO] ASC, [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_RECURSOS_INVALIDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_RECURSOS_INVALIDO] on [PRODUCAO_RECURSOS_INVALIDOS] for INSERT as /* INSERT trigger on PRODUCAO_RECURSOS_INVALIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_SETOR R/1575 PRODUCAO_RECURSOS_INVALIDOS ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS_INVALIDOS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1571 PRODUCAO_RECURSOS_INVALIDOS ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS_INVALIDOS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_RECURSOS_INVALIDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_RECURSOS_INVALIDO] on [PRODUCAO_RECURSOS_INVALIDOS] for UPDATE as /* UPDATE trigger on PRODUCAO_RECURSOS_INVALIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRECURSO_PRODUTIVO char(5), @insFASE_PRODUCAO varchar(25), @insSETOR_PRODUCAO varchar(25), @delRECURSO_PRODUTIVO char(5), @delFASE_PRODUCAO varchar(25), @delSETOR_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_SETOR R/1575 PRODUCAO_RECURSOS_INVALIDOS ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS_INVALIDOS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1571 PRODUCAO_RECURSOS_INVALIDOS ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS_INVALIDOS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELMOVELM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELMOVELM]( [IDMOVELM] [int] NULL, [IDELM] [int] NULL, [CODMOV] [smallint] NULL, [DESCLEFT] [char](48) NULL, [COUNTLEFT] [int] NULL, [EVERYLEFT] [int] NULL, [MOVLEFT] [int] NULL, [MOVRIGHT] [int] NULL, [COUNTRIGHT] [int] NULL, [EVERYRIGHT] [int] NULL, [DESCRIGHT] [char](48) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_RECEPCION_AJUSTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_RECEPCION_AJUSTES]( [FECHA] [datetime] NOT NULL, [CENTRO] [varchar](17) NOT NULL, [CODIGO] [varchar](12) NOT NULL, [COLOR] [varchar](10) NOT NULL, [APROBADO] [char](1) NULL, [FECHACAMBIO] [datetime] NULL, [CANT38] [numeric](15, 0) NULL, [CANT40] [numeric](15, 0) NULL, [CANT42] [numeric](15, 0) NULL, [CANT44] [numeric](15, 0) NULL, [CANT46] [numeric](15, 0) NULL, [CANT48] [numeric](15, 0) NULL, CONSTRAINT [PK_RDX_RECEPCION_AJUSTES_2F70F04F] PRIMARY KEY CLUSTERED ( [FECHA] ASC, [CENTRO] ASC, [CODIGO] ASC, [COLOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PROGRAMSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PROGRAMSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMEDSIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMEDSIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_TRASPASOS_AJUSTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_TRASPASOS_AJUSTES]( [FECHA] [datetime] NOT NULL, [CENTRO] [varchar](17) NOT NULL, [CENTRO2] [varchar](17) NOT NULL, [CODIGO] [varchar](12) NOT NULL, [COLOR] [varchar](10) NOT NULL, [APROBADO] [char](1) NULL, [ESTADO] [varchar](20) NULL, [OBSERVACIONES] [varchar](255) NULL, [CONTABILIZAR] [char](1) NULL, [FECHACAMBIO] [datetime] NULL, [CANT38] [numeric](15, 0) NULL, [CANT40] [numeric](15, 0) NULL, [CANT42] [numeric](15, 0) NULL, [CANT44] [numeric](15, 0) NULL, [CANT46] [numeric](15, 0) NULL, [CANT48] [numeric](15, 0) NULL, [TIPOCANT] [varchar](3) NOT NULL, CONSTRAINT [PK_RDX_TRASPASOS_AJUSTES_2F70F04A] PRIMARY KEY CLUSTERED ( [FECHA] ASC, [CENTRO] ASC, [CENTRO2] ASC, [CODIGO] ASC, [COLOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RELMOVELMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RELMOVELMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_GRU]( [ID] [int] NOT NULL, [GF_GRUPO] [varchar](25) NOT NULL, [GF_CODIGO_GRUPO] [char](2) NOT NULL, [GF_CLASSE] [char](2) NULL, [USO_TEJIDOS] [char](1) NULL, [USO_HILATURAS] [char](1) NULL, [USO_FORNITURAS] [char](1) NULL, [TIPO] [int] NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_GRU fecha de la secuencia de comandos: Sep 17 2001 17:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_GRU] ON [GF_MATERIAIS_GRU] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_GRU'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25) DECLARE GRUPOV CURSOR FOR SELECT GF_GRUPO FROM DELETED OPEN GRUPOV FETCH NEXT FROM GRUPOV INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS ( SELECT GRUPO FROM MATERIAIS_GRUPO WHERE GRUPO=@GRUPO) DELETE FROM MATERIAIS_GRUPO WHERE GRUPO=@GRUPO ELSE BEGIN FETCH NEXT FROM GRUPOV INTO @GRUPO END FETCH NEXT FROM GRUPOV INTO @GRUPO END CLOSE GRUPOV DEALLOCATE GRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_GRU fecha de la secuencia de comandos: Sep 17 2001 16:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_GRU] ON [GF_MATERIAIS_GRU] FOR INSERT NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_GRU'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25) DECLARE GRUPOV CURSOR FOR SELECT GF_GRUPO FROM INSERTED OPEN GRUPOV FETCH NEXT FROM GRUPOV INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS ( SELECT GRUPO FROM MATERIAIS_GRUPO WHERE GRUPO=@GRUPO) INSERT INTO MATERIAIS_GRUPO (GRUPO, CODIGO_GRUPO, CLASSE) SELECT GF_GRUPO, GF_CODIGO_GRUPO, GF_CLASSE FROM INSERTED WHERE GF_GRUPO=@GRUPO ELSE FETCH NEXT FROM GRUPOV INTO @GRUPO END CLOSE GRUPOV DEALLOCATE GRUPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_GRU fecha de la secuencia de comandos: Ago 10 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_GRU] ON [GF_MATERIAIS_GRU] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_GRU'')) ) < 2 ) BEGIN DECLARE @GRUPO VARCHAR(25), @GRUPOD VARCHAR(25) DECLARE GRUPODV CURSOR FOR SELECT GF_GRUPO FROM DELETED DECLARE GRUPOV CURSOR FOR SELECT GF_GRUPO FROM INSERTED OPEN GRUPODV OPEN GRUPOV FETCH NEXT FROM GRUPODV INTO @GRUPOD FETCH NEXT FROM GRUPOV INTO @GRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRUPO FROM MATERIAIS_GRUPO A WHERE A.GRUPO=@GRUPOD) BEGIN UPDATE MATERIAIS_GRUPO SET GRUPO=@GRUPO, CODIGO_GRUPO=(SELECT GF_CODIGO_GRUPO FROM INSERTED WHERE GF_GRUPO=@GRUPO), CLASSE=(SELECT GF_CLASSE FROM INSERTED WHERE GF_GRUPO=@GRUPO) WHERE GRUPO=@GRUPOD UPDATE MATERIAIS_SUBGRUPO SET GRUPO=@GRUPO WHERE GRUPO=@GRUPOD END FETCH NEXT FROM GRUPODV INTO @GRUPOD FETCH NEXT FROM GRUPOV INTO @GRUPO END CLOSE GRUPODV DEALLOCATE GRUPODV CLOSE GRUPOV DEALLOCATE GRUPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_SETOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_SETOR]( [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [DESC_SETOR_PRODUCAO] [varchar](40) NULL, [TIPO_TAREFA_SUGERIDO] [char](1) NULL, CONSTRAINT [XPKPRODUCAO_SETOR] PRIMARY KEY NONCLUSTERED ( [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 17:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUCAO_SETO] ON [PRODUCAO_SETOR] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCAO_SETO'')))=1) RETURN ELSE BEGIN DECLARE @SECTOR VARCHAR(25), @FASE VARCHAR(25) DECLARE SECTOR CURSOR FOR SELECT FASE_PRODUCAO,SETOR_PRODUCAO FROM DELETED OPEN SECTOR FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA=@SECTOR AND GF_FASE_PRODUCAO=@FASE) BEGIN DELETE FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA=@SECTOR AND GF_FASE_PRODUCAO=@FASE END ELSE BEGIN FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR END FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR END CLOSE SECTOR DEALLOCATE SECTOR END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 18:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUCAO_SETO] ON [PRODUCAO_SETOR] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_SETO'')))=1) RETURN ELSE BEGIN DECLARE @FASE VARCHAR(25), @SECTOR VARCHAR(25) DECLARE SECTOR CURSOR FOR SELECT FASE_PRODUCAO,SETOR_PRODUCAO FROM INSERTED OPEN SECTOR FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE GF_FASE_PRODUCAO=@FASE AND GF_SETOR_PRODUCA=@SECTOR) BEGIN INSERT INTO GF_PRODUCAO_SETO (ID,ID_FASE_PRODUCAO,GF_FASE_PRODUCAO,GF_SETOR_PRODUCA,GF_DESC_SETOR_PR,GF_TIPO_TAREFA_S,ORDENPM) SELECT IDMAX,(SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=FASE_PRODUCAO),FASE_PRODUCAO, SETOR_PRODUCAO,DESC_SETOR_PRODUCAO,TIPO_TAREFA_SUGERIDO,ISNULL((SELECT MAX(ORDENPM)+1 FROM GF_PRODUCAO_SETO WHERE ID_FASE_PRODUCAO=(SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASE)),1) FROM PRODUCAO_SETOR , GF_PRODUCAO_SETOCNT WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE UPDATE GF_PRODUCAO_SETOCNT SET IDMAX=IDMAX+1 END ELSE BEGIN FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR END FETCH NEXT FROM SECTOR INTO @FASE,@SECTOR END CLOSE SECTOR DEALLOCATE SECTOR END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUCAO_SETO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUCAO_SETO fecha de la secuencia de comandos: Sep 19 2001 17:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUCAO_SETO] ON [PRODUCAO_SETOR] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_FASE'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_FASE'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_FASE'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_SETO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_SETO'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_SETO'')) ) < 2 ) BEGIN DECLARE @FASED VARCHAR(25), @FASE VARCHAR(25), @SECTORD VARCHAR(25) , @SECTOR VARCHAR(25) DECLARE SECTORD CURSOR FOR SELECT FASE_PRODUCAO,SETOR_PRODUCAO FROM DELETED DECLARE SECTOR CURSOR FOR SELECT FASE_PRODUCAO,SETOR_PRODUCAO FROM INSERTED OPEN SECTORD OPEN SECTOR FETCH NEXT FROM SECTORD INTO @FASED, @SECTORD FETCH NEXT FROM SECTOR INTO @FASE, @SECTOR IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA=@SECTORD AND GF_FASE_PRODUCAO=@FASED) BEGIN UPDATE GF_PRODUCAO_SETO SET GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE), GF_SETOR_PRODUCA=(SELECT SETOR_PRODUCAO FROM INSERTED WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE), GF_DESC_SETOR_PR=(SELECT DESC_SETOR_PRODUCAO FROM INSERTED WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE), GF_TIPO_TAREFA_S=(SELECT CONVERT(CHAR(1),TIPO_TAREFA_SUGERIDO) FROM INSERTED WHERE SETOR_PRODUCAO=@SECTOR AND FASE_PRODUCAO=@FASE) WHERE GF_SETOR_PRODUCA=@SECTORD AND GF_FASE_PRODUCAO=@FASED END ELSE BEGIN FETCH NEXT FROM SECTORD INTO @FASED, @SECTORD FETCH NEXT FROM SECTOR INTO @FASE, @SECTOR END FETCH NEXT FROM SECTORD INTO @FASED, @SECTORD FETCH NEXT FROM SECTOR INTO @FASE, @SECTOR END CLOSE SECTORD DEALLOCATE SECTORD CLOSE SECTOR DEALLOCATE SECTOR END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_SETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_SETOR] on [PRODUCAO_SETOR] for DELETE as /* DELETE trigger on PRODUCAO_SETOR */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_SETOR R/1723 PRODUTO_SETOR_CUSTO ON PARENT DELETE CASCADE */ delete PRODUTO_SETOR_CUSTO from PRODUTO_SETOR_CUSTO,deleted where PRODUTO_SETOR_CUSTO.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUTO_SETOR_CUSTO.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO /* PRODUCAO_SETOR R/1606 PRODUCAO_CAPACIDADES ON PARENT DELETE CASCADE */ delete PRODUCAO_CAPACIDADES from PRODUCAO_CAPACIDADES,deleted where PRODUCAO_CAPACIDADES.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUCAO_CAPACIDADES.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO /* PRODUCAO_SETOR R/1596 PRODUCAO_ORDEM_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_SERVICO where PRODUCAO_ORDEM_SERVICO.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUCAO_ORDEM_SERVICO.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_SETOR #porque existem registros em #PRODUCAO_ORDEM_SERVICO#.'' goto error end /* PRODUCAO_SETOR R/1589 PRODUCAO_TAREFAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_TAREFAS where PRODUCAO_TAREFAS.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUCAO_TAREFAS.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_SETOR #porque existem registros em #PRODUCAO_TAREFAS#.'' goto error end /* PRODUCAO_SETOR R/1575 PRODUCAO_RECURSOS_INVALIDOS ON PARENT DELETE CASCADE */ delete PRODUCAO_RECURSOS_INVALIDOS from PRODUCAO_RECURSOS_INVALIDOS,deleted where PRODUCAO_RECURSOS_INVALIDOS.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUCAO_RECURSOS_INVALIDOS.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO /* PRODUCAO_SETOR R/1574 PRODUTO_OPERACOES_ROTAS ON PARENT DELETE CASCADE */ delete PRODUTO_OPERACOES_ROTAS from PRODUTO_OPERACOES_ROTAS,deleted where PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO /* PRODUCAO_SETOR PRODUCAO_SETOR PRODUTOS_FICHA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_FICHA where PRODUTOS_FICHA.FASE_PRODUCAO = deleted.FASE_PRODUCAO and PRODUTOS_FICHA.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_SETOR #porque existem registros em #PRODUTOS_FICHA#.'' goto error end /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_SUBGRUPO where MATERIAIS_SUBGRUPO.FASE_PRODUCAO = deleted.FASE_PRODUCAO and MATERIAIS_SUBGRUPO.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_SETOR #porque existem registros em #MATERIAIS_SUBGRUPO#.'' goto error end /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.FASE_PRODUCAO = deleted.FASE_PRODUCAO and MATERIAIS.SETOR_PRODUCAO = deleted.SETOR_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_SETOR #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_SETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_SETOR] on [PRODUCAO_SETOR] for INSERT as /* INSERT trigger on PRODUCAO_SETOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_FASE PRODUCAO_FASE PRODUCAO_SETOR ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_SETOR #porque #PRODUCAO_FASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_SETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_SETOR] on [PRODUCAO_SETOR] for UPDATE as /* UPDATE trigger on PRODUCAO_SETOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFASE_PRODUCAO varchar(25), @insSETOR_PRODUCAO varchar(25), @delFASE_PRODUCAO varchar(25), @delSETOR_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_SETOR R/1723 PRODUTO_SETOR_CUSTO ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1723 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1723 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1723 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_SETOR_CUSTO SET PRODUTO_SETOR_CUSTO.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUTO_SETOR_CUSTO.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUTO_SETOR_CUSTO.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUTO_SETOR_CUSTO.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1723 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1723 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1723 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR R/1606 PRODUCAO_CAPACIDADES ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1606 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1606 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1606 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CAPACIDADES SET PRODUCAO_CAPACIDADES.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUCAO_CAPACIDADES.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUCAO_CAPACIDADES.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUCAO_CAPACIDADES.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1606 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1606 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1606 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR R/1596 PRODUCAO_ORDEM_SERVICO ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1596 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1596 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1596 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERVICO SET PRODUCAO_ORDEM_SERVICO.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUCAO_ORDEM_SERVICO.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUCAO_ORDEM_SERVICO.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUCAO_ORDEM_SERVICO.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1596 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1596 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1596 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR R/1589 PRODUCAO_TAREFAS ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1589 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1589 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1589 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET PRODUCAO_TAREFAS.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUCAO_TAREFAS.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUCAO_TAREFAS.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUCAO_TAREFAS.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1589 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1589 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1589 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR R/1575 PRODUCAO_RECURSOS_INVALIDOS ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1575 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1575 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1575 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS_INVALIDOS SET PRODUCAO_RECURSOS_INVALIDOS.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUCAO_RECURSOS_INVALIDOS.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUCAO_RECURSOS_INVALIDOS.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUCAO_RECURSOS_INVALIDOS.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1575 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1575 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1575 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR R/1574 PRODUTO_OPERACOES_ROTAS ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1574 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1574 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1574 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_OPERACOES_ROTAS SET PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1574 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1574 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1574 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR PRODUCAO_SETOR PRODUTOS_FICHA ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR1279 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR1279 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR1279 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA SET PRODUTOS_FICHA.FASE_PRODUCAO=@insFASE_PRODUCAO, PRODUTOS_FICHA.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE PRODUTOS_FICHA.FASE_PRODUCAO = @delFASE_PRODUCAO and PRODUTOS_FICHA.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR1279 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR1279 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR1279 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR785 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR785 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR785 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_SUBGRUPO SET MATERIAIS_SUBGRUPO.FASE_PRODUCAO=@insFASE_PRODUCAO, MATERIAIS_SUBGRUPO.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE MATERIAIS_SUBGRUPO.FASE_PRODUCAO = @delFASE_PRODUCAO and MATERIAIS_SUBGRUPO.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR785 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR785 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR785 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) OR update(SETOR_PRODUCAO) BEGIN DECLARE PRODUCAO_SETOR784 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM INSERTED DECLARE PRODUCAO_SETOR549 CURSOR FOR SELECT FASE_PRODUCAO, SETOR_PRODUCAO FROM DELETED OPEN PRODUCAO_SETOR784 OPEN PRODUCAO_SETOR549 FETCH NEXT FROM PRODUCAO_SETOR784 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.FASE_PRODUCAO=@insFASE_PRODUCAO, MATERIAIS.SETOR_PRODUCAO=@insSETOR_PRODUCAO WHERE MATERIAIS.FASE_PRODUCAO = @delFASE_PRODUCAO and MATERIAIS.SETOR_PRODUCAO = @delSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR784 INTO @insFASE_PRODUCAO, @insSETOR_PRODUCAO FETCH NEXT FROM PRODUCAO_SETOR549 INTO @delFASE_PRODUCAO, @delSETOR_PRODUCAO END END CLOSE PRODUCAO_SETOR784 CLOSE PRODUCAO_SETOR549 DEALLOCATE PRODUCAO_SETOR784 DEALLOCATE PRODUCAO_SETOR549 END /* PRODUCAO_FASE PRODUCAO_FASE PRODUCAO_SETOR ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_SETOR #porque #PRODUCAO_FASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMEDSIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMEDSIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_FORNECEDORES]( [ID] [int] NOT NULL, [GF_FORNECEDOR] [varchar](25) NOT NULL, [GF_CENTRO_CUSTO] [smallint] NULL, [GF_TIPO] [smallint] NULL, [GF_SUBTIPO_FORNE] [smallint] NULL, [GF_COD_FORNECEDO] [char](7) NULL, [GF_CLIFOR] [char](6) NOT NULL, [GF_CONDICAO_PGTO] [char](3) NOT NULL, [GF_CGC_CPF] [varchar](19) NOT NULL, [GF_FORNECE_MATER] [char](1) NOT NULL, [GF_FORNECE_PROD_] [char](1) NOT NULL, [GF_FORNECE_MAT_C] [char](1) NOT NULL, [GF_BENEFICIADOR] [char](1) NOT NULL, [GF_FORNECE_OUTRO] [char](1) NOT NULL, [GF_MOEDA] [char](6) NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [EMP] [int] NULL, [ACCESO] [int] NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NULL, [USERP] [int] NULL, [FORNITORE] [varchar](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RMODP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RMODP]( [ID] [int] NOT NULL, [STRU] [int] NULL, [COMPONENTE] [int] NULL, [MODELO] [int] NULL, [PTMARK] [int] NULL, [COMENTARIO] [char](80) NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_TIPO]( [ID] [int] NOT NULL, [GF_TIPO_PRODUTO] [varchar](25) NOT NULL, [Data_para_transferencia] [datetime] NULL, [EMP] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NOT NULL, [USERP] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TIPO]') AND name = N'REFGF_PRODUTOS_TIPO') CREATE UNIQUE NONCLUSTERED INDEX [REFGF_PRODUTOS_TIPO] ON [GF_PRODUTOS_TIPO] ( [EMP] ASC, [GF_TIPO_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_TIPO fecha de la secuencia de comandos: Sep 14 2001 15:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_TIPO] ON [GF_PRODUTOS_TIPO] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_TIPO'')))=1) RETURN ELSE BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO_PRODUTO FROM DELETED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO_PRODUTO FROM PRODUTOS_TIPOS WHERE TIPO_PRODUTO=@TIPO) DELETE FROM PRODUTOS_TIPOS WHERE TIPO_PRODUTO=@TIPO ELSE BEGIN FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_TIPO fecha de la secuencia de comandos: Sep 14 2001 14:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_TIPO] ON [GF_PRODUTOS_TIPO] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPOV CURSOR FOR SELECT GF_TIPO_PRODUTO FROM INSERTED OPEN TIPOV FETCH NEXT FROM TIPOV INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT TIPO_PRODUTO FROM PRODUTOS_TIPOS WHERE TIPO_PRODUTO=@TIPO) BEGIN INSERT INTO PRODUTOS_TIPOS (TIPO_PRODUTO,Data_para_transferencia) SELECT GF_TIPO_PRODUTO,Data_para_transferencia FROM GF_PRODUTOS_TIPO WHERE GF_TIPO_PRODUTO=@TIPO END ELSE BEGIN FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPOV DEALLOCATE TIPOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_TIPO fecha de la secuencia de comandos: Sep 14 2001 11:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_TIPO] ON [GF_PRODUTOS_TIPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_TIPO''))) <2) BEGIN DECLARE @TIPOD VARCHAR(25) DECLARE @TIPO VARCHAR(25) DECLARE TIPODV CURSOR FOR SELECT GF_TIPO_PRODUTO FROM DELETED DECLARE TIPOV CURSOR FOR SELECT GF_TIPO_PRODUTO FROM INSERTED OPEN TIPODV OPEN TIPOV FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT TIPO_PRODUTO FROM PRODUTOS_TIPOS WHERE TIPO_PRODUTO=@TIPOD) BEGIN UPDATE PRODUTOS_TIPOS SET TIPO_PRODUTO=@TIPO, Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_TIPO_PRODUTO=@TIPO) WHERE TIPO_PRODUTO=@TIPOD END ELSE BEGIN FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END FETCH NEXT FROM TIPODV INTO @TIPOD FETCH NEXT FROM TIPOV INTO @TIPO END CLOSE TIPODV DEALLOCATE TIPODV CLOSE TIPOV DEALLOCATE TIPOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_GRUCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_GRUCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZAS]( [CARPETA#] [int] NULL, [NOMBRE] [char](16) NULL, [COMENTARIO] [char](32) NULL, [ESTADO] [smallint] NULL, [SECTOR] [smallint] NULL, [LINEA] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [TIPO] [smallint] NULL, [TSET] [int] NULL, [ACCESO] [smallint] NULL, [USERP] [smallint] NULL, [TEMPORADA] [smallint] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFER_LIBERAR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFER_LIBERAR]( [ID] [int] NULL, [NOMBRE] [char](32) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_GRIF]( [ID] [smallint] NOT NULL, [GF_GRIFFE] [varchar](25) NOT NULL, [GF_LICENCIADO] [smallint] NOT NULL, [GF_ROYALTIES] [float] NULL, [GF_LICENCIADOR] [smallint] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CODIGO] [char](2) NULL, [PORTE1] [float] NULL, [PORTE2] [float] NULL, [CONTROL] [int] NULL, [GG] [float] NULL, [GF] [float] NULL, [CO1] [float] NULL, [CO2] [float] NULL, [MU] [float] NULL, [GS] [float] NULL, [G1] [float] NULL, [G2] [float] NULL, [BEN] [float] NULL, [CODIGON] [char](2) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [USERP] [int] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIF]') AND name = N'WPKPRODUTOS_GRIF') CREATE NONCLUSTERED INDEX [WPKPRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] ( [CODIGON] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIF]') AND name = N'XPKPRODUTOS_GRIF') CREATE UNIQUE NONCLUSTERED INDEX [XPKPRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] ( [EMP] ASC, [GF_GRIFFE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIF]') AND name = N'YPKPRODUTOS_GRIF') CREATE UNIQUE NONCLUSTERED INDEX [YPKPRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_PRODUTOS_GRIF]') AND name = N'ZPKPRODUTOS_GRIF') CREATE NONCLUSTERED INDEX [ZPKPRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] ( [CODIGO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGF_PRODUTO_GRIFFE_CONTROL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.CGF_PRODUTO_GRIFFE_CONTROL fecha de la secuencia de comandos: Ago 1 2000 12:35PM ******/ ---------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGF_PRODUTO_GRIFFE_CONTROL] ON [GF_PRODUTOS_GRIF] FOR INSERT AS BEGIN UPDATE dbo.GF_PRODUTOS_GRIF SET CONTROL=ID END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 21 2001 12:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_PRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_PRODUTOS_GRIF'')) ) =1) RETURN ELSE BEGIN DECLARE @MARCA VARCHAR(25) DECLARE MARCAV CURSOR FOR SELECT GF_GRIFFE FROM DELETED OPEN MARCAV FETCH NEXT FROM MARCAV INTO @MARCA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRIFFE FROM PRODUTOS_GRIFFES WHERE GRIFFE=@MARCA) BEGIN DELETE FROM PRODUTOS_GRIFFES WHERE GRIFFE=@MARCA END FETCH NEXT FROM MARCAV INTO @MARCA END CLOSE MARCAV DEALLOCATE MARCAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFIV_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 5 2001 13:35PM ******/ -------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_PRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] FOR INSERT NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_GRIF'')) ) =1) RETURN ELSE BEGIN DECLARE @MARCA VARCHAR(25) DECLARE MARCAV CURSOR FOR SELECT GF_GRIFFE FROM INSERTED OPEN MARCAV FETCH NEXT FROM MARCAV INTO @MARCA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GRIFFE FROM PRODUTOS_GRIFFES WHERE GRIFFE=@MARCA) BEGIN INSERT INTO PRODUTOS_GRIFFES (GRIFFE,LICENCIADO,ROYALTIES,LICENCIADOR,DATA_PARA_TRANSFERENCIA) SELECT GF_GRIFFE, (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_LICENCIADO FROM INSERTED WHERE GF_GRIFFE=@MARCA)), GF_ROYALTIES, (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_LICENCIADOR FROM INSERTED WHERE GF_GRIFFE=@MARCA)), DATA_PARA_TRANSFERENCIA FROM GF_PRODUTOS_GRIF WHERE GF_GRIFFE=@MARCA END FETCH NEXT FROM MARCAV INTO @MARCA END CLOSE MARCAV DEALLOCATE MARCAV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFUV_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 21 2001 11:05AM ******/ -------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_PRODUTOS_GRIF] ON [GF_PRODUTOS_GRIF] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFI_PRODUTOS_GRIF'')) ) =1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRIF'')) ) =1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_GRIF'')) ) < 2 ) BEGIN DECLARE @MARCAD VARCHAR(25), @MARCA VARCHAR(25) DECLARE MARCADV CURSOR FOR SELECT GF_GRIFFE FROM DELETED DECLARE MARCAV CURSOR FOR SELECT GF_GRIFFE FROM INSERTED OPEN MARCADV OPEN MARCAV FETCH NEXT FROM MARCADV INTO @MARCAD FETCH NEXT FROM MARCAV INTO @MARCA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GRIFFE FROM PRODUTOS_GRIFFES WHERE GRIFFE=@MARCAD) BEGIN UPDATE PRODUTOS_GRIFFES SET GRIFFE=@MARCA, LICENCIADO=(SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_LICENCIADO FROM INSERTED WHERE GF_GRIFFE=@MARCA)), ROYALTIES=(SELECT GF_ROYALTIES FROM INSERTED WHERE GF_GRIFFE=@MARCA), LICENCIADOR=(SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=(SELECT GF_LICENCIADOR FROM INSERTED WHERE GF_GRIFFE=@MARCA)), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GF_GRIFFE=@MARCA) WHERE GRIFFE=@MARCAD END FETCH NEXT FROM MARCADV INTO @MARCAD FETCH NEXT FROM MARCAV INTO @MARCA END CLOSE MARCADV DEALLOCATE MARCADV CLOSE MARCAV DEALLOCATE MARCAV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RMODPCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RMODPCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TIPOCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_PRODUTOS_TIPOCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_AJUSTES_HOJA_DEVOLUCIONES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_AJUSTES_HOJA_DEVOLUCIONES]( [NUMHOJA] [char](8) NOT NULL, [ESTADO] [varchar](20) NULL, [OBSERVACIONES] [varchar](255) NULL, [CONTABILIZAR] [char](1) NULL DEFAULT ('S'), CONSTRAINT [PK__RDX_AJUSTES_HOJA__483C9E19] PRIMARY KEY CLUSTERED ( [NUMHOJA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_AJUSTES_ALBARAN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_AJUSTES_ALBARAN]( [ALBARAN] [char](7) NOT NULL, [ESTADO] [varchar](15) NULL, [OBSERVACIONES] [varchar](255) NULL, [CONTABILIZAR] [char](1) NULL, CONSTRAINT [PK__RDX_AJUSTES_ALBA__1B69F7A2] PRIMARY KEY CLUSTERED ( [ALBARAN] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFER_LIBERARCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFER_LIBERARCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_COLOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_COLOR]( [ID] [int] NULL, [ID_ETEJI_RAIZ] [int] NULL, [ORDENPM] [smallint] NULL, [GF_COR_MATERIAL] [smallint] NULL, [GF_DESC_COR_MAT] [varchar](25) NULL, [GF_REF_COR_FABRI] [varchar](15) NULL, [GF_INICIO_VENDAS] [datetime] NULL, [GF_FIM_VENDAS] [datetime] NULL, [GF_CUSTO_REPOSIC] [float] NOT NULL DEFAULT (0), [GF_CUSTO_A_VISTA] [float] NOT NULL DEFAULT (0), [GF_CODIGO_EXPORT] [varchar](18) NULL, [GF_PROCESSO_FABR] [varchar](25) NULL, [GF_GRAMATURA] [float] NULL, [GF_TEC_ENC_COR_X] [float] NULL, [GF_TEC_ENC_COR_Y] [float] NULL, [GF_TEC_ENC_ACA_X] [float] NULL, [GF_TEC_ENC_ACA_Y] [float] NULL, [GF_TEC_ENC_LAV_X] [float] NULL, [GF_TEC_ENC_LAV_Y] [float] NULL, [GF_FIO_TORSAO] [int] NULL, [GF_FIO_CABOS] [int] NULL, [GF_FIO_FILAMENTO] [int] NULL, [GF_FIO_ESPESSURA] [int] NULL, [GF_TEC_COM_FALHA] [char](1) NULL, [GF_LOCALIZACAO] [int] NULL, [TRANSFER] [char](1) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_DELETE_MATERIAL_COLOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_DELETE_MATERIAL_COLOR] ON [ETEJI_COLOR] FOR DELETE AS -- Trigger que borra los materiales del mismo nombre y color que el actual. -- El nombre se obtiene de la tabla maestra ETEJI_RAIZ y el color corresponde a -- la columna GF_COR_MATERIAL de ETEJI_COLOR y fila actual -- Realizado por: Bernardo Castellanos -- Fecha: 06-05-02 DECLARE @n_ID_ETEJI_RAIZ INTEGER, @n_GF_COR_MATERIAL INTEGER, @n_TRANSFER INTEGER, @n_ERRORNUM INTEGER, @n_Colores INTEGER, @s_GF_MATERIAL VARCHAR(80), @s_MSG_ERROR VARCHAR(255), @s_Delete VARCHAR(80), @sParam1 VARCHAR(80), @n_TRANSFER_COLOR BIT BEGIN SELECT @n_ERRORNUM=0 -- Identificación de los materiales de ETEJI que se van a borrar SELECT @n_Colores = COUNT(*) FROM DELETED IF (@n_Colores = 0) RETURN SELECT @n_ID_ETEJI_RAIZ = ID_ETEJI_RAIZ, @n_TRANSFER_COLOR = TRANSFER FROM DELETED SELECT @s_GF_MATERIAL = GF_MATERIAL, @n_TRANSFER = TRANSFER FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ -- Se pueden borrar materiales si el estado de TRANSFER es menor que OK Liberado (ver tabla TRANSFER_LIBERAR) -- En caso contrario se avisa de la circunstancia y se aborta el borrado de materiales. IF (@n_TRANSFER >= 60) AND (@n_TRANSFER_COLOR = 1) BEGIN SELECT @n_ERRORNUM=30002 EXEC GF_GET_MESSAGE @n_ERRORNUM,'''','''',1,@s_MSG_ERROR OUTPUT RAISERROR @n_ERRORNUM @s_MSG_ERROR ROLLBACK TRANSACTION END ELSE BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT GF_COR_MATERIAL FROM DELETED OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_GF_COR_MATERIAL WHILE (@@FETCH_STATUS=0 AND @n_ERRORNUM=0) BEGIN -- Comprobar si el material se está usando en la Variante IF EXISTS(SELECT * FROM RCOMPVARCOLOR WHERE IDTEJIDO IN (SELECT ID FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL)) BEGIN SELECT @n_ERRORNUM=30001 SELECT @sParam1 = @s_GF_MATERIAL EXEC GF_GET_MESSAGE @n_ERRORNUM,@sParam1,'''',1,@s_MSG_ERROR OUTPUT RAISERROR @n_ERRORNUM @s_MSG_ERROR ROLLBACK TRANSACTION END ELSE BEGIN -- Si varia el precio por color, se ajusta el detalle Materiales Precios Color/Talla IF (SELECT ISNULL(GF_VARIA_PRECO_C, ''0'') FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ)=''1'' BEGIN DELETE FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND GF_COR_MATERIAL = @n_GF_COR_MATERIAL END SELECT @s_Delete = ''DELETE FROM ETEJI WHERE NOMBRE=''+''''''''+@s_GF_MATERIAL+''''''''+ '' AND GF_COR_MATERIAL=''+CONVERT(VARCHAR(5),@n_GF_COR_MATERIAL) EXEC (@s_Delete) END FETCH NEXT FROM LISTA_COLORES INTO @n_GF_COR_MATERIAL END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_MATERIAL_COLOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_INSERT_MATERIAL_COLOR] ON [ETEJI_COLOR] FOR INSERT AS -- Trigger para ajustar el detalle Materiales Precios Color/Talla cuando se inserta un nuevo color -- Se prohibe la duplicidad del color a insertar -- Realizado por: Bernardo Castellanos -- Fecha:31-10-02 DECLARE @n_ID_ETEJI_RAIZ INTEGER, @n_ORDENPM SMALLINT, @n_GF_COR_MATERIAL SMALLINT, @n_NextKey_ETEJI_PREC_C_T INTEGER, @n_ERRORNUM INTEGER, @s_MSG_ERROR VARCHAR(255), @s_COR_MATERIAL VARCHAR(80) BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT ID_ETEJI_RAIZ, ORDENPM, GF_COR_MATERIAL FROM INSERTED OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_RAIZ, @n_ORDENPM, @n_GF_COR_MATERIAL WHILE @@FETCH_STATUS = 0 BEGIN -- Si el color que se quiere insertar ya existe, se lanza un mensaje de error IF (SELECT COUNT(*) FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND GF_COR_MATERIAL = @n_GF_COR_MATERIAL)>1 BEGIN SELECT @s_COR_MATERIAL = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_MATERIAL SELECT @n_ERRORNUM=30003 EXEC GF_GET_MESSAGE @n_ERRORNUM,@s_COR_MATERIAL,'''',1,@s_MSG_ERROR OUTPUT RAISERROR @n_ERRORNUM @s_MSG_ERROR ROLLBACK TRANSACTION END ELSE BEGIN -- Si varia el precio por color IF (SELECT ISNULL(GF_VARIA_PRECO_C, ''0'') FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ)=''1'' BEGIN EXEC GetNMaxValColSegunTbCnts ''ETEJI_PREC_C_T'',''ID'',@n_NextKey_ETEJI_PREC_C_T output,1,1 INSERT INTO ETEJI_PREC_C_T (ID,ID_ETEJI_RAIZ,GF_COR_MATERIAL,ORDENPM) VALUES(@n_NextKey_ETEJI_PREC_C_T, @n_ID_ETEJI_RAIZ, @n_GF_COR_MATERIAL, @n_ORDENPM) END END FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_RAIZ, @n_ORDENPM, @n_GF_COR_MATERIAL END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UPDATE_MATERIALES_COLOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_UPDATE_MATERIALES_COLOR] ON [ETEJI_COLOR] FOR UPDATE AS -- Trigger para actualizar los atributos del color de un material en la tabla ETEJI a partir de la ETEJI_COLOR -- (tabla detalle de la clase Materiales con Colores y Tallas) -- Realizado por: Bernardo Castellanos -- Fecha: 03-06-02 DECLARE @sUpdate VARCHAR(2500), @sSet VARCHAR(2500), @sWhere VARCHAR(80), @n_ID_MATERIAL INTEGER, @n_ID_COR_MATERIAL INTEGER, @s_GF_MATERIAL VARCHAR(80), @s_COR_MATERIAL VARCHAR(80), @n_TRANSFER SMALLINT, @s_Cod_Meds VARCHAR(255), @s_Cod_Med VARCHAR(50), @n_Cont_Tallas SMALLINT, @n_Num_Tallas SMALLINT, @n_Pos SMALLINT, @n_ID_ETEJI_RAIZ INTEGER, @n_ORDENPM SMALLINT, @n_Color_Nuevo INTEGER -------------------------------------------------------------------------------------------------------------- -- Actualiza los atributos del color de un material en la tabla ETEJI -- SELECT @sUpdate = ''UPDATE ETEJI '' SELECT @sWhere = '' WHERE NOMBRE='' + '''''''' + GF_MATERIAL + '''''''' FROM ETEJI_RAIZ WHERE ID=(SELECT ID_ETEJI_RAIZ FROM INSERTED) SELECT @sWhere = @sWhere + '' AND GF_COR_MATERIAL='' + CONVERT(VARCHAR(50),COALESCE(GF_COR_MATERIAL,0)) FROM INSERTED SELECT @sSet = ''ID=ID'' IF UPDATE(GF_DESC_COR_MAT) SELECT @sSet = @sSet + '',GF_DES_COR_MATER=''+ '''''''' + COALESCE(GF_DESC_COR_MAT,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_REF_COR_FABRI) SELECT @sSet = @sSet + '',GF_REFER_FABRICA=''+ '''''''' + COALESCE(GF_REF_COR_FABRI,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_INICIO_VENDAS) SELECT @sSet = @sSet + '',GF_INICIO_VENDAS=''+''''''''+CONVERT(VARCHAR(50),COALESCE(GF_INICIO_VENDAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_FIM_VENDAS) SELECT @sSet = @sSet + '',GF_FIM_VENDAS=''+''''''''+CONVERT(VARCHAR(50),COALESCE(GF_FIM_VENDAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_CUSTO_REPOSIC) SELECT @sSet = @sSet + '',GF_CUSTO_REPOSIC='' + CONVERT(VARCHAR(10),COALESCE(GF_CUSTO_REPOSIC,0)) FROM INSERTED IF UPDATE(GF_CUSTO_A_VISTA) SELECT @sSet = @sSet + '',GF_CUSTO_A_VISTA='' + CONVERT(VARCHAR(10),COALESCE(GF_CUSTO_A_VISTA,0)) FROM INSERTED IF UPDATE(GF_CODIGO_EXPORT) SELECT @sSet = @sSet + '',GF_CODIGO_EXPORT='' + '''''''' + COALESCE(GF_CODIGO_EXPORT,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_PROCESSO_FABR) SELECT @sSet = @sSet + '',GF_PROCESSO_FABR='' + '''''''' + COALESCE(GF_PROCESSO_FABR,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_GRAMATURA) SELECT @sSet = @sSet + '',GF_GRAMATURA='' + CONVERT(VARCHAR(10),COALESCE(GF_GRAMATURA,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_COR_X) SELECT @sSet = @sSet + '',GF_TEC_ENC_COR_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_COR_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_COR_Y) SELECT @sSet = @sSet + '',GF_TEC_ENC_COR_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_COR_Y,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_ACA_X) SELECT @sSet = @sSet + '',GF_TEC_ENC_ACA_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_ACA_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_ACA_Y) SELECT @sSet = @sSet + '',GF_TEC_ENC_ACA_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_ACA_Y,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_LAV_X) SELECT @sSet = @sSet + '',GF_TEC_ENC_LAV_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_LAV_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_LAV_Y) SELECT @sSet = @sSet + '',GF_TEC_ENC_LAV_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_LAV_Y,0)) FROM INSERTED IF UPDATE(GF_FIO_TORSAO) SELECT @sSet = @sSet + '',GF_FIO_TORSAO='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_TORSAO,0)) FROM INSERTED IF UPDATE(GF_FIO_CABOS) SELECT @sSet = @sSet + '',GF_FIO_CABOS='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_CABOS,0)) FROM INSERTED IF UPDATE(GF_FIO_FILAMENTO) SELECT @sSet = @sSet + '',GF_FIO_FILAMENTO='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_FILAMENTO,0)) FROM INSERTED IF UPDATE(GF_FIO_ESPESSURA) SELECT @sSet = @sSet + '',GF_FIO_ESPESSURA='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_ESPESSURA,0)) FROM INSERTED IF UPDATE(GF_TEC_COM_FALHA) SELECT @sSet = @sSet + '',GF_TEC_COM_FALHA='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_TEC_COM_FALHA,0))+'''''''' FROM INSERTED IF UPDATE(GF_LOCALIZACAO) SELECT @sSet = @sSet + '',GF_LOCALIZACAO='' + CONVERT(VARCHAR(10),COALESCE(GF_LOCALIZACAO,0)) FROM INSERTED SELECT @sUpdate = @sUpdate + ''SET '' + @sSet + @sWhere EXEC (@sUpdate) -------------------------------------------------------------------------------------------------- SELECT @n_ID_ETEJI_RAIZ = ID_ETEJI_RAIZ FROM INSERTED SELECT @n_TRANSFER=TRANSFER,@s_GF_MATERIAL=GF_MATERIAL FROM ETEJI_RAIZ WHERE ID=@n_ID_ETEJI_RAIZ SELECT @n_ID_COR_MATERIAL=GF_COR_MATERIAL FROM INSERTED SELECT @s_COR_MATERIAL = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=@n_ID_COR_MATERIAL -- No se puede liberar un color si antes no se ha liberado el material-raiz IF (@n_TRANSFER<50) UPDATE ETEJI_COLOR SET TRANSFER=''0'' WHERE ID=(SELECT ID FROM INSERTED) ELSE BEGIN -- No se puede marcar un color como NO_LIBERADO cuando ya ha sido LIBERADO IF ((SELECT TRANSFER FROM DELETED)=''1'' AND (SELECT TRANSFER FROM INSERTED)=''0'') UPDATE ETEJI_COLOR SET TRANSFER=''1'' WHERE ID=(SELECT ID FROM INSERTED) -- Buscamos todas las medidas en el detalle de medidas del material actual SELECT @n_Num_Tallas = 0 SELECT @s_Cod_Meds = '''' DECLARE LISTA_MEDIDAS CURSOR FOR SELECT GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @s_Cod_Med WHILE @@FETCH_STATUS=0 BEGIN -- En LINX los materiales están normalizados por color (tabla MATERIAIS_CORES) -- pero no están normalizados por medida, por lo que cada medida nueva supone -- crear un material nuevo en ETEJI (y en MATERIAIS) -- El código del material será en ETEJI: GF_COD_MAT_TAM (campo calculado con secuencial) -- Y su descripción: GF_DESC_MATERIAL (Valor_Medida) IF (@s_Cod_Meds != '''') BEGIN SELECT @s_Cod_Meds = @s_Cod_Meds + ''*'' END SELECT @s_Cod_Meds = @s_Cod_Meds + @s_Cod_Med SELECT @n_Num_Tallas = @n_Num_Tallas + 1 FETCH NEXT FROM LISTA_MEDIDAS INTO @s_Cod_Med END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @n_Num_Tallas = 1 END SELECT @n_Cont_Tallas = 1 WHILE (@n_Cont_Tallas <= @n_Num_Tallas) BEGIN -- Parsing de los códigos de Material y de los precios por talla IF (@n_Cont_Tallas < @n_Num_Tallas) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Cod_Meds) SELECT @s_Cod_Med = SUBSTRING(@s_Cod_Meds,1,@n_Pos-1) SELECT @s_Cod_Meds = RIGHT(@s_Cod_Meds,LEN(@s_Cod_Meds)-@n_Pos) END ELSE BEGIN SELECT @s_Cod_Med = @s_Cod_Meds END -- Comprobar si el color del material ya existe en LINX IF NOT EXISTS (SELECT * FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Med AND COR_MATERIAL=@s_COR_MATERIAL) BEGIN INSERT INTO MATERIAIS_CORES (MATERIAL,COR_MATERIAL,DESC_COR_MATERIAL,REFER_FABRICANTE,CUSTO_REPOSICAO,CUSTO_A_VISTA,CODIGO_EXPORTACAO,LOCALIZACAO,INICIO_VENDAS, FIM_VENDAS,PROCESSO_FABRICACAO,TEC_ENCOLHIMENTO_CORTE_X,TEC_ENCOLHIMENTO_CORTE_Y,TEC_ENCOLHIMENTO_ACABAMENTO_X, TEC_ENCOLHIMENTO_ACABAMENTO_Y,TEC_ENCOLHIMENTO_LAVAGEM_X,TEC_ENCOLHIMENTO_LAVAGEM_Y,FIO_TORSAO,FIO_CABOS,FIO_FILAMENTOS,FIO_ESPESSURA, TEC_COM_FALHA_AGULHA,GRAMATURA) SELECT @s_Cod_Med,@s_COR_MATERIAL,A.GF_DESC_COR_MAT,A.GF_REF_COR_FABRI, ''CUSTO_REPOSICAO''=CASE WHEN B.GF_SEMI_ACABADO=0 THEN B.GF_CUSTO_REPOSIC ELSE 0 END, --PASAR COSTO A VISTA COMO COSTO DE REPOSICON ''CUSTO_A_VISTA''=CASE WHEN B.GF_SEMI_ACABADO=0 THEN B.GF_CUSTO_REPOSIC ELSE 0 END, A.GF_CODIGO_EXPORT, ''GF_LOCALIZACAO''=(SELECT GF_LOCALIZACAO FROM GF_MATERIAIS_LOC WHERE ID=A.GF_LOCALIZACAO), A.GF_INICIO_VENDAS,A.GF_FIM_VENDAS,A.GF_PROCESSO_FABR,A.GF_TEC_ENC_COR_X, A.GF_TEC_ENC_COR_Y,A.GF_TEC_ENC_ACA_X,A.GF_TEC_ENC_ACA_Y,A.GF_TEC_ENC_LAV_X,A.GF_TEC_ENC_LAV_Y, A.GF_FIO_TORSAO,A.GF_FIO_CABOS,A.GF_FIO_FILAMENTO,A.GF_FIO_ESPESSURA,COALESCE(A.GF_TEC_COM_FALHA,0),A.GF_GRAMATURA FROM INSERTED A, ETEJI_RAIZ B WHERE A.ID_ETEJI_RAIZ=B.ID --DATA_PARA_TRANSFERENCIA?? END ELSE BEGIN SELECT @sUpdate = ''UPDATE MATERIAIS_CORES '' SELECT @sWhere = '' WHERE MATERIAL='' + '''''''' + @s_Cod_Med + '''''''' + '' AND COR_MATERIAL='' + '''''''' + @s_COR_MATERIAL + '''''''' SELECT @sSet = '''' IF UPDATE(GF_DESC_COR_MAT) SELECT @sSet = @sSet + '',DESC_COR_MATERIAL=''+ '''''''' + COALESCE(GF_DESC_COR_MAT,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_REF_COR_FABRI) SELECT @sSet = @sSet + '',REFER_FABRICANTE=''+ '''''''' + COALESCE(GF_REF_COR_FABRI,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_INICIO_VENDAS) SELECT @sSet = @sSet + '',INICIO_VENDAS=''+''''''''+CONVERT(VARCHAR(50),COALESCE(GF_INICIO_VENDAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_FIM_VENDAS) SELECT @sSet = @sSet + '',FIM_VENDAS=''+''''''''+CONVERT(VARCHAR(50),COALESCE(GF_FIM_VENDAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_CUSTO_REPOSIC) SELECT @sSet = @sSet + '',CUSTO_REPOSICAO='' + CASE WHEN B.GF_SEMI_ACABADO=0 THEN CONVERT(VARCHAR(50),B.GF_CUSTO_REPOSIC) ELSE ''0'' END FROM INSERTED A, ETEJI_RAIZ B WHERE A.ID_ETEJI_RAIZ=B.ID IF UPDATE(GF_CUSTO_A_VISTA) SELECT @sSet = @sSet + '',CUSTO_A_VISTA='' + CASE WHEN B.GF_SEMI_ACABADO=0 THEN CONVERT(VARCHAR(50),B.GF_CUSTO_REPOSIC) ELSE ''0'' END FROM INSERTED A, ETEJI_RAIZ B WHERE A.ID_ETEJI_RAIZ=B.ID IF UPDATE(GF_CODIGO_EXPORT) SELECT @sSet = @sSet + '',CODIGO_EXPORTACAO='' + '''''''' + COALESCE(GF_CODIGO_EXPORT,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_PROCESSO_FABR) SELECT @sSet = @sSet + '',PROCESSO_FABRICACAO='' + '''''''' + COALESCE(GF_PROCESSO_FABR,'''')+ '''''''' FROM INSERTED IF UPDATE(GF_GRAMATURA) SELECT @sSet = @sSet + '',GRAMATURA='' + CONVERT(VARCHAR(10),COALESCE(GF_GRAMATURA,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_COR_X) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_CORTE_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_COR_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_COR_Y) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_CORTE_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_COR_Y,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_ACA_X) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_ACABAMENTO_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_ACA_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_ACA_Y) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_ACABAMENTO_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_ACA_Y,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_LAV_X) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_LAVAGEM_X='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_LAV_X,0)) FROM INSERTED IF UPDATE(GF_TEC_ENC_LAV_Y) SELECT @sSet = @sSet + '',TEC_ENCOLHIMENTO_LAVAGEM_Y='' + CONVERT(VARCHAR(10),COALESCE(GF_TEC_ENC_LAV_Y,0)) FROM INSERTED IF UPDATE(GF_FIO_TORSAO) SELECT @sSet = @sSet + '',FIO_TORSAO='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_TORSAO,0)) FROM INSERTED IF UPDATE(GF_FIO_CABOS) SELECT @sSet = @sSet + '',FIO_CABOS='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_CABOS,0)) FROM INSERTED IF UPDATE(GF_FIO_FILAMENTO) SELECT @sSet = @sSet + '',FIO_FILAMENTOS='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_FILAMENTO,0)) FROM INSERTED IF UPDATE(GF_FIO_ESPESSURA) SELECT @sSet = @sSet + '',FIO_ESPESSURA='' + CONVERT(VARCHAR(10),COALESCE(GF_FIO_ESPESSURA,0)) FROM INSERTED IF UPDATE(GF_TEC_COM_FALHA) SELECT @sSet = @sSet + '',TEC_COM_FALHA_AGULHA='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_TEC_COM_FALHA,0))+'''''''' FROM INSERTED IF UPDATE(GF_LOCALIZACAO) SELECT @sSet = @sSet + '',LOCALIZACAO='' + COALESCE(CONVERT(VARCHAR(10),GF_LOCALIZACAO),''NULL'') FROM INSERTED IF (@sSet != '''') BEGIN SELECT @sSet = RIGHT(@sSet,LEN(@sSet)-1) SELECT @sUpdate = @sUpdate + ''SET '' + @sSet + @sWhere EXEC (@sUpdate) END END SELECT @n_Cont_Tallas = @n_Cont_Tallas + 1 END END -- Ajuste del detalle Materiales Precios Color/Talla -- (codigo insertado por Alejandro Escribano C&S MAT 29-11-02) -- Si varia el precio por color IF (SELECT ISNULL(GF_VARIA_PRECO_C, ''0'') FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ) = ''1'' -- Si se ha modificado el orden de los colores o cambiado los colores IF UPDATE(ORDENPM) OR UPDATE(GF_COR_MATERIAL) BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT INSERTED.ID_ETEJI_RAIZ, INSERTED.ORDENPM, DELETED.GF_COR_MATERIAL, INSERTED.GF_COR_MATERIAL FROM INSERTED INNER JOIN DELETED ON INSERTED.ID = DELETED.ID WHERE INSERTED.ORDENPM <> DELETED.ORDENPM OR INSERTED.GF_COR_MATERIAL <> DELETED.GF_COR_MATERIAL OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_RAIZ, @n_ORDENPM, @n_ID_COR_MATERIAL, @n_Color_Nuevo WHILE @@FETCH_STATUS = 0 BEGIN UPDATE ETEJI_PREC_C_T SET ORDENPM = @n_ORDENPM, GF_COR_MATERIAL = @n_Color_Nuevo WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ AND GF_COR_MATERIAL = @n_ID_COR_MATERIAL FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_RAIZ, @n_ORDENPM, @n_ID_COR_MATERIAL, @n_Color_Nuevo END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROTMEDS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROTMEDS]( [IDROTURA] [int] NULL, [IDCOMPONENTE] [int] NULL, [TALLAROTURA] [smallint] NULL, [INCR] [float] NULL, [IDLINK] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZASIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZASIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFORM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFORM]( [IDTRANSFORM] [int] NULL, [NOMBRE] [char](80) NULL, [MAXIMO] [float] NULL, [MINIMO] [float] NULL, [MACRO] [char](80) NULL, [LATERALIDAD] [smallint] NULL, [TCOMENARIO] [char](100) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_MEDIDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_MEDIDA]( [ID] [int] NULL, [ID_ETEJI_RAIZ] [int] NULL, [ORDENPM] [smallint] NULL, [GF_MEDIDA] [float] NULL, [GF_COD_MAT_TAM] [varchar](11) NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ETEJI_MEDIDA]') AND name = N'XPK_ETEJI_MEDIDA') CREATE UNIQUE NONCLUSTERED INDEX [XPK_ETEJI_MEDIDA] ON [ETEJI_MEDIDA] ( [ID] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ETEJI_MEDIDA]') AND name = N'YPK_ETEJI_MEDIDA') CREATE UNIQUE NONCLUSTERED INDEX [YPK_ETEJI_MEDIDA] ON [ETEJI_MEDIDA] ( [ID_ETEJI_RAIZ] ASC, [GF_MEDIDA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ETEJI_MEDIDA]') AND name = N'ZPK_ETEJI_MEDIDA') CREATE NONCLUSTERED INDEX [ZPK_ETEJI_MEDIDA] ON [ETEJI_MEDIDA] ( [GF_COD_MAT_TAM] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_DELETE_MATERIAL_MEDIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_DELETE_MATERIAL_MEDIDA] ON [ETEJI_MEDIDA] FOR DELETE AS -- Trigger que borra los materiales del mismo nombre y medida que el actual. -- El nombre se obtiene de la tabla maestra ETEJI_RAIZ y la medida corresponde a -- la columna GF_MEDIDA de ETEJI_MEDIDA y fila actual -- Realizado por: Bernardo Castellanos -- Fecha: 06-05-02 DECLARE @n_ID_ETEJI_RAIZ INTEGER, @f_GF_MEDIDA FLOAT, @n_TRANSFER INTEGER, @n_ERRORNUM INTEGER, @n_TallasBorrar SMALLINT, @n_TallasExistentes SMALLINT, @n_NumTallasBorradas SMALLINT, @s_GF_MATERIAL VARCHAR(80), @s_GF_DESC_MATERIAL VARCHAR(255), @s_MSG_ERROR VARCHAR(255), @s_Delete VARCHAR(80), @sParam1 VARCHAR(80), @s_Cod_Mat VARCHAR(80) BEGIN SELECT @n_ERRORNUM=0 SELECT @n_TallasBorrar = COUNT(*) FROM DELETED IF (@n_TallasBorrar = 0) RETURN -- Identificación del material de ETEJI que se va a borrar SELECT @n_ID_ETEJI_RAIZ = ID_ETEJI_RAIZ FROM DELETED SELECT @s_GF_MATERIAL = GF_MATERIAL, @n_TRANSFER = TRANSFER, @s_GF_DESC_MATERIAL = GF_DESC_MATERIAL FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ -- Se comprueban el número de tallas que quedarán tras borrar -- Si no queda ninguna, no se debe borrar el último material SELECT @n_TallasExistentes = COUNT(*) FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_ETEJI_RAIZ -- Se pueden borrar materiales si el estado de TRANSFER es menor que OK Liberado (ver tabla TRANSFER_LIBERAR) -- En caso contrario se avisa de la circunstancia y se aborta el borrado de materiales. /* Desactivado IF (@n_TRANSFER >= 60) BEGIN SELECT @n_ERRORNUM=30002 EXEC GF_GET_MESSAGE @n_ERRORNUM,'''','''',1,@s_MSG_ERROR OUTPUT RAISERROR @n_ERRORNUM @s_MSG_ERROR ROLLBACK TRANSACTION END ELSE */ BEGIN SELECT @n_NumTallasBorradas = 0 DECLARE LISTA_TALLAS CURSOR FOR SELECT GF_MEDIDA,GF_COD_MAT_TAM FROM DELETED OPEN LISTA_TALLAS FETCH NEXT FROM LISTA_TALLAS INTO @f_GF_MEDIDA,@s_Cod_Mat WHILE (@@FETCH_STATUS=0 AND @n_ERRORNUM=0) BEGIN -- Comprobar si el material se está usando en la Variante IF EXISTS(SELECT * FROM RCOMPVARCOLOR WHERE IDTEJIDO IN (SELECT ID FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_L=@f_GF_MEDIDA)) BEGIN SELECT @n_ERRORNUM=30001 SELECT @sParam1 = @s_GF_MATERIAL + ''_'' + CONVERT(VARCHAR(10),@f_GF_MEDIDA) EXEC GF_GET_MESSAGE @n_ERRORNUM,@sParam1,'''',1,@s_MSG_ERROR OUTPUT RAISERROR @n_ERRORNUM @s_MSG_ERROR ROLLBACK TRANSACTION END ELSE BEGIN SELECT @n_NumTallasBorradas = @n_NumTallasBorradas + 1 -- En lugar de borrar los últimos materiales, se actualizan en ETEJI con GF_L=0 y descripción sin talla. IF (@n_TallasExistentes = 0) AND (@n_NumTallasBorradas = @n_TallasBorrar) BEGIN UPDATE ETEJI SET GF_DESC_MATERIAL=@s_GF_DESC_MATERIAL,GF_L=0 WHERE NOMBRE=@s_GF_MATERIAL IF (@n_TRANSFER >= 50) BEGIN UPDATE MATERIAIS SET DESC_MATERIAL=@s_GF_DESC_MATERIAL,VARIA_MATERIAL_TAMANHO=0 WHERE MATERIAL=@s_GF_MATERIAL UPDATE ETEJI_RAIZ SET GF_VARIA_MATERIA=1 WHERE ID=@n_ID_ETEJI_RAIZ END END ELSE BEGIN SELECT @s_Delete = ''DELETE FROM ETEJI WHERE NOMBRE=''+''''''''+@s_GF_MATERIAL+''''''''+ '' AND GF_L=''+CONVERT(VARCHAR(20),@f_GF_MEDIDA) EXEC (@s_Delete) END IF (@n_TRANSFER >= 50) AND (@s_Cod_Mat <> @s_GF_MATERIAL) BEGIN DELETE FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Mat DELETE FROM MATERIAIS WHERE MATERIAL=@s_Cod_Mat END END FETCH NEXT FROM LISTA_TALLAS INTO @f_GF_MEDIDA,@s_Cod_Mat END CLOSE LISTA_TALLAS DEALLOCATE LISTA_TALLAS END -- Si varia el precio por medida, se ajusta el detalle Materiales Precios Color/Talla (insertando una fila en la tabla intermedia) IF (SELECT GF_VARIA_MATERIA FROM ETEJI_RAIZ WHERE ID = (SELECT DISTINCT ID_ETEJI_RAIZ FROM DELETED))=2 INSERT INTO ETEJI_MEDIDA_TEMP SELECT ID_ETEJI_RAIZ, ORDENPM, 0 FROM DELETED END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_MATERIAL_MEDIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_INSERT_MATERIAL_MEDIDA] ON [ETEJI_MEDIDA] FOR INSERT -- Trigger desarrollado por Alejandro Escribano C&S Mat 06-11-02 AS DECLARE @n_ID_ETEJI_RAIZ INTEGER, @n_ORDENPM SMALLINT, @n_GF_MEDIDA FLOAT, @n_ID INTEGER BEGIN DECLARE LISTA_MEDIDAS CURSOR FOR SELECT ID, ID_ETEJI_RAIZ, GF_MEDIDA, ORDENPM FROM INSERTED OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @n_ID, @n_ID_ETEJI_RAIZ, @n_GF_MEDIDA, @n_ORDENPM WHILE @@FETCH_STATUS = 0 BEGIN -- Si varia el precio por medida, se ajusta el detalle Materiales Precios Color/Talla (insertando una fila en la tabla intermedia) IF (SELECT GF_VARIA_MATERIA FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ)=2 INSERT INTO ETEJI_MEDIDA_TEMP VALUES(@n_ID_ETEJI_RAIZ, 0, @n_ORDENPM) FETCH NEXT FROM LISTA_MEDIDAS INTO @n_ID, @n_ID_ETEJI_RAIZ, @n_GF_MEDIDA, @n_ORDENPM END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UPDATE_MATERIAL_MEDIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GF_UPDATE_MATERIAL_MEDIDA] ON [ETEJI_MEDIDA] FOR UPDATE -- Trigger desarrollado por Alejandro Escribano C&S Mat 28-11-02 AS DECLARE @n_ID_ETEJI_RAIZ INTEGER, @s_GF_DESC_MATERIAL VARCHAR(80), @s_GF_MEDIDA VARCHAR(2), @s_GF_MATERIAL VARCHAR(11), @s_GF_COD_MAT_TAM VARCHAR(11) BEGIN SELECT @s_GF_COD_MAT_TAM = GF_COD_MAT_TAM, @n_ID_ETEJI_RAIZ = ID_ETEJI_RAIZ, @s_GF_MEDIDA = LTRIM(CONVERT(VARCHAR(2),GF_MEDIDA)) FROM INSERTED SELECT @s_GF_MATERIAL = GF_MATERIAL, @s_GF_DESC_MATERIAL = GF_DESC_MATERIAL FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ -- Si varia el precio por medida, se ajusta el detalle Materiales Precios Color/Talla (insertando una fila en la tabla intermedia) IF (SELECT GF_VARIA_MATERIA FROM ETEJI_RAIZ WHERE ID = @n_ID_ETEJI_RAIZ)=2 INSERT INTO ETEJI_MEDIDA_TEMP SELECT INSERTED.ID_ETEJI_RAIZ, DELETED.ORDENPM, INSERTED.ORDENPM FROM INSERTED INNER JOIN DELETED ON INSERTED.ID = DELETED.ID WHERE INSERTED.ORDENPM <> DELETED.ORDENPM -- Se ajustan las medidas de los materiales ya existentes en ETEJI (y sus descripciones) IF EXISTS (SELECT * FROM INSERTED INNER JOIN DELETED ON INSERTED.ID = DELETED.ID WHERE INSERTED.GF_MEDIDA <> DELETED.GF_MEDIDA) UPDATE ETEJI SET GF_DESC_MATERIAL = @s_GF_DESC_MATERIAL + '' ('' + @s_GF_MEDIDA + '')'', GF_L = CONVERT(SMALLINT, @s_GF_MEDIDA) WHERE NOMBRE = @s_GF_MATERIAL AND GF_MATERIAL = @s_GF_COD_MAT_TAM END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROTMEDSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROTMEDSCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DISTRIBUICAO_LOJA_IDEAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DISTRIBUICAO_LOJA_IDEAL]( [TIPO_ESTOQUE_IDEAL] [char](6) NOT NULL, [DESC_ESTOQUE_LOJA_IDEAL] [varchar](40) NOT NULL, CONSTRAINT [XPKDISTRIBUICAO_LOJA_IDEAL] PRIMARY KEY NONCLUSTERED ( [TIPO_ESTOQUE_IDEAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_DISTRIBUICAO_LOJA_IDEAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_DISTRIBUICAO_LOJA_IDEAL] on [DISTRIBUICAO_LOJA_IDEAL] for DELETE as /* DELETE trigger on DISTRIBUICAO_LOJA_IDEAL */ begin declare @errno int, @errmsg varchar(255) /* DISTRIBUICAO_LOJA_IDEAL R/1854 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.TIPO_ESTOQUE_IDEAL = deleted.TIPO_ESTOQUE_IDEAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #DISTRIBUICAO_LOJA_IDEAL #porque existem registros em #FILIAIS#.'' goto error end /* DISTRIBUICAO_LOJA_IDEAL R/1853 LOJAS_ESTOQUE_IDEAL ON PARENT DELETE CASCADE */ delete LOJAS_ESTOQUE_IDEAL from LOJAS_ESTOQUE_IDEAL,deleted where LOJAS_ESTOQUE_IDEAL.TIPO_ESTOQUE_IDEAL = deleted.TIPO_ESTOQUE_IDEAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DISTRIBUICAO_LOJA_IDEAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DISTRIBUICAO_LOJA_IDEAL] on [DISTRIBUICAO_LOJA_IDEAL] for UPDATE as /* UPDATE trigger on DISTRIBUICAO_LOJA_IDEAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ESTOQUE_IDEAL char(6), @delTIPO_ESTOQUE_IDEAL char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_LOJA_IDEAL R/1854 FILIAIS ON PARENT UPDATE CASCADE */ IF update(TIPO_ESTOQUE_IDEAL) BEGIN DECLARE DISTRIBUICAO_LOJA_IDEAL1854 CURSOR FOR SELECT TIPO_ESTOQUE_IDEAL FROM INSERTED DECLARE DISTRIBUICAO_LOJA_IDEAL1061 CURSOR FOR SELECT TIPO_ESTOQUE_IDEAL FROM DELETED OPEN DISTRIBUICAO_LOJA_IDEAL1854 OPEN DISTRIBUICAO_LOJA_IDEAL1061 FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1854 INTO @insTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1061 INTO @delTIPO_ESTOQUE_IDEAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.TIPO_ESTOQUE_IDEAL=@insTIPO_ESTOQUE_IDEAL WHERE FILIAIS.TIPO_ESTOQUE_IDEAL = @delTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1854 INTO @insTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1061 INTO @delTIPO_ESTOQUE_IDEAL END END CLOSE DISTRIBUICAO_LOJA_IDEAL1854 CLOSE DISTRIBUICAO_LOJA_IDEAL1061 DEALLOCATE DISTRIBUICAO_LOJA_IDEAL1854 DEALLOCATE DISTRIBUICAO_LOJA_IDEAL1061 END /* DISTRIBUICAO_LOJA_IDEAL R/1853 LOJAS_ESTOQUE_IDEAL ON PARENT UPDATE CASCADE */ IF update(TIPO_ESTOQUE_IDEAL) BEGIN DECLARE DISTRIBUICAO_LOJA_IDEAL1853 CURSOR FOR SELECT TIPO_ESTOQUE_IDEAL FROM INSERTED DECLARE DISTRIBUICAO_LOJA_IDEAL1061 CURSOR FOR SELECT TIPO_ESTOQUE_IDEAL FROM DELETED OPEN DISTRIBUICAO_LOJA_IDEAL1853 OPEN DISTRIBUICAO_LOJA_IDEAL1061 FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1853 INTO @insTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1061 INTO @delTIPO_ESTOQUE_IDEAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJAS_ESTOQUE_IDEAL SET LOJAS_ESTOQUE_IDEAL.TIPO_ESTOQUE_IDEAL=@insTIPO_ESTOQUE_IDEAL WHERE LOJAS_ESTOQUE_IDEAL.TIPO_ESTOQUE_IDEAL = @delTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1853 INTO @insTIPO_ESTOQUE_IDEAL FETCH NEXT FROM DISTRIBUICAO_LOJA_IDEAL1061 INTO @delTIPO_ESTOQUE_IDEAL END END CLOSE DISTRIBUICAO_LOJA_IDEAL1853 CLOSE DISTRIBUICAO_LOJA_IDEAL1061 DEALLOCATE DISTRIBUICAO_LOJA_IDEAL1853 DEALLOCATE DISTRIBUICAO_LOJA_IDEAL1061 END return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MOEDASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MOEDASCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EFORNIL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EFORNIL]( [CARPETA#] [int] NULL, [NOMBRE] [char](24) NULL, [COLOR] [smallint] NULL, [COSTE] [float] NULL, [KFORNI] [smallint] NULL, [PROVEDR] [smallint] NULL, [REFPROVEDR] [char](24) NULL, [EMP] [int] NOT NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFORMCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFORMCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETACCESSCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETACCESSCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_LOC]( [ID] [int] NOT NULL, [EMP] [int] NULL, [GF_LOCALIZACAO] [char](8) NOT NULL, [GF_DESCRICAO] [varchar](40) NOT NULL, [USERC] [int] NOT NULL, [FECHAC] [datetime] NOT NULL, [USERM] [int] NOT NULL, [FECHAM] [datetime] NOT NULL, [ACCESO] [int] NULL, [USERP] [int] NULL, [GF_DEPTO] [varchar](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFDV_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFDV_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 10 2001 10:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFDV_MATERIAIS_LOC] ON [GF_MATERIAIS_LOC] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFD_MATERIAIS_LOC'')))=1) RETURN ELSE DECLARE @LOCALIZACAO CHAR(8) DECLARE LOCALIZACAOV CURSOR FOR SELECT GF_LOCALIZACAO FROM DELETED OPEN LOCALIZACAOV FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT LOCALIZACAO FROM MATERIAIS_LOCALIZA WHERE LOCALIZACAO=@LOCALIZACAO) DELETE FROM MATERIAIS_LOCALIZA WHERE LOCALIZACAO=@LOCALIZACAO ELSE BEGIN FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END CLOSE LOCALIZACAOV DEALLOCATE LOCALIZACAOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFIV_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 7 2001 13:15PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFIV_MATERIAIS_LOC] ON [GF_MATERIAIS_LOC] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFI_MATERIAIS_LOC'')))=1) RETURN ELSE BEGIN DECLARE @LOCALIZACAO CHAR(8) DECLARE LOCALIZACAOV CURSOR FOR SELECT GF_LOCALIZACAO FROM INSERTED OPEN LOCALIZACAOV FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT LOCALIZACAO FROM MATERIAIS_LOCALIZA WHERE LOCALIZACAO=@LOCALIZACAO) BEGIN INSERT INTO MATERIAIS_LOCALIZA (LOCALIZACAO,DESCRICAO,DEPTO) SELECT GF_LOCALIZACAO,GF_DESCRICAO,GF_DEPTO FROM GF_MATERIAIS_LOC WHERE GF_LOCALIZACAO=@LOCALIZACAO END ELSE BEGIN FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END CLOSE LOCALIZACAOV DEALLOCATE LOCALIZACAOV END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFUV_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFUV_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 7 2001 15:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFUV_MATERIAIS_LOC] ON [GF_MATERIAIS_LOC] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_LOC'')) ) < 2 ) BEGIN DECLARE @LOCALIZACAO CHAR(8), @LOCALIZACAOD CHAR(8) DECLARE LOCALIZACAODV CURSOR FOR SELECT GF_LOCALIZACAO FROM DELETED DECLARE LOCALIZACAOV CURSOR FOR SELECT GF_LOCALIZACAO FROM INSERTED OPEN LOCALIZACAODV OPEN LOCALIZACAOV FETCH NEXT FROM LOCALIZACAODV INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT LOCALIZACAO FROM MATERIAIS_LOCALIZA WHERE LOCALIZACAO=@LOCALIZACAOD) BEGIN UPDATE MATERIAIS_LOCALIZA SET LOCALIZACAO=@LOCALIZACAO, DESCRICAO=(SELECT GF_DESCRICAO FROM INSERTED WHERE GF_LOCALIZACAO=@LOCALIZACAO), DEPTO=(SELECT GF_DEPTO FROM INSERTED WHERE GF_LOCALIZACAO=@LOCALIZACAO) WHERE LOCALIZACAO=@LOCALIZACAOD END ELSE BEGIN FETCH NEXT FROM LOCALIZACAODV INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAODV INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAOV INTO @LOCALIZACAO END CLOSE LOCALIZACAODV DEALLOCATE LOCALIZACAODV CLOSE LOCALIZACAOV DEALLOCATE LOCALIZACAOV END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_RAIZIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_RAIZIMGCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZMD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZMD]( [ID] [int] NULL, [PIEZA] [int] NULL, [ORDEN] [smallint] NULL, [MODELO] [int] NULL, [CNP] [smallint] NULL, [CPP] [smallint] NULL, [CNN] [smallint] NULL, [CPN] [smallint] NULL, [ENCARADO] [char](1) NULL, [TORNASOL] [char](1) NULL, [ANGINI] [real] NULL, [DANG] [real] NULL, [PARTNERS] [char](1) NULL, [ANGINC] [real] NULL, [BCHESS] [char](1) NULL, [BXN] [real] NULL, [BXP] [real] NULL, [BYN] [real] NULL, [BYP] [real] NULL, [SXN] [real] NULL, [SXP] [real] NULL, [SYN] [real] NULL, [SYP] [real] NULL, [ENVOLVENTE] [char](1) NULL, [MENSAJE] [smallint] NULL, [DOBLADA] [char](1) NULL, [GRP] [smallint] NULL, [NOCRXY] [char](1) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EFORNILCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EFORNILCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFORMIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFORMIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [int] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [int] NULL, [OFFSET] [int] NULL, [ESTADO] [int] NULL, [FILEPATH] [varchar](250) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISDETACCESSGRCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISDETACCESSGRCNT]( [IDMAX] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RVARPRNDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RVARPRNDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REDE_LOJAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REDE_LOJAS]( [ID] [int] NOT NULL, [ID_REDE_LOJAS_GR] [int] NOT NULL, [GF_GRIFFE] [smallint] NOT NULL, [GF_LICENCIADO] [smallint] NOT NULL, [GF_ROYALTIES] [float] NULL, [GF_LICENCIADOR] [smallint] NOT NULL, [GF_DATA_PARA_TRANSFERENCIA] [datetime] NULL, [ORDENPM] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[GF_REDE_LOJAS]') AND name = N'YPKPRODUTOS_ENTR') CREATE UNIQUE NONCLUSTERED INDEX [YPKPRODUTOS_ENTR] ON [GF_REDE_LOJAS] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LOCCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_MATERIAIS_LOCCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_RAIZIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_RAIZIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [varchar](12) NULL, [IDDOC] [varchar](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZMDCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZMDCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_CELULA_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_CELULA_OPERADORAS]( [CELULA] [char](5) NOT NULL, [CODIGO_CARTAO] [char](8) NOT NULL, CONSTRAINT [XPKPRODUTIV_CELULA_OPERADORAS] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC, [CODIGO_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_CELULA_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_CELULA_OPERADORAS] on [PRODUTIV_CELULA_OPERADORAS] for INSERT as /* INSERT trigger on PRODUTIV_CELULA_OPERADORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON CHILD INSERT RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_CELULA_OPERADORAS #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end /* PRODUTIV_CELULAS CELULAS_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON CHILD INSERT RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_CELULA_OPERADORAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_CELULA_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_CELULA_OPERADORAS] on [PRODUTIV_CELULA_OPERADORAS] for UPDATE as /* UPDATE trigger on PRODUTIV_CELULA_OPERADORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @insCODIGO_CARTAO char(8), @delCELULA char(5), @delCODIGO_CARTAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON CHILD UPDATE RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_CELULA_OPERADORAS #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end /* PRODUTIV_CELULAS CELULAS_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON CHILD UPDATE RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_CELULA_OPERADORAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EFORNILIMG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EFORNILIMG]( [CARPETA#] [int] NULL, [CLASIF] [smallint] NULL, [PAGINA] [int] NULL, [IDVOL] [smallint] NULL, [FICHERO] [char](12) NULL, [IDDOC] [char](10) NULL, [IDIMG] [smallint] NULL, [OFFSET] [smallint] NULL, [ESTADO] [smallint] NULL, [FILEPATH] [varchar](254) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSFORMIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSFORMIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTES_LIQUIDACIONES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTES_LIQUIDACIONES]( [REPRESENTANTE] [varchar](25) NOT NULL, [TIPO] [char](2) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [FATURA] [char](11) NOT NULL, [SERIE] [char](2) NOT NULL, [PARCELA] [char](2) NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOG_BORDERO_COBRANCA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOG_BORDERO_COBRANCA]( [BORDERO] [char](8) NULL, [FATURA] [char](7) NULL, [NOME_CLIFOR] [varchar](25) NULL, [PARCELA] [char](2) NULL, [DATA] [datetime] NULL, [USUARIO] [varchar](25) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SECUENCIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SECUENCIAL]( [EMPRESA] [int] NOT NULL, [TEMPORADA] [int] NOT NULL, [MARCA] [int] NOT NULL, [SERIE] [char](2) NOT NULL, [SECUENCIAL] [char](2) NOT NULL, [CODIGO] [char](12) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_REDE_LOJASCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [GF_REDE_LOJASCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZASIMGCNT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZASIMGCNT]( [IDMAX] [int] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PZMRK]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PZMRK]( [MARKER] [int] NULL, [PIEZA] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_CELULAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_CELULAS]( [CELULA] [char](5) NOT NULL, [CONJUNTO_DE_CELULAS] [varchar](25) NOT NULL, [DESC_CELULA] [varchar](25) NOT NULL, [FOTO_LAYOUT] [varchar](100) NULL, CONSTRAINT [XPKPRODUTIV_CELULAS] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_CELULAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_CELULAS] on [PRODUTIV_CELULAS] for DELETE as /* DELETE trigger on PRODUTIV_CELULAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_CELULAS METAS PRODUTIV_METAS_DIARIAS ON PARENT DELETE CASCADE */ delete PRODUTIV_METAS_DIARIAS from PRODUTIV_METAS_DIARIAS,deleted where PRODUTIV_METAS_DIARIAS.CELULA = deleted.CELULA /* PRODUTIV_CELULAS OCORRENCIAS PRODUTIV_OCORRENCIAS ON PARENT DELETE CASCADE */ delete PRODUTIV_OCORRENCIAS from PRODUTIV_OCORRENCIAS,deleted where PRODUTIV_OCORRENCIAS.CELULA = deleted.CELULA /* PRODUTIV_CELULAS CELULAS_MAQUINAS PRODUTIV_CELULA_MAQUINAS ON PARENT DELETE CASCADE */ delete PRODUTIV_CELULA_MAQUINAS from PRODUTIV_CELULA_MAQUINAS,deleted where PRODUTIV_CELULA_MAQUINAS.CELULA = deleted.CELULA /* PRODUTIV_CELULAS CELULAS_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON PARENT DELETE CASCADE */ delete PRODUTIV_CELULA_OPERADORAS from PRODUTIV_CELULA_OPERADORAS,deleted where PRODUTIV_CELULA_OPERADORAS.CELULA = deleted.CELULA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_CELULAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_CELULAS] on [PRODUTIV_CELULAS] for INSERT as /* INSERT trigger on PRODUTIV_CELULAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_CONJUNTO_CELULAS CONJUNTO PRODUTIV_CELULAS ON CHILD INSERT RESTRICT */ if update(CONJUNTO_DE_CELULAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CONJUNTO_CELULAS where inserted.CONJUNTO_DE_CELULAS = PRODUTIV_CONJUNTO_CELULAS.CONJUNTO_DE_CELULAS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_CELULAS #porque #PRODUTIV_CONJUNTO_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_CELULAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_CELULAS] on [PRODUTIV_CELULAS] for UPDATE as /* UPDATE trigger on PRODUTIV_CELULAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @delCELULA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_CELULAS METAS PRODUTIV_METAS_DIARIAS ON PARENT UPDATE CASCADE */ IF update(CELULA) BEGIN DECLARE PRODUTIV_CELULAS1038 CURSOR FOR SELECT CELULA FROM INSERTED DECLARE PRODUTIV_CELULAS647 CURSOR FOR SELECT CELULA FROM DELETED OPEN PRODUTIV_CELULAS1038 OPEN PRODUTIV_CELULAS647 FETCH NEXT FROM PRODUTIV_CELULAS1038 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_METAS_DIARIAS SET PRODUTIV_METAS_DIARIAS.CELULA=@insCELULA WHERE PRODUTIV_METAS_DIARIAS.CELULA = @delCELULA FETCH NEXT FROM PRODUTIV_CELULAS1038 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA END END CLOSE PRODUTIV_CELULAS1038 CLOSE PRODUTIV_CELULAS647 DEALLOCATE PRODUTIV_CELULAS1038 DEALLOCATE PRODUTIV_CELULAS647 END /* PRODUTIV_CELULAS OCORRENCIAS PRODUTIV_OCORRENCIAS ON PARENT UPDATE CASCADE */ IF update(CELULA) BEGIN DECLARE PRODUTIV_CELULAS1036 CURSOR FOR SELECT CELULA FROM INSERTED DECLARE PRODUTIV_CELULAS647 CURSOR FOR SELECT CELULA FROM DELETED OPEN PRODUTIV_CELULAS1036 OPEN PRODUTIV_CELULAS647 FETCH NEXT FROM PRODUTIV_CELULAS1036 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OCORRENCIAS SET PRODUTIV_OCORRENCIAS.CELULA=@insCELULA WHERE PRODUTIV_OCORRENCIAS.CELULA = @delCELULA FETCH NEXT FROM PRODUTIV_CELULAS1036 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA END END CLOSE PRODUTIV_CELULAS1036 CLOSE PRODUTIV_CELULAS647 DEALLOCATE PRODUTIV_CELULAS1036 DEALLOCATE PRODUTIV_CELULAS647 END /* PRODUTIV_CELULAS CELULAS_MAQUINAS PRODUTIV_CELULA_MAQUINAS ON PARENT UPDATE CASCADE */ IF update(CELULA) BEGIN DECLARE PRODUTIV_CELULAS1000 CURSOR FOR SELECT CELULA FROM INSERTED DECLARE PRODUTIV_CELULAS647 CURSOR FOR SELECT CELULA FROM DELETED OPEN PRODUTIV_CELULAS1000 OPEN PRODUTIV_CELULAS647 FETCH NEXT FROM PRODUTIV_CELULAS1000 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_CELULA_MAQUINAS SET PRODUTIV_CELULA_MAQUINAS.CELULA=@insCELULA WHERE PRODUTIV_CELULA_MAQUINAS.CELULA = @delCELULA FETCH NEXT FROM PRODUTIV_CELULAS1000 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA END END CLOSE PRODUTIV_CELULAS1000 CLOSE PRODUTIV_CELULAS647 DEALLOCATE PRODUTIV_CELULAS1000 DEALLOCATE PRODUTIV_CELULAS647 END /* PRODUTIV_CELULAS CELULAS_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON PARENT UPDATE CASCADE */ IF update(CELULA) BEGIN DECLARE PRODUTIV_CELULAS998 CURSOR FOR SELECT CELULA FROM INSERTED DECLARE PRODUTIV_CELULAS647 CURSOR FOR SELECT CELULA FROM DELETED OPEN PRODUTIV_CELULAS998 OPEN PRODUTIV_CELULAS647 FETCH NEXT FROM PRODUTIV_CELULAS998 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_CELULA_OPERADORAS SET PRODUTIV_CELULA_OPERADORAS.CELULA=@insCELULA WHERE PRODUTIV_CELULA_OPERADORAS.CELULA = @delCELULA FETCH NEXT FROM PRODUTIV_CELULAS998 INTO @insCELULA FETCH NEXT FROM PRODUTIV_CELULAS647 INTO @delCELULA END END CLOSE PRODUTIV_CELULAS998 CLOSE PRODUTIV_CELULAS647 DEALLOCATE PRODUTIV_CELULAS998 DEALLOCATE PRODUTIV_CELULAS647 END /* PRODUTIV_CONJUNTO_CELULAS CONJUNTO PRODUTIV_CELULAS ON CHILD UPDATE RESTRICT */ if update(CONJUNTO_DE_CELULAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CONJUNTO_CELULAS where inserted.CONJUNTO_DE_CELULAS = PRODUTIV_CONJUNTO_CELULAS.CONJUNTO_DE_CELULAS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_CELULAS #porque #PRODUTIV_CONJUNTO_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_SUBSISTEMAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_SUBSISTEMAS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_subsistema] [varchar](25) NOT NULL, [descripcion_subsistema] [varchar](100) NULL, CONSTRAINT [PK_IC_SUBSISTEMAS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_APUNTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_APUNTES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [id_casuistica] [int] NOT NULL, [id_asiento] [int] NOT NULL, [id_apunte] [int] IDENTITY(1,1) NOT NULL, [nombre_cuenta] [varchar](25) NOT NULL, [nombre_divisa] [char](3) NOT NULL, [nombre_importe] [varchar](25) NOT NULL, [debehaber] [char](10) NOT NULL, [nombre_centro] [varchar](25) NOT NULL, CONSTRAINT [PK_IC_APUNTES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC, [id_casuistica] ASC, [id_asiento] ASC, [id_apunte] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_APUNTES_MAN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_APUNTES_MAN]( [id_apunte_man] [int] IDENTITY(1,1) NOT NULL, [id_asiento_man] [int] NOT NULL, [debehaber] [char](10) NOT NULL, [cuenta] [char](10) NOT NULL, [importe] [numeric](14, 2) NOT NULL, CONSTRAINT [PK_IC_APUNTES_MAN] PRIMARY KEY NONCLUSTERED ( [id_apunte_man] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_ASIENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_ASIENTOS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [id_casuistica] [int] NOT NULL, [id_asiento] [int] IDENTITY(1,1) NOT NULL, [nombre_asiento] [varchar](25) NOT NULL, [decripcion_asiento] [varchar](100) NULL, [id_tipoas] [int] NOT NULL, [fecha_inicio] [datetime] NOT NULL, [fecha_fin] [datetime] NOT NULL, [asiento_multiple] [int] NOT NULL CONSTRAINT [DF_IC_ASIENTOS_asiento_multiples] DEFAULT (0), [asiento_asociado] [int] NOT NULL CONSTRAINT [DF_IC_ASIENTOS_asiento_asociado] DEFAULT (0), CONSTRAINT [PK_IC_ASIENTOS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC, [id_casuistica] ASC, [id_asiento] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CUENTAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CUENTAS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_cuenta] [varchar](25) NOT NULL, [descripcion_cuenta] [varchar](100) NULL, [constante] [char](10) NOT NULL, [codigo_cuenta] [numeric](18, 0) NULL, [nombre_cliche] [varchar](25) NULL, CONSTRAINT [PK_IC_CUENTAS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_cuenta] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_COMP_CLICHES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_COMP_CLICHES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_comp_cliche] [int] IDENTITY(1,1) NOT NULL, [nombre_cliche] [varchar](25) NOT NULL, [orden] [tinyint] NOT NULL, [constante] [char](10) NOT NULL, [valor] [varchar](25) NULL, [nombre_funcion] [varchar](25) NULL, [tabla_local] [varchar](50) NULL, [columna_local] [varchar](50) NULL, CONSTRAINT [PK_IC_COMP_CLICHES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_comp_cliche] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_IPT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_IPT]( [ID] [int] NOT NULL, [IDINGENVAR] [int] NOT NULL, [IDTALLA] [int] NOT NULL, [CANTIDAD] [float] NOT NULL, [IDVARCOLOR] [int] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_FUNCIONES_VARIABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_FUNCIONES_VARIABLES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_funcion] [varchar](25) NOT NULL, [nombre_variable] [varchar](25) NOT NULL, CONSTRAINT [PK_IC_FUNCIONES_VARIABLES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_funcion] ASC, [nombre_variable] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_FUNCIONES_VALORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_FUNCIONES_VALORES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_funcion] [varchar](25) NOT NULL, [valor] [varchar](15) NOT NULL, [descripcion] [nvarchar](50) NULL, CONSTRAINT [PK_IC_FUNCIONES_VALORES] PRIMARY KEY CLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_funcion] ASC, [valor] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_FUNCIONES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_FUNCIONES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_funcion] [varchar](25) NOT NULL, [descripcion_funcion] [varchar](100) NULL, [nombre_modulo] [varchar](25) NOT NULL, [longitud_retorno] [int] NOT NULL, CONSTRAINT [PK_IC_FUNCIONES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_funcion] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_IMPORTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_IMPORTES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [nombre_importe] [varchar](25) NOT NULL, [desc_importe] [varchar](100) NULL, [tabla_local] [varchar](50) NULL, [columna_local] [varchar](50) NULL, [formula] [nvarchar](250) NULL, CONSTRAINT [PK_IC_IMPORTES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC, [nombre_importe] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CASUISTICAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CASUISTICAS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] NOT NULL, [id_casuistica] [int] IDENTITY(1,1) NOT NULL, [nombre_casuistica] [varchar](60) NOT NULL, [descripcion_casuistica] [varchar](150) NULL, CONSTRAINT [PK_IC_CASUISTICAS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC, [id_casuistica] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CLICHES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CLICHES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_cliche] [varchar](25) NOT NULL, [descripcion_cliche] [varchar](100) NULL, CONSTRAINT [PK_IC_CLICHES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_cliche] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_OPERACIONES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_OPERACIONES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [id_operacion] [int] IDENTITY(1,1) NOT NULL, [nombre_operacion] [varchar](25) NOT NULL, [descripcion_operacion] [varchar](100) NULL, CONSTRAINT [PK_IC_OPERACIONES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [id_operacion] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_MODULOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_MODULOS]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_modulo] [varchar](25) NOT NULL, [descripcion_modulo] [varchar](100) NULL, CONSTRAINT [PK_IC_MODULOS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_modulo] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_VARIABLES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_VARIABLES]( [id_empresa] [int] NOT NULL, [id_subsistema] [int] NOT NULL, [nombre_variable] [varchar](25) NOT NULL, [descripcion_variable] [varchar](100) NULL, [tabla_local] [varchar](50) NULL, [columna_local] [varchar](50) NULL, CONSTRAINT [PK_IC_VARIABLES] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [id_subsistema] ASC, [nombre_variable] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IC_CENTROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [IC_CENTROS]( [id_empresa] [int] NOT NULL, [nombre_centro] [varchar](25) NOT NULL, [constante] [char](10) NOT NULL, [contenido] [int] NULL, [tabla_local] [varchar](50) NULL, [columna_local] [varchar](50) NULL, CONSTRAINT [PK_IC_CENTROS] PRIMARY KEY NONCLUSTERED ( [id_empresa] ASC, [nombre_centro] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SISCLASSACCESS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SISCLASSACCESS]( [ID] [int] NOT NULL, [IDCLASS] [smallint] NOT NULL, [IDUSER] [int] NOT NULL, [ACCESS] [smallint] NOT NULL, PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRNDS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRNDS]( [CARPETA#] [int] NOT NULL, [NOMBRE] [char](16) NULL, [VERSION] [smallint] NULL, [GF_STATUS_PRODUT] [smallint] NULL, [USERC] [int] NULL, [FECHAC] [datetime] NULL, [USERM] [int] NULL, [FECHAM] [datetime] NULL, [GF_TIPO_PRODUTO] [smallint] NOT NULL, [GF_LINHA] [smallint] NULL, [TEMPORADA] [smallint] NULL, [GF_COLECAO] [smallint] NOT NULL, [TSET] [smallint] NOT NULL, [STALLA] [smallint] NULL, [KCALD] [smallint] NULL, [TALLER] [smallint] NULL, [CLIENTE] [smallint] NULL, [JPROD] [smallint] NULL, [UDISEN] [smallint] NULL, [MODSCOLD] [smallint] NULL, [MEDS] [smallint] NULL, [FORNIT] [smallint] NULL, [PROCS] [smallint] NULL, [MUEST] [smallint] NULL, [VARTEJ] [smallint] NULL, [DOCS] [smallint] NULL, [ACCESO] [smallint] NULL, [COMENTARIO] [char](80) NULL, [COMPINGR] [int] NULL, [TRANSFORMACIONES] [int] NULL, [DESCSERIE] [varchar](40) NULL, [GF_PERIODO_PCP] [smallint] NULL, [GF_GRIFFE] [smallint] NULL, [SERIE] [varchar](24) NULL, [GF_TABELA_OPERAC] [smallint] NULL, [GF_DESC_PROD_NF] [varchar](40) NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_REVENDA] [char](1) NULL, [GF_UNIDADE] [char](1) NULL, [GF_PESO] [numeric](18, 0) NULL, [GF_CARTELA] [varchar](4) NULL, [GF_GIRO_ENTREGA] [int] NULL, [GF_SORTIMENTO_CO] [char](1) NULL, [GF_SORTIMENTO_TA] [char](1) NULL, [GF_FABRICANTE] [smallint] NULL, [GF_REFER_FABRICA] [varchar](10) NULL, [GF_VARIA_PRECO_C] [char](1) NULL, [GF_VARIA_PRECO_T] [char](1) NULL, [GF_VARIA_CUSTO_C] [char](1) NULL, [GF_VARIA_CUSTO_T] [char](1) NULL, [GF_CLASSIF_FISCA] [int] NOT NULL, [GF_TRIBUT_ICMS] [int] NOT NULL, [GF_TRIBUT_ORIGEM] [int] NOT NULL, [GF_ENVIA_LOJA_VA] [int] NOT NULL, [GF_ENVIA_LOJA_AT] [int] NOT NULL, [GF_ENVIA_REPRESE] [int] NOT NULL, [GF_ENVIA_VAREJO_] [int] NOT NULL, [GF_ENVIA_ATACADO] [int] NOT NULL, [GF_DATA_PARA_TRA] [datetime] NULL, [EMPRESA] [varchar](4) NULL, [GF_MATERIAL] [int] NULL, [MODSC] [int] NULL, [DESCRIP] [int] NULL, [GF_GRUPO_PROD] [smallint] NULL, [GF_SUBGRUPO_PRO] [smallint] NULL, CONSTRAINT [PK_PRNDS] PRIMARY KEY NONCLUSTERED ( [CARPETA#] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRNDS]') AND name = N'PK__PRNDS__3A4CA8FD') CREATE UNIQUE CLUSTERED INDEX [PK__PRNDS__3A4CA8FD] ON [PRNDS] ( [CARPETA#] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CTU_SET_TALLAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CTU_SET_TALLAS fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CTU_SET_TALLAS] ON [PRNDS] FOR UPDATE AS -- Trigger que borra los registros de la varcolor_cpt al modificar un Set de tallas en la Prenda IF UPDATE (TSET) --print ''Se van a BORRAR los consumos por talla de las Variantes.'' DELETE FROM VARCOLOR_CPT WHERE IDVARCOLOR IN (SELECT VARCOLOR FROM RVARPRND WHERE PRENDA=(SELECT CARPETA# FROM INSERTED)) RETURN ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tD_PRENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: desencadenador dbo.tD_PRENDA fecha de la secuencia de comandos: 02/04/2001 11:51:16 ******/ /****** Object: Trigger dbo.tD_PRENDA Script Date: 9/27/99 1:03:03 PM ******/ CREATE TRIGGER [tD_PRENDA] on [PRNDS] for DELETE as begin declare @errno int, @errmsg varchar(255) if exists ( select * from deleted,VARCOLOR where VARCOLOR.IDPRENDA = deleted.CARPETA# ) begin select @errno = 30001, @errmsg = ''Cannot delete GARMENT because VARCOLOR exists.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_LUGVEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_LUGVEN]( [CLAVE1] [numeric](10, 0) NOT NULL, [CLAVE2] [numeric](5, 0) NOT NULL, [EANLUG] [varchar](17) NULL, [LUGVEN] [varchar](70) NULL, [FECINI] [datetime] NULL, [FECFIN] [datetime] NULL, [PERVENINI] [datetime] NULL, [PERVENFIN] [datetime] NULL, PRIMARY KEY CLUSTERED ( [CLAVE1] ASC, [CLAVE2] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RDX_LUGVEN]') AND name = N'RDX_LUGVEN_PERVENINI_IDX') CREATE NONCLUSTERED INDEX [RDX_LUGVEN_PERVENINI_IDX] ON [RDX_LUGVEN] ( [PERVENINI] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_ARTVEN]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RDX_ARTVEN]( [CLAVE1] [numeric](10, 0) NOT NULL, [CLAVE2] [numeric](5, 0) NOT NULL, [CLAVE3] [numeric](5, 0) NOT NULL, [EANART] [varchar](17) NULL, [CODCOM] [varchar](35) NULL, [NUMVAR] [varchar](35) NULL, [CODPRO] [varchar](35) NULL, [DESARTCO] [varchar](35) NULL, [DESART] [varchar](70) NULL, [NUMCON] [varchar](35) NULL, [NUMLIS] [varchar](35) NULL, [CONESP1] [varchar](3) NULL, [CONESP2] [varchar](3) NULL, [CONESP3] [varchar](3) NULL, [VALVEN] [numeric](15, 3) NULL, [PRENETCT] [numeric](15, 3) NULL, [PREBRUCT] [numeric](15, 3) NULL, [PREINFET] [numeric](15, 3) NULL, [PREINFFT] [numeric](15, 3) NULL, [PRECALCT] [numeric](15, 3) NULL, [PRENETCA] [numeric](15, 3) NULL, [PREBRUCA] [numeric](15, 3) NULL, [PREINFEA] [numeric](15, 3) NULL, [PREINFFA] [numeric](15, 3) NULL, [PRECALCA] [numeric](15, 3) NULL, [BAPRUN1] [numeric](9, 0) NULL, [UNIMED1] [varchar](3) NULL, [BAPRUN2] [numeric](9, 0) NULL, [UNIMED2] [varchar](3) NULL, [BAPRUN3] [numeric](9, 0) NULL, [UNIMED3] [varchar](3) NULL, [BAPRUN4] [numeric](9, 0) NULL, [UNIMED4] [varchar](3) NULL, [BAPRUN5] [numeric](9, 0) NULL, [UNIMED5] [varchar](3) NULL, [CANVEN] [numeric](15, 3) NULL, [EXIPRO] [numeric](15, 3) NULL, [DESEXI] [numeric](15, 3) NULL, [ESPMEDCV] [varchar](3) NULL, [ESPMEDEP] [varchar](3) NULL, [ESPMEDDE] [varchar](3) NULL, [CANDEV] [numeric](15, 3) NULL, [EANVEN] [varchar](17) NULL, [NOMVEN] [varchar](70) NULL, [NUMTALON] [varchar](35) NULL, [CANVENNET] [numeric](15, 3) NULL, [UMEDVENNET] [varchar](3) NULL, [CANESP] [numeric](15, 3) NULL, [UMEDESP] [varchar](3) NULL, PRIMARY KEY CLUSTERED ( [CLAVE1] ASC, [CLAVE2] ASC, [CLAVE3] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RVARPRND]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RVARPRND]( [ID] [int] NOT NULL, [VARCOLOR] [int] NULL, [PRENDA] [int] NULL, [ORDENPM] [int] NULL, CONSTRAINT [PK_RVARPRND] PRIMARY KEY CLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RCOMPVARCOLOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RCOMPVARCOLOR]( [IDCOMPVARCOLOR] [int] NOT NULL, [IDVARCOLOR] [int] NULL, [IDCOMP] [int] NULL, [IDGRUPO] [int] NULL, [IDTEJIDO] [int] NULL, [IDMARCADA] [int] NULL, [CONSUMO] [float] NULL, [T1] [smallint] NULL, [T2] [smallint] NULL, [C1] [int] NULL, [C2] [int] NULL, [C3] [int] NULL, [C4] [int] NULL, [C5] [int] NULL, [C6] [int] NULL, [C7] [int] NULL, [C8] [int] NULL, [C9] [int] NULL, [C10] [int] NULL, [C11] [int] NULL, [C12] [int] NULL, [C13] [int] NULL, [C14] [int] NULL, [C15] [int] NULL, [GRUPO] [int] NULL, [TIPO] [smallint] NULL, [GF_ITEM] [int] NULL, [ORDENPM] [int] NULL, [COMP_TEJIDO] [smallint] NULL, [TEJIDO_PRINC] [char](1) NULL, [C16] [int] NULL, [C17] [int] NULL, [C18] [int] NULL, [C19] [int] NULL, [C20] [int] NULL, [C21] [int] NULL, [C22] [int] NULL, [C23] [int] NULL, [C24] [int] NULL, [C25] [int] NULL, [C26] [int] NULL, [C27] [int] NULL, [C28] [int] NULL, [C29] [int] NULL, [C30] [int] NULL, CONSTRAINT [PK_RCOMPVARCOLOR] PRIMARY KEY NONCLUSTERED ( [IDCOMPVARCOLOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[RCOMPVARCOLOR]') AND name = N'PK__RCOMPVARCOLOR__489AC854') CREATE UNIQUE CLUSTERED INDEX [PK__RCOMPVARCOLOR__489AC854] ON [RCOMPVARCOLOR] ( [IDCOMPVARCOLOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_LISTA_MATERIALES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFU_LISTA_MATERIALES] ON [RCOMPVARCOLOR] FOR INSERT,UPDATE AS DECLARE @ERRNO INT, @ERRMSG VARCHAR(255) IF (SELECT COUNT(COMP_TEJIDO) FROM RCOMPVARCOLOR WHERE COMP_TEJIDO=2 AND IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED))>1 BEGIN SELECT @ERRNO=30030, @ERRMSG=''No se pueden elegir más de dos materiales para formar parte de la composición del Tejido de la Variante'' RAISERROR @ERRNO @ERRMSG END ELSE BEGIN UPDATE VARCOLOR SET GF_COMPOSICAO=(SELECT GF_DESC_COMPOSIC FROM ETEJI WHERE ID= (SELECT IDTEJIDO FROM RCOMPVARCOLOR WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED)AND COMP_TEJIDO=2)) WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR_ING]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR_ING]( [ID] [int] NOT NULL, [IDINSTANCIA] [int] NULL, [IDCLASEINGR] [int] NULL, [IDOBJINGR] [int] NULL, [CANTIDAD] [float] NULL, [ORDEN] [smallint] NULL, [IDCOMPINGR] [int] NULL, [T1] [smallint] NULL, [T2] [smallint] NULL, [C1] [int] NULL, [C2] [int] NULL, [C3] [int] NULL, [C4] [int] NULL, [C5] [int] NULL, [C6] [int] NULL, [C7] [int] NULL, [C8] [int] NULL, [C9] [int] NULL, [C10] [int] NULL, [C11] [int] NULL, [C12] [int] NULL, [C13] [int] NULL, [C14] [int] NULL, [C15] [int] NULL, CONSTRAINT [PK_VARCOLOR_ING] PRIMARY KEY NONCLUSTERED ( [ID] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR_ING]') AND name = N'PK__VARCOLOR_ING__66DB9169') CREATE UNIQUE CLUSTERED INDEX [PK__VARCOLOR_ING__66DB9169] ON [VARCOLOR_ING] ( [ID] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FV_CONTROL_TIEMPO_CONFECCION]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [FV_CONTROL_TIEMPO_CONFECCION] ON [VARCOLOR_ING] FOR INSERT, UPDATE AS -- Trigger creado por Jorge Rodero --> 05/08/2003 -- Se encargará de reordenar las líneas del ingrediente de la variante color para asegurarnos de -- que el Tiempo de Confección es el último, ya que esto permite mostrar el informe de -- "Listado de Modelos por Estado" correctamente. -- Es condición OBLIGATORIA que sólo haya un proceso de confección cuyo comentario sea "MARCA TIEMPO CONFECCION" DECLARE @n_Id INTEGER, @n_IdVarcolor INTEGER, @n_TotLin INTEGER, @n_IdObj INTEGER, @n_IdClase INTEGER, @n_Orden_Ant INTEGER, @n_Orden INTEGER SELECT @n_Id = MAX(ID) FROM EPROC WHERE COMENTARIO = ''MARCA TIEMPO CONFECCION'' SELECT @n_IdVarcolor = IDINSTANCIA FROM INSERTED IF EXISTS( SELECT * FROM VARCOLOR_ING WHERE IDINSTANCIA = @n_IdVarcolor AND IDCLASEINGR = 7 AND IDOBJINGR = @n_Id ) BEGIN -- Reordenamos SELECT @n_TotLin = COUNT(*) FROM VARCOLOR_ING WHERE IDINSTANCIA = @n_IdVarcolor UPDATE VARCOLOR_ING SET ORDEN = @n_TotLin WHERE IDINSTANCIA = @n_IdVarcolor AND IDCLASEINGR = 7 AND IDOBJINGR = @n_Id DECLARE CS_ORDEN CURSOR FOR SELECT IDCLASEINGR, IDOBJINGR, ORDEN FROM VARCOLOR_ING WHERE IDINSTANCIA = @n_IdVarcolor AND IDCLASEINGR = 7 AND IDOBJINGR <> @n_Id ORDER BY ORDEN OPEN CS_ORDEN FETCH NEXT FROM CS_ORDEN INTO @n_IdCLase, @n_IdObj, @n_Orden_Ant SET @n_Orden = 1 WHILE @@FETCH_STATUS = 0 BEGIN UPDATE VARCOLOR_ING SET ORDEN = @n_Orden WHERE IDINSTANCIA = @n_IdVarcolor AND IDCLASEINGR = @n_IdClase AND IDOBJINGR = @n_IdObj AND ORDEN = @n_Orden_Ant SET @n_Orden = @n_Orden + 1 FETCH NEXT FROM CS_ORDEN INTO @n_IdCLase, @n_IdObj, @n_Orden_Ant END CLOSE CS_ORDEN DEALLOCATE CS_ORDEN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VARCOLOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VARCOLOR]( [IDVARCOLOR] [int] NOT NULL, [IDPRENDA] [int] NULL, [GF_MATERIAL] [int] NOT NULL, [NOMVAR] [varchar](12) NULL, [STRUCT] [int] NULL, [IDCARTA] [int] NOT NULL, [GF_PESO] [float] NULL, [MEDS] [int] NULL, [ACCESO] [int] NOT NULL, [USERC] [int] NULL, [USERM] [int] NULL, [GF_DATA_CADASTRO] [datetime] NULL, [FECHAM] [datetime] NULL, [GF_PERTENECE_A_C] [int] NOT NULL, [GF_OBS] [varchar](254) NULL, [GF_DESC_PRODUTO] [varchar](40) NULL, [GF_DESC_PROD_NF] [varchar](40) NULL, [GF_C1] [float] NULL, [GF_INATIVO] [char](1) NOT NULL, [GF_REVENDA] [char](1) NOT NULL, [GF_UNIDADE] [int] NOT NULL, [GF_REDE_LOJAS] [int] NULL, [GF_CARTELA] [varchar](4) NULL, [GF_GIRO_ENTREGA] [int] NULL, [GF_SORTIMENTO_CO] [char](1) NOT NULL, [GF_SORTIMENTO_TA] [char](1) NOT NULL, [GF_FABRICANTE] [int] NOT NULL, [GF_REFER_FABRICA] [varchar](10) NULL, [GF_VARIA_PRECO_C] [int] NOT NULL, [GF_VARIA_PRECO_T] [int] NOT NULL, [GF_VARIA_CUSTO_C] [int] NOT NULL, [GF_VARIA_CUSTO_T] [int] NOT NULL, [GF_FABRICANTE_PR] [int] NULL, [GF_FABRICANTE_FR] [float] NULL, [GF_TAXA_IMPOSTOS] [float] NULL, [GF_TAXA_JUROS_DE] [float] NULL, [GF_FABRICANTE_IC] [float] NULL, [GF_CUSTO_REPOSI1] [float] NULL, [GF_CUSTO_REPOSI2] [float] NULL, [GF_CUSTO_REPOSI3] [float] NULL, [GF_CUSTO_REPOSI4] [float] NULL, [GF_PRECO_REPOSI1] [float] NULL, [GF_PRECO_REPOSI2] [float] NULL, [GF_PRECO_REPOSI3] [float] NULL, [GF_PRECO_REPOSI4] [float] NULL, [GF_PRECO_A_VIST1] [float] NULL, [GF_PRECO_A_VIST2] [float] NULL, [GF_PRECO_A_VIST3] [float] NULL, [GF_PRECO_A_VIST4] [float] NULL, [GF_GRUPO_PRODUTO] [smallint] NULL, [GF_SUBGRUPO_PROD] [smallint] NULL, [GF_TABELA_OPERAC] [smallint] NULL, [SALDO] [float] NULL, [PV] [float] NULL, [PE] [float] NULL, [R1] [float] NULL, [R2] [float] NULL, [R3] [float] NULL, [USERP] [int] NULL, [GF_PRODUTO] [varchar](12) NULL, [GF_STATUS_PRODT] [smallint] NULL, [FECHAC] [datetime] NULL, [TRANSFER] [int] NULL, [FICHA_CONFECCION] [int] NULL, [GF_COMPOSICAO] [int] NULL, [COMP_FORRO] [int] NULL, [GF_STATUS_PRODUT] [int] NULL, [GF_PONTEIRO_PRECO] [varchar](48) NULL, [PRECIO_TARIFA_1] [float] NULL, [PRECIO_TARIFA_2] [float] NULL, [PRECIO_TARIFA_3] [float] NULL, [PRECIO_TARIFA_4] [float] NULL, [GF_RESTRICAO_LAV] [int] NULL, [GF_EMPRESA] [int] NULL, [GF_ORCAMENTO] [varchar](25) NULL, [GF_CLIENTE_DO_PR] [int] NULL, [GF_ESPESSURA] [float] NULL, [GF_CONTA_CONTABI] [int] NULL, [GF_ALTURA] [float] NULL, [GF_LARGURA] [float] NULL, [GF_EMPILHAMENTO_] [int] NULL, [GF_SEXO_TIPO] [int] NULL, [GF_PARTE_TIPO] [int] NULL, [GF_COMPRIMENTO] [float] NULL, [FORMATO] [int] NULL, [CB_D1] [smallint] NULL, [CB_D2] [smallint] NULL, [CB_D3] [smallint] NULL, [CB_D4] [smallint] NULL, [GF_COLECAO] [smallint] NULL, [GF_LINHA] [int] NULL, [GF_GRIFFE] [int] NULL, [FV_PC_MARGEN] [float] NULL, [FV_PR_COSTE] [float] NULL, CONSTRAINT [PK_VARCOLOR] PRIMARY KEY NONCLUSTERED ( [IDVARCOLOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR]') AND name = N'PK__VARCOLOR__47A6A41B') CREATE UNIQUE CLUSTERED INDEX [PK__VARCOLOR__47A6A41B] ON [VARCOLOR] ( [IDVARCOLOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VARCOLOR]') AND name = N'REFVARCOLOR') CREATE UNIQUE NONCLUSTERED INDEX [REFVARCOLOR] ON [VARCOLOR] ( [GF_EMPRESA] ASC, [GF_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CGFIU_VARCOLOR_TRANSFER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.CGFIU_VARCOLOR_TRANSFER fecha de la secuencia de comandos: Ago 1 2000 12:36PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [CGFIU_VARCOLOR_TRANSFER] ON [VARCOLOR] FOR INSERT,UPDATE NOT FOR REPLICATION AS IF (SELECT TRANSFER FROM INSERTED) IS NULL --OR (SELECT TRANSFER FROM INSERTED)=0 BEGIN UPDATE VARCOLOR SET TRANSFER=10 WHERE IDVARCOLOR=(SELECT IDVARCOLOR FROM INSERTED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFU_PRODUTOS] ON [VARCOLOR] FOR UPDATE NOT FOR REPLICATION AS -- Trigger para actualizar un producto acabado en las tablas PRODUTOS... de LINX -- Realizado por: Bernardo Castellanos -- Fecha: 01-09-02 -- Modificación del procedimiento que añade la lista de materiales a global -- Carga del modificado: sólo se comenta una línea en el Update -- Carga del modificado: (10/03/03 Salvador BP) Campos sexo y parte toman valores id -- de sus tablas respectivas -- Carga del modificado: Introduccion de los datos de Composición de materiales según -- tabla Materiais_composicao. -- Carga del modificado: (12/03/03) Se añade el procedimiento gf_calcula_ponteiro para el cálculo de los intervalos de tallas -- Carga del modificado: (01/04/03) Corregido restricciones de lavado. -- Carga del modificado: (21/04/03) Añadido procedimiento de traspaso de colores de fabricante (Salvador bp). -- Modificado: 09/05/2003: Eva Igl. Asignacion de MODELAGEM = null en traspaso a Linx -- Modificado: 13/05/2003: Eva Igl. Asignacion de valor LI a STATUS_PRODUTO en insercion de producto en Linx -- Modificado: 24/06/2003: Se toman la Línea y la Marca de la Variante y no de la Prenda ( Raúl ) -- Modificado: 25/06/2003: Se añaden colores de material principal a PRODUTOS_CORES ( Jorge Rodero ) -- Modificado: 05/08/2003: Se Traspasa como Primer Coste el precio de la variante calculado por Procedimiento. -- Además, se cambia para pasar la lista de materiales desde aquí y no desde RCompVarcolor. DECLARE @ERRNO INTEGER, @ERRMSG CHAR(254), @IDVAR INTEGER, @n_TRANSFER SMALLINT, @s_Producto VARCHAR(80), @s_PONTEIRO VARCHAR(48) ,@idtalla INT, @s_color varchar(24), @n_contador integer, @s_cadena varchar(255) DECLARE @n_Orden INT, @s_Sql VARCHAR(3000), @n_IdCarta INTEGER SELECT @IDVAR=IDVARCOLOR, @n_IdCarta = IDCARTA, @n_TRANSFER=TRANSFER, @s_Producto=GF_PRODUTO FROM INSERTED SELECT @IDTALLA=TSET FROM PRNDS WHERE CARPETA#=(SELECT IDPRENDA FROM VARCOLOR WHERE IDVARCOLOR=@IDVAR) -- CONTROL DEL TRANSFER IF (SELECT ISNULL(TRANSFER,0) FROM DELETED) > (SELECT TRANSFER FROM INSERTED) IF (SELECT USERM FROM INSERTED)<> 1 BEGIN SELECT @ERRNO=35001,@ERRMSG=''No se puede modificar el Campo (>> Trans.Liberar) a un valor menor.'' --GOTO ERROR END IF (@n_TRANSFER< 50) RETURN -- INSERTAR EN LINX IF (@n_TRANSFER = 50) BEGIN -- Obtener el valor de ponteiro exec gf_calcula_ponteiro @idvar,@IDTALLA,@s_PONTEIRO output -- Insertamos en Producto (linx) INSERT INTO dbo.PRODUTOS (PRODUTO ,CODIGO_PRECO ,MATERIAL , PERIODO_PCP ,TABELA_OPERACOES ,FATOR_OPERACOES , CLASSIF_FISCAL ,TIPO_PRODUTO ,TABELA_MEDIDAS , DESC_PRODUTO ,GRUPO_PRODUTO ,SUBGRUPO_PRODUTO , COLECAO ,GRADE ,DESC_PROD_NF , LINHA ,GRIFFE ,CARTELA , UNIDADE ,PESO ,REVENDA , REFER_FABRICANTE ,MODELAGEM ,SORTIMENTO_COR , FABRICANTE ,SORTIMENTO_TAMANHO ,VARIA_PRECO_COR , VARIA_PRECO_TAM ,PONTEIRO_PRECO_TAM ,VARIA_CUSTO_COR , PERTENCE_A_CONJUNTO ,TRIBUT_ICMS ,TRIBUT_ORIGEM , VARIA_CUSTO_TAM ,CUSTO_REPOSICAO1 ,CUSTO_REPOSICAO2 , CUSTO_REPOSICAO3 ,CUSTO_REPOSICAO4 ,DATA_REPOSICAO , ESTILISTA ,MODELISTA , GIRO_ENTREGA ,INATIVO ,TAMANHO_BASE, ENVIA_LOJA_VAREJO ,ENVIA_LOJA_ATACADO ,ENVIA_REPRESENTANTE , ENVIA_VAREJO_INTERNET ,ENVIA_ATACADO_INTERNET ,MODELO , REDE_LOJAS ,DATA_PARA_TRANSFERENCIA ,FABRICANTE_ICMS_ABATER , FABRICANTE_PRAZO_PGTO ,TAXA_JUROS_DEFLACIONAR ,TAXAS_IMPOSTOS_APLICAR , PRECO_REPOSICAO_1 ,PRECO_REPOSICAO_2 ,PRECO_REPOSICAO_3 , PRECO_REPOSICAO_4 ,PRECO_A_VISTA_REPOSICAO_1 ,PRECO_A_VISTA_REPOSICAO_2 , PRECO_A_VISTA_REPOSICAO_3 ,PRECO_A_VISTA_REPOSICAO_4 ,FABRICANTE_FRETE , DROP_DE_TAMANHOS ,DATA_CADASTRAMENTO ,STATUS_PRODUTO , TIPO_STATUS_PRODUTO ,OBS ,RESTRICAO_LAVAGEM , EMPRESA ,ORCAMENTO ,CLIENTE_DO_PRODUTO , CONTA_CONTABIL ,ESPESSURA ,ALTURA , LARGURA ,COMPRIMENTO ,EMPILHAMENTO_MAXIMO , SEXO_TIPO ,PARTE_TIPO ,COMPOSICAO) SELECT V.GF_PRODUTO,'''', (select GF_MATERIAL from ETEJI where ID=V.GF_MATERIAL), (select GF_PERIODO_PCP FROM GF_PRODUTOS_PERI WHERE ID=P.GF_PERIODO_PCP) ,(SELECT GF_PRODUTOS_TAB_ FROM GF_PRODUTOS_TAB_ WHERE ID=V.GF_TABELA_OPERAC),1 , (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA WHERE ID=P.GF_CLASSIF_FISCA),(SELECT GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO WHERE ID=P.GF_TIPO_PRODUTO),(SELECT NOMBRE FROM TMEDS WHERE ID=V.MEDS), V.GF_DESC_PRODUTO ,(SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE ID=V.GF_GRUPO_PRODUTO),(SELECT GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE ID=V.GF_SUBGRUPO_PROD), (SELECT GF_COLECAO FROM GF_COLECOES WHERE ID=P.GF_COLECAO),(SELECT NOMBRE FROM TSET WHERE ID=P.TSET),V.GF_DESC_PROD_NF , (SELECT GF_LINHA FROM GF_PRODUTOS_LINH WHERE ID=V.GF_LINHA),(SELECT GF_GRIFFE FROM GF_PRODUTOS_GRIF WHERE ID=V.GF_GRIFFE),V.GF_CARTELA , (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=V.GF_UNIDADE),V.GF_PESO ,V.GF_REVENDA , ISNULL(V.GF_REFER_FABRICA,''''), null ,V.GF_SORTIMENTO_CO , (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=V.GF_FABRICANTE),V.GF_SORTIMENTO_TA ,V.GF_VARIA_PRECO_C , V.GF_VARIA_PRECO_T ,@s_PONTEIRO, V.GF_VARIA_CUSTO_C , V.GF_PERTENECE_A_C ,(SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE ID=P.GF_TRIBUT_ICMS),(SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE ID=P.GF_TRIBUT_ORIGEM), V.GF_VARIA_CUSTO_T , ROUND( ISNULL(V.FV_PR_COSTE,0), 2 ), V.GF_CUSTO_REPOSI2 ,V.GF_CUSTO_REPOSI3 ,V.GF_CUSTO_REPOSI4 ,'''' , (SELECT CLAVE FROM USUARIOS WHERE USUARIO#=P.UDISEN),'''' , V.GF_GIRO_ENTREGA ,V.GF_INATIVO ,(SELECT IDTALLA FROM TSIM WHERE ID=P.STALLA), P.GF_ENVIA_LOJA_VA ,P.GF_ENVIA_LOJA_AT ,P.GF_ENVIA_REPRESE , P.GF_ENVIA_VAREJO_ ,P.GF_ENVIA_ATACADO ,'''' , (SELECT GF_REDE_LOJAS FROM GF_REDE_LOJAS_GR WHERE ID=V.GF_REDE_LOJAS),P.GF_DATA_PARA_TRA ,V.GF_FABRICANTE_IC , V.GF_FABRICANTE_PR ,V.GF_TAXA_JUROS_DE ,V.GF_TAXA_IMPOSTOS , V.GF_PRECO_REPOSI1 ,V.GF_PRECO_REPOSI2 ,V.GF_PRECO_REPOSI3 , V.GF_PRECO_REPOSI4 ,V.GF_PRECO_A_VIST1 ,V.GF_PRECO_A_VIST2 , V.GF_PRECO_A_VIST3 ,V.GF_PRECO_A_VIST4 ,V.GF_FABRICANTE_FR , 0 ,V.GF_DATA_CADASTRO , -- Siempre que se libere, el estado es EN ESTUDIO ( select GF_STATUS_PRODUT FROM GF_PRODUTOS_STAT WHERE GF_DESC_STATUS_P = ''EN ESTUDIO'' ), ( select GF_TIPO_STATUS_P from GF_PRODUTOS_STAT where GF_STATUS_PRODUT = ''ES'' ), -- V.GF_STATUS_PRODUT V.GF_OBS, (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE ID=V.GF_RESTRICAO_LAV), V.GF_EMPRESA,V.GF_ORCAMENTO,(SELECT GF_CLIENTE_ATACA FROM GF_CLIENTES_ATAC WHERE ID=V.GF_CLIENTE_DO_PR), (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE ID=V.GF_CONTA_CONTABI),V.GF_ESPESSURA,V.GF_ALTURA , V.GF_LARGURA ,V.GF_COMPRIMENTO ,V.GF_EMPILHAMENTO_ , (SELECT ID FROM SEXO_TIPO WHERE ID=V.GF_SEXO_TIPO),(SELECT ID FROM PARTE_TIPO WHERE ID=V.GF_PARTE_TIPO), (SELECT COMPOSICAO FROM MATERIAIS_COMPOSICAO WHERE DESC_COMPOSICAO=(SELECT GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM WHERE ID = (SELECT GF_COMPOSICAO FROM INSERTED))) FROM PRNDS P,VARCOLOR V WHERE P.CARPETA#=V.IDPRENDA AND V.IDVARCOLOR=@IDVAR -- Insertamos en Foto Producto (linx) EXECUTE GF_ACTUALIZA_IMAGENES_PRODUCTO @IDVAR -- Insertamos en Estado Log (linx) INSERT INTO dbo.PRODUTOS_STATUS_LOG (STATUS_PRODUTO,PRODUTO,DATA_ALTERACAO,STATUS_ANTIGO,RESPONSAVEL) -- cambio para F.Varela: se pasa como primer estado "En Estudio" SELECT ''ES'',GF_PRODUTO,GETDATE(),''ES'',USER FROM VARCOLOR WHERE IDVARCOLOR=@IDVAR -- Insertamos en Productos Colores (linx) -- Se utiliza un cursor para poder recoger el color del material principal para cada color de la variante -- Se basa en la unicidad del material principal en el detalle de la variante. -- Modificado por: Jorge Rodero --> 25/06/2003 DECLARE CS_COLORES_PRODUCTO CURSOR FOR SELECT ORDENPM FROM GF_PRODUTO_CORES WHERE ID_CART_COL = @n_IdCarta ORDER BY ORDENPM OPEN CS_COLORES_PRODUCTO FETCH NEXT FROM CS_COLORES_PRODUCTO INTO @n_Orden WHILE @@FETCH_STATUS = 0 BEGIN SET @s_Sql = ''INSERT INTO PRODUTO_CORES '' + ''( PRODUTO, COR_PRODUTO, DESC_COR_PRODUTO, INICIO_VENDAS, FIM_VENDAS, STATUS_VENDA_ATUAL, MATERIAL, COR_MATERIAL ) '' + ''SELECT '' + '' V.GF_PRODUTO, '' + '' ( SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID = PC.GF_COR_PRODUTO ), '' + '' PC.GF_DESC_COR_PROD, '' + '' PC.GF_INICIO_VENDAS, '' + '' PC.GF_FIM_VENDAS, '' + '' 1, '' + '' ( SELECT GF_MATERIAL FROM ETEJI WHERE ID = V.GF_MATERIAL ), '' + '' ( SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID = ( SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID = R.C'' + LTRIM( RTRIM( CONVERT( VARCHAR(10), @n_Orden ) ) ) + '' ) ) '' + '' FROM '' + '' VARCOLOR V '' + '' LEFT JOIN GF_PRODUTO_CORES PC ON V.IDCARTA = PC.ID_CART_COL AND ORDENPM = '' + LTRIM( RTRIM( CONVERT( VARCHAR(10), @n_Orden) ) ) + '' '' + '' LEFT JOIN RCOMPVARCOLOR R ON V.IDVARCOLOR = R.IDVARCOLOR '' + '' WHERE '' + '' R.TEJIDO_PRINC = 1 AND V.IDVARCOLOR = '' + CONVERT( VARCHAR(10), @IDVAR ) EXEC( @s_Sql ) FETCH NEXT FROM CS_COLORES_PRODUCTO INTO @n_Orden END CLOSE CS_COLORES_PRODUCTO DEALLOCATE CS_COLORES_PRODUCTO -- Fin Modificado por: Jorge Rodero --> 25/06/2003 -- Colores de fabricante execute gf_sp_colorfab @s_producto,@IDVAR -- Se construye la lista de materiales para pasar a LINX EXECUTE GF_SP_LISTA_MATERIALES @IDVAR -- Devolvemos control al campo TRANSFER. UPDATE dbo.VARCOLOR SET TRANSFER=60 WHERE IDVARCOLOR=@IDVAR --Estado Liberado -- Comentado por petición de Felipe Varela (ZEUS) -- Se controla el estado de la variante hasta su liberación desde Linx -- Fecha 30/06/03 --UPDATE VARCOLOR SET GF_STATUS_PRODUT=1 WHERE IDVARCOLOR=@IDVAR END ELSE ACTUALIZACION: -- El producto ya ha está liberado, entonces se actualiza la tabla PRODUTOS de LINX -- La lista de materiales, si ha cambiado, se actualiza en el trigger GFU_LISTA_MATERIALES de la tabla RCOMPVARCOLOR IF (@n_TRANSFER>50) BEGIN IF NOT EXISTS ( SELECT * FROM dbo.MATERIAIS /*MATERIAIS_CORES*/ WHERE MATERIAL=(SELECT GF_MATERIAL FROM ETEJI WHERE ID=(SELECT GF_MATERIAL FROM INSERTED))) BEGIN SELECT @ERRNO=35022 SELECT @ERRMSG=''No se puede seleccionar para un producto Liberado un material que no este tambien Liberado'' RAISERROR @ERRNO @ERRMSG RETURN END -- primero obtenemos el valor de ponteiro exec gf_calcula_ponteiro @idvar,@IDTALLA,@s_PONTEIRO output UPDATE dbo.PRODUTOS SET --PRODUTO=V.GF_PRODUTO, CODIGO_PRECO='''', MATERIAL=(select GF_MATERIAL from ETEJI where ID=V.GF_MATERIAL), PERIODO_PCP=(select GF_PERIODO_PCP FROM GF_PRODUTOS_PERI WHERE ID=P.GF_PERIODO_PCP), TABELA_OPERACOES=(SELECT GF_PRODUTOS_TAB_ FROM GF_PRODUTOS_TAB_ WHERE ID=V.GF_TABELA_OPERAC), FATOR_OPERACOES=1, CLASSIF_FISCAL=(SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA WHERE ID=P.GF_CLASSIF_FISCA), TIPO_PRODUTO=(SELECT GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO WHERE ID=P.GF_TIPO_PRODUTO), TABELA_MEDIDAS=(SELECT NOMBRE FROM TMEDS WHERE ID=V.MEDS), DESC_PRODUTO=V.GF_DESC_PRODUTO, GRUPO_PRODUTO=(SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE ID=V.GF_GRUPO_PRODUTO), SUBGRUPO_PRODUTO=(SELECT GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE ID=V.GF_SUBGRUPO_PROD), COLECAO=(SELECT GF_COLECAO FROM GF_COLECOES WHERE ID=P.GF_COLECAO), GRADE=(SELECT NOMBRE FROM TSET WHERE ID=P.TSET), DESC_PROD_NF=V.GF_DESC_PROD_NF, LINHA=(SELECT GF_LINHA FROM GF_PRODUTOS_LINH WHERE ID=V.GF_LINHA), GRIFFE=(SELECT GF_GRIFFE FROM GF_PRODUTOS_GRIF WHERE ID=V.GF_GRIFFE), CARTELA=ISNULL(V.GF_CARTELA,''''), UNIDADE=(SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=V.GF_UNIDADE), PESO=V.GF_PESO, REVENDA=V.GF_REVENDA, REFER_FABRICANTE=V.GF_REFER_FABRICA, -- MODELAGEM=(SELECT NOMBRE FROM EMODP WHERE ID=V.STRUCT), SORTIMENTO_COR=V.GF_SORTIMENTO_CO, FABRICANTE=(SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=V.GF_FABRICANTE), SORTIMENTO_TAMANHO=V.GF_SORTIMENTO_TA, VARIA_PRECO_COR=V.GF_VARIA_PRECO_C, VARIA_PRECO_TAM=V.GF_VARIA_PRECO_T, PONTEIRO_PRECO_TAM=@s_PONTEIRO, VARIA_CUSTO_COR=V.GF_VARIA_CUSTO_C, PERTENCE_A_CONJUNTO=V.GF_PERTENECE_A_C, TRIBUT_ICMS=(SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE ID=P.GF_TRIBUT_ICMS), TRIBUT_ORIGEM=(SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE ID=P.GF_TRIBUT_ORIGEM), VARIA_CUSTO_TAM=V.GF_VARIA_CUSTO_T, CUSTO_REPOSICAO1= ROUND( ISNULL(V.FV_PR_COSTE,0), 2 ), CUSTO_REPOSICAO2=ISNULL(V.GF_CUSTO_REPOSI2,0), CUSTO_REPOSICAO3=ISNULL(V.GF_CUSTO_REPOSI3,0), CUSTO_REPOSICAO4=ISNULL(V.GF_CUSTO_REPOSI4,0), DATA_REPOSICAO='''', ESTILISTA=(SELECT CLAVE FROM USUARIOS WHERE USUARIO#=P.UDISEN), MODELISTA='''', GIRO_ENTREGA=ISNULL(V.GF_GIRO_ENTREGA,0), INATIVO=V.GF_INATIVO, TAMANHO_BASE=ISNULL((SELECT IDTALLA FROM TSIM WHERE ID=P.STALLA),0), ENVIA_LOJA_VAREJO=P.GF_ENVIA_LOJA_VA, ENVIA_LOJA_ATACADO=P.GF_ENVIA_LOJA_AT, ENVIA_REPRESENTANTE=P.GF_ENVIA_REPRESE, ENVIA_VAREJO_INTERNET=P.GF_ENVIA_VAREJO_, ENVIA_ATACADO_INTERNET=P.GF_ENVIA_ATACADO, MODELO='''', REDE_LOJAS=(SELECT GF_REDE_LOJAS FROM GF_REDE_LOJAS_GR WHERE ID=V.GF_REDE_LOJAS), DATA_PARA_TRANSFERENCIA=P.GF_DATA_PARA_TRA, FABRICANTE_ICMS_ABATER=ISNULL(V.GF_FABRICANTE_IC,0), FABRICANTE_PRAZO_PGTO=ISNULL(V.GF_FABRICANTE_PR,0), TAXA_JUROS_DEFLACIONAR=ISNULL(V.GF_TAXA_JUROS_DE,0), TAXAS_IMPOSTOS_APLICAR=ISNULL(V.GF_TAXA_IMPOSTOS,0), PRECO_REPOSICAO_1=ISNULL(V.GF_PRECO_REPOSI1,0), PRECO_REPOSICAO_2=ISNULL(V.GF_PRECO_REPOSI2,0), PRECO_REPOSICAO_3=ISNULL(V.GF_PRECO_REPOSI3,0), PRECO_REPOSICAO_4=ISNULL(V.GF_PRECO_REPOSI4,0), PRECO_A_VISTA_REPOSICAO_1=ISNULL(V.GF_PRECO_A_VIST1,0), PRECO_A_VISTA_REPOSICAO_2=ISNULL(V.GF_PRECO_A_VIST2,0), PRECO_A_VISTA_REPOSICAO_3=ISNULL(V.GF_PRECO_A_VIST3,0), PRECO_A_VISTA_REPOSICAO_4=ISNULL(V.GF_PRECO_A_VIST4,0), FABRICANTE_FRETE=ISNULL(V.GF_FABRICANTE_FR,0), DROP_DE_TAMANHOS=0, DATA_CADASTRAMENTO=V.GF_DATA_CADASTRO, -- STATUS_PRODUTO=(SELECT GF_STATUS_PRODUT FROM GF_PRODUTOS_STAT WHERE ID=(SELECT GF_STATUS_PRODUT FROM INSERTED)), OBS=V.GF_OBS, COMPOSICAO=(SELECT COMPOSICAO FROM MATERIAIS_COMPOSICAO WHERE DESC_COMPOSICAO=(SELECT GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM WHERE ID = (SELECT GF_COMPOSICAO FROM INSERTED))), RESTRICAO_LAVAGEM =(SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE ID=V.GF_RESTRICAO_LAV), EMPRESA=V.GF_EMPRESA, ORCAMENTO=V.GF_ORCAMENTO, CLIENTE_DO_PRODUTO=(SELECT GF_CLIENTE_ATACA FROM GF_CLIENTES_ATAC WHERE ID=V.GF_CLIENTE_DO_PR), CONTA_CONTABIL=(SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE ID=V.GF_CONTA_CONTABI), ESPESSURA=ISNULL(V.GF_ESPESSURA,0), ALTURA=ISNULL(V.GF_ALTURA,0), LARGURA=ISNULL(V.GF_LARGURA,0), COMPRIMENTO=ISNULL(V.GF_COMPRIMENTO,0), EMPILHAMENTO_MAXIMO=ISNULL(V.GF_EMPILHAMENTO_,0), SEXO_TIPO=ISNULL((SELECT ID FROM SEXO_TIPO WHERE ID=V.GF_SEXO_TIPO),0), PARTE_TIPO=ISNULL((SELECT ID FROM PARTE_TIPO WHERE ID=V.GF_PARTE_TIPO),0) FROM PRNDS P,VARCOLOR V WHERE P.CARPETA#=V.IDPRENDA AND V.IDVARCOLOR=@IDVAR AND V.TRANSFER>50 AND dbo.PRODUTOS.PRODUTO=(SELECT GF_PRODUTO FROM VARCOLOR WHERE IDVARCOLOR=@IDVAR) -- Colores de fabricante execute gf_sp_colorfab @s_producto,@IDVAR -- Actualizamos en Foto Producto (linx) EXECUTE GF_ACTUALIZA_IMAGENES_PRODUCTO @IDVAR -- Borrar los Productos Colores existentes en LINX DELETE FROM PRODUTO_CORES WHERE PRODUTO=@s_Producto -- Insertamos en Productos Colores (linx) INSERT INTO dbo.PRODUTO_CORES (PRODUTO,COR_PRODUTO,DESC_COR_PRODUTO,INICIO_VENDAS,FIM_VENDAS, STATUS_VENDA_ATUAL) SELECT V.GF_PRODUTO, (SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=PC.GF_COR_PRODUTO), PC.GF_DESC_COR_PROD,PC.GF_INICIO_VENDAS,PC.GF_FIM_VENDAS,1 FROM VARCOLOR V,GF_PRODUTO_CORES PC WHERE V.IDCARTA=PC.ID_CART_COL AND V.IDVARCOLOR=@IDVAR --- Pasa los colores de fabricante execute gf_sp_colorfab @s_producto,@IDVAR -- Borrar Lista de Materiales Con Color de LINX DELETE FROM PRODUTOS_FICHA_COR WHERE PRODUTO=@s_Producto -- Borrar Lista de Materiales Base de LINX DELETE FROM PRODUTOS_FICHA WHERE PRODUTO=@s_Producto -- Se pasa a LINX la lista de materiales EXECUTE GF_SP_LISTA_MATERIALES @IDVAR -- Se ajustan reservas de material para Ordenes de Producción -- EXECUTE LX_RECALCULO_RESERVA_MATERIAIS @s_Producto END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROMANEIOS_RESERVAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROMANEIOS_RESERVAS]( [PRODUTO] [char](12) NOT NULL, [ROMANEIO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PEDIDO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [COR_PEDIDO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [QTDE_R] [int] NULL, [INDICA_ADEQUADO] [bit] NOT NULL, [MATA_SALDO] [tinyint] NULL, [R1] [int] NULL, [R2] [int] NULL, [R3] [int] NULL, [R4] [int] NULL, [R5] [int] NULL, [R6] [int] NULL, [R7] [int] NULL, [R8] [int] NULL, [R9] [int] NULL, [R10] [int] NULL, [R11] [int] NULL, [R12] [int] NULL, [R13] [int] NULL, [R14] [int] NULL, [R15] [int] NULL, [R16] [int] NULL, [R17] [int] NULL, [R18] [int] NULL, [R19] [int] NULL, [R20] [int] NULL, [R21] [int] NULL, [R22] [int] NULL, [R23] [int] NULL, [R24] [int] NULL, [R25] [int] NULL, [R26] [int] NULL, [R27] [int] NULL, [R28] [int] NULL, [R29] [int] NULL, [R30] [int] NULL, [R31] [int] NULL, [R32] [int] NULL, [R33] [int] NULL, [R34] [int] NULL, [R35] [int] NULL, [R36] [int] NULL, [R37] [int] NULL, [R38] [int] NULL, [R39] [int] NULL, [R40] [int] NULL, [R41] [int] NULL, [R42] [int] NULL, [R43] [int] NULL, [R44] [int] NULL, [R45] [int] NULL, [R46] [int] NULL, [R47] [int] NULL, [R48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [OBS_ITEM] [varchar](100) NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKROMANEIOS_RESERVAS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [ROMANEIO] ASC, [FILIAL] ASC, [COR_PRODUTO] ASC, [COR_PEDIDO] ASC, [ENTREGA] ASC, [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ROMANEIOS_RESERVAS]') AND name = N'XIE1ROMANEIOS_RESERVAS') CREATE NONCLUSTERED INDEX [XIE1ROMANEIOS_RESERVAS] ON [ROMANEIOS_RESERVAS] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ROMANEIOS_RESERVAS]') AND name = N'XIE2ROMANEIOS_RESERVAS') CREATE NONCLUSTERED INDEX [XIE2ROMANEIOS_RESERVAS] ON [ROMANEIOS_RESERVAS] ( [PRODUTO] ASC, [COR_PEDIDO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ROMANEIOS_RESERVAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_ROMANEIOS_RESERVAS] on [ROMANEIOS_RESERVAS] for INSERT as /* INSERT trigger on ROMANEIOS_RESERVAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* /* PRODUTO_CORES PRODUTO_CORES ROMANEIOS_RESERVAS ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS_RESERVAS #porque #PRODUTO_CORES #não existe.'' goto error end end */ /* VENDAS_PRODUTO VENDAS_PRODUTO ROMANEIOS_RESERVAS ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PEDIDO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PEDIDO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS_RESERVAS #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO ROMANEIOS_RESERVAS ON CHILD INSERT RESTRICT */ if update(ROMANEIO) or update(PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS_PRODUTO where inserted.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO and inserted.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO and inserted.FILIAL = ROMANEIOS_PRODUTO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS_RESERVAS #porque #ROMANEIOS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ROMANEIOS_RESERVAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_ROMANEIOS_RESERVAS] on [ROMANEIOS_RESERVAS] for UPDATE as /* UPDATE trigger on ROMANEIOS_RESERVAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insROMANEIO char(8), @insFILIAL varchar(25), @insCOR_PRODUTO char(10), @insCOR_PEDIDO char(10), @insENTREGA datetime, @insPEDIDO char(12), @delPRODUTO char(12), @delROMANEIO char(8), @delFILIAL varchar(25), @delCOR_PRODUTO char(10), @delCOR_PEDIDO char(10), @delENTREGA datetime, @delPEDIDO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* /* PRODUTO_CORES PRODUTO_CORES ROMANEIOS_RESERVAS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS_RESERVAS #porque #PRODUTO_CORES #não existe.'' goto error end end */ /* VENDAS_PRODUTO VENDAS_PRODUTO ROMANEIOS_RESERVAS ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PEDIDO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PEDIDO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS_RESERVAS #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO ROMANEIOS_RESERVAS ON CHILD UPDATE RESTRICT */ if update(ROMANEIO) or update(PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS_PRODUTO where inserted.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO and inserted.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO and inserted.FILIAL = ROMANEIOS_PRODUTO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS_RESERVAS #porque #ROMANEIOS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[QTDE_R]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[INDICA_ADEQUADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[MATA_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_RESERVAS].[R48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0000]', @objname=N'[ROMANEIOS_RESERVAS].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USER_EMPRESA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [USER_EMPRESA] AS SELECT USER1,EMPRESA1 FROM USERMULT WHERE EMPRESA1>0 UNION SELECT USER2,EMPRESA2 FROM USERMULT WHERE EMPRESA2>0 UNION SELECT USER3,EMPRESA3 FROM USERMULT WHERE EMPRESA3>0 UNION SELECT USER4,EMPRESA4 FROM USERMULT WHERE EMPRESA4>0 UNION SELECT USER5,EMPRESA5 FROM USERMULT WHERE EMPRESA5>0 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_COR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM_COR]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ALTERACAO_DE_PROGRAMACAO] [int] NULL, [PERDAS_NO_PROCESSO] [int] NULL, [QTDE_O] [int] NULL, [QTDE_P] [int] NULL, [O1] [int] NULL, [O2] [int] NULL, [O3] [int] NULL, [O4] [int] NULL, [O5] [int] NULL, [O6] [int] NULL, [O7] [int] NULL, [O8] [int] NULL, [O9] [int] NULL, [O10] [int] NULL, [O11] [int] NULL, [O12] [int] NULL, [O13] [int] NULL, [O14] [int] NULL, [O15] [int] NULL, [O16] [int] NULL, [O17] [int] NULL, [O18] [int] NULL, [O19] [int] NULL, [O20] [int] NULL, [O21] [int] NULL, [O22] [int] NULL, [O23] [int] NULL, [O24] [int] NULL, [O25] [int] NULL, [O26] [int] NULL, [O27] [int] NULL, [O28] [int] NULL, [O29] [int] NULL, [O30] [int] NULL, [O31] [int] NULL, [O32] [int] NULL, [O33] [int] NULL, [O34] [int] NULL, [O35] [int] NULL, [O36] [int] NULL, [O37] [int] NULL, [O38] [int] NULL, [O39] [int] NULL, [O40] [int] NULL, [O41] [int] NULL, [O42] [int] NULL, [O43] [int] NULL, [O44] [int] NULL, [O45] [int] NULL, [O46] [int] NULL, [O47] [int] NULL, [O48] [int] NULL, [P1] [int] NULL, [P2] [int] NULL, [P3] [int] NULL, [P4] [int] NULL, [P5] [int] NULL, [P6] [int] NULL, [P7] [int] NULL, [P8] [int] NULL, [P9] [int] NULL, [P10] [int] NULL, [P11] [int] NULL, [P12] [int] NULL, [P13] [int] NULL, [P14] [int] NULL, [P15] [int] NULL, [P16] [int] NULL, [P17] [int] NULL, [P18] [int] NULL, [P19] [int] NULL, [P20] [int] NULL, [P21] [int] NULL, [P22] [int] NULL, [P23] [int] NULL, [P24] [int] NULL, [P25] [int] NULL, [P26] [int] NULL, [P27] [int] NULL, [P28] [int] NULL, [P29] [int] NULL, [P30] [int] NULL, [P31] [int] NULL, [P32] [int] NULL, [P33] [int] NULL, [P34] [int] NULL, [P35] [int] NULL, [P36] [int] NULL, [P37] [int] NULL, [P38] [int] NULL, [P39] [int] NULL, [P40] [int] NULL, [P41] [int] NULL, [P42] [int] NULL, [P43] [int] NULL, [P44] [int] NULL, [P45] [int] NULL, [P46] [int] NULL, [P47] [int] NULL, [P48] [int] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUCAO_ORDEM_COR] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_COR]') AND name = N'XIE1PRODUCAO_ORDEM_COR') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_ORDEM_COR] ON [PRODUCAO_ORDEM_COR] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_COR]') AND name = N'XIE2PRODUCAO_ORDEM_COR') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_ORDEM_COR] ON [PRODUCAO_ORDEM_COR] ( [QTDE_P] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_ORDEM_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_ORDEM_COR] on [PRODUCAO_ORDEM_COR] for DELETE as /* DELETE trigger on PRODUCAO_ORDEM_COR */ /* default body for LXD_PRODUCAO_ORDEM_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1915 PRODUCAO_OS_SEGUNDA ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_SEGUNDA from PRODUCAO_OS_SEGUNDA,deleted where PRODUCAO_OS_SEGUNDA.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_OS_SEGUNDA.PRODUTO = deleted.PRODUTO and PRODUCAO_OS_SEGUNDA.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUCAO_ORDEM_COR R/1787 PRODUCAO_ORDEM_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_ORDEM_FASE from PRODUCAO_ORDEM_FASE,deleted where PRODUCAO_ORDEM_FASE.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_ORDEM_FASE.PRODUTO = deleted.PRODUTO and PRODUCAO_ORDEM_FASE.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUCAO_ORDEM_COR R/1786 PRODUCAO_OS_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_FASE from PRODUCAO_OS_FASE,deleted where PRODUCAO_OS_FASE.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_OS_FASE.PRODUTO = deleted.PRODUTO and PRODUCAO_OS_FASE.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUCAO_ORDEM_COR R/1594 PRODUCAO_ORDEM_LOTES ON PARENT DELETE CASCADE */ delete PRODUCAO_ORDEM_LOTES from PRODUCAO_ORDEM_LOTES,deleted where PRODUCAO_ORDEM_LOTES.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_ORDEM_LOTES.PRODUTO = deleted.PRODUTO and PRODUCAO_ORDEM_LOTES.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUCAO_ORDEM_COR R/1593 PRODUCAO_TAREFAS_SALDO ON PARENT DELETE CASCADE */ delete PRODUCAO_TAREFAS_SALDO from PRODUCAO_TAREFAS_SALDO,deleted where PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_TAREFAS_SALDO.PRODUTO = deleted.PRODUTO and PRODUCAO_TAREFAS_SALDO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUCAO_ORDEM_COR R/1592 PRODUCAO_OS_TAREFAS ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_TAREFAS from PRODUCAO_OS_TAREFAS,deleted where PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_OS_TAREFAS.PRODUTO = deleted.PRODUTO and PRODUCAO_OS_TAREFAS.COR_PRODUTO = deleted.COR_PRODUTO /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_D_PRODUCAO_ORDEM_COR CURSOR FOR SELECT DISTINCT PROGRAMACAO ,DELETED.PRODUTO,COR_PRODUTO FROM DELETED JOIN PRODUCAO_ORDEM X ON DELETED.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_SALDO_D_PRODUCAO_ORDEM_COR FETCH NEXT FROM CUR_SALDO_D_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_PROGRAMA SET TIPO_PROGRAMACAO=2 WHERE PROGRAMACAO=@sPROG AND TIPO_PROGRAMACAO=4 EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_D_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_D_PRODUCAO_ORDEM_COR DEALLOCATE CUR_SALDO_D_PRODUCAO_ORDEM_COR /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM_COR] on [PRODUCAO_ORDEM_COR] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM_COR */ /* default body for LXI_PRODUCAO_ORDEM_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_ORDEM_COR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_COR #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUCAO_ORDEM_COR ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_COR #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /*- VERIFICA A CONSISTENCIA DA GRADE ---------------------------------------------------------------------------------*/ IF (SELECT count(*) FROM INSERTED A,PRODUTOS B,PRODUTOS_TAMANHOS C WHERE A.PRODUTO=B.PRODUTO AND B.GRADE = C.GRADE and ((A.O1<>0 AND (C.TAMANHO_1 ='''' OR C.TAMANHO_1 IS NULL)) OR (A.O2<>0 AND (C.TAMANHO_2 ='''' OR C.TAMANHO_2 IS NULL)) OR (A.O3<>0 AND (C.TAMANHO_3 ='''' OR C.TAMANHO_3 IS NULL)) OR (A.O4<>0 AND (C.TAMANHO_4 ='''' OR C.TAMANHO_4 IS NULL)) OR (A.O5<>0 AND (C.TAMANHO_5 ='''' OR C.TAMANHO_5 IS NULL)) OR (A.O6<>0 AND (C.TAMANHO_6 ='''' OR C.TAMANHO_6 IS NULL)) OR (A.O7<>0 AND (C.TAMANHO_7 ='''' OR C.TAMANHO_7 IS NULL)) OR (A.O8<>0 AND (C.TAMANHO_8 ='''' OR C.TAMANHO_8 IS NULL)) OR (A.O9<>0 AND (C.TAMANHO_9 ='''' OR C.TAMANHO_9 IS NULL)) OR (A.O10<>0 AND (C.TAMANHO_10='''' OR C.TAMANHO_10 IS NULL)) OR (A.O11<>0 AND (C.TAMANHO_11='''' OR C.TAMANHO_11 IS NULL)) OR (A.O12<>0 AND (C.TAMANHO_12='''' OR C.TAMANHO_12 IS NULL)) OR (A.O13<>0 AND (C.TAMANHO_13='''' OR C.TAMANHO_13 IS NULL)) OR (A.O14<>0 AND (C.TAMANHO_14='''' OR C.TAMANHO_14 IS NULL)) OR (A.O15<>0 AND (C.TAMANHO_15='''' OR C.TAMANHO_15 IS NULL)) OR (A.O16<>0 AND (C.TAMANHO_16='''' OR C.TAMANHO_16 IS NULL)) OR (A.O17<>0 AND (C.TAMANHO_17='''' OR C.TAMANHO_17 IS NULL)) OR (A.O18<>0 AND (C.TAMANHO_18='''' OR C.TAMANHO_18 IS NULL)) OR (A.O19<>0 AND (C.TAMANHO_19='''' OR C.TAMANHO_19 IS NULL)) OR (A.O20<>0 AND (C.TAMANHO_20='''' OR C.TAMANHO_20 IS NULL)) OR (A.O21<>0 AND (C.TAMANHO_21='''' OR C.TAMANHO_21 IS NULL)) OR (A.O22<>0 AND (C.TAMANHO_22='''' OR C.TAMANHO_22 IS NULL)) OR (A.O23<>0 AND (C.TAMANHO_23='''' OR C.TAMANHO_23 IS NULL)) OR (A.O24<>0 AND (C.TAMANHO_24='''' OR C.TAMANHO_24 IS NULL)) OR (A.O25<>0 AND (C.TAMANHO_25='''' OR C.TAMANHO_25 IS NULL)) OR (A.O26<>0 AND (C.TAMANHO_26='''' OR C.TAMANHO_26 IS NULL)) OR (A.O27<>0 AND (C.TAMANHO_27='''' OR C.TAMANHO_27 IS NULL)) OR (A.O28<>0 AND (C.TAMANHO_28='''' OR C.TAMANHO_28 IS NULL)) OR (A.O29<>0 AND (C.TAMANHO_29='''' OR C.TAMANHO_29 IS NULL)) OR (A.O30<>0 AND (C.TAMANHO_30='''' OR C.TAMANHO_30 IS NULL)) OR (A.O31<>0 AND (C.TAMANHO_31='''' OR C.TAMANHO_31 IS NULL)) OR (A.O32<>0 AND (C.TAMANHO_32='''' OR C.TAMANHO_32 IS NULL)) OR (A.O33<>0 AND (C.TAMANHO_33='''' OR C.TAMANHO_33 IS NULL)) OR (A.O34<>0 AND (C.TAMANHO_34='''' OR C.TAMANHO_34 IS NULL)) OR (A.O35<>0 AND (C.TAMANHO_35='''' OR C.TAMANHO_35 IS NULL)) OR (A.O36<>0 AND (C.TAMANHO_36='''' OR C.TAMANHO_36 IS NULL)) OR (A.O37<>0 AND (C.TAMANHO_37='''' OR C.TAMANHO_37 IS NULL)) OR (A.O38<>0 AND (C.TAMANHO_38='''' OR C.TAMANHO_38 IS NULL)) OR (A.O39<>0 AND (C.TAMANHO_39='''' OR C.TAMANHO_39 IS NULL)) OR (A.O40<>0 AND (C.TAMANHO_40='''' OR C.TAMANHO_40 IS NULL)) OR (A.O41<>0 AND (C.TAMANHO_41='''' OR C.TAMANHO_41 IS NULL)) OR (A.O42<>0 AND (C.TAMANHO_42='''' OR C.TAMANHO_42 IS NULL)) OR (A.O43<>0 AND (C.TAMANHO_43='''' OR C.TAMANHO_43 IS NULL)) OR (A.O44<>0 AND (C.TAMANHO_44='''' OR C.TAMANHO_44 IS NULL)) OR (A.O45<>0 AND (C.TAMANHO_45='''' OR C.TAMANHO_45 IS NULL)) OR (A.O46<>0 AND (C.TAMANHO_46='''' OR C.TAMANHO_46 IS NULL)) OR (A.O47<>0 AND (C.TAMANHO_47='''' OR C.TAMANHO_47 IS NULL)) OR (A.O48<>0 AND (C.TAMANHO_48='''' OR C.TAMANHO_48 IS NULL)))) > 0 begin DECLARE @xOP char(8),@XPROD char(12),@XCOR char(10) SELECT @xOP=INSERTED.ORDEM_PRODUCAO,@XPROD=INSERTED.PRODUTO, @XCOR=INSERTED.COR_PRODUTO FROM INSERTED select @errno = 30002, @errmsg = ''Inconsistência na GRADE do Produto ''+RTRIM(LTRIM(@XPROD))+'' na cor ''+RTRIM(LTRIM(@XCOR))+'' da OP ''+RTRIM(LTRIM(@XOP))+''. Favor Verificar !'' goto error End /* FIM DA CONSISTENCIA DA GRADE */ /*--------------------------------------------------------------------------------------------------------------------*/ /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_I_PRODUCAO_ORDEM_COR CURSOR FOR SELECT DISTINCT PROGRAMACAO ,INSERTED.PRODUTO,COR_PRODUTO FROM INSERTED JOIN PRODUCAO_ORDEM X ON INSERTED.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_SALDO_I_PRODUCAO_ORDEM_COR FETCH NEXT FROM CUR_SALDO_I_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_I_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_I_PRODUCAO_ORDEM_COR DEALLOCATE CUR_SALDO_I_PRODUCAO_ORDEM_COR /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM_COR] on [PRODUCAO_ORDEM_COR] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM_COR */ /* default body for LXU_PRODUCAO_ORDEM_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255), @InsA1 QTDE_PRODUTO, @InsA2 QTDE_PRODUTO, @InsA3 QTDE_PRODUTO, @InsA4 QTDE_PRODUTO, @InsA5 QTDE_PRODUTO, @InsA6 QTDE_PRODUTO, @InsA7 QTDE_PRODUTO, @InsA8 QTDE_PRODUTO, @InsA9 QTDE_PRODUTO, @InsA10 QTDE_PRODUTO, @InsA11 QTDE_PRODUTO, @InsA12 QTDE_PRODUTO, @InsA13 QTDE_PRODUTO, @InsA14 QTDE_PRODUTO, @InsA15 QTDE_PRODUTO, @InsA16 QTDE_PRODUTO, @InsA17 QTDE_PRODUTO, @InsA18 QTDE_PRODUTO, @InsA19 QTDE_PRODUTO, @InsA20 QTDE_PRODUTO, @InsA21 QTDE_PRODUTO, @InsA22 QTDE_PRODUTO, @InsA23 QTDE_PRODUTO, @InsA24 QTDE_PRODUTO, @InsA25 QTDE_PRODUTO, @InsA26 QTDE_PRODUTO, @InsA27 QTDE_PRODUTO, @InsA28 QTDE_PRODUTO, @InsA29 QTDE_PRODUTO, @InsA30 QTDE_PRODUTO, @InsA31 QTDE_PRODUTO, @InsA32 QTDE_PRODUTO, @InsA33 QTDE_PRODUTO, @InsA34 QTDE_PRODUTO, @InsA35 QTDE_PRODUTO, @InsA36 QTDE_PRODUTO, @InsA37 QTDE_PRODUTO, @InsA38 QTDE_PRODUTO, @InsA39 QTDE_PRODUTO, @InsA40 QTDE_PRODUTO, @InsA41 QTDE_PRODUTO, @InsA42 QTDE_PRODUTO, @InsA43 QTDE_PRODUTO, @InsA44 QTDE_PRODUTO, @InsA45 QTDE_PRODUTO, @InsA46 QTDE_PRODUTO, @InsA47 QTDE_PRODUTO, @InsA48 QTDE_PRODUTO select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_ORDEM_COR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_COR #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUCAO_ORDEM_COR ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_COR #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUCAO_ORDEM_COR R/1787 PRODUCAO_ORDEM_FASE ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_ORDEM_COR1787 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_ORDEM_COR548 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_ORDEM_COR1787 OPEN PRODUCAO_ORDEM_COR548 FETCH NEXT FROM PRODUCAO_ORDEM_COR1787 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_FASE SET PRODUCAO_ORDEM_FASE.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_ORDEM_FASE.PRODUTO=@insPRODUTO, PRODUCAO_ORDEM_FASE.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_ORDEM_FASE.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_ORDEM_FASE.PRODUTO = @delPRODUTO and PRODUCAO_ORDEM_FASE.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR1787 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_ORDEM_COR1787 CLOSE PRODUCAO_ORDEM_COR548 DEALLOCATE PRODUCAO_ORDEM_COR1787 DEALLOCATE PRODUCAO_ORDEM_COR548 END /* PRODUCAO_ORDEM_COR R/1786 PRODUCAO_OS_FASE ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_ORDEM_COR1786 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_ORDEM_COR548 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_ORDEM_COR1786 OPEN PRODUCAO_ORDEM_COR548 FETCH NEXT FROM PRODUCAO_ORDEM_COR1786 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_FASE SET PRODUCAO_OS_FASE.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_OS_FASE.PRODUTO=@insPRODUTO, PRODUCAO_OS_FASE.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_OS_FASE.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_OS_FASE.PRODUTO = @delPRODUTO and PRODUCAO_OS_FASE.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR1786 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_ORDEM_COR1786 CLOSE PRODUCAO_ORDEM_COR548 DEALLOCATE PRODUCAO_ORDEM_COR1786 DEALLOCATE PRODUCAO_ORDEM_COR548 END /* PRODUCAO_ORDEM_COR R/1594 PRODUCAO_ORDEM_LOTES ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_ORDEM_COR1594 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_ORDEM_COR548 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_ORDEM_COR1594 OPEN PRODUCAO_ORDEM_COR548 FETCH NEXT FROM PRODUCAO_ORDEM_COR1594 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_LOTES SET PRODUCAO_ORDEM_LOTES.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_ORDEM_LOTES.PRODUTO=@insPRODUTO, PRODUCAO_ORDEM_LOTES.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_ORDEM_LOTES.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_ORDEM_LOTES.PRODUTO = @delPRODUTO and PRODUCAO_ORDEM_LOTES.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR1594 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_ORDEM_COR1594 CLOSE PRODUCAO_ORDEM_COR548 DEALLOCATE PRODUCAO_ORDEM_COR1594 DEALLOCATE PRODUCAO_ORDEM_COR548 END /* PRODUCAO_ORDEM_COR R/1593 PRODUCAO_TAREFAS_SALDO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_ORDEM_COR1593 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_ORDEM_COR548 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_ORDEM_COR1593 OPEN PRODUCAO_ORDEM_COR548 FETCH NEXT FROM PRODUCAO_ORDEM_COR1593 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS_SALDO SET PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_TAREFAS_SALDO.PRODUTO=@insPRODUTO, PRODUCAO_TAREFAS_SALDO.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_TAREFAS_SALDO.PRODUTO = @delPRODUTO and PRODUCAO_TAREFAS_SALDO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR1593 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_ORDEM_COR1593 CLOSE PRODUCAO_ORDEM_COR548 DEALLOCATE PRODUCAO_ORDEM_COR1593 DEALLOCATE PRODUCAO_ORDEM_COR548 END /* PRODUCAO_ORDEM_COR R/1592 PRODUCAO_OS_TAREFAS ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_ORDEM_COR1592 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_ORDEM_COR548 CURSOR FOR SELECT ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_ORDEM_COR1592 OPEN PRODUCAO_ORDEM_COR548 FETCH NEXT FROM PRODUCAO_ORDEM_COR1592 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_TAREFAS SET PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_OS_TAREFAS.PRODUTO=@insPRODUTO, PRODUCAO_OS_TAREFAS.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_OS_TAREFAS.PRODUTO = @delPRODUTO and PRODUCAO_OS_TAREFAS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR1592 INTO @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_ORDEM_COR548 INTO @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_ORDEM_COR1592 CLOSE PRODUCAO_ORDEM_COR548 DEALLOCATE PRODUCAO_ORDEM_COR1592 DEALLOCATE PRODUCAO_ORDEM_COR548 END /*- VERIFICA A CONSISTENCIA DA GRADE ---------------------------------------------------------------------------------*/ IF (SELECT count(*) FROM INSERTED A,PRODUTOS B,PRODUTOS_TAMANHOS C WHERE A.PRODUTO=B.PRODUTO AND B.GRADE = C.GRADE and ((A.O1<>0 AND (C.TAMANHO_1 ='''' OR C.TAMANHO_1 IS NULL)) OR (A.O2<>0 AND (C.TAMANHO_2 ='''' OR C.TAMANHO_2 IS NULL)) OR (A.O3<>0 AND (C.TAMANHO_3 ='''' OR C.TAMANHO_3 IS NULL)) OR (A.O4<>0 AND (C.TAMANHO_4 ='''' OR C.TAMANHO_4 IS NULL)) OR (A.O5<>0 AND (C.TAMANHO_5 ='''' OR C.TAMANHO_5 IS NULL)) OR (A.O6<>0 AND (C.TAMANHO_6 ='''' OR C.TAMANHO_6 IS NULL)) OR (A.O7<>0 AND (C.TAMANHO_7 ='''' OR C.TAMANHO_7 IS NULL)) OR (A.O8<>0 AND (C.TAMANHO_8 ='''' OR C.TAMANHO_8 IS NULL)) OR (A.O9<>0 AND (C.TAMANHO_9 ='''' OR C.TAMANHO_9 IS NULL)) OR (A.O10<>0 AND (C.TAMANHO_10='''' OR C.TAMANHO_10 IS NULL)) OR (A.O11<>0 AND (C.TAMANHO_11='''' OR C.TAMANHO_11 IS NULL)) OR (A.O12<>0 AND (C.TAMANHO_12='''' OR C.TAMANHO_12 IS NULL)) OR (A.O13<>0 AND (C.TAMANHO_13='''' OR C.TAMANHO_13 IS NULL)) OR (A.O14<>0 AND (C.TAMANHO_14='''' OR C.TAMANHO_14 IS NULL)) OR (A.O15<>0 AND (C.TAMANHO_15='''' OR C.TAMANHO_15 IS NULL)) OR (A.O16<>0 AND (C.TAMANHO_16='''' OR C.TAMANHO_16 IS NULL)) OR (A.O17<>0 AND (C.TAMANHO_17='''' OR C.TAMANHO_17 IS NULL)) OR (A.O18<>0 AND (C.TAMANHO_18='''' OR C.TAMANHO_18 IS NULL)) OR (A.O19<>0 AND (C.TAMANHO_19='''' OR C.TAMANHO_19 IS NULL)) OR (A.O20<>0 AND (C.TAMANHO_20='''' OR C.TAMANHO_20 IS NULL)) OR (A.O21<>0 AND (C.TAMANHO_21='''' OR C.TAMANHO_21 IS NULL)) OR (A.O22<>0 AND (C.TAMANHO_22='''' OR C.TAMANHO_22 IS NULL)) OR (A.O23<>0 AND (C.TAMANHO_23='''' OR C.TAMANHO_23 IS NULL)) OR (A.O24<>0 AND (C.TAMANHO_24='''' OR C.TAMANHO_24 IS NULL)) OR (A.O25<>0 AND (C.TAMANHO_25='''' OR C.TAMANHO_25 IS NULL)) OR (A.O26<>0 AND (C.TAMANHO_26='''' OR C.TAMANHO_26 IS NULL)) OR (A.O27<>0 AND (C.TAMANHO_27='''' OR C.TAMANHO_27 IS NULL)) OR (A.O28<>0 AND (C.TAMANHO_28='''' OR C.TAMANHO_28 IS NULL)) OR (A.O29<>0 AND (C.TAMANHO_29='''' OR C.TAMANHO_29 IS NULL)) OR (A.O30<>0 AND (C.TAMANHO_30='''' OR C.TAMANHO_30 IS NULL)) OR (A.O31<>0 AND (C.TAMANHO_31='''' OR C.TAMANHO_31 IS NULL)) OR (A.O32<>0 AND (C.TAMANHO_32='''' OR C.TAMANHO_32 IS NULL)) OR (A.O33<>0 AND (C.TAMANHO_33='''' OR C.TAMANHO_33 IS NULL)) OR (A.O34<>0 AND (C.TAMANHO_34='''' OR C.TAMANHO_34 IS NULL)) OR (A.O35<>0 AND (C.TAMANHO_35='''' OR C.TAMANHO_35 IS NULL)) OR (A.O36<>0 AND (C.TAMANHO_36='''' OR C.TAMANHO_36 IS NULL)) OR (A.O37<>0 AND (C.TAMANHO_37='''' OR C.TAMANHO_37 IS NULL)) OR (A.O38<>0 AND (C.TAMANHO_38='''' OR C.TAMANHO_38 IS NULL)) OR (A.O39<>0 AND (C.TAMANHO_39='''' OR C.TAMANHO_39 IS NULL)) OR (A.O40<>0 AND (C.TAMANHO_40='''' OR C.TAMANHO_40 IS NULL)) OR (A.O41<>0 AND (C.TAMANHO_41='''' OR C.TAMANHO_41 IS NULL)) OR (A.O42<>0 AND (C.TAMANHO_42='''' OR C.TAMANHO_42 IS NULL)) OR (A.O43<>0 AND (C.TAMANHO_43='''' OR C.TAMANHO_43 IS NULL)) OR (A.O44<>0 AND (C.TAMANHO_44='''' OR C.TAMANHO_44 IS NULL)) OR (A.O45<>0 AND (C.TAMANHO_45='''' OR C.TAMANHO_45 IS NULL)) OR (A.O46<>0 AND (C.TAMANHO_46='''' OR C.TAMANHO_46 IS NULL)) OR (A.O47<>0 AND (C.TAMANHO_47='''' OR C.TAMANHO_47 IS NULL)) OR (A.O48<>0 AND (C.TAMANHO_48='''' OR C.TAMANHO_48 IS NULL)))) > 0 begin DECLARE @xOP char(8),@XPROD char(12),@XCOR char(10) SELECT @xOP=INSERTED.ORDEM_PRODUCAO,@XPROD=INSERTED.PRODUTO, @XCOR=INSERTED.COR_PRODUTO FROM INSERTED select @errno = 30002, @errmsg = ''Inconsistência na GRADE do Produto ''+RTRIM(LTRIM(@XPROD))+'' na cor ''+RTRIM(LTRIM(@XCOR))+'' da OP ''+RTRIM(LTRIM(@XOP))+''. Favor Verificar !'' goto error End /* FIM DA CONSISTENCIA DA GRADE */ /*--------------------------------------------------------------------------------------------------------------------*/ /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_U_PRODUCAO_ORDEM_COR CURSOR FOR SELECT DISTINCT PROGRAMACAO ,INSERTED.PRODUTO,COR_PRODUTO FROM INSERTED JOIN PRODUCAO_ORDEM X ON INSERTED.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO UNION SELECT DISTINCT PROGRAMACAO ,DELETED.PRODUTO,COR_PRODUTO FROM DELETED JOIN PRODUCAO_ORDEM X ON DELETED.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_SALDO_U_PRODUCAO_ORDEM_COR FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_PROGRAMA SET TIPO_PROGRAMACAO=2 WHERE PROGRAMACAO=@sPROG AND TIPO_PROGRAMACAO=4 EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_ORDEM_COR INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_U_PRODUCAO_ORDEM_COR DEALLOCATE CUR_SALDO_U_PRODUCAO_ORDEM_COR /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[ALTERACAO_DE_PROGRAMACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[PERDAS_NO_PROCESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[QTDE_P]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[QTDE_P]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[O48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_COR].[P48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_PRODUCAO]', @objname=N'[PRODUCAO_ORDEM_COR].[P48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_DEVOLUCIONES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_DEVOLUCIONES] AS SELECT CENTRO = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CENTRO_ORIGEN, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CENTRO), FILIAL = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.FILIAL_ORIGEN, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.FILIAL), CODIGO = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CODIGO, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CODIGO), PRODUCTO = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.PRODUCTO, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.PRODUCTO), COLOR = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.COLOR, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.COLOR), FECHA = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.FECHA, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.FECHA), /* HOJA DE MOVIMIENTOS Y ESTADO */ NUMHOJA = RDX_V_HOJAS_DEVOLUCIONES.NUMHOJA, ESTADO_HOJA = RDX_V_HOJAS_DEVOLUCIONES.ESTADO, OBSERVACIONES_HOJA = RDX_V_HOJAS_DEVOLUCIONES.OBSERVACIONES, CONTABILIZAR_HOJA = ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, ''S''), /* CANTIDADES SOLICITADAS DESDE VARELA */ S38 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 38 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), S40 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 40 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), S42 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 42 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), S44 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 44 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), S46 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 46 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), S48 = SUM(CASE WHEN RDX_V_HOJAS_DEVOLUCIONES.TALLA = 48 THEN ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END), SOLICITADO = SUM( CASE ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, ''S'') WHEN ''N'' THEN 0 ELSE ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END ), /* CANTIDADES ENVIADAS DESDE EL CENTRO*/ E38 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 38 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), E40 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 40 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), E42 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 42 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), E44 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 44 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), E46 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 46 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), E48 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.TALLA = 48 THEN ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0) END), ENVIADO = SUM(ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0)), DIFERENCIA = SUM( CASE ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, ''S'') WHEN ''N'' THEN 0 ELSE ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CANTIDAD, 0) END) - SUM(ISNULL(RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CANTIDAD, 0)) FROM RDX_V_HOJAS_DEVOLUCIONES FULL OUTER JOIN RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA ON ((RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CENTRO = RDX_V_HOJAS_DEVOLUCIONES.CENTRO_ORIGEN) AND (RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CODIGO_BARRA = RDX_V_HOJAS_DEVOLUCIONES.CODIGO_BARRA) AND (RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.FECHA = RDX_V_HOJAS_DEVOLUCIONES.FECHA)) GROUP BY ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CENTRO_ORIGEN, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CENTRO), ISNULL(RDX_V_HOJAS_DEVOLUCIONES.FILIAL_ORIGEN, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.FILIAL), ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CODIGO, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.CODIGO), ISNULL(RDX_V_HOJAS_DEVOLUCIONES.PRODUCTO, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.PRODUCTO), ISNULL(RDX_V_HOJAS_DEVOLUCIONES.COLOR, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.COLOR), ISNULL(RDX_V_HOJAS_DEVOLUCIONES.FECHA, RDX_V_INVENTARIOEDI_DEVOLUCION_Y_TARA.FECHA), RDX_V_HOJAS_DEVOLUCIONES.NUMHOJA, RDX_V_HOJAS_DEVOLUCIONES.ESTADO, RDX_V_HOJAS_DEVOLUCIONES.OBSERVACIONES, ISNULL(RDX_V_HOJAS_DEVOLUCIONES.CONTABILIZAR, ''S'') ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_PROD_EMBALADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_PROD_EMBALADO]( [NOME_CLIFOR] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [ITEM] [char](3) NOT NULL, [PEDIDO] [char](12) NULL, [PEDIDO_COR_PRODUTO] [char](10) NULL, [ROMANEIO] [char](8) NULL, [CAIXA] [varchar](8) NULL, [PEDIDO_PRODUTO] [char](12) NULL, [PACKS] [char](24) NULL, [ENTREGA] [datetime] NULL, [CAIXA_FECHADA] [bit] NOT NULL, [REPRESENTANTE] [varchar](25) NULL, [IPI] [real] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [VALOR_EMBALADO] [numeric](14, 2) NULL, [QTDE_EMBALADA] [int] NULL, [ORIGEM] [char](1) NULL, [MATA_SALDO] [tinyint] NULL, [E1] [int] NULL, [E2] [int] NULL, [E3] [int] NULL, [E4] [int] NULL, [E5] [int] NULL, [E6] [int] NULL, [E7] [int] NULL, [E8] [int] NULL, [E9] [int] NULL, [E10] [int] NULL, [E11] [int] NULL, [E12] [int] NULL, [E13] [int] NULL, [E14] [int] NULL, [E15] [int] NULL, [E16] [int] NULL, [E17] [int] NULL, [E18] [int] NULL, [E19] [int] NULL, [E20] [int] NULL, [E21] [int] NULL, [E22] [int] NULL, [E23] [int] NULL, [E24] [int] NULL, [E25] [int] NULL, [E26] [int] NULL, [E27] [int] NULL, [E28] [int] NULL, [E29] [int] NULL, [E30] [int] NULL, [E31] [int] NULL, [E32] [int] NULL, [E33] [int] NULL, [E34] [int] NULL, [E35] [int] NULL, [E36] [int] NULL, [E37] [int] NULL, [E38] [int] NULL, [E39] [int] NULL, [E40] [int] NULL, [E41] [int] NULL, [E42] [int] NULL, [E43] [int] NULL, [E44] [int] NULL, [E45] [int] NULL, [E46] [int] NULL, [E47] [int] NULL, [E48] [int] NULL, [ITEM_PEDIDO] [char](4) NULL, CONSTRAINT [XPKVENDAS_PROD_EMBALADO] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PROD_EMBALADO]') AND name = N'XIE1VENDAS_PROD_EMBALADO') CREATE NONCLUSTERED INDEX [XIE1VENDAS_PROD_EMBALADO] ON [VENDAS_PROD_EMBALADO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PROD_EMBALADO]') AND name = N'XIE2VENDAS_PROD_EMBALADO') CREATE NONCLUSTERED INDEX [XIE2VENDAS_PROD_EMBALADO] ON [VENDAS_PROD_EMBALADO] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PROD_EMBALADO]') AND name = N'XIE3VENDAS_PROD_EMBALADO') CREATE NONCLUSTERED INDEX [XIE3VENDAS_PROD_EMBALADO] ON [VENDAS_PROD_EMBALADO] ( [PEDIDO_PRODUTO] ASC, [PEDIDO_COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PROD_EMBALADO]') AND name = N'XIE4VENDAS_PROD_EMBALADO') CREATE NONCLUSTERED INDEX [XIE4VENDAS_PROD_EMBALADO] ON [VENDAS_PROD_EMBALADO] ( [CAIXA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_PROD_EMBALADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_PROD_EMBALADO] on [VENDAS_PROD_EMBALADO] for INSERT as /* INSERT trigger on VENDAS_PROD_EMBALADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_CAIXAS R/1184 VENDAS_PROD_EMBALADO ON CHILD INSERT RESTRICT */ if update(CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXAS where inserted.CAIXA = FATURAMENTO_CAIXAS.CAIXA select @nullcnt = count(*) from inserted where inserted.CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PROD_EMBALADO #porque #FATURAMENTO_CAIXAS #não existe.'' goto error end end /* FILIAIS FILIAIS VENDAS_PROD_EMBALADO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PROD_EMBALADO #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PROD_EMBALADO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PROD_EMBALADO #porque #PRODUTO_CORES #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_PROD_EMBALADO ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PEDIDO_PRODUTO) or update(PEDIDO_COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PEDIDO_PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.PEDIDO_COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA select @nullcnt = count(*) from inserted where inserted.PEDIDO is null or inserted.PEDIDO_PRODUTO is null or inserted.PEDIDO_COR_PRODUTO is null or inserted.ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PROD_EMBALADO #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_PROD_EMBALADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_PROD_EMBALADO] on [VENDAS_PROD_EMBALADO] for UPDATE as /* UPDATE trigger on VENDAS_PROD_EMBALADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @insITEM char(3), @delNOME_CLIFOR varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delFILIAL varchar(25), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_CAIXAS R/1184 VENDAS_PROD_EMBALADO ON CHILD UPDATE RESTRICT */ if update(CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXAS where inserted.CAIXA = FATURAMENTO_CAIXAS.CAIXA select @nullcnt = count(*) from inserted where inserted.CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PROD_EMBALADO #porque #FATURAMENTO_CAIXAS #não existe.'' goto error end end /* FILIAIS FILIAIS VENDAS_PROD_EMBALADO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PROD_EMBALADO #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PROD_EMBALADO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PROD_EMBALADO #porque #PRODUTO_CORES #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_PROD_EMBALADO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PEDIDO_PRODUTO) or update(PEDIDO_COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PEDIDO_PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.PEDIDO_COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA select @nullcnt = count(*) from inserted where inserted.PEDIDO is null and inserted.PEDIDO_PRODUTO is null and inserted.PEDIDO_COR_PRODUTO is null and inserted.ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PROD_EMBALADO #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_PROD_EMBALADO].[ROMANEIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_PROD_EMBALADO].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[CAIXA_FECHADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[VALOR_EMBALADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[QTDE_EMBALADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[MATA_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PROD_EMBALADO].[E48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[VENDAS_PROD_EMBALADO].[E48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_TAREFAS_SALDO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_TAREFAS_SALDO]( [TAREFA] [char](10) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_S] [int] NULL, [S1] [int] NULL, [S2] [int] NULL, [S3] [int] NULL, [S4] [int] NULL, [S5] [int] NULL, [S6] [int] NULL, [S7] [int] NULL, [S8] [int] NULL, [S9] [int] NULL, [S10] [int] NULL, [S11] [int] NULL, [S12] [int] NULL, [S13] [int] NULL, [S14] [int] NULL, [S15] [int] NULL, [S16] [int] NULL, [S17] [int] NULL, [S18] [int] NULL, [S19] [int] NULL, [S20] [int] NULL, [S21] [int] NULL, [S22] [int] NULL, [S23] [int] NULL, [S24] [int] NULL, [S25] [int] NULL, [S26] [int] NULL, [S27] [int] NULL, [S28] [int] NULL, [S29] [int] NULL, [S30] [int] NULL, [S31] [int] NULL, [S32] [int] NULL, [S33] [int] NULL, [S34] [int] NULL, [S35] [int] NULL, [S36] [int] NULL, [S37] [int] NULL, [S38] [int] NULL, [S39] [int] NULL, [S40] [int] NULL, [S41] [int] NULL, [S42] [int] NULL, [S43] [int] NULL, [S44] [int] NULL, [S45] [int] NULL, [S46] [int] NULL, [S47] [int] NULL, [S48] [int] NULL, [ULTIMO_CUSTO_PREVISTO] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUCAO_TAREFAS_SALDO] PRIMARY KEY NONCLUSTERED ( [TAREFA] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_TAREFAS_SALDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_TAREFAS_SALDO] on [PRODUCAO_TAREFAS_SALDO] for INSERT as /* INSERT trigger on PRODUCAO_TAREFAS_SALDO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1593 PRODUCAO_TAREFAS_SALDO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_TAREFAS_SALDO #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1517 PRODUCAO_TAREFAS_SALDO ON CHILD INSERT RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_TAREFAS_SALDO #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_TAREFAS_SALDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_TAREFAS_SALDO] on [PRODUCAO_TAREFAS_SALDO] for UPDATE as /* UPDATE trigger on PRODUCAO_TAREFAS_SALDO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delTAREFA char(10), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1593 PRODUCAO_TAREFAS_SALDO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS_SALDO #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1517 PRODUCAO_TAREFAS_SALDO ON CHILD UPDATE RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS_SALDO #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[QTDE_S]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[QTDE_S]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindrule @rulename=N'[DMN_VALOR_POSITIVO]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[S48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS_SALDO].[ULTIMO_CUSTO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_RECEPCION]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_RECEPCION] AS SELECT CENTRO = ISNULL(RDX_V_ALBARANES.CENTRO, RDX_V_INVENTARIOEDI_RECEPCION.CENTRO), FILIAL = ISNULL(RDX_V_ALBARANES.FILIAL, RDX_V_INVENTARIOEDI_RECEPCION.FILIAL), CODIGO = ISNULL(RDX_V_ALBARANES.CODIGO, RDX_V_INVENTARIOEDI_RECEPCION.CODIGO), PRODUCTO = ISNULL(RDX_V_ALBARANES.PRODUCTO, RDX_V_INVENTARIOEDI_RECEPCION.PRODUCTO), COLOR = ISNULL(RDX_V_ALBARANES.COLOR, RDX_V_INVENTARIOEDI_RECEPCION.COLOR), FECHA = ISNULL(RDX_V_ALBARANES.FECHA, RDX_V_INVENTARIOEDI_RECEPCION.FECHA), /* ALBARAN Y ESTADO */ ALBARAN = RDX_V_ALBARANES.ALBARAN, ESTADO_ALBARAN = RDX_V_ALBARANES.ESTADO, OBSERVACIONES_ALBARAN = RDX_V_ALBARANES.OBSERVACIONES, CONTABILIZAR_ALBARAN = ISNULL(RDX_V_ALBARANES.CONTABILIZAR, ''S''), /* CANTIDADES ENVIADAS DESDE VARELA */ E38 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 38 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), E40 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 40 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), E42 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 42 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), E44 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 44 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), E46 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 46 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), E48 = SUM(CASE WHEN RDX_V_ALBARANES.TALLA = 48 THEN ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END), ENVIADO = SUM( CASE ISNULL(RDX_V_ALBARANES.CONTABILIZAR, ''S'') WHEN ''N'' THEN 0 ELSE ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END ), /* CANTIDADES RECIBIDAS EN EL CENTRO*/ R38 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 38 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), R40 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 40 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), R42 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 42 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), R44 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 44 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), R46 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 46 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), R48 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_RECEPCION.TALLA = 48 THEN ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0) END), RECIBIDO = SUM(ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0)), DIFERENCIA = SUM( CASE ISNULL(RDX_V_ALBARANES.CONTABILIZAR, ''S'') WHEN ''N'' THEN 0 ELSE ISNULL(RDX_V_ALBARANES.CANTIDAD, 0) END ) - SUM(ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD, 0)) FROM RDX_V_ALBARANES FULL OUTER JOIN RDX_V_INVENTARIOEDI_RECEPCION ON ((RDX_V_INVENTARIOEDI_RECEPCION.CENTRO = RDX_V_ALBARANES.CENTRO) AND (RDX_V_INVENTARIOEDI_RECEPCION.CODIGO_BARRA = RDX_V_ALBARANES.CODIGO_BARRA) AND (RDX_V_INVENTARIOEDI_RECEPCION.FECHA = RDX_V_ALBARANES.FECHA)) GROUP BY ISNULL(RDX_V_ALBARANES.CENTRO, RDX_V_INVENTARIOEDI_RECEPCION.CENTRO), ISNULL(RDX_V_ALBARANES.FILIAL, RDX_V_INVENTARIOEDI_RECEPCION.FILIAL), ISNULL(RDX_V_ALBARANES.CODIGO, RDX_V_INVENTARIOEDI_RECEPCION.CODIGO), ISNULL(RDX_V_ALBARANES.PRODUCTO, RDX_V_INVENTARIOEDI_RECEPCION.PRODUCTO), ISNULL(RDX_V_ALBARANES.COLOR, RDX_V_INVENTARIOEDI_RECEPCION.COLOR), ISNULL(RDX_V_ALBARANES.FECHA, RDX_V_INVENTARIOEDI_RECEPCION.FECHA), RDX_V_ALBARANES.ALBARAN, RDX_V_ALBARANES.ESTADO, RDX_V_ALBARANES.OBSERVACIONES, ISNULL(RDX_V_ALBARANES.CONTABILIZAR, ''S'') ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTO_CORES]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [SIMILAR] [int] NULL, [DESC_COR_PRODUTO] [varchar](40) NOT NULL, [SORTIMENTO_COR] [real] NULL, [COR_SORTIDA] [bit] NOT NULL, [STATUS_VENDA_ATUAL] [char](1) NULL, [INICIO_VENDAS] [datetime] NULL, [FIM_VENDAS] [datetime] NULL, [COR_FABRICANTE] [char](8) NULL, [TIPO_LAVAGEM_TINTURARIA] [varchar](25) NULL, [TINTURARIA_LAVAGEM] [bit] NOT NULL, [COR] [char](10) NULL, [MATERIAL] [char](11) NULL, [COR_MATERIAL] [char](10) NULL, [ETIQUETA] [char](4) NULL, [CUSTO_REPOSICAO1] [numeric](14, 2) NULL, [CUSTO_REPOSICAO2] [numeric](14, 2) NULL, [CUSTO_REPOSICAO3] [numeric](14, 2) NULL, [CUSTO_REPOSICAO4] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, [VARIANTE_TAMANHO] [char](2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PRECO_REPOSICAO_1] [numeric](14, 2) NULL, [PRECO_REPOSICAO_2] [numeric](14, 2) NULL, [PRECO_REPOSICAO_3] [numeric](14, 2) NULL, [PRECO_REPOSICAO_4] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_1] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_2] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_3] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_4] [numeric](14, 2) NULL, CONSTRAINT [XPKPRODUTO_CORES] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND name = N'XIE1PRODUTO_CORES') CREATE NONCLUSTERED INDEX [XIE1PRODUTO_CORES] ON [PRODUTO_CORES] ( [MATERIAL] ASC, [COR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND name = N'XIE2PRODUTO_CORES') CREATE NONCLUSTERED INDEX [XIE2PRODUTO_CORES] ON [PRODUTO_CORES] ( [ETIQUETA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND name = N'XIE3PRODUTO_CORES') CREATE NONCLUSTERED INDEX [XIE3PRODUTO_CORES] ON [PRODUTO_CORES] ( [COR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND name = N'XIE4PRODUTO_CORES') CREATE NONCLUSTERED INDEX [XIE4PRODUTO_CORES] ON [PRODUTO_CORES] ( [TIPO_LAVAGEM_TINTURARIA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTO_CORES]') AND name = N'XIE5PRODUTO_CORES') CREATE NONCLUSTERED INDEX [XIE5PRODUTO_CORES] ON [PRODUTO_CORES] ( [SIMILAR] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTO_CORES] on [PRODUTO_CORES] for DELETE as /* DELETE trigger on PRODUTO_CORES */ begin declare @errno int, @errmsg varchar(255) /* PRODUTO_CORES R/2088 LOJA_TRANSITO_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_TRANSITO_PRODUTO where LOJA_TRANSITO_PRODUTO.PRODUTO = deleted.PRODUTO and LOJA_TRANSITO_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #LOJA_TRANSITO_PRODUTO#.'' goto error end /* PRODUTO_CORES R/1999 FATURAMENTO_CANCELADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CANCELADO where FATURAMENTO_CANCELADO.PRODUTO = deleted.PRODUTO and FATURAMENTO_CANCELADO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #FATURAMENTO_CANCELADO#.'' goto error end /* PRODUTO_CORES R/1903 ESTOQUE_SUGESTAO_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SUGESTAO_PRODUTO where ESTOQUE_SUGESTAO_PRODUTO.PRODUTO = deleted.PRODUTO and ESTOQUE_SUGESTAO_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #ESTOQUE_SUGESTAO_PRODUTO#.'' goto error end /* PRODUTO_CORES R/1867 PRODUTOS_FORNECEDOR_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_FORNECEDOR_COR from PRODUTOS_FORNECEDOR_COR,deleted where PRODUTOS_FORNECEDOR_COR.PRODUTO = deleted.PRODUTO and PRODUTOS_FORNECEDOR_COR.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1820 LOJAS_ESTOQUE_IDEAL ON PARENT DELETE CASCADE */ delete LOJAS_ESTOQUE_IDEAL from LOJAS_ESTOQUE_IDEAL,deleted where LOJAS_ESTOQUE_IDEAL.PRODUTO = deleted.PRODUTO and LOJAS_ESTOQUE_IDEAL.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1804 PRODUTOS_LOCALIZACAO ON PARENT DELETE CASCADE */ delete PRODUTOS_LOCALIZACAO from PRODUTOS_LOCALIZACAO,deleted where PRODUTOS_LOCALIZACAO.PRODUTO = deleted.PRODUTO and PRODUTOS_LOCALIZACAO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1728 INVENTARIO_SETOR ON PARENT DELETE CASCADE */ delete INVENTARIO_SETOR from INVENTARIO_SETOR,deleted where INVENTARIO_SETOR.PRODUTO = deleted.PRODUTO and INVENTARIO_SETOR.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1726 INVENTARIO_PRODUTO ON PARENT DELETE CASCADE */ delete INVENTARIO_PRODUTO from INVENTARIO_PRODUTO,deleted where INVENTARIO_PRODUTO.PRODUTO = deleted.PRODUTO and INVENTARIO_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1667 PRODUTOS_CLIENTE_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_CLIENTE_COR from PRODUTOS_CLIENTE_COR,deleted where PRODUTOS_CLIENTE_COR.PRODUTO = deleted.PRODUTO and PRODUTOS_CLIENTE_COR.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1618 LOJA_VENDA_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PRODUTO where LOJA_VENDA_PRODUTO.PRODUTO = deleted.PRODUTO and LOJA_VENDA_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #LOJA_VENDA_PRODUTO#.'' goto error end /* PRODUTO_CORES R/1617 LOJA_VENDA_TROCA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_TROCA where LOJA_VENDA_TROCA.PRODUTO = deleted.PRODUTO and LOJA_VENDA_TROCA.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #LOJA_VENDA_TROCA#.'' goto error end /* PRODUTO_CORES R/1598 ESTOQUE_PRODUTOS_HISTORICO ON PARENT DELETE CASCADE */ delete ESTOQUE_PRODUTOS_HISTORICO from ESTOQUE_PRODUTOS_HISTORICO,deleted where ESTOQUE_PRODUTOS_HISTORICO.PRODUTO = deleted.PRODUTO and ESTOQUE_PRODUTOS_HISTORICO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1595 ESTOQUE_PROD_CTG_AJUSTE ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_AJUSTE from ESTOQUE_PROD_CTG_AJUSTE,deleted where ESTOQUE_PROD_CTG_AJUSTE.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD_CTG_AJUSTE.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1404 VENDAS_LOTE_PROD ON PARENT DELETE CASCADE */ delete VENDAS_LOTE_PROD from VENDAS_LOTE_PROD,deleted where VENDAS_LOTE_PROD.PRODUTO = deleted.PRODUTO and VENDAS_LOTE_PROD.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1397 LOJA_RESERVA_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_RESERVA_PRODUTO from LOJA_RESERVA_PRODUTO,deleted where LOJA_RESERVA_PRODUTO.PRODUTO = deleted.PRODUTO and LOJA_RESERVA_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES ROMANEIOS_RESERVAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ROMANEIOS_RESERVAS where ROMANEIOS_RESERVAS.PRODUTO = deleted.PRODUTO and ROMANEIOS_RESERVAS.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #ROMANEIOS_RESERVAS#.'' goto error end /* PRODUTO_CORES R/1281 PRODUTOS_FICHA_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_FICHA_COR from PRODUTOS_FICHA_COR,deleted where PRODUTOS_FICHA_COR.PRODUTO = deleted.PRODUTO and PRODUTOS_FICHA_COR.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES R/1191 LOJA_SAIDAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_SAIDAS_PRODUTO where LOJA_SAIDAS_PRODUTO.PRODUTO = deleted.PRODUTO and LOJA_SAIDAS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #LOJA_SAIDAS_PRODUTO#.'' goto error end /* PRODUTO_CORES R/1173 LOJA_ENTRADAS_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_ENTRADAS_PRODUTO from LOJA_ENTRADAS_PRODUTO,deleted where LOJA_ENTRADAS_PRODUTO.PRODUTO = deleted.PRODUTO and LOJA_ENTRADAS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_BARRA ON PARENT DELETE CASCADE */ delete PRODUTOS_BARRA from PRODUTOS_BARRA,deleted where PRODUTOS_BARRA.PRODUTO = deleted.PRODUTO and PRODUTOS_BARRA.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_PRECO_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_COR from PRODUTOS_PRECO_COR,deleted where PRODUTOS_PRECO_COR.PRODUTO = deleted.PRODUTO and PRODUTOS_PRECO_COR.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_BARRAS ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_BARRAS from ESTOQUE_PROD_CTG_BARRAS,deleted where ESTOQUE_PROD_CTG_BARRAS.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD_CTG_BARRAS.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_PROD ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_PROD from ESTOQUE_PROD_CTG_PROD,deleted where ESTOQUE_PROD_CTG_PROD.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD_CTG_PROD.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_ITENS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD_CTG_ITENS where ESTOQUE_PROD_CTG_ITENS.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD_CTG_ITENS.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #ESTOQUE_PROD_CTG_ITENS#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PROD_EMBALADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PROD_EMBALADO where VENDAS_PROD_EMBALADO.PRODUTO = deleted.PRODUTO and VENDAS_PROD_EMBALADO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #VENDAS_PROD_EMBALADO#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_SAI ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD1_SAI from ESTOQUE_PROD1_SAI,deleted where ESTOQUE_PROD1_SAI.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD1_SAI.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_PROG_PROD ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_PROG_PROD where PRODUCAO_PROG_PROD.PRODUTO = deleted.PRODUTO and PRODUCAO_PROG_PROD.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #PRODUCAO_PROG_PROD#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_ORDEM_COR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_COR where PRODUCAO_ORDEM_COR.PRODUTO = deleted.PRODUTO and PRODUCAO_ORDEM_COR.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #PRODUCAO_ORDEM_COR#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_ENT ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD1_ENT from ESTOQUE_PROD1_ENT,deleted where ESTOQUE_PROD1_ENT.PRODUTO = deleted.PRODUTO and ESTOQUE_PROD1_ENT.COR_PRODUTO = deleted.COR_PRODUTO /* PRODUTO_CORES PRODUTO_CORES FATURAMENTO_PROD ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_PROD where FATURAMENTO_PROD.PRODUTO = deleted.PRODUTO and FATURAMENTO_PROD.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #FATURAMENTO_PROD#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES ENTRADAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_PRODUTO where ENTRADAS_PRODUTO.PRODUTO = deleted.PRODUTO and ENTRADAS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #ENTRADAS_PRODUTO#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES COMPRAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_PRODUTO where COMPRAS_PRODUTO.PRODUTO = deleted.PRODUTO and COMPRAS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #COMPRAS_PRODUTO#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO where VENDAS_PRODUTO.PRODUTO = deleted.PRODUTO and VENDAS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #VENDAS_PRODUTO#.'' goto error end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PRODUTOS where ESTOQUE_PRODUTOS.PRODUTO = deleted.PRODUTO and ESTOQUE_PRODUTOS.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTO_CORES #porque existem registros em #ESTOQUE_PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTO_CORES] on [PRODUTO_CORES] for INSERT as /* INSERT trigger on PRODUTO_CORES */ /* default body for LXI_PRODUTO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1422 PRODUTO_CORES ON CHILD INSERT RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR select @nullcnt = count(*) from inserted where inserted.SIMILAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_CORES #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end /* PRODUTOS_ETIQUETAS ETIQUETAS_PRODUTOS PRODUTO_CORES ON CHILD INSERT RESTRICT */ if update(ETIQUETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_ETIQUETAS where inserted.ETIQUETA = PRODUTOS_ETIQUETAS.ETIQUETA select @nullcnt = count(*) from inserted where inserted.ETIQUETA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_CORES #porque #PRODUTOS_ETIQUETAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUTO_CORES ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null or inserted.COR_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end /* CORES_BASICAS COR PRODUTO_CORES ON CHILD INSERT RESTRICT */ if update(COR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CORES_BASICAS where inserted.COR = CORES_BASICAS.COR select @nullcnt = count(*) from inserted where inserted.COR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_CORES #porque #CORES_BASICAS #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUTO_CORES ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_CORES #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTO_CORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTO_CORES, INSERTED WHERE PRODUTO_CORES.PRODUTO = INSERTED.PRODUTO and PRODUTO_CORES.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTO_CORES] on [PRODUTO_CORES] for UPDATE as /* UPDATE trigger on PRODUTO_CORES */ /* default body for LXU_PRODUTO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1422 PRODUTO_CORES ON CHILD UPDATE RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR select @nullcnt = count(*) from inserted where inserted.SIMILAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end /* PRODUTOS_ETIQUETAS ETIQUETAS_PRODUTOS PRODUTO_CORES ON CHILD UPDATE RESTRICT */ if update(ETIQUETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_ETIQUETAS where inserted.ETIQUETA = PRODUTOS_ETIQUETAS.ETIQUETA select @nullcnt = count(*) from inserted where inserted.ETIQUETA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque #PRODUTOS_ETIQUETAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUTO_CORES ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null and inserted.COR_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque #MATERIAIS_CORES #não existe.'' goto error end end /* CORES_BASICAS COR PRODUTO_CORES ON CHILD UPDATE RESTRICT */ if update(COR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CORES_BASICAS where inserted.COR = CORES_BASICAS.COR select @nullcnt = count(*) from inserted where inserted.COR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque #CORES_BASICAS #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUTO_CORES ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTO_CORES R/2088 LOJA_TRANSITO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES2088 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES2088 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES2088 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_TRANSITO_PRODUTO SET LOJA_TRANSITO_PRODUTO.PRODUTO=@insPRODUTO, LOJA_TRANSITO_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_TRANSITO_PRODUTO.PRODUTO = @delPRODUTO and LOJA_TRANSITO_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES2088 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES2088 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES2088 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1999 FATURAMENTO_CANCELADO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1999 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1999 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1999 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CANCELADO SET FATURAMENTO_CANCELADO.PRODUTO=@insPRODUTO, FATURAMENTO_CANCELADO.COR_PRODUTO=@insCOR_PRODUTO WHERE FATURAMENTO_CANCELADO.PRODUTO = @delPRODUTO and FATURAMENTO_CANCELADO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1999 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1999 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1999 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1903 ESTOQUE_SUGESTAO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1903 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1903 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1903 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SUGESTAO_PRODUTO SET ESTOQUE_SUGESTAO_PRODUTO.PRODUTO=@insPRODUTO, ESTOQUE_SUGESTAO_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_SUGESTAO_PRODUTO.PRODUTO = @delPRODUTO and ESTOQUE_SUGESTAO_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1903 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1903 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1903 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1867 PRODUTOS_FORNECEDOR_COR ON PARENT UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin if exists ( select * from deleted,PRODUTOS_FORNECEDOR_COR where PRODUTOS_FORNECEDOR_COR.PRODUTO = deleted.PRODUTO and PRODUTOS_FORNECEDOR_COR.COR_PRODUTO = deleted.COR_PRODUTO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTO_CORES #porque existem registros em #PRODUTOS_FORNECEDOR_COR#.'' goto error end end /* PRODUTO_CORES R/1820 LOJAS_ESTOQUE_IDEAL ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1820 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1820 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1820 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJAS_ESTOQUE_IDEAL SET LOJAS_ESTOQUE_IDEAL.PRODUTO=@insPRODUTO, LOJAS_ESTOQUE_IDEAL.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJAS_ESTOQUE_IDEAL.PRODUTO = @delPRODUTO and LOJAS_ESTOQUE_IDEAL.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1820 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1820 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1820 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1804 PRODUTOS_LOCALIZACAO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1804 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1804 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1804 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_LOCALIZACAO SET PRODUTOS_LOCALIZACAO.PRODUTO=@insPRODUTO, PRODUTOS_LOCALIZACAO.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_LOCALIZACAO.PRODUTO = @delPRODUTO and PRODUTOS_LOCALIZACAO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1804 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1804 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1804 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1728 INVENTARIO_SETOR ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1728 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1728 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1728 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE INVENTARIO_SETOR SET INVENTARIO_SETOR.PRODUTO=@insPRODUTO, INVENTARIO_SETOR.COR_PRODUTO=@insCOR_PRODUTO WHERE INVENTARIO_SETOR.PRODUTO = @delPRODUTO and INVENTARIO_SETOR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1728 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1728 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1728 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1726 INVENTARIO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1726 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1726 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1726 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE INVENTARIO_PRODUTO SET INVENTARIO_PRODUTO.PRODUTO=@insPRODUTO, INVENTARIO_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE INVENTARIO_PRODUTO.PRODUTO = @delPRODUTO and INVENTARIO_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1726 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1726 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1726 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1667 PRODUTOS_CLIENTE_COR ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1667 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1667 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1667 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_CLIENTE_COR SET PRODUTOS_CLIENTE_COR.PRODUTO=@insPRODUTO, PRODUTOS_CLIENTE_COR.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_CLIENTE_COR.PRODUTO = @delPRODUTO and PRODUTOS_CLIENTE_COR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1667 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1667 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1667 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1618 LOJA_VENDA_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1618 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1618 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1618 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PRODUTO SET LOJA_VENDA_PRODUTO.PRODUTO=@insPRODUTO, LOJA_VENDA_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_VENDA_PRODUTO.PRODUTO = @delPRODUTO and LOJA_VENDA_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1618 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1618 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1618 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1617 LOJA_VENDA_TROCA ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1617 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1617 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1617 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_TROCA SET LOJA_VENDA_TROCA.PRODUTO=@insPRODUTO, LOJA_VENDA_TROCA.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_VENDA_TROCA.PRODUTO = @delPRODUTO and LOJA_VENDA_TROCA.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1617 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1617 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1617 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1598 ESTOQUE_PRODUTOS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1598 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1598 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1598 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PRODUTOS_HISTORICO SET ESTOQUE_PRODUTOS_HISTORICO.PRODUTO=@insPRODUTO, ESTOQUE_PRODUTOS_HISTORICO.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PRODUTOS_HISTORICO.PRODUTO = @delPRODUTO and ESTOQUE_PRODUTOS_HISTORICO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1598 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1598 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1598 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1595 ESTOQUE_PROD_CTG_AJUSTE ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1595 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1595 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1595 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_AJUSTE SET ESTOQUE_PROD_CTG_AJUSTE.PRODUTO=@insPRODUTO, ESTOQUE_PROD_CTG_AJUSTE.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD_CTG_AJUSTE.PRODUTO = @delPRODUTO and ESTOQUE_PROD_CTG_AJUSTE.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1595 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1595 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1595 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1404 VENDAS_LOTE_PROD ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1404 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1404 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1404 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE_PROD SET VENDAS_LOTE_PROD.PRODUTO=@insPRODUTO, VENDAS_LOTE_PROD.COR_PRODUTO=@insCOR_PRODUTO WHERE VENDAS_LOTE_PROD.PRODUTO = @delPRODUTO and VENDAS_LOTE_PROD.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1404 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1404 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1404 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1397 LOJA_RESERVA_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1397 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1397 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1397 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA_PRODUTO SET LOJA_RESERVA_PRODUTO.PRODUTO=@insPRODUTO, LOJA_RESERVA_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_RESERVA_PRODUTO.PRODUTO = @delPRODUTO and LOJA_RESERVA_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1397 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1397 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1397 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ROMANEIOS_RESERVAS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1366 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1366 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1366 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_RESERVAS SET ROMANEIOS_RESERVAS.PRODUTO=@insPRODUTO, ROMANEIOS_RESERVAS.COR_PRODUTO=@insCOR_PRODUTO WHERE ROMANEIOS_RESERVAS.PRODUTO = @delPRODUTO and ROMANEIOS_RESERVAS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1366 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1366 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1366 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1281 PRODUTOS_FICHA_COR ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1281 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1281 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1281 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA_COR SET PRODUTOS_FICHA_COR.PRODUTO=@insPRODUTO, PRODUTOS_FICHA_COR.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_FICHA_COR.PRODUTO = @delPRODUTO and PRODUTOS_FICHA_COR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1281 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1281 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1281 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1191 LOJA_SAIDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1191 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1191 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1191 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_SAIDAS_PRODUTO SET LOJA_SAIDAS_PRODUTO.PRODUTO=@insPRODUTO, LOJA_SAIDAS_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_SAIDAS_PRODUTO.PRODUTO = @delPRODUTO and LOJA_SAIDAS_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1191 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1191 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1191 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES R/1173 LOJA_ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1173 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1173 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1173 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS_PRODUTO SET LOJA_ENTRADAS_PRODUTO.PRODUTO=@insPRODUTO, LOJA_ENTRADAS_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE LOJA_ENTRADAS_PRODUTO.PRODUTO = @delPRODUTO and LOJA_ENTRADAS_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1173 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1173 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1173 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_BARRA ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1151 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1151 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1151 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_BARRA SET PRODUTOS_BARRA.PRODUTO=@insPRODUTO, PRODUTOS_BARRA.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_BARRA.PRODUTO = @delPRODUTO and PRODUTOS_BARRA.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1151 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1151 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1151 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_PRECO_COR ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1077 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1077 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1077 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_COR SET PRODUTOS_PRECO_COR.PRODUTO=@insPRODUTO, PRODUTOS_PRECO_COR.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_PRECO_COR.PRODUTO = @delPRODUTO and PRODUTOS_PRECO_COR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1077 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1077 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1077 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_BARRAS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1071 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1071 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1071 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_BARRAS SET ESTOQUE_PROD_CTG_BARRAS.PRODUTO=@insPRODUTO, ESTOQUE_PROD_CTG_BARRAS.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD_CTG_BARRAS.PRODUTO = @delPRODUTO and ESTOQUE_PROD_CTG_BARRAS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1071 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1071 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1071 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_PROD ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1066 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1066 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1066 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_PROD SET ESTOQUE_PROD_CTG_PROD.PRODUTO=@insPRODUTO, ESTOQUE_PROD_CTG_PROD.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD_CTG_PROD.PRODUTO = @delPRODUTO and ESTOQUE_PROD_CTG_PROD.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1066 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1066 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1066 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_ITENS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES1054 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES1054 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES1054 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_ITENS SET ESTOQUE_PROD_CTG_ITENS.PRODUTO=@insPRODUTO, ESTOQUE_PROD_CTG_ITENS.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD_CTG_ITENS.PRODUTO = @delPRODUTO and ESTOQUE_PROD_CTG_ITENS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES1054 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES1054 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES1054 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES VENDAS_PROD_EMBALADO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES930 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES930 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES930 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PROD_EMBALADO SET VENDAS_PROD_EMBALADO.PRODUTO=@insPRODUTO, VENDAS_PROD_EMBALADO.COR_PRODUTO=@insCOR_PRODUTO WHERE VENDAS_PROD_EMBALADO.PRODUTO = @delPRODUTO and VENDAS_PROD_EMBALADO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES930 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES930 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES930 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_SAI ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES914 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES914 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES914 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_SAI SET ESTOQUE_PROD1_SAI.PRODUTO=@insPRODUTO, ESTOQUE_PROD1_SAI.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD1_SAI.PRODUTO = @delPRODUTO and ESTOQUE_PROD1_SAI.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES914 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES914 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES914 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_PROG_PROD ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES898 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES898 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES898 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_PROG_PROD SET PRODUCAO_PROG_PROD.PRODUTO=@insPRODUTO, PRODUCAO_PROG_PROD.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_PROG_PROD.PRODUTO = @delPRODUTO and PRODUCAO_PROG_PROD.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES898 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES898 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES898 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_ORDEM_COR ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES789 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES789 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES789 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_COR SET PRODUCAO_ORDEM_COR.PRODUTO=@insPRODUTO, PRODUCAO_ORDEM_COR.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_ORDEM_COR.PRODUTO = @delPRODUTO and PRODUCAO_ORDEM_COR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES789 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES789 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES789 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_ENT ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES766 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES766 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES766 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_ENT SET ESTOQUE_PROD1_ENT.PRODUTO=@insPRODUTO, ESTOQUE_PROD1_ENT.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PROD1_ENT.PRODUTO = @delPRODUTO and ESTOQUE_PROD1_ENT.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES766 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES766 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES766 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES FATURAMENTO_PROD ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES645 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES645 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES645 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_PROD SET FATURAMENTO_PROD.PRODUTO=@insPRODUTO, FATURAMENTO_PROD.COR_PRODUTO=@insCOR_PRODUTO WHERE FATURAMENTO_PROD.PRODUTO = @delPRODUTO and FATURAMENTO_PROD.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES645 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES645 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES645 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES502 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES502 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES502 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRODUTO SET ENTRADAS_PRODUTO.PRODUTO=@insPRODUTO, ENTRADAS_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE ENTRADAS_PRODUTO.PRODUTO = @delPRODUTO and ENTRADAS_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES502 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES502 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES502 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES COMPRAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES501 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES501 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES501 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_PRODUTO SET COMPRAS_PRODUTO.PRODUTO=@insPRODUTO, COMPRAS_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE COMPRAS_PRODUTO.PRODUTO = @delPRODUTO and COMPRAS_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES501 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES501 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES501 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES VENDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES498 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES498 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES498 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO SET VENDAS_PRODUTO.PRODUTO=@insPRODUTO, VENDAS_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO WHERE VENDAS_PRODUTO.PRODUTO = @delPRODUTO and VENDAS_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES498 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES498 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES498 DEALLOCATE PRODUTO_CORES19 END /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PRODUTOS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTO_CORES396 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUTO_CORES19 CURSOR FOR SELECT PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUTO_CORES396 OPEN PRODUTO_CORES19 FETCH NEXT FROM PRODUTO_CORES396 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PRODUTOS SET ESTOQUE_PRODUTOS.PRODUTO=@insPRODUTO, ESTOQUE_PRODUTOS.COR_PRODUTO=@insCOR_PRODUTO WHERE ESTOQUE_PRODUTOS.PRODUTO = @delPRODUTO and ESTOQUE_PRODUTOS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES396 INTO @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTO_CORES19 INTO @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUTO_CORES396 CLOSE PRODUTO_CORES19 DEALLOCATE PRODUTO_CORES396 DEALLOCATE PRODUTO_CORES19 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTO_CORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTO_CORES, INSERTED WHERE PRODUTO_CORES.PRODUTO = INSERTED.PRODUTO and PRODUTO_CORES.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTO_CORES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[SORTIMENTO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[COR_SORTIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTO_CORES].[COR_FABRICANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[TINTURARIA_LAVAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[CUSTO_REPOSICAO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[CUSTO_REPOSICAO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[CUSTO_REPOSICAO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[CUSTO_REPOSICAO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTO_CORES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_REPOSICAO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_REPOSICAO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_REPOSICAO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_REPOSICAO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_A_VISTA_REPOSICAO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_A_VISTA_REPOSICAO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_A_VISTA_REPOSICAO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_CORES].[PRECO_A_VISTA_REPOSICAO_4]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_CAIXA_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_CAIXA_TIPO]( [TIPO_CAIXA] [char](8) NOT NULL, [DESC_TIPO_CAIXA] [varchar](35) NOT NULL, [PESO_CAIXA] [numeric](7, 3) NOT NULL, [LARGURA] [numeric](6, 3) NOT NULL, [COMPRIMENTO] [numeric](6, 3) NOT NULL, [ALTURA] [numeric](6, 3) NOT NULL, [PESO_LIMITE] [numeric](7, 3) NULL, [NAO_CONTROLA_TIPO] [bit] NOT NULL, [NAO_CONTROLA_PESO] [bit] NOT NULL, CONSTRAINT [XPKFATURAMENTO_CAIXA_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_CAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_CAIXA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAMENTO_CAIXA_TIPO] on [FATURAMENTO_CAIXA_TIPO] for DELETE as /* DELETE trigger on FATURAMENTO_CAIXA_TIPO */ begin declare @errno int, @errmsg varchar(255) /* FATURAMENTO_CAIXA_TIPO R/2121 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.TIPO_CAIXA = deleted.TIPO_CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_CAIXA_TIPO #porque existem registros em #VENDAS#.'' goto error end /* FATURAMENTO_CAIXA_TIPO R/2009 COLETOR_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_CAIXA where COLETOR_CAIXA.TIPO_CAIXA = deleted.TIPO_CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_CAIXA_TIPO #porque existem registros em #COLETOR_CAIXA#.'' goto error end /* FATURAMENTO_CAIXA_TIPO R/1823 FATURAMENTO_CAIXAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CAIXAS where FATURAMENTO_CAIXAS.TIPO_CAIXA = deleted.TIPO_CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_CAIXA_TIPO #porque existem registros em #FATURAMENTO_CAIXAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_CAIXA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_CAIXA_TIPO] on [FATURAMENTO_CAIXA_TIPO] for UPDATE as /* UPDATE trigger on FATURAMENTO_CAIXA_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_CAIXA char(8), @delTIPO_CAIXA char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_CAIXA_TIPO R/2121 VENDAS ON PARENT UPDATE CASCADE */ IF update(TIPO_CAIXA) BEGIN DECLARE FATURAMENTO_CAIXA_TIPO2121 CURSOR FOR SELECT TIPO_CAIXA FROM INSERTED DECLARE FATURAMENTO_CAIXA_TIPO1049 CURSOR FOR SELECT TIPO_CAIXA FROM DELETED OPEN FATURAMENTO_CAIXA_TIPO2121 OPEN FATURAMENTO_CAIXA_TIPO1049 FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO2121 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.TIPO_CAIXA=@insTIPO_CAIXA WHERE VENDAS.TIPO_CAIXA = @delTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO2121 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA END END CLOSE FATURAMENTO_CAIXA_TIPO2121 CLOSE FATURAMENTO_CAIXA_TIPO1049 DEALLOCATE FATURAMENTO_CAIXA_TIPO2121 DEALLOCATE FATURAMENTO_CAIXA_TIPO1049 END /* FATURAMENTO_CAIXA_TIPO R/2009 COLETOR_CAIXA ON PARENT UPDATE CASCADE */ IF update(TIPO_CAIXA) BEGIN DECLARE FATURAMENTO_CAIXA_TIPO2009 CURSOR FOR SELECT TIPO_CAIXA FROM INSERTED DECLARE FATURAMENTO_CAIXA_TIPO1049 CURSOR FOR SELECT TIPO_CAIXA FROM DELETED OPEN FATURAMENTO_CAIXA_TIPO2009 OPEN FATURAMENTO_CAIXA_TIPO1049 FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO2009 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_CAIXA SET COLETOR_CAIXA.TIPO_CAIXA=@insTIPO_CAIXA WHERE COLETOR_CAIXA.TIPO_CAIXA = @delTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO2009 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA END END CLOSE FATURAMENTO_CAIXA_TIPO2009 CLOSE FATURAMENTO_CAIXA_TIPO1049 DEALLOCATE FATURAMENTO_CAIXA_TIPO2009 DEALLOCATE FATURAMENTO_CAIXA_TIPO1049 END /* FATURAMENTO_CAIXA_TIPO R/1823 FATURAMENTO_CAIXAS ON PARENT UPDATE CASCADE */ IF update(TIPO_CAIXA) BEGIN DECLARE FATURAMENTO_CAIXA_TIPO1823 CURSOR FOR SELECT TIPO_CAIXA FROM INSERTED DECLARE FATURAMENTO_CAIXA_TIPO1049 CURSOR FOR SELECT TIPO_CAIXA FROM DELETED OPEN FATURAMENTO_CAIXA_TIPO1823 OPEN FATURAMENTO_CAIXA_TIPO1049 FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1823 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CAIXAS SET FATURAMENTO_CAIXAS.TIPO_CAIXA=@insTIPO_CAIXA WHERE FATURAMENTO_CAIXAS.TIPO_CAIXA = @delTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1823 INTO @insTIPO_CAIXA FETCH NEXT FROM FATURAMENTO_CAIXA_TIPO1049 INTO @delTIPO_CAIXA END END CLOSE FATURAMENTO_CAIXA_TIPO1823 CLOSE FATURAMENTO_CAIXA_TIPO1049 DEALLOCATE FATURAMENTO_CAIXA_TIPO1823 DEALLOCATE FATURAMENTO_CAIXA_TIPO1049 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[DESC_TIPO_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[PESO_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[COMPRIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[ALTURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[NAO_CONTROLA_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXA_TIPO].[NAO_CONTROLA_PESO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INVENTARIO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INVENTARIO]( [CODIGO_INVENTARIO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [DESC_INVENTARIO] [varchar](20) NULL, [RESPONSAVEL] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [ARQUIVO_CONTAGEM] [varchar](50) NULL, [QTDE_TOTAL] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [TODOS_PRODUTOS] [bit] NOT NULL, [VALIDO_E_FINALIZADO] [bit] NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKINVENTARIO] PRIMARY KEY NONCLUSTERED ( [CODIGO_INVENTARIO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_INVENTARIO] on [INVENTARIO] for DELETE as /* DELETE trigger on INVENTARIO */ begin declare @errno int, @errmsg varchar(255) /* INVENTARIO R/1727 INVENTARIO_SETOR ON PARENT DELETE CASCADE */ delete INVENTARIO_SETOR from INVENTARIO_SETOR,deleted where INVENTARIO_SETOR.CODIGO_INVENTARIO = deleted.CODIGO_INVENTARIO and INVENTARIO_SETOR.FILIAL = deleted.FILIAL /* INVENTARIO R/1725 INVENTARIO_PRODUTO ON PARENT DELETE CASCADE */ delete INVENTARIO_PRODUTO from INVENTARIO_PRODUTO,deleted where INVENTARIO_PRODUTO.CODIGO_INVENTARIO = deleted.CODIGO_INVENTARIO and INVENTARIO_PRODUTO.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_INVENTARIO] on [INVENTARIO] for INSERT as /* INSERT trigger on INVENTARIO */ /* default body for LXI_LOJA_INVENTARIO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_INVENTARIO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE INVENTARIO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO, INSERTED WHERE INVENTARIO.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_INVENTARIO] on [INVENTARIO] for UPDATE as /* UPDATE trigger on INVENTARIO */ /* default body for LXU_LOJA_INVENTARIO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_INVENTARIO char(8), @insFILIAL varchar(25), @DELCODIGO_INVENTARIO char(8), @DELFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* INVENTARIO R/1727 INVENTARIO_SETOR ON PARENT UPDATE CASCADE */ IF update(CODIGO_INVENTARIO) OR update(FILIAL) BEGIN DECLARE INVENTARIO1727 CURSOR FOR SELECT CODIGO_INVENTARIO, FILIAL FROM INSERTED DECLARE INVENTARIO1002 CURSOR FOR SELECT CODIGO_INVENTARIO, FILIAL FROM DELETED OPEN INVENTARIO1727 OPEN INVENTARIO1002 FETCH NEXT FROM INVENTARIO1727 INTO @insCODIGO_INVENTARIO, @insFILIAL FETCH NEXT FROM INVENTARIO1002 INTO @delCODIGO_INVENTARIO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE INVENTARIO_SETOR SET INVENTARIO_SETOR.CODIGO_INVENTARIO=@insCODIGO_INVENTARIO, INVENTARIO_SETOR.FILIAL=@insFILIAL WHERE INVENTARIO_SETOR.CODIGO_INVENTARIO = @delCODIGO_INVENTARIO and INVENTARIO_SETOR.FILIAL = @delFILIAL FETCH NEXT FROM INVENTARIO1727 INTO @insCODIGO_INVENTARIO, @insFILIAL FETCH NEXT FROM INVENTARIO1002 INTO @delCODIGO_INVENTARIO, @delFILIAL END END CLOSE INVENTARIO1727 CLOSE INVENTARIO1002 DEALLOCATE INVENTARIO1727 DEALLOCATE INVENTARIO1002 END /* INVENTARIO R/1725 INVENTARIO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_INVENTARIO) OR update(FILIAL) BEGIN DECLARE INVENTARIO1725 CURSOR FOR SELECT CODIGO_INVENTARIO, FILIAL FROM INSERTED DECLARE INVENTARIO1002 CURSOR FOR SELECT CODIGO_INVENTARIO, FILIAL FROM DELETED OPEN INVENTARIO1725 OPEN INVENTARIO1002 FETCH NEXT FROM INVENTARIO1725 INTO @insCODIGO_INVENTARIO, @insFILIAL FETCH NEXT FROM INVENTARIO1002 INTO @delCODIGO_INVENTARIO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE INVENTARIO_PRODUTO SET INVENTARIO_PRODUTO.CODIGO_INVENTARIO=@insCODIGO_INVENTARIO, INVENTARIO_PRODUTO.FILIAL=@insFILIAL WHERE INVENTARIO_PRODUTO.CODIGO_INVENTARIO = @delCODIGO_INVENTARIO and INVENTARIO_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM INVENTARIO1725 INTO @insCODIGO_INVENTARIO, @insFILIAL FETCH NEXT FROM INVENTARIO1002 INTO @delCODIGO_INVENTARIO, @delFILIAL END END CLOSE INVENTARIO1725 CLOSE INVENTARIO1002 DEALLOCATE INVENTARIO1725 DEALLOCATE INVENTARIO1002 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE INVENTARIO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO, INSERTED WHERE INVENTARIO.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR INVENTARIO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[INVENTARIO].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[INVENTARIO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO].[TODOS_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO].[VALIDO_E_FINALIZADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_OPERADORAS]( [CODIGO_CARTAO] [char](8) NOT NULL, [NOME_COMPLETO] [varchar](40) NULL, [APELIDO_OPERADOR] [varchar](25) NOT NULL, [SALARIO] [numeric](14, 2) NULL, [DATA_ADMISSAO] [datetime] NULL, [EFICIENCIA_ATUAL] [int] NULL, CONSTRAINT [XPKPRODUTIV_OPERADORAS] PRIMARY KEY NONCLUSTERED ( [CODIGO_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_OPERADORAS] on [PRODUTIV_OPERADORAS] for DELETE as /* DELETE trigger on PRODUTIV_OPERADORAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_OPERADORAS AUSENCIAS PRODUTIV_AUSENCIAS ON PARENT DELETE CASCADE */ delete PRODUTIV_AUSENCIAS from PRODUTIV_AUSENCIAS,deleted where PRODUTIV_AUSENCIAS.CODIGO_CARTAO = deleted.CODIGO_CARTAO /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_CELULA_OPERADORAS where PRODUTIV_CELULA_OPERADORAS.CODIGO_CARTAO = deleted.CODIGO_CARTAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_OPERADORAS #porque existem registros em #PRODUTIV_CELULA_OPERADORAS#.'' goto error end /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_OPERADORA_MAQ ON PARENT DELETE CASCADE */ delete PRODUTIV_OPERADORA_MAQ from PRODUTIV_OPERADORA_MAQ,deleted where PRODUTIV_OPERADORA_MAQ.CODIGO_CARTAO = deleted.CODIGO_CARTAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_OPERADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_OPERADORAS] on [PRODUTIV_OPERADORAS] for UPDATE as /* UPDATE trigger on PRODUTIV_OPERADORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CARTAO char(8), @delCODIGO_CARTAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS AUSENCIAS PRODUTIV_AUSENCIAS ON PARENT UPDATE CASCADE */ IF update(CODIGO_CARTAO) BEGIN DECLARE PRODUTIV_OPERADORAS1035 CURSOR FOR SELECT CODIGO_CARTAO FROM INSERTED DECLARE PRODUTIV_OPERADORAS421 CURSOR FOR SELECT CODIGO_CARTAO FROM DELETED OPEN PRODUTIV_OPERADORAS1035 OPEN PRODUTIV_OPERADORAS421 FETCH NEXT FROM PRODUTIV_OPERADORAS1035 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_AUSENCIAS SET PRODUTIV_AUSENCIAS.CODIGO_CARTAO=@insCODIGO_CARTAO WHERE PRODUTIV_AUSENCIAS.CODIGO_CARTAO = @delCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS1035 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO END END CLOSE PRODUTIV_OPERADORAS1035 CLOSE PRODUTIV_OPERADORAS421 DEALLOCATE PRODUTIV_OPERADORAS1035 DEALLOCATE PRODUTIV_OPERADORAS421 END /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_CELULA_OPERADORAS ON PARENT UPDATE CASCADE */ IF update(CODIGO_CARTAO) BEGIN DECLARE PRODUTIV_OPERADORAS1001 CURSOR FOR SELECT CODIGO_CARTAO FROM INSERTED DECLARE PRODUTIV_OPERADORAS421 CURSOR FOR SELECT CODIGO_CARTAO FROM DELETED OPEN PRODUTIV_OPERADORAS1001 OPEN PRODUTIV_OPERADORAS421 FETCH NEXT FROM PRODUTIV_OPERADORAS1001 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_CELULA_OPERADORAS SET PRODUTIV_CELULA_OPERADORAS.CODIGO_CARTAO=@insCODIGO_CARTAO WHERE PRODUTIV_CELULA_OPERADORAS.CODIGO_CARTAO = @delCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS1001 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO END END CLOSE PRODUTIV_OPERADORAS1001 CLOSE PRODUTIV_OPERADORAS421 DEALLOCATE PRODUTIV_OPERADORAS1001 DEALLOCATE PRODUTIV_OPERADORAS421 END /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_OPERADORA_MAQ ON PARENT UPDATE CASCADE */ IF update(CODIGO_CARTAO) BEGIN DECLARE PRODUTIV_OPERADORAS991 CURSOR FOR SELECT CODIGO_CARTAO FROM INSERTED DECLARE PRODUTIV_OPERADORAS421 CURSOR FOR SELECT CODIGO_CARTAO FROM DELETED OPEN PRODUTIV_OPERADORAS991 OPEN PRODUTIV_OPERADORAS421 FETCH NEXT FROM PRODUTIV_OPERADORAS991 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OPERADORA_MAQ SET PRODUTIV_OPERADORA_MAQ.CODIGO_CARTAO=@insCODIGO_CARTAO WHERE PRODUTIV_OPERADORA_MAQ.CODIGO_CARTAO = @delCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS991 INTO @insCODIGO_CARTAO FETCH NEXT FROM PRODUTIV_OPERADORAS421 INTO @delCODIGO_CARTAO END END CLOSE PRODUTIV_OPERADORAS991 CLOSE PRODUTIV_OPERADORAS421 DEALLOCATE PRODUTIV_OPERADORAS991 DEALLOCATE PRODUTIV_OPERADORAS421 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTIV_OPERADORAS].[NOME_COMPLETO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OPERADORAS].[SALARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OPERADORAS].[EFICIENCIA_ATUAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_CORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_CORES]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [DESC_COR_MATERIAL] [varchar](25) NOT NULL, [REFER_FABRICANTE] [varchar](15) NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NOT NULL, [CUSTO_A_VISTA] [numeric](15, 5) NOT NULL, [CODIGO_EXPORTACAO] [varchar](18) NULL, [LOCALIZACAO] [char](8) NULL, [INICIO_VENDAS] [datetime] NULL, [FIM_VENDAS] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PROCESSO_FABRICACAO] [varchar](25) NULL, [TEC_ENCOLHIMENTO_CORTE_X] [numeric](8, 3) NULL, [TEC_ENCOLHIMENTO_CORTE_Y] [numeric](8, 3) NULL, [TEC_ENCOLHIMENTO_ACABAMENTO_X] [numeric](8, 3) NULL, [TEC_ENCOLHIMENTO_ACABAMENTO_Y] [numeric](8, 3) NULL, [TEC_ENCOLHIMENTO_LAVAGEM_X] [numeric](8, 3) NULL, [TEC_ENCOLHIMENTO_LAVAGEM_Y] [numeric](8, 3) NULL, [FIO_TORSAO] [char](1) NULL, [FIO_CABOS] [tinyint] NULL, [FIO_FILAMENTOS] [tinyint] NULL, [FIO_ESPESSURA] [tinyint] NULL, [TEC_COM_FALHA_AGULHA] [bit] NOT NULL, [GRAMATURA] [numeric](9, 3) NULL, [COR] [char](10) NULL, [DESENHO] [char](10) NULL, [VARIANTE_DESENHO] [char](10) NULL, CONSTRAINT [XPKMATERIAIS_CORES] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_CORES] on [MATERIAIS_CORES] for DELETE as /* DELETE trigger on MATERIAIS_CORES */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_CORES R/2029 VENDAS_LOTE_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE_MATERIAL where VENDAS_LOTE_MATERIAL.MATERIAL = deleted.MATERIAL and VENDAS_LOTE_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #VENDAS_LOTE_MATERIAL#.'' goto error end /* MATERIAIS_CORES R/1990 VENDAS_PRODUTO_FICHA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_FICHA where VENDAS_PRODUTO_FICHA.MATERIAL = deleted.MATERIAL and VENDAS_PRODUTO_FICHA.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #VENDAS_PRODUTO_FICHA#.'' goto error end /* MATERIAIS_CORES R/1927 MATERIAIS_COMBINACAO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_COMBINACAO_CORES where MATERIAIS_COMBINACAO_CORES.MATERIAL = deleted.MATERIAL and MATERIAIS_COMBINACAO_CORES.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #MATERIAIS_COMBINACAO_CORES#.'' goto error end /* MATERIAIS_CORES R/1926 MATERIAIS_COMBINACAO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_COMBINACAO_CORES where MATERIAIS_COMBINACAO_CORES.MATERIAL_COMBINACAO = deleted.MATERIAL and MATERIAIS_COMBINACAO_CORES.COR_MATERIAL_COMBINACAO = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #MATERIAIS_COMBINACAO_CORES#.'' goto error end /* MATERIAIS_CORES R/1869 M_ORDEM_FABRICACAO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO_ITEM where M_ORDEM_FABRICACAO_ITEM.MATERIAL = deleted.MATERIAL and M_ORDEM_FABRICACAO_ITEM.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #M_ORDEM_FABRICACAO_ITEM#.'' goto error end /* MATERIAIS_CORES R/1862 MATERIAIS_PROCESSOS_ROTAS ON PARENT DELETE CASCADE */ delete MATERIAIS_PROCESSOS_ROTAS from MATERIAIS_PROCESSOS_ROTAS,deleted where MATERIAIS_PROCESSOS_ROTAS.MATERIAL = deleted.MATERIAL and MATERIAIS_PROCESSOS_ROTAS.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1792 PRODUCAO_ORDEM_SERV_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_SERV_MATERIAL where PRODUCAO_ORDEM_SERV_MATERIAL.MATERIAL = deleted.MATERIAL and PRODUCAO_ORDEM_SERV_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #PRODUCAO_ORDEM_SERV_MATERIAL#.'' goto error end /* MATERIAIS_CORES R/1753 PRODUCAO_ENCAIXE_PECA ON PARENT DELETE CASCADE */ delete PRODUCAO_ENCAIXE_PECA from PRODUCAO_ENCAIXE_PECA,deleted where PRODUCAO_ENCAIXE_PECA.MATERIAL = deleted.MATERIAL and PRODUCAO_ENCAIXE_PECA.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1682 PRODUCAO_RESERVA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_RESERVA where PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO = deleted.MATERIAL and PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #PRODUCAO_RESERVA#.'' goto error end /* MATERIAIS_CORES R/1658 SUBSTITUICOES_MATERIAL ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL from SUBSTITUICOES_MATERIAL,deleted where SUBSTITUICOES_MATERIAL.MATERIAL = deleted.MATERIAL and SUBSTITUICOES_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1657 SUBSTITUICOES_MATERIAL ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL from SUBSTITUICOES_MATERIAL,deleted where SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = deleted.MATERIAL and SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1649 MATERIAIS_FICHA_TECNICA ON PARENT DELETE CASCADE */ delete MATERIAIS_FICHA_TECNICA from MATERIAIS_FICHA_TECNICA,deleted where MATERIAIS_FICHA_TECNICA.MATERIAL_UTILIZADO = deleted.MATERIAL and MATERIAIS_FICHA_TECNICA.COR_MATERIAL_UTILIZADA = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1648 MATERIAIS_FICHA_TECNICA ON PARENT DELETE CASCADE */ delete MATERIAIS_FICHA_TECNICA from MATERIAIS_FICHA_TECNICA,deleted where MATERIAIS_FICHA_TECNICA.MATERIAL = deleted.MATERIAL and MATERIAIS_FICHA_TECNICA.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1493 MATERIAIS_PRECO ON PARENT DELETE CASCADE */ delete MATERIAIS_PRECO from MATERIAIS_PRECO,deleted where MATERIAIS_PRECO.MATERIAL = deleted.MATERIAL and MATERIAIS_PRECO.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES R/1347 ORCAMENTOS_ITENS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS_ITENS where ORCAMENTOS_ITENS.MATERIAL = deleted.MATERIAL and ORCAMENTOS_ITENS.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #ORCAMENTOS_ITENS#.'' goto error end /* MATERIAIS_CORES MATERIAIS ESTOQUE_MATERIAIS_HISTORICO ON PARENT DELETE CASCADE */ delete ESTOQUE_MATERIAIS_HISTORICO from ESTOQUE_MATERIAIS_HISTORICO,deleted where ESTOQUE_MATERIAIS_HISTORICO.MATERIAL = deleted.MATERIAL and ESTOQUE_MATERIAIS_HISTORICO.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES MATERIAIS_CORES PRODUTOS_FICHA_COR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_FICHA_COR where PRODUTOS_FICHA_COR.MATERIAL = deleted.MATERIAL and PRODUTOS_FICHA_COR.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #PRODUTOS_FICHA_COR#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES PRODUTO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_CORES where PRODUTO_CORES.MATERIAL = deleted.MATERIAL and PRODUTO_CORES.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #PRODUTO_CORES#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES COTACAO_MATERIAIS ON PARENT DELETE CASCADE */ delete COTACAO_MATERIAIS from COTACAO_MATERIAIS,deleted where COTACAO_MATERIAIS.MATERIAL = deleted.MATERIAL and COTACAO_MATERIAIS.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES MATERIAIS_CORES MATERIAIS_FORNECEDOR ON PARENT DELETE CASCADE */ delete MATERIAIS_FORNECEDOR from MATERIAIS_FORNECEDOR,deleted where MATERIAIS_FORNECEDOR.MATERIAL = deleted.MATERIAL and MATERIAIS_FORNECEDOR.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MAT_CTG_ITENS ON PARENT DELETE CASCADE */ delete ESTOQUE_MAT_CTG_ITENS from ESTOQUE_MAT_CTG_ITENS,deleted where ESTOQUE_MAT_CTG_ITENS.MATERIAL = deleted.MATERIAL and ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL = deleted.COR_MATERIAL /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_SAI1_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI1_MAT where ESTOQUE_SAI1_MAT.MATERIAL = deleted.MATERIAL and ESTOQUE_SAI1_MAT.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #ESTOQUE_SAI1_MAT#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES REQUISICAO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_MATERIAL where REQUISICAO_MATERIAL.MATERIAL = deleted.MATERIAL and REQUISICAO_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #REQUISICAO_MATERIAL#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_RET1_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_RET1_MAT where ESTOQUE_RET1_MAT.MATERIAL = deleted.MATERIAL and ESTOQUE_RET1_MAT.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #ESTOQUE_RET1_MAT#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES ENTRADAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MATERIAL where ENTRADAS_MATERIAL.MATERIAL = deleted.MATERIAL and ENTRADAS_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #ENTRADAS_MATERIAL#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES COMPRAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_MATERIAL where COMPRAS_MATERIAL.MATERIAL = deleted.MATERIAL and COMPRAS_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #COMPRAS_MATERIAL#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_MATERIAIS where ESTOQUE_MATERIAIS.MATERIAL = deleted.MATERIAL and ESTOQUE_MATERIAIS.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #ESTOQUE_MATERIAIS#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES VENDAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_MATERIAL where VENDAS_MATERIAL.MATERIAL = deleted.MATERIAL and VENDAS_MATERIAL.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #VENDAS_MATERIAL#.'' goto error end /* MATERIAIS_CORES MATERIAIS_CORES PRODUCAO_RESERVA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_RESERVA where PRODUCAO_RESERVA.MATERIAL = deleted.MATERIAL and PRODUCAO_RESERVA.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_CORES #porque existem registros em #PRODUCAO_RESERVA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_CORES] on [MATERIAIS_CORES] for INSERT as /* INSERT trigger on MATERIAIS_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA R/1414 MATERIAIS_CORES ON CHILD INSERT RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_CORES #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* MATERIAIS MATERIAIS MATERIAIS_CORES ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_CORES #porque #MATERIAIS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE MATERIAIS_CORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MATERIAIS_CORES, INSERTED WHERE MATERIAIS_CORES.MATERIAL = INSERTED.MATERIAL and MATERIAIS_CORES.COR_MATERIAL = INSERTED.COR_MATERIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_CORES] on [MATERIAIS_CORES] for UPDATE as /* UPDATE trigger on MATERIAIS_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA R/1414 MATERIAIS_CORES ON CHILD UPDATE RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_CORES #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* MATERIAIS MATERIAIS MATERIAIS_CORES ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_CORES #porque #MATERIAIS #não existe.'' goto error end end /* MATERIAIS_CORES R/2029 VENDAS_LOTE_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES2029 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES2029 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES2029 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE_MATERIAL SET VENDAS_LOTE_MATERIAL.MATERIAL=@insMATERIAL, VENDAS_LOTE_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE VENDAS_LOTE_MATERIAL.MATERIAL = @delMATERIAL and VENDAS_LOTE_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES2029 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES2029 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES2029 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1990 VENDAS_PRODUTO_FICHA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1990 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1990 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1990 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_FICHA SET VENDAS_PRODUTO_FICHA.MATERIAL=@insMATERIAL, VENDAS_PRODUTO_FICHA.COR_MATERIAL=@insCOR_MATERIAL WHERE VENDAS_PRODUTO_FICHA.MATERIAL = @delMATERIAL and VENDAS_PRODUTO_FICHA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1990 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1990 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1990 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1927 MATERIAIS_COMBINACAO_CORES ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1927 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1927 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1927 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_COMBINACAO_CORES SET MATERIAIS_COMBINACAO_CORES.MATERIAL=@insMATERIAL, MATERIAIS_COMBINACAO_CORES.COR_MATERIAL=@insCOR_MATERIAL WHERE MATERIAIS_COMBINACAO_CORES.MATERIAL = @delMATERIAL and MATERIAIS_COMBINACAO_CORES.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1927 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1927 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1927 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1926 MATERIAIS_COMBINACAO_CORES ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1926 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1926 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1926 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_COMBINACAO_CORES SET MATERIAIS_COMBINACAO_CORES.MATERIAL_COMBINACAO=@insMATERIAL, MATERIAIS_COMBINACAO_CORES.COR_MATERIAL_COMBINACAO=@insCOR_MATERIAL WHERE MATERIAIS_COMBINACAO_CORES.MATERIAL_COMBINACAO = @delMATERIAL and MATERIAIS_COMBINACAO_CORES.COR_MATERIAL_COMBINACAO = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1926 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1926 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1926 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1792 PRODUCAO_ORDEM_SERV_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1792 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1792 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1792 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERV_MATERIAL SET PRODUCAO_ORDEM_SERV_MATERIAL.MATERIAL=@insMATERIAL, PRODUCAO_ORDEM_SERV_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUCAO_ORDEM_SERV_MATERIAL.MATERIAL = @delMATERIAL and PRODUCAO_ORDEM_SERV_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1792 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1792 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1792 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1753 PRODUCAO_ENCAIXE_PECA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1753 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1753 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1753 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ENCAIXE_PECA SET PRODUCAO_ENCAIXE_PECA.MATERIAL=@insMATERIAL, PRODUCAO_ENCAIXE_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUCAO_ENCAIXE_PECA.MATERIAL = @delMATERIAL and PRODUCAO_ENCAIXE_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1753 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1753 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1753 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1682 PRODUCAO_RESERVA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1682 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1682 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1682 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RESERVA SET PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO=@insMATERIAL, PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO=@insCOR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO = @delMATERIAL and PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1682 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1682 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1682 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1658 SUBSTITUICOES_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1658 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1658 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1658 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL SET SUBSTITUICOES_MATERIAL.MATERIAL=@insMATERIAL, SUBSTITUICOES_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE SUBSTITUICOES_MATERIAL.MATERIAL = @delMATERIAL and SUBSTITUICOES_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1658 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1658 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1658 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1657 SUBSTITUICOES_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1657 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1657 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1657 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL SET SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=@insMATERIAL, SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=@insCOR_MATERIAL WHERE SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = @delMATERIAL and SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1657 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1657 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1657 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1649 MATERIAIS_FICHA_TECNICA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1649 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1649 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1649 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FICHA_TECNICA SET MATERIAIS_FICHA_TECNICA.MATERIAL_UTILIZADO=@insMATERIAL, MATERIAIS_FICHA_TECNICA.COR_MATERIAL_UTILIZADA=@insCOR_MATERIAL WHERE MATERIAIS_FICHA_TECNICA.MATERIAL_UTILIZADO = @delMATERIAL and MATERIAIS_FICHA_TECNICA.COR_MATERIAL_UTILIZADA = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1649 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1649 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1649 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1648 MATERIAIS_FICHA_TECNICA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1648 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1648 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1648 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FICHA_TECNICA SET MATERIAIS_FICHA_TECNICA.MATERIAL=@insMATERIAL, MATERIAIS_FICHA_TECNICA.COR_MATERIAL=@insCOR_MATERIAL WHERE MATERIAIS_FICHA_TECNICA.MATERIAL = @delMATERIAL and MATERIAIS_FICHA_TECNICA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1648 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1648 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1648 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1493 MATERIAIS_PRECO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1493 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1493 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1493 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PRECO SET MATERIAIS_PRECO.MATERIAL=@insMATERIAL, MATERIAIS_PRECO.COR_MATERIAL=@insCOR_MATERIAL WHERE MATERIAIS_PRECO.MATERIAL = @delMATERIAL and MATERIAIS_PRECO.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1493 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1493 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1493 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES R/1347 ORCAMENTOS_ITENS ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1347 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1347 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1347 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_ITENS SET ORCAMENTOS_ITENS.MATERIAL=@insMATERIAL, ORCAMENTOS_ITENS.COR_MATERIAL=@insCOR_MATERIAL WHERE ORCAMENTOS_ITENS.MATERIAL = @delMATERIAL and ORCAMENTOS_ITENS.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1347 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1347 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1347 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS ESTOQUE_MATERIAIS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1322 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1322 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1322 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MATERIAIS_HISTORICO SET ESTOQUE_MATERIAIS_HISTORICO.MATERIAL=@insMATERIAL, ESTOQUE_MATERIAIS_HISTORICO.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_MATERIAIS_HISTORICO.MATERIAL = @delMATERIAL and ESTOQUE_MATERIAIS_HISTORICO.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1322 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1322 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1322 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES PRODUTOS_FICHA_COR ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1280 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1280 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1280 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA_COR SET PRODUTOS_FICHA_COR.MATERIAL=@insMATERIAL, PRODUTOS_FICHA_COR.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUTOS_FICHA_COR.MATERIAL = @delMATERIAL and PRODUTOS_FICHA_COR.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1280 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1280 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1280 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1264 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1264 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1264 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.MATERIAL=@insMATERIAL, PRODUTO_CORES.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUTO_CORES.MATERIAL = @delMATERIAL and PRODUTO_CORES.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1264 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1264 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1264 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES COTACAO_MATERIAIS ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1199 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1199 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1199 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACAO_MATERIAIS SET COTACAO_MATERIAIS.MATERIAL=@insMATERIAL, COTACAO_MATERIAIS.COR_MATERIAL=@insCOR_MATERIAL WHERE COTACAO_MATERIAIS.MATERIAL = @delMATERIAL and COTACAO_MATERIAIS.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1199 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1199 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1199 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES MATERIAIS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES1059 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES1059 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES1059 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FORNECEDOR SET MATERIAIS_FORNECEDOR.MATERIAL=@insMATERIAL, MATERIAIS_FORNECEDOR.COR_MATERIAL=@insCOR_MATERIAL WHERE MATERIAIS_FORNECEDOR.MATERIAL = @delMATERIAL and MATERIAIS_FORNECEDOR.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES1059 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES1059 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES1059 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MAT_CTG_ITENS ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES959 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES959 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES959 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_CTG_ITENS SET ESTOQUE_MAT_CTG_ITENS.MATERIAL=@insMATERIAL, ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_MAT_CTG_ITENS.MATERIAL = @delMATERIAL and ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES959 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES959 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES959 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_SAI1_MAT ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES813 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES813 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES813 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI1_MAT SET ESTOQUE_SAI1_MAT.MATERIAL=@insMATERIAL, ESTOQUE_SAI1_MAT.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_SAI1_MAT.MATERIAL = @delMATERIAL and ESTOQUE_SAI1_MAT.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES813 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES813 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES813 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES REQUISICAO_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES793 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES793 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES793 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_MATERIAL SET REQUISICAO_MATERIAL.MATERIAL=@insMATERIAL, REQUISICAO_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE REQUISICAO_MATERIAL.MATERIAL = @delMATERIAL and REQUISICAO_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES793 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES793 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES793 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_RET1_MAT ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES679 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES679 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES679 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET1_MAT SET ESTOQUE_RET1_MAT.MATERIAL=@insMATERIAL, ESTOQUE_RET1_MAT.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_RET1_MAT.MATERIAL = @delMATERIAL and ESTOQUE_RET1_MAT.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES679 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES679 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES679 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES625 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES625 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES625 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.MATERIAL=@insMATERIAL, ENTRADAS_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE ENTRADAS_MATERIAL.MATERIAL = @delMATERIAL and ENTRADAS_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES625 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES625 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES625 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES COMPRAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES544 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES544 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES544 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_MATERIAL SET COMPRAS_MATERIAL.MATERIAL=@insMATERIAL, COMPRAS_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE COMPRAS_MATERIAL.MATERIAL = @delMATERIAL and COMPRAS_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES544 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES544 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES544 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES VENDAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES439 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES439 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES439 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_MATERIAL SET VENDAS_MATERIAL.MATERIAL=@insMATERIAL, VENDAS_MATERIAL.COR_MATERIAL=@insCOR_MATERIAL WHERE VENDAS_MATERIAL.MATERIAL = @delMATERIAL and VENDAS_MATERIAL.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES439 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES439 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES439 DEALLOCATE MATERIAIS_CORES168 END /* MATERIAIS_CORES MATERIAIS_CORES PRODUCAO_RESERVA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES458 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES458 OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES458 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RESERVA SET PRODUCAO_RESERVA.MATERIAL=@insMATERIAL, PRODUCAO_RESERVA.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @delMATERIAL and PRODUCAO_RESERVA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES458 INTO @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES458 CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES458 DEALLOCATE MATERIAIS_CORES168 END /*----------------------------------------------------------------------------------------------------*/ /* ESTOQUE_MATERIAIS */ IF update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_CORES168 CURSOR FOR SELECT MATERIAL, COR_MATERIAL FROM DELETED OPEN MATERIAIS_CORES168 FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN DELETE FROM ESTOQUE_MATERIAIS WHERE ESTOQUE_MATERIAIS.MATERIAL = @delMATERIAL and ESTOQUE_MATERIAIS.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_CORES168 INTO @delMATERIAL, @delCOR_MATERIAL END END CLOSE MATERIAIS_CORES168 DEALLOCATE MATERIAIS_CORES168 END /*----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE MATERIAIS_CORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MATERIAIS_CORES, INSERTED WHERE MATERIAIS_CORES.MATERIAL = INSERTED.MATERIAL and MATERIAIS_CORES.COR_MATERIAL = INSERTED.COR_MATERIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR MATERIAIS_CORES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_CORES].[REFER_FABRICANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[CUSTO_REPOSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[CUSTO_A_VISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MATERIAIS_CORES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_CORTE_X]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_CORTE_Y]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_ACABAMENTO_X]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_ACABAMENTO_Y]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_LAVAGEM_X]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_ENCOLHIMENTO_LAVAGEM_Y]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[FIO_CABOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[FIO_FILAMENTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[FIO_ESPESSURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_CORES].[TEC_COM_FALHA_AGULHA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[MATERIAIS_CORES].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TMP_ESTOQUE_MATERIAIS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TMP_ESTOQUE_MATERIAIS_HISTORICO]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [DATA_CUSTO_MEDIO] [datetime] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [DATA_PROCESSADO] [datetime] NOT NULL, [QTDE_ESTOQUE] [decimal](10, 3) NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ULTIMO_CUSTO] [numeric](15, 5) NULL, [ULTIMO_CALCULADO] [numeric](15, 5) NULL, [MEDIO_CALCULADO] [numeric](15, 5) NULL, [CUSTO_MEDIO] [numeric](15, 5) NULL, [ULTIMA_SAIDA] [datetime] NULL, [ULTIMA_ENTRADA] [datetime] NULL, [INDICA_SAIDA_RETORNO] [bit] NOT NULL, [QTDE_ENTRADA] [numeric](9, 3) NULL, [QTDE_SAIDA] [numeric](9, 3) NULL, [QTDE_RETORNO] [numeric](9, 3) NULL, [QTDE_RETORNO_OF] [numeric](9, 3) NULL, [QTDE_AJUSTE] [numeric](9, 3) NULL, [FECHAMENTO] [bit] NOT NULL, [ULTIMO_RETORNO] [datetime] NULL, [ULTIMO_RETORNO_OF] [datetime] NULL, [ULTIMO_AJUSTE] [datetime] NULL, [CUSTO_APLICADO] [bit] NOT NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NULL, [CUSTO_A_VISTA] [numeric](15, 5) NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[QTDE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[ULTIMO_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[INDICA_SAIDA_RETORNO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[FECHAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_APLICADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_REPOSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TMP_ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_A_VISTA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_SEQUENCIAIS]( [SERIE_NF] [char](2) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [SEQUENCIAL] [varchar](7) NOT NULL, [TIPO_SERIE] [smallint] NULL, CONSTRAINT [XPKFATURAMENTO_SEQUENCIAIS] PRIMARY KEY NONCLUSTERED ( [SERIE_NF] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAMENTO_SEQUENCIAIS] on [FATURAMENTO_SEQUENCIAIS] for DELETE as /* DELETE trigger on FATURAMENTO_SEQUENCIAIS */ begin declare @errno int, @errmsg varchar(255) /* FATURAMENTO_SEQUENCIAIS SERIE_FILIAL FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.SERIE_NF = deleted.SERIE_NF and FATURAMENTO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_SEQUENCIAIS #porque existem registros em #FATURAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_SEQUENCIAIS] on [FATURAMENTO_SEQUENCIAIS] for INSERT as /* INSERT trigger on FATURAMENTO_SEQUENCIAIS */ /* default body for LXI_FATURAMENTO_SEQUENCIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSERIE_NF char(2), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS FATURAMENTO_SEQUENCIAIS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_SEQUENCIAIS #porque #FILIAIS #não existe.'' goto error end end /* SERIES_NF SERIES_NF FATURAMENTO_SEQUENCIAIS ON CHILD INSERT RESTRICT */ if update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where inserted.SERIE_NF = SERIES_NF.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_SEQUENCIAIS #porque #SERIES_NF #não existe.'' goto error end end /*-UTILIZA MESMA SEQ NF----------------------------------------------------------------------------------------------*/ IF UPDATE(SEQUENCIAL) AND EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_MESMA_SEQ_NF'') AND (SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_MESMA_SEQ_NF'')=''.T.'' BEGIN UPDATE A SET SEQUENCIAL=I.SEQUENCIAL FROM (FATURAMENTO_SEQUENCIAIS A JOIN FILIAIS B ON A.FILIAL=B.FILIAL) JOIN (INSERTED I JOIN FILIAIS FI ON I.FILIAL=FI.FILIAL) ON B.MATRIZ=FI.MATRIZ AND A.SERIE_NF=I.SERIE_NF WHERE A.SEQUENCIAL<>I.SEQUENCIAL END /*-------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_SEQUENCIAIS] on [FATURAMENTO_SEQUENCIAIS] for UPDATE as /* UPDATE trigger on FATURAMENTO_SEQUENCIAIS */ /* default body for LXU_FATURAMENTO_SEQUENCIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSERIE_NF char(2), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS FATURAMENTO_SEQUENCIAIS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_SEQUENCIAIS #porque #FILIAIS #não existe.'' goto error end end /* SERIES_NF SERIES_NF FATURAMENTO_SEQUENCIAIS ON CHILD UPDATE RESTRICT */ if update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where inserted.SERIE_NF = SERIES_NF.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_SEQUENCIAIS #porque #SERIES_NF #não existe.'' goto error end end /* FATURAMENTO_SEQUENCIAIS SERIE_FILIAL FATURAMENTO ON PARENT UPDATE RESTRICT */ if update(SERIE_NF) or update(FILIAL) begin if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.SERIE_NF = deleted.SERIE_NF and FATURAMENTO.FILIAL = deleted.FILIAL ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #FATURAMENTO_SEQUENCIAIS #porque existem registros em #FATURAMENTO#.'' goto error end end /*-UTILIZA MESMA SEQ NF----------------------------------------------------------------------------------------------*/ IF UPDATE(SEQUENCIAL) AND EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_MESMA_SEQ_NF'') AND (SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_MESMA_SEQ_NF'')=''.T.'' BEGIN UPDATE A SET SEQUENCIAL=I.SEQUENCIAL FROM (FATURAMENTO_SEQUENCIAIS A JOIN FILIAIS B ON A.FILIAL=B.FILIAL) JOIN (INSERTED I JOIN FILIAIS FI ON I.FILIAL=FI.FILIAL) ON B.MATRIZ=FI.MATRIZ AND A.SERIE_NF=I.SERIE_NF WHERE A.SEQUENCIAL<>I.SEQUENCIAL END /*-------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_SEQUENCIAIS].[SEQUENCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_SEQUENCIAIS].[TIPO_SERIE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_IMAGEM_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_IMAGEM_PROD]( [NUMERO_FISCAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [ITEM] [int] NOT NULL, [PRODUTO] [char](12) NOT NULL, [DESC_PRODUTO] [varchar](40) NULL, [COR_PRODUTO] [varchar](12) NOT NULL, [DESC_COR_PRODUTO] [varchar](40) NOT NULL, [DESC_CONSUMIVEL] [varchar](250) NULL, [QTDE] [numeric](9, 3) NULL, [UNIDADE] [varchar](5) NULL, [CUSTO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [numeric](5, 2) NULL, [ICMS] [numeric](5, 2) NULL, [IRRF] [numeric](5, 2) NULL, [IPI_VALOR] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [CLASSIF_FISCAL] [varchar](10) NULL, [CLASSIF_REDUZIDA] [char](2) NULL, [CODIGO_TRIBUTACAO] [varchar](3) NULL, [TIMESTAMP] [timestamp] NULL, [QTDE_CANCELADA] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, CONSTRAINT [XPKFATURAMENTO_IMAGEM_PROD] PRIMARY KEY NONCLUSTERED ( [NUMERO_FISCAL] ASC, [FILIAL] ASC, [SERIE_NF] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_IMAGEM_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_IMAGEM_PROD] on [FATURAMENTO_IMAGEM_PROD] for INSERT as /* INSERT trigger on FATURAMENTO_IMAGEM_PROD */ /* default body for LXI_FATURAMENTO_IMAGEM_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_FISCAL char(8), @insFILIAL varchar(25), @insSERIE_NF char(2), @insITEM int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_IMAGEM R/1489 FATURAMENTO_IMAGEM_PROD ON CHILD INSERT RESTRICT */ if update(NUMERO_FISCAL) or update(FILIAL) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_IMAGEM where inserted.NUMERO_FISCAL = FATURAMENTO_IMAGEM.NUMERO_FISCAL and inserted.FILIAL = FATURAMENTO_IMAGEM.FILIAL and inserted.SERIE_NF = FATURAMENTO_IMAGEM.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_IMAGEM_PROD #porque #FATURAMENTO_IMAGEM #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE FATURAMENTO_IMAGEM_PROD SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO_IMAGEM_PROD, INSERTED WHERE FATURAMENTO_IMAGEM_PROD.NUMERO_FISCAL = INSERTED.NUMERO_FISCAL and FATURAMENTO_IMAGEM_PROD.FILIAL = INSERTED.FILIAL and FATURAMENTO_IMAGEM_PROD.SERIE_NF = INSERTED.SERIE_NF and FATURAMENTO_IMAGEM_PROD.ITEM = INSERTED.ITEM AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_IMAGEM_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_IMAGEM_PROD] on [FATURAMENTO_IMAGEM_PROD] for UPDATE as /* UPDATE trigger on FATURAMENTO_IMAGEM_PROD */ /* default body for LXU_FATURAMENTO_IMAGEM_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_FISCAL char(8), @insFILIAL varchar(25), @insSERIE_NF char(2), @insITEM int, @delNUMERO_FISCAL char(8), @delFILIAL varchar(25), @delSERIE_NF char(2), @delITEM int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_IMAGEM R/1489 FATURAMENTO_IMAGEM_PROD ON CHILD UPDATE RESTRICT */ if update(NUMERO_FISCAL) or update(FILIAL) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_IMAGEM where inserted.NUMERO_FISCAL = FATURAMENTO_IMAGEM.NUMERO_FISCAL and inserted.FILIAL = FATURAMENTO_IMAGEM.FILIAL and inserted.SERIE_NF = FATURAMENTO_IMAGEM.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_IMAGEM_PROD #porque #FATURAMENTO_IMAGEM #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FATURAMENTO_IMAGEM_PROD SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO_IMAGEM_PROD, INSERTED WHERE FATURAMENTO_IMAGEM_PROD.NUMERO_FISCAL = INSERTED.NUMERO_FISCAL and FATURAMENTO_IMAGEM_PROD.FILIAL = INSERTED.FILIAL and FATURAMENTO_IMAGEM_PROD.SERIE_NF = INSERTED.SERIE_NF and FATURAMENTO_IMAGEM_PROD.ITEM = INSERTED.ITEM AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FATURAMENTO_IMAGEM_PROD.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[DESC_CONSUMIVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[IPI_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM_PROD].[VALOR_CANCELADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_GERADOR_FATURAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_GERADOR_FATURAS]( [CONSUMIVEL_ITEM] [varchar](40) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [DESC_CONSUMIVEL] [varchar](250) NOT NULL, [QTDE] [numeric](9, 3) NULL, [UNIDADE] [varchar](5) NULL, [CUSTO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [ICMS] [real] NULL, [IRRF] [real] NULL, [VALOR] [numeric](14, 2) NULL, [INATIVO] [bit] NOT NULL, [VENCIMENTO] [char](2) NULL, [MOEDA] [char](6) NULL, [COBRAR_MOEDA_PADRAO] [tinyint] NULL, [DATA_INICIO] [datetime] NULL, [DATA_FINAL] [datetime] NULL, [MES_REAJUSTE] [char](2) NULL, [EMITE_13] [bit] NOT NULL, CONSTRAINT [XPKCLIENTES_GERADOR_FATURAS] PRIMARY KEY NONCLUSTERED ( [CLIENTE_ATACADO] ASC, [CONSUMIVEL_ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_GERADOR_FATURAS].[DESC_CONSUMIVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_GERADOR_FATURAS].[EMITE_13]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SUGESTAO_TRANSFERENCIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SUGESTAO_TRANSFERENCIA]( [SUGESTAO_TRANSFERENCIA] [char](5) NOT NULL, [EMISSAO] [datetime] NOT NULL, [DESC_SUGESTAO] [varchar](40) NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [DATA_LIMITE_EFETIVACAO] [datetime] NULL, [OBS] [text] NULL, [STATUS_SUGESTAO] [char](1) NOT NULL, CONSTRAINT [XPKESTOQUE_SUGESTAO_TRANSFEREN] PRIMARY KEY NONCLUSTERED ( [SUGESTAO_TRANSFERENCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_SUGESTAO_TRANSFERE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_SUGESTAO_TRANSFERE] on [ESTOQUE_SUGESTAO_TRANSFERENCIA] for DELETE as /* DELETE trigger on ESTOQUE_SUGESTAO_TRANSFERENCIA */ begin declare @errno int, @errmsg varchar(255) /* ESTOQUE_SUGESTAO_TRANSFERENCIA R/1902 ESTOQUE_SUGESTAO_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SUGESTAO_PRODUTO where ESTOQUE_SUGESTAO_PRODUTO.SUGESTAO_TRANSFERENCIA = deleted.SUGESTAO_TRANSFERENCIA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ESTOQUE_SUGESTAO_TRANSFERENCIA #porque existem registros em #ESTOQUE_SUGESTAO_PRODUTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SUGESTAO_TRANSFERE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_SUGESTAO_TRANSFERE] on [ESTOQUE_SUGESTAO_TRANSFERENCIA] for UPDATE as /* UPDATE trigger on ESTOQUE_SUGESTAO_TRANSFERENCIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSUGESTAO_TRANSFERENCIA char(5), @delSUGESTAO_TRANSFERENCIA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_SUGESTAO_TRANSFERENCIA R/1902 ESTOQUE_SUGESTAO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(SUGESTAO_TRANSFERENCIA) BEGIN DECLARE ESTOQUE_SUGESTAO_TRANSFERE1902 CURSOR FOR SELECT SUGESTAO_TRANSFERENCIA FROM INSERTED DECLARE ESTOQUE_SUGESTAO_TRANSFERE1077 CURSOR FOR SELECT SUGESTAO_TRANSFERENCIA FROM DELETED OPEN ESTOQUE_SUGESTAO_TRANSFERE1902 OPEN ESTOQUE_SUGESTAO_TRANSFERE1077 FETCH NEXT FROM ESTOQUE_SUGESTAO_TRANSFERE1902 INTO @insSUGESTAO_TRANSFERENCIA FETCH NEXT FROM ESTOQUE_SUGESTAO_TRANSFERE1077 INTO @delSUGESTAO_TRANSFERENCIA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SUGESTAO_PRODUTO SET ESTOQUE_SUGESTAO_PRODUTO.SUGESTAO_TRANSFERENCIA=@insSUGESTAO_TRANSFERENCIA WHERE ESTOQUE_SUGESTAO_PRODUTO.SUGESTAO_TRANSFERENCIA = @delSUGESTAO_TRANSFERENCIA FETCH NEXT FROM ESTOQUE_SUGESTAO_TRANSFERE1902 INTO @insSUGESTAO_TRANSFERENCIA FETCH NEXT FROM ESTOQUE_SUGESTAO_TRANSFERE1077 INTO @delSUGESTAO_TRANSFERENCIA END END CLOSE ESTOQUE_SUGESTAO_TRANSFERE1902 CLOSE ESTOQUE_SUGESTAO_TRANSFERE1077 DEALLOCATE ESTOQUE_SUGESTAO_TRANSFERE1902 DEALLOCATE ESTOQUE_SUGESTAO_TRANSFERE1077 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_SUGESTAO_TRANSFERENCIA].[RESPONSAVEL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS]( [PEDIDO] [char](12) NOT NULL, [ROMANEIO] [char](8) NULL, [COLECAO] [char](6) NOT NULL, [PEDIDO_EXTERNO] [char](12) NULL, [DATA_ENVIO] [datetime] NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [TIPO] [char](25) NOT NULL, [DATA_RECEBIMENTO] [datetime] NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [TRANSPORTADORA] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [REPRESENTANTE] [varchar](25) NOT NULL, [COMISSAO] [real] NULL, [GERENTE] [varchar](25) NOT NULL, [COMISSAO_GERENTE] [real] NULL, [EMISSAO] [datetime] NULL, [CADASTRAMENTO] [datetime] NULL, [PEDIDO_CLIENTE] [varchar](20) NULL, [TOT_QTDE_ORIGINAL] [numeric](15, 3) NULL, [TOT_QTDE_ENTREGUE] [numeric](15, 3) NULL, [TOT_QTDE_EMBALADA] [numeric](15, 3) NULL, [TOT_QTDE_DEVOLVIDA] [numeric](15, 3) NULL, [TOT_QTDE_CANCELADA] [numeric](15, 3) NULL, [TOT_QTDE_ENTREGAR] [numeric](15, 3) NULL, [TOT_VALOR_ORIGINAL] [numeric](17, 5) NULL, [TOT_VALOR_ENTREGUE] [numeric](17, 5) NULL, [TOT_VALOR_CANCELADO] [numeric](17, 5) NULL, [TOT_VALOR_DEVOLVIDO] [numeric](17, 5) NULL, [TOT_VALOR_ENTREGAR] [numeric](17, 5) NULL, [DESCONTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [VALOR_IPI] [numeric](14, 2) NULL, [PORCENTAGEM_ACERTO] [real] NULL, [CTRL_MULT_ENTREGAS] [bit] NOT NULL, [ENTREGA_CIF] [bit] NOT NULL, [ENTREGA_ACEITAVEL] [real] NULL, [PRIORIDADE] [int] NULL, [STATUS] [char](1) NULL, [ACEITA_JUNTAR_PED] [bit] NOT NULL, [APROVACAO] [char](1) NULL, [APROVADO_POR] [varchar](25) NULL, [CONFERIDO] [bit] NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [TABELA_FILHA] [char](18) NOT NULL, [OBS] [text] NULL, [DESCONTO_SOBRE_1] [numeric](8, 2) NULL, [DESCONTO_SOBRE_2] [numeric](8, 2) NULL, [DESCONTO_SOBRE_3] [numeric](8, 2) NULL, [DESCONTO_SOBRE_4] [numeric](8, 2) NULL, [TOT_BRUTO_ENTREGUE] [numeric](17, 5) NULL, [ACEITA_PECAS_PEQUENAS] [numeric](3, 0) NOT NULL, [ACEITA_PECAS_COM_CORTE] [numeric](3, 0) NOT NULL, [FRETE_CORTESIA] [bit] NOT NULL, [TIPO_FRETE] [char](2) NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PROMOTOR] [varchar](25) NULL, [DATA_FATURAMENTO_RELATIVO] [datetime] NULL, [TOT_QTDE_ENTREGUE_TERC] [numeric](15, 3) NULL, [TOT_VALOR_ENTREGUE_TERC] [numeric](17, 5) NULL, [RECARGO] [numeric](14, 2) NULL, [TOT_ENTREGUE_MOEDA_PADRAO] [numeric](14, 2) NULL, [INDICA_LOCAL_SEPARACAO] [int] NULL, [PEDIDO_VENDA_ORIGEM] [char](12) NULL, [EXPEDICAO_COMPLETO_PEDIDO] [bit] NOT NULL, [EXPEDICAO_COMPLETO_PACK] [bit] NOT NULL, [EXPEDICAO_COMPLETO_TAMANHOS] [bit] NOT NULL, [EXPEDICAO_COMPLETO_COR] [bit] NOT NULL, [EXPEDICAO_COMPLETO_COORDENADO] [bit] NOT NULL, [EXPEDICAO_COMPLETO_CARTELA] [bit] NOT NULL, [EXPEDICAO_PORCENTAGEM_MAIOR] [int] NULL, [EXPEDICAO_PORCENTAGEM_MINIMA] [int] NULL, [EXPEDICAO_PORCENTAGEM_TIPO] [int] NULL, [MULTI_DESCONTO_ACUMULAR] [smallint] NULL, [TIPO_CAIXA] [char](8) NULL, [FILIAL_DIGITACAO] [varchar](25) NULL, [NUMERO_ENTREGA] [char](2) NULL, [PERIODO_PCP] [varchar](25) NULL, [NOME_CLIFOR_ENTREGA] [varchar](25) NULL, [TIPO_RATEIO] [smallint] NULL, [EXPEDICAO_NAO_JUNTAR_PRODUTO_CAIXA] [bit] NOT NULL, [TRANSP_REDESPACHO] [varchar](25) NULL, [INDICA_ARMAZEM] [bit] NOT NULL, [OBS_TRANSPORTE] [varchar](100) NULL, [TOT_DESC_LINEA] [numeric](14, 2) NULL, [TOT_COMI_LINEA] [numeric](14, 2) NULL, [DESCONTO_BRUTO_1] [numeric](8, 2) NULL, [DESCONTO_BRUTO_2] [numeric](8, 2) NULL, [DESCONTO_BRUTO_3] [numeric](8, 2) NULL, [DESCONTO_BRUTO_4] [numeric](8, 2) NULL, [DESCONTO_BRUTO] [numeric](14, 2) NULL, [PORC_DESCONTO] [numeric](8, 5) NULL, [PORC_DESCONTO_COND_PGTO] [numeric](8, 5) NULL, [PORC_ENCARGO] [numeric](8, 5) NULL, [PORC_RECARGO] [numeric](8, 5) NULL, [PORC_DESCONTO_DIGITADO] [bit] NOT NULL, [PORC_DESCONTO_BRUTO] [numeric](8, 5) NULL, [VALOR_SUB_ITENS] [numeric](14, 2) NULL, CONSTRAINT [XPKVENDAS] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS]') AND name = N'XIE1VENDAS') CREATE NONCLUSTERED INDEX [XIE1VENDAS] ON [VENDAS] ( [CLIENTE_ATACADO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS]') AND name = N'XIE2VENDAS') CREATE NONCLUSTERED INDEX [XIE2VENDAS] ON [VENDAS] ( [REPRESENTANTE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS]') AND name = N'XIE3VENDAS') CREATE NONCLUSTERED INDEX [XIE3VENDAS] ON [VENDAS] ( [COLECAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS]') AND name = N'XIE4VENDAS') CREATE NONCLUSTERED INDEX [XIE4VENDAS] ON [VENDAS] ( [TOT_QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_VENDAS] on [VENDAS] for DELETE as /* DELETE trigger on VENDAS */ begin declare @errno int, @errmsg varchar(255) /* VENDAS R/2125 VENDAS_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_SERVICO where VENDAS_SERVICO.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #VENDAS_SERVICO#.'' goto error end /* VENDAS R/2077 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_RATEIO_CAIXA where VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO_GERADO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #VENDAS_PRODUTO_RATEIO_CAIXA#.'' goto error end /* VENDAS R/2075 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.PEDIDO_VENDA_ORIGEM = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #VENDAS#.'' goto error end /* VENDAS R/2005 COLETOR_COLETA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_COLETA where COLETOR_COLETA.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #COLETOR_COLETA#.'' goto error end /* VENDAS R/1986 M_ORDEM_FABRICACAO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO where M_ORDEM_FABRICACAO.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #M_ORDEM_FABRICACAO#.'' goto error end /* VENDAS R/1836 COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.PEDIDO_VENDA = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #COMPRAS#.'' goto error end /* VENDAS R/1828 VENDAS_PRODUTO ON PARENT DELETE CASCADE */ delete VENDAS_PRODUTO from VENDAS_PRODUTO,deleted where VENDAS_PRODUTO.PEDIDO = deleted.PEDIDO /* VENDAS R/1813 ESTOQUE_SAI_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI_MAT where ESTOQUE_SAI_MAT.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #ESTOQUE_SAI_MAT#.'' goto error end /* VENDAS R/1711 VENDAS_STATUS_LOG ON PARENT DELETE CASCADE */ delete VENDAS_STATUS_LOG from VENDAS_STATUS_LOG,deleted where VENDAS_STATUS_LOG.PEDIDO = deleted.PEDIDO /* VENDAS R/1561 ESTOQUE_SAI1_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI1_MAT where ESTOQUE_SAI1_MAT.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS #porque existem registros em #ESTOQUE_SAI1_MAT#.'' goto error end /* VENDAS R/1491 VENDAS_MATERIAL ON PARENT DELETE CASCADE */ delete VENDAS_MATERIAL from VENDAS_MATERIAL,deleted where VENDAS_MATERIAL.PEDIDO = deleted.PEDIDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_VENDAS] on [VENDAS] for INSERT as /* INSERT trigger on VENDAS */ /* default body for LXI_VENDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_PERIODOS_ENTREGAS R/2134 VENDAS ON CHILD INSERT RESTRICT */ if update(NUMERO_ENTREGA) or update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_ENTREGAS where inserted.NUMERO_ENTREGA = PRODUTOS_PERIODOS_ENTREGAS.NUMERO_ENTREGA and inserted.PERIODO_PCP = PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP select @nullcnt = count(*) from inserted where inserted.NUMERO_ENTREGA is null or inserted.PERIODO_PCP is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #PRODUTOS_PERIODOS_ENTREGAS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/2123 VENDAS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR_ENTREGA = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* FILIAIS R/2122 VENDAS ON CHILD INSERT RESTRICT */ if update(FILIAL_DIGITACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DIGITACAO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DIGITACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #FILIAIS #não existe.'' goto error end end /* FATURAMENTO_CAIXA_TIPO R/2121 VENDAS ON CHILD INSERT RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* VENDAS R/2075 VENDAS ON CHILD INSERT RESTRICT */ if update(PEDIDO_VENDA_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_VENDA_ORIGEM = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_VENDA_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #VENDAS #não existe.'' goto error end end /* VENDAS_STATUS R/1712 VENDAS ON CHILD INSERT RESTRICT */ if update(STATUS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_STATUS where inserted.STATUS = VENDAS_STATUS.STATUS select @nullcnt = count(*) from inserted where inserted.STATUS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #VENDAS_STATUS #não existe.'' goto error end end /* REPRESENTANTES GERENTE VENDAS ON CHILD INSERT RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #REPRESENTANTES #não existe.'' goto error end end /* COLECOES COLECOES VENDAS ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #COLECOES #não existe.'' goto error end end /* TABELAS_PRECO TABELAS_PRECO VENDAS ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #TABELAS_PRECO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES VENDAS ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #REPRESENTANTES #não existe.'' goto error end end /* VENDAS_TIPO VENDAS_TIPO VENDAS ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #VENDAS_TIPO #não existe.'' goto error end end /* CLIENTES_ATACADO CLIENTES_ATACADO VENDAS ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* MOEDAS MOEDAS VENDAS ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS VENDAS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #FILIAIS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS VENDAS ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS #porque #TRANSPORTADORAS #não existe.'' goto error end end /*----------------------------------------------------------------------------------------------------------------*/ INSERT INTO VENDAS_STATUS_LOG (PEDIDO,STATUS,DATA_ALTERACAO_STATUS,USUARIO) SELECT INSERTED.PEDIDO,INSERTED.STATUS,GETDATE(),SYSTEM_USER FROM INSERTED WHERE INSERTED.STATUS IS NOT NULL /*----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_VENDAS] on [VENDAS] for UPDATE as /* UPDATE trigger on VENDAS */ /* default body for LXU_VENDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @delPEDIDO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_PERIODOS_ENTREGAS R/2134 VENDAS ON CHILD UPDATE RESTRICT */ if update(NUMERO_ENTREGA) or update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_ENTREGAS where inserted.NUMERO_ENTREGA = PRODUTOS_PERIODOS_ENTREGAS.NUMERO_ENTREGA and inserted.PERIODO_PCP = PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP select @nullcnt = count(*) from inserted where inserted.NUMERO_ENTREGA is null and inserted.PERIODO_PCP is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #PRODUTOS_PERIODOS_ENTREGAS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/2123 VENDAS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR_ENTREGA = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* FILIAIS R/2122 VENDAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_DIGITACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DIGITACAO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DIGITACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #FILIAIS #não existe.'' goto error end end /* FATURAMENTO_CAIXA_TIPO R/2121 VENDAS ON CHILD UPDATE RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* VENDAS R/2075 VENDAS ON CHILD UPDATE RESTRICT */ if update(PEDIDO_VENDA_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_VENDA_ORIGEM = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_VENDA_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #VENDAS #não existe.'' goto error end end /* VENDAS_STATUS R/1712 VENDAS ON CHILD UPDATE RESTRICT */ if update(STATUS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_STATUS where inserted.STATUS = VENDAS_STATUS.STATUS select @nullcnt = count(*) from inserted where inserted.STATUS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #VENDAS_STATUS #não existe.'' goto error end end /* REPRESENTANTES GERENTE VENDAS ON CHILD UPDATE RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #REPRESENTANTES #não existe.'' goto error end end /* COLECOES COLECOES VENDAS ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #COLECOES #não existe.'' goto error end end /* TABELAS_PRECO TABELAS_PRECO VENDAS ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #TABELAS_PRECO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES VENDAS ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #REPRESENTANTES #não existe.'' goto error end end /* VENDAS_TIPO VENDAS_TIPO VENDAS ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #VENDAS_TIPO #não existe.'' goto error end end /* CLIENTES_ATACADO CLIENTES_ATACADO VENDAS ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* MOEDAS MOEDAS VENDAS ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS VENDAS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #FILIAIS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS VENDAS ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS #porque #TRANSPORTADORAS #não existe.'' goto error end end /* VENDAS R/2125 VENDAS_SERVICO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS2125 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS2125 OPEN VENDAS171 FETCH NEXT FROM VENDAS2125 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_SERVICO SET VENDAS_SERVICO.PEDIDO=@insPEDIDO WHERE VENDAS_SERVICO.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS2125 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS2125 CLOSE VENDAS171 DEALLOCATE VENDAS2125 DEALLOCATE VENDAS171 END /* VENDAS R/2077 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS2077 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS2077 OPEN VENDAS171 FETCH NEXT FROM VENDAS2077 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_RATEIO_CAIXA SET VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO_GERADO=@insPEDIDO WHERE VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO_GERADO = @delPEDIDO FETCH NEXT FROM VENDAS2077 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS2077 CLOSE VENDAS171 DEALLOCATE VENDAS2077 DEALLOCATE VENDAS171 END /* VENDAS R/2075 VENDAS ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS2075 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS2075 OPEN VENDAS171 FETCH NEXT FROM VENDAS2075 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.PEDIDO_VENDA_ORIGEM=@insPEDIDO WHERE VENDAS.PEDIDO_VENDA_ORIGEM = @delPEDIDO FETCH NEXT FROM VENDAS2075 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS2075 CLOSE VENDAS171 DEALLOCATE VENDAS2075 DEALLOCATE VENDAS171 END /* VENDAS R/2005 COLETOR_COLETA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS2005 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS2005 OPEN VENDAS171 FETCH NEXT FROM VENDAS2005 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_COLETA SET COLETOR_COLETA.PEDIDO=@insPEDIDO WHERE COLETOR_COLETA.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS2005 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS2005 CLOSE VENDAS171 DEALLOCATE VENDAS2005 DEALLOCATE VENDAS171 END /* VENDAS R/1986 M_ORDEM_FABRICACAO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1986 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1986 OPEN VENDAS171 FETCH NEXT FROM VENDAS1986 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO SET M_ORDEM_FABRICACAO.PEDIDO=@insPEDIDO WHERE M_ORDEM_FABRICACAO.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1986 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1986 CLOSE VENDAS171 DEALLOCATE VENDAS1986 DEALLOCATE VENDAS171 END /* VENDAS R/1836 COMPRAS ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1836 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1836 OPEN VENDAS171 FETCH NEXT FROM VENDAS1836 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.PEDIDO_VENDA=@insPEDIDO WHERE COMPRAS.PEDIDO_VENDA = @delPEDIDO FETCH NEXT FROM VENDAS1836 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1836 CLOSE VENDAS171 DEALLOCATE VENDAS1836 DEALLOCATE VENDAS171 END /* VENDAS R/1828 VENDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1828 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1828 OPEN VENDAS171 FETCH NEXT FROM VENDAS1828 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO SET VENDAS_PRODUTO.PEDIDO=@insPEDIDO WHERE VENDAS_PRODUTO.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1828 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1828 CLOSE VENDAS171 DEALLOCATE VENDAS1828 DEALLOCATE VENDAS171 END /* VENDAS R/1813 ESTOQUE_SAI_MAT ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1813 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1813 OPEN VENDAS171 FETCH NEXT FROM VENDAS1813 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI_MAT SET ESTOQUE_SAI_MAT.PEDIDO=@insPEDIDO WHERE ESTOQUE_SAI_MAT.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1813 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1813 CLOSE VENDAS171 DEALLOCATE VENDAS1813 DEALLOCATE VENDAS171 END /* VENDAS R/1711 VENDAS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1711 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1711 OPEN VENDAS171 FETCH NEXT FROM VENDAS1711 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_STATUS_LOG SET VENDAS_STATUS_LOG.PEDIDO=@insPEDIDO WHERE VENDAS_STATUS_LOG.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1711 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1711 CLOSE VENDAS171 DEALLOCATE VENDAS1711 DEALLOCATE VENDAS171 END /* VENDAS R/1561 ESTOQUE_SAI1_MAT ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1561 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1561 OPEN VENDAS171 FETCH NEXT FROM VENDAS1561 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI1_MAT SET ESTOQUE_SAI1_MAT.PEDIDO=@insPEDIDO WHERE ESTOQUE_SAI1_MAT.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1561 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1561 CLOSE VENDAS171 DEALLOCATE VENDAS1561 DEALLOCATE VENDAS171 END /* VENDAS R/1491 VENDAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1491 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1491 OPEN VENDAS171 FETCH NEXT FROM VENDAS1491 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_MATERIAL SET VENDAS_MATERIAL.PEDIDO=@insPEDIDO WHERE VENDAS_MATERIAL.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1491 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1491 CLOSE VENDAS171 DEALLOCATE VENDAS1491 DEALLOCATE VENDAS171 END /* VENDAS R/1481 PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS1481 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS171 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS1481 OPEN VENDAS171 FETCH NEXT FROM VENDAS1481 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.PEDIDO=@insPEDIDO WHERE PRODUCAO_ORDEM.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS1481 INTO @insPEDIDO FETCH NEXT FROM VENDAS171 INTO @delPEDIDO END END CLOSE VENDAS1481 CLOSE VENDAS171 DEALLOCATE VENDAS1481 DEALLOCATE VENDAS171 END /*----------------------------------------------------------------------------------------------------------------*/ IF UPDATE(STATUS) INSERT INTO VENDAS_STATUS_LOG (PEDIDO,STATUS,DATA_ALTERACAO_STATUS,STATUS_ANTIGO,USUARIO) SELECT INSERTED.PEDIDO,INSERTED.STATUS,GETDATE(),DELETED.STATUS,SYSTEM_USER FROM INSERTED,DELETED WHERE INSERTED.PEDIDO=DELETED.PEDIDO AND INSERTED.STATUS IS NOT NULL /*----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS].[PEDIDO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_EMBALADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_DEVOLVIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_DEVOLVIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[VALOR_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORCENTAGEM_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[CTRL_MULT_ENTREGAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[ENTREGA_CIF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[ENTREGA_ACEITAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[ACEITA_JUNTAR_PED]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS].[APROVACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[CONFERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS].[CONFERIDO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_BRUTO_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_100]', @objname=N'[VENDAS].[ACEITA_PECAS_PEQUENAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_100]', @objname=N'[VENDAS].[ACEITA_PECAS_COM_CORTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[FRETE_CORTESIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_QTDE_ENTREGUE_TERC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_VALOR_ENTREGUE_TERC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[RECARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_ENTREGUE_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[INDICA_LOCAL_SEPARACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_PACK]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_TAMANHOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_COORDENADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_COMPLETO_CARTELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_PORCENTAGEM_MAIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_PORCENTAGEM_MINIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_PORCENTAGEM_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[MULTI_DESCONTO_ACUMULAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TIPO_RATEIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[EXPEDICAO_NAO_JUNTAR_PRODUTO_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[INDICA_ARMAZEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_DESC_LINEA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[TOT_COMI_LINEA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO_BRUTO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO_BRUTO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO_BRUTO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO_BRUTO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[DESCONTO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_DESCONTO_COND_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_RECARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_DESCONTO_DIGITADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[PORC_DESCONTO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS].[VALOR_SUB_ITENS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_MAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SAI_MAT]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [TIPO_MOVIMENTACAO] [char](1) NULL, [EMISSAO] [datetime] NOT NULL, [CENTRO_CUSTO] [varchar](25) NULL, [SAIDA_POR_PECA] [bit] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [REQUISITANTE] [varchar](25) NULL, [DESTINO] [varchar](40) NULL, [NF_ENTRADA] [char](7) NULL, [NOME_CLIFOR] [varchar](25) NULL, [FILIAL_FATURAMENTO] [varchar](25) NULL, [SERIE_NF] [char](2) NULL, [NF_SAIDA] [char](7) NULL, [ORDEM_SERVICO] [char](8) NULL, [FORNECEDOR] [varchar](25) NULL, [FASE_PRODUCAO] [varchar](25) NULL, [FILIAL_DESTINO] [varchar](25) NULL, [REQ_MATERIAL_DESTINO] [char](8) NULL, [PEDIDO] [char](12) NULL, [OBS] [text] NULL, [NUMERO_EMBALAGEM] [varchar](6) NULL, [PESO_LIQUIDO] [numeric](9, 3) NULL, [PESO_BRUTO] [numeric](9, 3) NULL, [DIMENSOES_EMBALAGEM] [varchar](40) NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, CONSTRAINT [XPKESTOQUE_SAI_MAT] PRIMARY KEY NONCLUSTERED ( [REQ_MATERIAL] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_SAI_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_SAI_MAT] on [ESTOQUE_SAI_MAT] for DELETE as /* DELETE trigger on ESTOQUE_SAI_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ DELETE D FROM (ESTOQUE_SAI1_MAT A JOIN DELETED B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) INNER JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL DELETE C FROM (ESTOQUE_SAI1_MAT A JOIN DELETED B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) LEFT JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL AND D.FILIAL IS NULL /*--------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_SAI_MAT R/1809 ESTOQUE_RET_MAT ON PARENT DELETE CASCADE */ delete ESTOQUE_RET_MAT from ESTOQUE_RET_MAT,deleted where ESTOQUE_RET_MAT.REQ_MATERIAL_ORIGEM = deleted.REQ_MATERIAL and ESTOQUE_RET_MAT.FILIAL_ORIGEM = deleted.FILIAL /* ESTOQUE_SAI_MAT ESTOQUE_SAI_MAT ESTOQUE_SAI1_MAT ON PARENT DELETE CASCADE */ delete ESTOQUE_SAI1_MAT from ESTOQUE_SAI1_MAT,deleted where ESTOQUE_SAI1_MAT.REQ_MATERIAL = deleted.REQ_MATERIAL and ESTOQUE_SAI1_MAT.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_SAI_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_SAI_MAT] on [ESTOQUE_SAI_MAT] for INSERT as /* INSERT trigger on ESTOQUE_SAI_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1813 ESTOQUE_SAI_MAT ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT #porque #VENDAS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1689 ESTOQUE_SAI_MAT ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* CENTROS_CUSTO CENTROS_CUSTO ESTOQUE_SAI_MAT ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT #porque #CENTROS_CUSTO #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_SAI_MAT ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SAI_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_SAI_MAT] on [ESTOQUE_SAI_MAT] for UPDATE as /* UPDATE trigger on ESTOQUE_SAI_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1813 ESTOQUE_SAI_MAT ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_MAT #porque #VENDAS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1689 ESTOQUE_SAI_MAT ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_MAT #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* CENTROS_CUSTO CENTROS_CUSTO ESTOQUE_SAI_MAT ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_MAT #porque #CENTROS_CUSTO #não existe.'' goto error end end /* ESTOQUE_SAI_MAT ESTOQUE_SAI_MAT ESTOQUE_SAI1_MAT ON PARENT UPDATE CASCADE */ IF update(REQ_MATERIAL) OR update(FILIAL) BEGIN DECLARE ESTOQUE_SAI_MAT678 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM INSERTED DECLARE ESTOQUE_SAI_MAT443 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM DELETED OPEN ESTOQUE_SAI_MAT678 OPEN ESTOQUE_SAI_MAT443 FETCH NEXT FROM ESTOQUE_SAI_MAT678 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_SAI_MAT443 INTO @delREQ_MATERIAL, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI1_MAT SET ESTOQUE_SAI1_MAT.REQ_MATERIAL=@insREQ_MATERIAL, ESTOQUE_SAI1_MAT.FILIAL=@insFILIAL WHERE ESTOQUE_SAI1_MAT.REQ_MATERIAL = @delREQ_MATERIAL and ESTOQUE_SAI1_MAT.FILIAL = @delFILIAL FETCH NEXT FROM ESTOQUE_SAI_MAT678 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_SAI_MAT443 INTO @delREQ_MATERIAL, @delFILIAL END END CLOSE ESTOQUE_SAI_MAT678 CLOSE ESTOQUE_SAI_MAT443 DEALLOCATE ESTOQUE_SAI_MAT678 DEALLOCATE ESTOQUE_SAI_MAT443 END /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ IF UPDATE(REQ_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(FILIAL_DESTINO) OR UPDATE(REQ_MATERIAL_DESTINO) BEGIN UPDATE A SET MATERIAL=MATERIAL FROM ESTOQUE_SAI1_MAT A JOIN INSERTED B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL END /*--------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_MAT].[SAIDA_POR_PECA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_SAI_MAT].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_SAI_MAT].[REQUISITANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_SAI_MAT].[DESTINO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_FABRICACAO]( [ORDEM_FABRICACAO] [char](8) NOT NULL, [FILIAL] [varchar](25) NULL, [EMISSAO] [datetime] NULL, [INICIO_LIBERADO] [datetime] NULL, [INICIO_PREVISTO] [datetime] NULL, [INICIO_REAL] [datetime] NULL, [PRIORIDADE] [int] NULL, [PREVISAO_FIM] [datetime] NULL, [PREVISAO_FIM_NA_EMISSAO] [datetime] NULL, [STATUS] [char](1) NULL, [ENCERRAMENTO] [datetime] NULL, [OBS] [text] NULL, [ORDEM_PRODUCAO] [char](8) NULL, [PEDIDO] [char](12) NULL, [MATERIAL] [char](11) NULL, [CLIENTE_ATACADO] [varchar](25) NULL, CONSTRAINT [XPKM_ORDEM_FABRICACAO] PRIMARY KEY NONCLUSTERED ( [ORDEM_FABRICACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_M_ORDEM_FABRICACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_M_ORDEM_FABRICACAO] on [M_ORDEM_FABRICACAO] for DELETE as /* DELETE trigger on M_ORDEM_FABRICACAO */ begin declare @errno int, @errmsg varchar(255) /* M_ORDEM_FABRICACAO R/1904 M_OP_POR_OF ON PARENT DELETE CASCADE */ delete M_OP_POR_OF from M_OP_POR_OF,deleted where M_OP_POR_OF.ORDEM_FABRICACAO = deleted.ORDEM_FABRICACAO /* M_ORDEM_FABRICACAO R/1897 M_ORDEM_FABRICACAO_ITEM ON PARENT DELETE CASCADE */ delete M_ORDEM_FABRICACAO_ITEM from M_ORDEM_FABRICACAO_ITEM,deleted where M_ORDEM_FABRICACAO_ITEM.ORDEM_FABRICACAO = deleted.ORDEM_FABRICACAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_FABRICACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_FABRICACAO] on [M_ORDEM_FABRICACAO] for INSERT as /* INSERT trigger on M_ORDEM_FABRICACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM R/1988 M_ORDEM_FABRICACAO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* CLIENTES_ATACADO R/1987 M_ORDEM_FABRICACAO ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/1986 M_ORDEM_FABRICACAO ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS R/1985 M_ORDEM_FABRICACAO ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO #porque #MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_FABRICACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_FABRICACAO] on [M_ORDEM_FABRICACAO] for UPDATE as /* UPDATE trigger on M_ORDEM_FABRICACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_FABRICACAO char(8), @delORDEM_FABRICACAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO R/1904 M_OP_POR_OF ON PARENT UPDATE CASCADE */ IF update(ORDEM_FABRICACAO) BEGIN DECLARE M_ORDEM_FABRICACAO1904 CURSOR FOR SELECT ORDEM_FABRICACAO FROM INSERTED DECLARE M_ORDEM_FABRICACAO1068 CURSOR FOR SELECT ORDEM_FABRICACAO FROM DELETED OPEN M_ORDEM_FABRICACAO1904 OPEN M_ORDEM_FABRICACAO1068 FETCH NEXT FROM M_ORDEM_FABRICACAO1904 INTO @insORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1068 INTO @delORDEM_FABRICACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_OP_POR_OF SET M_OP_POR_OF.ORDEM_FABRICACAO=@insORDEM_FABRICACAO WHERE M_OP_POR_OF.ORDEM_FABRICACAO = @delORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1904 INTO @insORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1068 INTO @delORDEM_FABRICACAO END END CLOSE M_ORDEM_FABRICACAO1904 CLOSE M_ORDEM_FABRICACAO1068 DEALLOCATE M_ORDEM_FABRICACAO1904 DEALLOCATE M_ORDEM_FABRICACAO1068 END /* M_ORDEM_FABRICACAO R/1897 M_ORDEM_FABRICACAO_ITEM ON PARENT UPDATE CASCADE */ IF update(ORDEM_FABRICACAO) BEGIN DECLARE M_ORDEM_FABRICACAO1889 CURSOR FOR SELECT ORDEM_FABRICACAO FROM INSERTED DECLARE M_ORDEM_FABRICACAO1068 CURSOR FOR SELECT ORDEM_FABRICACAO FROM DELETED OPEN M_ORDEM_FABRICACAO1889 OPEN M_ORDEM_FABRICACAO1068 FETCH NEXT FROM M_ORDEM_FABRICACAO1889 INTO @insORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1068 INTO @delORDEM_FABRICACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_ITEM SET M_ORDEM_FABRICACAO_ITEM.ORDEM_FABRICACAO=@insORDEM_FABRICACAO WHERE M_ORDEM_FABRICACAO_ITEM.ORDEM_FABRICACAO = @delORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1889 INTO @insORDEM_FABRICACAO FETCH NEXT FROM M_ORDEM_FABRICACAO1068 INTO @delORDEM_FABRICACAO END END CLOSE M_ORDEM_FABRICACAO1889 CLOSE M_ORDEM_FABRICACAO1068 DEALLOCATE M_ORDEM_FABRICACAO1889 DEALLOCATE M_ORDEM_FABRICACAO1068 END /* PRODUCAO_ORDEM R/1988 M_ORDEM_FABRICACAO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* CLIENTES_ATACADO R/1987 M_ORDEM_FABRICACAO ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/1986 M_ORDEM_FABRICACAO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS R/1985 M_ORDEM_FABRICACAO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO #porque #MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[M_ORDEM_FABRICACAO].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM_SERVICO]( [ORDEM_SERVICO] [char](8) NOT NULL, [RECURSO_PRODUTIVO] [char](5) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [DATA] [datetime] NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [ORDEM_SERVICO_PARALELA] [char](8) NULL, [FILIAL] [varchar](25) NULL, [NF_SAIDA] [char](7) NULL, [SERIE_NF] [char](2) NULL, [NF_ENTRADA] [char](7) NULL, [OBSERVACAO] [text] NULL, [INDICADOR_TIPO_MOV] [smallint] NULL, [SEGUNDA_QUALIDADE] [bit] NOT NULL, [ACERTO_ENTRADA] [bit] NOT NULL, CONSTRAINT [XPKPRODUCAO_ORDEM_SERVICO] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_ORDEM_SERVICO] on [PRODUCAO_ORDEM_SERVICO] for DELETE as /* DELETE trigger on PRODUCAO_ORDEM_SERVICO */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_ORDEM_SERVICO R/1923 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.ORDEM_SERVICO = deleted.ORDEM_SERVICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM_SERVICO #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* PRODUCAO_ORDEM_SERVICO R/1861 PRODUCAO_OS_SEGUNDA ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_SEGUNDA from PRODUCAO_OS_SEGUNDA,deleted where PRODUCAO_OS_SEGUNDA.ORDEM_SERVICO = deleted.ORDEM_SERVICO /* PRODUCAO_ORDEM_SERVICO R/1793 PRODUCAO_ORDEM_SERV_MATERIAL ON PARENT DELETE CASCADE */ delete PRODUCAO_ORDEM_SERV_MATERIAL from PRODUCAO_ORDEM_SERV_MATERIAL,deleted where PRODUCAO_ORDEM_SERV_MATERIAL.ORDEM_SERVICO = deleted.ORDEM_SERVICO /* PRODUCAO_ORDEM_SERVICO R/1656 PRODUCAO_ORDEM_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_SERVICO where PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO_PARALELA = deleted.ORDEM_SERVICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM_SERVICO #porque existem registros em #PRODUCAO_ORDEM_SERVICO#.'' goto error end /* PRODUCAO_ORDEM_SERVICO R/1584 PRODUCAO_OS_LOTES ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_LOTES from PRODUCAO_OS_LOTES,deleted where PRODUCAO_OS_LOTES.ORDEM_SERVICO = deleted.ORDEM_SERVICO /* PRODUCAO_ORDEM_SERVICO R/1536 PRODUCAO_OS_TAREFAS ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_TAREFAS from PRODUCAO_OS_TAREFAS,deleted where PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = deleted.ORDEM_SERVICO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM_SERVICO] on [PRODUCAO_ORDEM_SERVICO] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1693 PRODUCAO_ORDEM_SERVICO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1656 PRODUCAO_ORDEM_SERVICO ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO_PARALELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO_PARALELA = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO_PARALELA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1597 PRODUCAO_ORDEM_SERVICO ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* PRODUCAO_SETOR R/1596 PRODUCAO_ORDEM_SERVICO ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_SETOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM_SERVICO] on [PRODUCAO_ORDEM_SERVICO] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @delORDEM_SERVICO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1923 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1923 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1923 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1923 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.ORDEM_SERVICO=@insORDEM_SERVICO WHERE ENTRADAS_CONSUMO.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1923 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1923 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1923 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* PRODUCAO_ORDEM_SERVICO R/1861 PRODUCAO_OS_SEGUNDA ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1861 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1861 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1861 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_SEGUNDA SET PRODUCAO_OS_SEGUNDA.ORDEM_SERVICO=@insORDEM_SERVICO WHERE PRODUCAO_OS_SEGUNDA.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1861 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1861 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1861 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* PRODUCAO_ORDEM_SERVICO R/1793 PRODUCAO_ORDEM_SERV_MATERIAL ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1793 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1793 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1793 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERV_MATERIAL SET PRODUCAO_ORDEM_SERV_MATERIAL.ORDEM_SERVICO=@insORDEM_SERVICO WHERE PRODUCAO_ORDEM_SERV_MATERIAL.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1793 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1793 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1793 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* PRODUCAO_ORDEM_SERVICO R/1656 PRODUCAO_ORDEM_SERVICO ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1656 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1656 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1656 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERVICO SET PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO_PARALELA=@insORDEM_SERVICO WHERE PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO_PARALELA = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1656 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1656 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1656 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* PRODUCAO_ORDEM_SERVICO R/1584 PRODUCAO_OS_LOTES ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1588 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1588 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1588 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_LOTES SET PRODUCAO_OS_LOTES.ORDEM_SERVICO=@insORDEM_SERVICO WHERE PRODUCAO_OS_LOTES.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1588 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1588 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1588 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* PRODUCAO_ORDEM_SERVICO R/1536 PRODUCAO_OS_TAREFAS ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE PRODUCAO_ORDEM_SERVICO1587 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE PRODUCAO_ORDEM_SERVICO939 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN PRODUCAO_ORDEM_SERVICO1587 OPEN PRODUCAO_ORDEM_SERVICO939 FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1587 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_TAREFAS SET PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=@insORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO1587 INTO @insORDEM_SERVICO FETCH NEXT FROM PRODUCAO_ORDEM_SERVICO939 INTO @delORDEM_SERVICO END END CLOSE PRODUCAO_ORDEM_SERVICO1587 CLOSE PRODUCAO_ORDEM_SERVICO939 DEALLOCATE PRODUCAO_ORDEM_SERVICO1587 DEALLOCATE PRODUCAO_ORDEM_SERVICO939 END /* FILIAIS R/1693 PRODUCAO_ORDEM_SERVICO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERVICO #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1656 PRODUCAO_ORDEM_SERVICO ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO_PARALELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO_PARALELA = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO_PARALELA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1597 PRODUCAO_ORDEM_SERVICO ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* PRODUCAO_SETOR R/1596 PRODUCAO_ORDEM_SERVICO ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERVICO #porque #PRODUCAO_SETOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_ORDEM_SERVICO].[CONFERIDO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_SERVICO].[INDICADOR_TIPO_MOV]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_SERVICO].[SEGUNDA_QUALIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_SERVICO].[ACERTO_ENTRADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOG_CALCULO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOG_CALCULO]( [SEQUENCIAL] [char](7) NOT NULL, [MODULO] [char](25) NOT NULL, [TABELA] [varchar](100) NOT NULL, [DESCRICAO] [varchar](255) NOT NULL, [CHAVE] [varchar](100) NULL, [STATUS] [char](1) NULL, CONSTRAINT [XPKLOG_CALCULO] PRIMARY KEY NONCLUSTERED ( [SEQUENCIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOG_CALCULO].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REGIOES_CEP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REGIOES_CEP]( [REGIAO_CEP] [varchar](60) NOT NULL, [CEP_INICIAL] [varchar](8) NULL, [CEP_FINAL] [varchar](8) NULL, [UF] [char](2) NULL, [PAIS] [varchar](35) NULL, CONSTRAINT [XPKREGIOES_CEP] PRIMARY KEY NONCLUSTERED ( [REGIAO_CEP] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_REGIOES_CEP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_REGIOES_CEP] on [REGIOES_CEP] for DELETE as /* DELETE trigger on REGIOES_CEP */ begin declare @errno int, @errmsg varchar(255) /* REGIOES_CEP R/2165 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSPORTADORA_FRETE_LOCALIDADE where TRANSPORTADORA_FRETE_LOCALIDADE.REGIAO_CEP = deleted.REGIAO_CEP ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REGIOES_CEP #porque existem registros em #TRANSPORTADORA_FRETE_LOCALIDADE#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REGIOES_CEP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REGIOES_CEP] on [REGIOES_CEP] for INSERT as /* INSERT trigger on REGIOES_CEP */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/2170 REGIOES_CEP ON CHILD INSERT RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REGIOES_CEP #porque #PAISES #não existe.'' goto error end end /* UNIDADES_FEDERACAO R/2169 REGIOES_CEP ON CHILD INSERT RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF select @nullcnt = count(*) from inserted where inserted.UF is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REGIOES_CEP #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REGIOES_CEP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REGIOES_CEP] on [REGIOES_CEP] for UPDATE as /* UPDATE trigger on REGIOES_CEP */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREGIAO_CEP varchar(60), @delREGIAO_CEP varchar(60), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REGIOES_CEP R/2165 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT UPDATE CASCADE */ IF update(REGIAO_CEP) BEGIN DECLARE REGIOES_CEP2165 CURSOR FOR SELECT REGIAO_CEP FROM INSERTED DECLARE REGIOES_CEP1206 CURSOR FOR SELECT REGIAO_CEP FROM DELETED OPEN REGIOES_CEP2165 OPEN REGIOES_CEP1206 FETCH NEXT FROM REGIOES_CEP2165 INTO @insREGIAO_CEP FETCH NEXT FROM REGIOES_CEP1206 INTO @delREGIAO_CEP IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORA_FRETE_LOCALIDADE SET TRANSPORTADORA_FRETE_LOCALIDADE.REGIAO_CEP=@insREGIAO_CEP WHERE TRANSPORTADORA_FRETE_LOCALIDADE.REGIAO_CEP = @delREGIAO_CEP FETCH NEXT FROM REGIOES_CEP2165 INTO @insREGIAO_CEP FETCH NEXT FROM REGIOES_CEP1206 INTO @delREGIAO_CEP END END CLOSE REGIOES_CEP2165 CLOSE REGIOES_CEP1206 DEALLOCATE REGIOES_CEP2165 DEALLOCATE REGIOES_CEP1206 END /* PAISES R/2170 REGIOES_CEP ON CHILD UPDATE RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REGIOES_CEP #porque #PAISES #não existe.'' goto error end end /* UNIDADES_FEDERACAO R/2169 REGIOES_CEP ON CHILD UPDATE RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF select @nullcnt = count(*) from inserted where inserted.UF is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REGIOES_CEP #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REGIOES_CEP].[PAIS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FICHA]( [PRODUTO] [char](12) NOT NULL, [ITEM] [char](4) NOT NULL, [MATERIAL] [char](11) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [DESC_USO_MATERIAL] [varchar](40) NULL, [CONSUMO_P_TAMANHO] [bit] NOT NULL, [MATERIAL_PRINCIPAL] [bit] NOT NULL, [C1] [numeric](9, 3) NULL, [C2] [numeric](9, 3) NULL, [C3] [numeric](9, 3) NULL, [C4] [numeric](9, 3) NULL, [C5] [numeric](9, 3) NULL, [C6] [numeric](9, 3) NULL, [C7] [numeric](9, 3) NULL, [C8] [numeric](9, 3) NULL, [C9] [numeric](9, 3) NULL, [C10] [numeric](9, 3) NULL, [C11] [numeric](9, 3) NULL, [C12] [numeric](9, 3) NULL, [C13] [numeric](9, 3) NULL, [C14] [numeric](9, 3) NULL, [C15] [numeric](9, 3) NULL, [C16] [numeric](9, 3) NULL, [C17] [numeric](9, 3) NULL, [C18] [numeric](9, 3) NULL, [C19] [numeric](9, 3) NULL, [C20] [numeric](9, 3) NULL, [C21] [numeric](9, 3) NULL, [C22] [numeric](9, 3) NULL, [C23] [numeric](9, 3) NULL, [C24] [numeric](9, 3) NULL, [C25] [numeric](9, 3) NULL, [C26] [numeric](9, 3) NULL, [C27] [numeric](9, 3) NULL, [C28] [numeric](9, 3) NULL, [C29] [numeric](9, 3) NULL, [C30] [numeric](9, 3) NULL, [C31] [numeric](9, 3) NULL, [C32] [numeric](9, 3) NULL, [C33] [numeric](9, 3) NULL, [C34] [numeric](9, 3) NULL, [C35] [numeric](9, 3) NULL, [C36] [numeric](9, 3) NULL, [C37] [numeric](9, 3) NULL, [C38] [numeric](9, 3) NULL, [C39] [numeric](9, 3) NULL, [C40] [numeric](9, 3) NULL, [C41] [numeric](9, 3) NULL, [C42] [numeric](9, 3) NULL, [C43] [numeric](9, 3) NULL, [C44] [numeric](9, 3) NULL, [C45] [numeric](9, 3) NULL, [C46] [numeric](9, 3) NULL, [C47] [numeric](9, 3) NULL, [C48] [numeric](9, 3) NULL, [TIMESTAMP] [timestamp] NULL, [PARTE_APLICADO_MATERIAL] [varchar](10) NULL, CONSTRAINT [XPKPRODUTOS_FICHA] PRIMARY KEY NONCLUSTERED ( [ITEM] ASC, [MATERIAL] ASC, [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA]') AND name = N'XIE2PRODUTOS_FICHA') CREATE NONCLUSTERED INDEX [XIE2PRODUTOS_FICHA] ON [PRODUTOS_FICHA] ( [MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_FICHA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_FICHA] on [PRODUTOS_FICHA] for DELETE as /* DELETE trigger on PRODUTOS_FICHA */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_FICHA R/1283 PRODUTOS_FICHA_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_FICHA_COR from PRODUTOS_FICHA_COR,deleted where PRODUTOS_FICHA_COR.ITEM = deleted.ITEM and PRODUTOS_FICHA_COR.MATERIAL = deleted.MATERIAL and PRODUTOS_FICHA_COR.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_FICHA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_FICHA] on [PRODUTOS_FICHA] for INSERT as /* INSERT trigger on PRODUTOS_FICHA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insITEM char(4), @insMATERIAL char(11), @insPRODUTO char(12), @delITEM char(4), @delMATERIAL char(11), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1802 PRODUTOS_FICHA ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA #porque #PRODUTOS #não existe.'' goto error end end /* PRODUCAO_SETOR PRODUCAO_SETOR PRODUTOS_FICHA ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* MATERIAIS R/1278 PRODUTOS_FICHA ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA #porque #MATERIAIS #não existe.'' goto error end end /*------------------------------------------------------------------------------------------------------*/ /* VERIFICACAO DA EXISTENCIA DA PARTE_APLICADO_MATERIAL NO PRODUTOS_SUBGRUPO */ /*------------------------------------------------------------------------------------------------------*/ select @nullcnt = count(*) from inserted A INNER JOIN PRODUTOS B ON A.PRODUTO = B.PRODUTO INNER JOIN PRODUTOS_SUBGRUPO C ON B.GRUPO_PRODUTO = C.GRUPO_PRODUTO AND B.SUBGRUPO_PRODUTO = C.SUBGRUPO_PRODUTO where A.PARTE_APLICADO_MATERIAL IS NULL select @validcnt = count(*) from inserted A INNER JOIN PRODUTOS B ON A.PRODUTO = B.PRODUTO INNER JOIN PRODUTOS_SUBGRUPO C ON B.GRUPO_PRODUTO = C.GRUPO_PRODUTO AND B.SUBGRUPO_PRODUTO = C.SUBGRUPO_PRODUTO where C.PARTES_DO_PRODUTO LIKE ''%'' + RTRIM(A.PARTE_APLICADO_MATERIAL) + ''%'' AND A.PARTE_APLICADO_MATERIAL IS NOT NULL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA #porque #PARTE_APLICADO_MATERIAL não coincide com #PARTES_DO_PRODUTO em #PRODUTOS_SUBGRUPO.'' goto error end /*------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_FICHA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_FICHA] on [PRODUTOS_FICHA] for UPDATE as /* UPDATE trigger on PRODUTOS_FICHA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insITEM char(4), @insMATERIAL char(11), @insPRODUTO char(12), @delITEM char(4), @delMATERIAL char(11), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1802 PRODUTOS_FICHA ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FICHA #porque #PRODUTOS #não existe.'' goto error end end /* PRODUCAO_SETOR PRODUCAO_SETOR PRODUTOS_FICHA ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FICHA #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* MATERIAIS R/1278 PRODUTOS_FICHA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FICHA #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_FICHA R/1283 PRODUTOS_FICHA_COR ON PARENT UPDATE CASCADE */ IF update(ITEM) OR update(MATERIAL) OR update(PRODUTO) BEGIN DECLARE PRODUTOS_FICHA1283 CURSOR FOR SELECT ITEM, MATERIAL, PRODUTO FROM INSERTED DECLARE PRODUTOS_FICHA772 CURSOR FOR SELECT ITEM, MATERIAL, PRODUTO FROM DELETED OPEN PRODUTOS_FICHA1283 OPEN PRODUTOS_FICHA772 FETCH NEXT FROM PRODUTOS_FICHA1283 INTO @insITEM, @insMATERIAL, @insPRODUTO FETCH NEXT FROM PRODUTOS_FICHA772 INTO @delITEM, @delMATERIAL, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA_COR SET PRODUTOS_FICHA_COR.ITEM=@insITEM, PRODUTOS_FICHA_COR.MATERIAL=@insMATERIAL, PRODUTOS_FICHA_COR.PRODUTO=@insPRODUTO WHERE PRODUTOS_FICHA_COR.ITEM = @delITEM and PRODUTOS_FICHA_COR.MATERIAL = @delMATERIAL and PRODUTOS_FICHA_COR.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS_FICHA1283 INTO @insITEM, @insMATERIAL, @insPRODUTO FETCH NEXT FROM PRODUTOS_FICHA772 INTO @delITEM, @delMATERIAL, @delPRODUTO END END CLOSE PRODUTOS_FICHA1283 CLOSE PRODUTOS_FICHA772 DEALLOCATE PRODUTOS_FICHA1283 DEALLOCATE PRODUTOS_FICHA772 END /*------------------------------------------------------------------------------------------------------*/ /* VERIFICACAO DA EXISTENCIA DA PARTE_APLICADO_MATERIAL NO PRODUTOS_SUBGRUPO */ /*------------------------------------------------------------------------------------------------------*/ if update(PARTE_APLICADO_MATERIAL) begin select @nullcnt = count(*) from inserted A INNER JOIN PRODUTOS B ON A.PRODUTO = B.PRODUTO INNER JOIN PRODUTOS_SUBGRUPO C ON B.GRUPO_PRODUTO = C.GRUPO_PRODUTO AND B.SUBGRUPO_PRODUTO = C.SUBGRUPO_PRODUTO where a.parte_aplicado_material is null select @validcnt = count(*) from inserted A INNER JOIN PRODUTOS B ON A.PRODUTO = B.PRODUTO INNER JOIN PRODUTOS_SUBGRUPO C ON B.GRUPO_PRODUTO = C.GRUPO_PRODUTO AND B.SUBGRUPO_PRODUTO = C.SUBGRUPO_PRODUTO where C.PARTES_DO_PRODUTO LIKE ''%'' + RTRIM(A.PARTE_APLICADO_MATERIAL) + ''%'' and a.parte_aplicado_material is not null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Alterar #PRODUTOS_FICHA #porque #PARTE_APLICADO_MATERIAL não coincide com #PARTES_DO_PRODUTO em #PRODUTOS_SUBGRUPO.'' goto error end end /*------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_FICHA].[DESC_USO_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[CONSUMO_P_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[MATERIAL_PRINCIPAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA].[C48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO_RATEIO_CAIXA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_PRODUTO_RATEIO_CAIXA]( [PEDIDO] [char](12) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [ITEM] [char](3) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NULL, [PEDIDO_GERADO] [char](12) NULL, [INDICA_LOCAL_SEPARACAO] [int] NULL, [PACKS] [varchar](24) NULL, [QTDE_ORIGINAL] [int] NULL, [VO1] [int] NULL, [VO2] [int] NULL, [VO3] [int] NULL, [VO4] [int] NULL, [VO5] [int] NULL, [VO6] [int] NULL, [VO7] [int] NULL, [VO8] [int] NULL, [VO9] [int] NULL, [VO10] [int] NULL, [VO11] [int] NULL, [VO12] [int] NULL, [VO13] [int] NULL, [VO14] [int] NULL, [VO15] [int] NULL, [VO16] [int] NULL, [VO17] [int] NULL, [VO18] [int] NULL, [VO19] [int] NULL, [VO20] [int] NULL, [VO21] [int] NULL, [VO22] [int] NULL, [VO23] [int] NULL, [VO24] [int] NULL, [VO25] [int] NULL, [VO26] [int] NULL, [VO27] [int] NULL, [VO28] [int] NULL, [VO29] [int] NULL, [VO30] [int] NULL, [VO31] [int] NULL, [VO32] [int] NULL, [VO33] [int] NULL, [VO34] [int] NULL, [VO35] [int] NULL, [VO36] [int] NULL, [VO37] [int] NULL, [VO38] [int] NULL, [VO39] [int] NULL, [VO40] [int] NULL, [VO41] [int] NULL, [VO42] [int] NULL, [VO43] [int] NULL, [VO44] [int] NULL, [VO45] [int] NULL, [VO46] [int] NULL, [VO47] [int] NULL, [VO48] [int] NULL, [NUMERO_CAIXAS] [smallint] NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKVENDAS_PRODUTO_RATEIO_CAIXA] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC, [ITEM] ASC, [ITEM_PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_PRODUTO_RATEIO_CAIX]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_PRODUTO_RATEIO_CAIX] on [VENDAS_PRODUTO_RATEIO_CAIXA] for INSERT as /* INSERT trigger on VENDAS_PRODUTO_RATEIO_CAIXA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_LOCAIS_ENTREGA R/2137 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) or update(CODIGO_LOCAL_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_LOCAIS_ENTREGA where inserted.CLIENTE_ATACADO = CADASTRO_LOCAIS_ENTREGA.NOME_CLIFOR and inserted.CODIGO_LOCAL_ENTREGA = CADASTRO_LOCAIS_ENTREGA.CODIGO_LOCAL_ENTREGA select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null or inserted.CODIGO_LOCAL_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_RATEIO_CAIXA #porque #CADASTRO_LOCAIS_ENTREGA #não existe.'' goto error end end /* CLIENTES_ATACADO R/2079 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_RATEIO_CAIXA #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/2077 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD INSERT RESTRICT */ if update(PEDIDO_GERADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_GERADO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_GERADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_RATEIO_CAIXA #porque #VENDAS #não existe.'' goto error end end /* VENDAS_PRODUTO R/2074 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_RATEIO_CAIXA #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_PRODUTO_RATEIO_CAIX]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_PRODUTO_RATEIO_CAIX] on [VENDAS_PRODUTO_RATEIO_CAIXA] for UPDATE as /* UPDATE trigger on VENDAS_PRODUTO_RATEIO_CAIXA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insITEM char(3), @delPEDIDO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_LOCAIS_ENTREGA R/2137 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) or update(CODIGO_LOCAL_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_LOCAIS_ENTREGA where inserted.CLIENTE_ATACADO = CADASTRO_LOCAIS_ENTREGA.NOME_CLIFOR and inserted.CODIGO_LOCAL_ENTREGA = CADASTRO_LOCAIS_ENTREGA.CODIGO_LOCAL_ENTREGA select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null and inserted.CODIGO_LOCAL_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_RATEIO_CAIXA #porque #CADASTRO_LOCAIS_ENTREGA #não existe.'' goto error end end /* CLIENTES_ATACADO R/2079 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_RATEIO_CAIXA #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/2077 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD UPDATE RESTRICT */ if update(PEDIDO_GERADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_GERADO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_GERADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_RATEIO_CAIXA #porque #VENDAS #não existe.'' goto error end end /* VENDAS_PRODUTO R/2074 VENDAS_PRODUTO_RATEIO_CAIXA ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_RATEIO_CAIXA #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO_RATEIO_CAIXA].[INDICA_LOCAL_SEPARACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_PRODUTO_RATEIO_CAIXA].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO_RATEIO_CAIXA].[NUMERO_CAIXAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO_RATEIO_CAIXA].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_ENTRADAS]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [TIPO_ENTRADA_SAIDA] [char](2) NULL, [FILIAL_ORIGEM] [varchar](25) NULL, [NUMERO_NF_TRANSFERENCIA] [char](8) NOT NULL, [ROMANEIO_NF_SAIDA] [char](8) NULL, [FORNECEDOR] [varchar](40) NULL, [RESPONSAVEL] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [DATA_SAIDA] [datetime] NULL, [DESC_TIPO_ENTRADA_SAIDA] [varchar](40) NULL, [ENTRADA_CONFERIDA] [bit] NOT NULL, [ENTRADA_SEM_PRODUTOS] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [FATOR_PRECO] [numeric](5, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [STATUS_TRANSITO] [char](1) NULL, [QTDE_NAO_CONFERIDA] [int] NULL, [VALOR_NAO_CONFERIDO] [numeric](14, 2) NULL, [ENTRADA_POR] [int] NULL, [CGC_FORNECEDOR] [varchar](19) NULL, [PEDIDO_STATUS_LOJA] [smallint] NULL, [DATA_BAIXA_PEDIDO] [datetime] NULL, [OBS] [text] NULL, CONSTRAINT [XPKLOJA_ENTRADAS] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS]') AND name = N'XIE1LOJA_ENTRADAS') CREATE NONCLUSTERED INDEX [XIE1LOJA_ENTRADAS] ON [LOJA_ENTRADAS] ( [EMISSAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_ENTRADAS] on [LOJA_ENTRADAS] for DELETE as /* DELETE trigger on LOJA_ENTRADAS */ /* default body for LXD_LOJA_ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, LOJA_ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_ENTRADAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_ENTRADAS_PRODUTO.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_ENTRADAS R/1172 LOJA_ENTRADAS_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_ENTRADAS_PRODUTO from LOJA_ENTRADAS_PRODUTO,deleted where LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_ENTRADAS] on [LOJA_ENTRADAS] for INSERT as /* INSERT trigger on LOJA_ENTRADAS */ /* default body for LXI_LOJA_ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_TIPOS_ENTRADA_SAIDA R/1306 LOJA_ENTRADAS ON CHILD INSERT RESTRICT */ if update(TIPO_ENTRADA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TIPOS_ENTRADA_SAIDA where inserted.TIPO_ENTRADA_SAIDA = LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS #porque #LOJA_TIPOS_ENTRADA_SAIDA #não existe.'' goto error end end /* FILIAIS FILIAL_ORIGEM LOJA_ENTRADAS ON CHILD INSERT RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1170 LOJA_ENTRADAS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(C.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(C.FILIAL)+'''''''',''LXI_LOJA_ENTRADAS'' FROM INSERTED A JOIN LOJA_ENTRADAS B ON A.FILIAL=B.FILIAL AND A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS_DIF C ON C.FILIAL=B.FILIAL AND C.FILIAL_ORIGEM=B.FILIAL_ORIGEM AND (C.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO OR C.NUMERO_NF_TRANSFERENCIA=B.NUMERO_NF_TRANSFERENCIA) LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL AND (B.STATUS_TRANSITO<3 OR A.STATUS_TRANSITO IS NULL) /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_ENTRADAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS, INSERTED WHERE LOJA_ENTRADAS.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_ENTRADAS] on [LOJA_ENTRADAS] for UPDATE as /* UPDATE trigger on LOJA_ENTRADAS */ /* default body for LXU_LOJA_ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, LOJA_ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_ENTRADAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_ENTRADAS_PRODUTO.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, LOJA_ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_ENTRADAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_ENTRADAS_PRODUTO.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_TIPOS_ENTRADA_SAIDA R/1306 LOJA_ENTRADAS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENTRADA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TIPOS_ENTRADA_SAIDA where inserted.TIPO_ENTRADA_SAIDA = LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS #porque #LOJA_TIPOS_ENTRADA_SAIDA #não existe.'' goto error end end /* FILIAIS FILIAL_ORIGEM LOJA_ENTRADAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1170 LOJA_ENTRADAS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* LOJA_ENTRADAS R/1172 LOJA_ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE LOJA_ENTRADAS1172 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE LOJA_ENTRADAS721 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN LOJA_ENTRADAS1172 OPEN LOJA_ENTRADAS721 FETCH NEXT FROM LOJA_ENTRADAS1172 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_ENTRADAS721 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS_PRODUTO SET LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, LOJA_ENTRADAS_PRODUTO.FILIAL=@insFILIAL WHERE LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM LOJA_ENTRADAS1172 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_ENTRADAS721 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE LOJA_ENTRADAS1172 CLOSE LOJA_ENTRADAS721 DEALLOCATE LOJA_ENTRADAS1172 DEALLOCATE LOJA_ENTRADAS721 END /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(C.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(C.FILIAL)+'''''''',''LXU_LOJA_ENTRADAS'' FROM INSERTED A JOIN LOJA_ENTRADAS B ON A.FILIAL=B.FILIAL AND A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS_DIF C ON C.FILIAL=B.FILIAL AND C.FILIAL_ORIGEM=B.FILIAL_ORIGEM AND (C.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO OR C.NUMERO_NF_TRANSFERENCIA=B.NUMERO_NF_TRANSFERENCIA) LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL AND (B.STATUS_TRANSITO<3 OR A.STATUS_TRANSITO IS NULL) /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_ENTRADAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS, INSERTED WHERE LOJA_ENTRADAS.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_ENTRADAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_ENTRADAS].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[ENTRADA_CONFERIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[ENTRADA_SEM_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_ENTRADAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[QTDE_NAO_CONFERIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[VALOR_NAO_CONFERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJA_ENTRADAS].[ENTRADA_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_ENTRADAS].[CGC_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS].[PEDIDO_STATUS_LOJA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_PAGAR_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_PAGAR_TIPO]( [TIPO_RETORNO] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [TAMANHO_REGISTRO] [int] NULL, [DIRETORIO_RETORNO] [varchar](100) NULL, [MASCARA_RETORNO] [varchar](12) NULL, [SEQUENCIAL_RETORNO] [char](8) NULL, [LISTA_CODIGO_LIQUIDACAO] [varchar](40) NULL, [EXPRESSAO_VALOR_PAGO] [varchar](100) NULL, CONSTRAINT [XPKRETORNO_A_PAGAR_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_RETORNO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_RETORNO_A_PAGAR_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_RETORNO_A_PAGAR_TIPO] on [RETORNO_A_PAGAR_TIPO] for DELETE as /* DELETE trigger on RETORNO_A_PAGAR_TIPO */ begin declare @errno int, @errmsg varchar(255) /* RETORNO_A_PAGAR_TIPO TIPO_RETORNO RETORNO_A_PAGAR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_PAGAR where RETORNO_A_PAGAR.TIPO_RETORNO = deleted.TIPO_RETORNO and RETORNO_A_PAGAR.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #RETORNO_A_PAGAR_TIPO #porque existem registros em #RETORNO_A_PAGAR#.'' goto error end /* RETORNO_A_PAGAR_TIPO BANCOS_LAYOUT RETORNO_A_PAGAR_LAYOUT ON PARENT DELETE CASCADE */ delete RETORNO_A_PAGAR_LAYOUT from RETORNO_A_PAGAR_LAYOUT,deleted where RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO = deleted.TIPO_RETORNO and RETORNO_A_PAGAR_LAYOUT.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_PAGAR_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_PAGAR_TIPO] on [RETORNO_A_PAGAR_TIPO] for INSERT as /* INSERT trigger on RETORNO_A_PAGAR_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS BANCOS RETORNO_A_PAGAR_TIPO ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_TIPO #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_PAGAR_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_PAGAR_TIPO] on [RETORNO_A_PAGAR_TIPO] for UPDATE as /* UPDATE trigger on RETORNO_A_PAGAR_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_RETORNO varchar(25), @insBANCO char(4), @delTIPO_RETORNO varchar(25), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_TIPO TIPO_RETORNO RETORNO_A_PAGAR ON PARENT UPDATE CASCADE */ IF update(TIPO_RETORNO) OR update(BANCO) BEGIN DECLARE RETORNO_A_PAGAR_TIPO981 CURSOR FOR SELECT TIPO_RETORNO, BANCO FROM INSERTED DECLARE RETORNO_A_PAGAR_TIPO632 CURSOR FOR SELECT TIPO_RETORNO, BANCO FROM DELETED OPEN RETORNO_A_PAGAR_TIPO981 OPEN RETORNO_A_PAGAR_TIPO632 FETCH NEXT FROM RETORNO_A_PAGAR_TIPO981 INTO @insTIPO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO632 INTO @delTIPO_RETORNO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR SET RETORNO_A_PAGAR.TIPO_RETORNO=@insTIPO_RETORNO, RETORNO_A_PAGAR.BANCO=@insBANCO WHERE RETORNO_A_PAGAR.TIPO_RETORNO = @delTIPO_RETORNO and RETORNO_A_PAGAR.BANCO = @delBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO981 INTO @insTIPO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO632 INTO @delTIPO_RETORNO, @delBANCO END END CLOSE RETORNO_A_PAGAR_TIPO981 CLOSE RETORNO_A_PAGAR_TIPO632 DEALLOCATE RETORNO_A_PAGAR_TIPO981 DEALLOCATE RETORNO_A_PAGAR_TIPO632 END /* RETORNO_A_PAGAR_TIPO BANCOS_LAYOUT RETORNO_A_PAGAR_LAYOUT ON PARENT UPDATE CASCADE */ IF update(TIPO_RETORNO) OR update(BANCO) BEGIN DECLARE RETORNO_A_PAGAR_TIPO979 CURSOR FOR SELECT TIPO_RETORNO, BANCO FROM INSERTED DECLARE RETORNO_A_PAGAR_TIPO632 CURSOR FOR SELECT TIPO_RETORNO, BANCO FROM DELETED OPEN RETORNO_A_PAGAR_TIPO979 OPEN RETORNO_A_PAGAR_TIPO632 FETCH NEXT FROM RETORNO_A_PAGAR_TIPO979 INTO @insTIPO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO632 INTO @delTIPO_RETORNO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_LAYOUT SET RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO=@insTIPO_RETORNO, RETORNO_A_PAGAR_LAYOUT.BANCO=@insBANCO WHERE RETORNO_A_PAGAR_LAYOUT.TIPO_RETORNO = @delTIPO_RETORNO and RETORNO_A_PAGAR_LAYOUT.BANCO = @delBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO979 INTO @insTIPO_RETORNO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_TIPO632 INTO @delTIPO_RETORNO, @delBANCO END END CLOSE RETORNO_A_PAGAR_TIPO979 CLOSE RETORNO_A_PAGAR_TIPO632 DEALLOCATE RETORNO_A_PAGAR_TIPO979 DEALLOCATE RETORNO_A_PAGAR_TIPO632 END /* BANCOS BANCOS RETORNO_A_PAGAR_TIPO ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_TIPO #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_PAGAR_TIPO].[TAMANHO_REGISTRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[RETORNO_A_PAGAR_TIPO].[DIRETORIO_RETORNO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[RETORNO_A_PAGAR_TIPO].[SEQUENCIAL_RETORNO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_DIF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_ENTRADAS_DIF]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [NUMERO_NF_TRANSFERENCIA] [char](8) NOT NULL, [FILIAL_ORIGEM] [varchar](25) NULL, [ROMANEIO_NF_SAIDA] [char](8) NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [TIPO_ENTRADA_SAIDA] [char](2) NULL, [FORNECEDOR] [varchar](40) NULL, [RESPONSAVEL] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [DATA_SAIDA] [datetime] NULL, [DESC_TIPO_ENTRADA_SAIDA] [varchar](40) NULL, [ENTRADA_CONFERIDA] [bit] NOT NULL, [ENTRADA_SEM_PRODUTOS] [bit] NOT NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [FATOR_PRECO] [numeric](5, 2) NULL, [STATUS_TRANSITO] [char](1) NULL, [QTDE_NAO_CONFERIDA] [int] NULL, [VALOR_NAO_CONFERIDO] [numeric](14, 2) NULL, [ENTRADA_POR] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBS] [text] NULL, [CGC_FORNECEDOR] [varchar](19) NULL, [PEDIDO_STATUS_LOJA] [smallint] NULL, CONSTRAINT [XPKLOJA_ENTRADAS_DIF] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_DIF]') AND name = N'XIE1LOJA_ENTRADAS_DIF') CREATE NONCLUSTERED INDEX [XIE1LOJA_ENTRADAS_DIF] ON [LOJA_ENTRADAS_DIF] ( [NUMERO_NF_TRANSFERENCIA] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_ENTRADAS_DIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_ENTRADAS_DIF] on [LOJA_ENTRADAS_DIF] for DELETE as /* DELETE trigger on LOJA_ENTRADAS_DIF */ begin declare @errno int, @errmsg varchar(255) /* LOJA_ENTRADAS_DIF R/1722 LOJA_ENTRADAS_PRODUTO_DIF ON PARENT DELETE CASCADE */ delete LOJA_ENTRADAS_PRODUTO_DIF from LOJA_ENTRADAS_PRODUTO_DIF,deleted where LOJA_ENTRADAS_PRODUTO_DIF.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_ENTRADAS_DIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_ENTRADAS_DIF] on [LOJA_ENTRADAS_DIF] for INSERT as /* INSERT trigger on LOJA_ENTRADAS_DIF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''',''LXI_LOJA_ENTRADAS_DIF'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_ENTRADAS_DIF SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_DIF, INSERTED WHERE LOJA_ENTRADAS_DIF.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_DIF.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_ENTRADAS_DIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_ENTRADAS_DIF] on [LOJA_ENTRADAS_DIF] for UPDATE as /* UPDATE trigger on LOJA_ENTRADAS_DIF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_ENTRADAS_DIF R/1722 LOJA_ENTRADAS_PRODUTO_DIF ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE LOJA_ENTRADAS_DIF1722 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE LOJA_ENTRADAS_DIF998 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN LOJA_ENTRADAS_DIF1722 OPEN LOJA_ENTRADAS_DIF998 FETCH NEXT FROM LOJA_ENTRADAS_DIF1722 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_ENTRADAS_DIF998 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS_PRODUTO_DIF SET LOJA_ENTRADAS_PRODUTO_DIF.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, LOJA_ENTRADAS_PRODUTO_DIF.FILIAL=@insFILIAL WHERE LOJA_ENTRADAS_PRODUTO_DIF.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.FILIAL = @delFILIAL FETCH NEXT FROM LOJA_ENTRADAS_DIF1722 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_ENTRADAS_DIF998 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE LOJA_ENTRADAS_DIF1722 CLOSE LOJA_ENTRADAS_DIF998 DEALLOCATE LOJA_ENTRADAS_DIF1722 DEALLOCATE LOJA_ENTRADAS_DIF998 END /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''',''LXU_LOJA_ENTRADAS_DIF'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL AND (A.STATUS_TRANSITO=0 OR A.STATUS_TRANSITO IS NULL) /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_ENTRADAS_DIF SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_DIF, INSERTED WHERE LOJA_ENTRADAS_DIF.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_DIF.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_ENTRADAS_DIF.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_ENTRADAS_DIF].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[ENTRADA_CONFERIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[ENTRADA_SEM_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[QTDE_NAO_CONFERIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_DIF].[VALOR_NAO_CONFERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_ENTRADAS_DIF].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_MEDIDAS]( [MEDIDA] [varchar](40) NOT NULL, [TABELA_MEDIDAS] [varchar](25) NOT NULL, [INDICADOR_DESENHO] [char](3) NULL, [M1] [numeric](7, 2) NULL, [M2] [numeric](7, 2) NULL, [M3] [numeric](7, 2) NULL, [M4] [numeric](7, 2) NULL, [M5] [numeric](7, 2) NULL, [M6] [numeric](7, 2) NULL, [M7] [numeric](7, 2) NULL, [M8] [numeric](7, 2) NULL, [M9] [numeric](7, 2) NULL, [M10] [numeric](7, 2) NULL, [M11] [numeric](7, 2) NULL, [M12] [numeric](7, 2) NULL, [M13] [numeric](7, 2) NULL, [M14] [numeric](7, 2) NULL, [M15] [numeric](7, 2) NULL, [M16] [numeric](7, 2) NULL, [M17] [numeric](7, 2) NULL, [M18] [numeric](7, 2) NULL, [M19] [numeric](7, 2) NULL, [M20] [numeric](7, 2) NULL, [M21] [numeric](7, 2) NULL, [M22] [numeric](7, 2) NULL, [M23] [numeric](7, 2) NULL, [M24] [numeric](7, 2) NULL, [M25] [numeric](7, 2) NULL, [M26] [numeric](7, 2) NULL, [M27] [numeric](7, 2) NULL, [M28] [numeric](7, 2) NULL, [M29] [numeric](7, 2) NULL, [M30] [numeric](7, 2) NULL, [M31] [numeric](7, 2) NULL, [M32] [numeric](7, 2) NULL, [M33] [numeric](7, 2) NULL, [M34] [numeric](7, 2) NULL, [M35] [numeric](7, 2) NULL, [M36] [numeric](7, 2) NULL, [M37] [numeric](7, 2) NULL, [M38] [numeric](7, 2) NULL, [M39] [numeric](7, 2) NULL, [M40] [numeric](7, 2) NULL, [M41] [numeric](7, 2) NULL, [M42] [numeric](7, 2) NULL, [M43] [numeric](7, 2) NULL, [M44] [numeric](7, 2) NULL, [M45] [numeric](7, 2) NULL, [M46] [numeric](7, 2) NULL, [M47] [numeric](7, 2) NULL, [M48] [numeric](7, 2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_MEDIDAS] PRIMARY KEY NONCLUSTERED ( [MEDIDA] ASC, [TABELA_MEDIDAS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_MEDIDAS] on [PRODUTOS_MEDIDAS] for INSERT as /* INSERT trigger on PRODUTOS_MEDIDAS */ /* default body for LXI_PRODUTOS_MEDIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMEDIDA varchar(40), @insTABELA_MEDIDAS varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS_MEDIDAS ON CHILD INSERT RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MEDIDAS #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_MEDIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_MEDIDAS, INSERTED WHERE PRODUTOS_MEDIDAS.MEDIDA = INSERTED.MEDIDA and PRODUTOS_MEDIDAS.TABELA_MEDIDAS = INSERTED.TABELA_MEDIDAS AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_MEDIDAS] on [PRODUTOS_MEDIDAS] for UPDATE as /* UPDATE trigger on PRODUTOS_MEDIDAS */ /* default body for LXU_PRODUTOS_MEDIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMEDIDA varchar(40), @insTABELA_MEDIDAS varchar(25), @delMEDIDA varchar(40), @delTABELA_MEDIDAS varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS_MEDIDAS ON CHILD UPDATE RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MEDIDAS #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_MEDIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_MEDIDAS, INSERTED WHERE PRODUTOS_MEDIDAS.MEDIDA = INSERTED.MEDIDA and PRODUTOS_MEDIDAS.TABELA_MEDIDAS = INSERTED.TABELA_MEDIDAS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_MEDIDAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MEDIDAS].[INDICADOR_DESENHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MEDIDAS].[M48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_MEDIDAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_LANC_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_LANC_ITENS]( [LANCAMENTO] [char](8) NOT NULL, [ITEM] [char](4) NOT NULL, [CONTA_CONTABIL] [char](20) NOT NULL, [CREDITO] [numeric](14, 2) NULL, [DEBITO] [numeric](14, 2) NULL, [HISTORICO] [varchar](50) NULL, [CODIGO_HISTORICO] [char](4) NULL, [COMPETENCIA_MES] [datetime] NULL, CONSTRAINT [XPKCONTAS_LANC_ITENS] PRIMARY KEY NONCLUSTERED ( [LANCAMENTO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CONTAS_LANC_ITENS]') AND name = N'XIE1CONTAS_LANC_ITENS') CREATE NONCLUSTERED INDEX [XIE1CONTAS_LANC_ITENS] ON [CONTAS_LANC_ITENS] ( [CONTA_CONTABIL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_LANC_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_LANC_ITENS] on [CONTAS_LANC_ITENS] for DELETE as /* DELETE trigger on CONTAS_LANC_ITENS */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_LANC_ITENS LANC_ITENS CONTAS_LANC_CENTROS_CUSTO ON PARENT DELETE CASCADE */ delete CONTAS_LANC_CENTROS_CUSTO from CONTAS_LANC_CENTROS_CUSTO,deleted where CONTAS_LANC_CENTROS_CUSTO.LANCAMENTO = deleted.LANCAMENTO and CONTAS_LANC_CENTROS_CUSTO.ITEM = deleted.ITEM /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_RECEBER_PGTOS ON PARENT DELETE CASCADE */ delete A_RECEBER_PGTOS from A_RECEBER_PGTOS,deleted where A_RECEBER_PGTOS.LANCAMENTO = deleted.LANCAMENTO and A_RECEBER_PGTOS.ITEM = deleted.ITEM /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_PAGAR_PARCELA_PG ON PARENT DELETE CASCADE */ delete A_PAGAR_PARCELA_PG from A_PAGAR_PARCELA_PG,deleted where A_PAGAR_PARCELA_PG.LANCAMENTO = deleted.LANCAMENTO and A_PAGAR_PARCELA_PG.ITEM = deleted.ITEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTAS_LANC_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTAS_LANC_ITENS] on [CONTAS_LANC_ITENS] for INSERT as /* INSERT trigger on CONTAS_LANC_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_LANCAMENTOS CONTAS_LANCAMENTOS CONTAS_LANC_ITENS ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANC_ITENS #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANC_ITENS ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANC_ITENS #porque #CONTAS_PLANO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_LANC_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_LANC_ITENS] on [CONTAS_LANC_ITENS] for UPDATE as /* UPDATE trigger on CONTAS_LANC_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLANCAMENTO char(8), @insITEM char(4), @delLANCAMENTO char(8), @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_LANC_ITENS LANC_ITENS CONTAS_LANC_CENTROS_CUSTO ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) OR update(ITEM) BEGIN DECLARE CONTAS_LANC_ITENS1298 CURSOR FOR SELECT LANCAMENTO, ITEM FROM INSERTED DECLARE CONTAS_LANC_ITENS193 CURSOR FOR SELECT LANCAMENTO, ITEM FROM DELETED OPEN CONTAS_LANC_ITENS1298 OPEN CONTAS_LANC_ITENS193 FETCH NEXT FROM CONTAS_LANC_ITENS1298 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANC_CENTROS_CUSTO SET CONTAS_LANC_CENTROS_CUSTO.LANCAMENTO=@insLANCAMENTO, CONTAS_LANC_CENTROS_CUSTO.ITEM=@insITEM WHERE CONTAS_LANC_CENTROS_CUSTO.LANCAMENTO = @delLANCAMENTO and CONTAS_LANC_CENTROS_CUSTO.ITEM = @delITEM FETCH NEXT FROM CONTAS_LANC_ITENS1298 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM END END CLOSE CONTAS_LANC_ITENS1298 CLOSE CONTAS_LANC_ITENS193 DEALLOCATE CONTAS_LANC_ITENS1298 DEALLOCATE CONTAS_LANC_ITENS193 END /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_RECEBER_PGTOS ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) OR update(ITEM) BEGIN DECLARE CONTAS_LANC_ITENS777 CURSOR FOR SELECT LANCAMENTO, ITEM FROM INSERTED DECLARE CONTAS_LANC_ITENS193 CURSOR FOR SELECT LANCAMENTO, ITEM FROM DELETED OPEN CONTAS_LANC_ITENS777 OPEN CONTAS_LANC_ITENS193 FETCH NEXT FROM CONTAS_LANC_ITENS777 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PGTOS SET A_RECEBER_PGTOS.LANCAMENTO=@insLANCAMENTO, A_RECEBER_PGTOS.ITEM=@insITEM WHERE A_RECEBER_PGTOS.LANCAMENTO = @delLANCAMENTO and A_RECEBER_PGTOS.ITEM = @delITEM FETCH NEXT FROM CONTAS_LANC_ITENS777 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM END END CLOSE CONTAS_LANC_ITENS777 CLOSE CONTAS_LANC_ITENS193 DEALLOCATE CONTAS_LANC_ITENS777 DEALLOCATE CONTAS_LANC_ITENS193 END /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_PAGAR_PARCELA_PG ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) OR update(ITEM) BEGIN DECLARE CONTAS_LANC_ITENS386 CURSOR FOR SELECT LANCAMENTO, ITEM FROM INSERTED DECLARE CONTAS_LANC_ITENS193 CURSOR FOR SELECT LANCAMENTO, ITEM FROM DELETED OPEN CONTAS_LANC_ITENS386 OPEN CONTAS_LANC_ITENS193 FETCH NEXT FROM CONTAS_LANC_ITENS386 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_PARCELA_PG SET A_PAGAR_PARCELA_PG.LANCAMENTO=@insLANCAMENTO, A_PAGAR_PARCELA_PG.ITEM=@insITEM WHERE A_PAGAR_PARCELA_PG.LANCAMENTO = @delLANCAMENTO and A_PAGAR_PARCELA_PG.ITEM = @delITEM FETCH NEXT FROM CONTAS_LANC_ITENS386 INTO @insLANCAMENTO, @insITEM FETCH NEXT FROM CONTAS_LANC_ITENS193 INTO @delLANCAMENTO, @delITEM END END CLOSE CONTAS_LANC_ITENS386 CLOSE CONTAS_LANC_ITENS193 DEALLOCATE CONTAS_LANC_ITENS386 DEALLOCATE CONTAS_LANC_ITENS193 END /* CONTAS_LANCAMENTOS CONTAS_LANCAMENTOS CONTAS_LANC_ITENS ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANC_ITENS #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANC_ITENS ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANC_ITENS #porque #CONTAS_PLANO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANC_ITENS].[CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANC_ITENS].[DEBITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CONTAS_LANC_ITENS].[HISTORICO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_FORNECEDOR]( [FORNECEDOR] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [REF_FORNECEDOR] [char](15) NULL, [DESC_FORNECEDOR] [varchar](60) NOT NULL, [REF_COR_FORNECEDOR] [varchar](15) NULL, [DESC_COR_FORNECEDOR] [varchar](40) NOT NULL, [UNIDADE] [char](5) NOT NULL, [FATOR_CONVERSAO_FORNECEDOR] [numeric](9, 4) NOT NULL, [DIAS_ENTREGA] [int] NULL, [OBS_FORNECEDOR] [text] NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NULL, CONSTRAINT [XPKMATERIAIS_FORNECEDOR] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [FORNECEDOR] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_MATERIAIS_FORNECEDOR] on [MATERIAIS_FORNECEDOR] for INSERT as /* INSERT trigger on MATERIAIS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFORNECEDOR varchar(25), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR R/1773 MATERIAIS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FORNECEDOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FORNECEDOR #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* UNIDADES UNIDADES MATERIAIS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FORNECEDOR #porque #UNIDADES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES MATERIAIS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FORNECEDOR #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_FORNECEDOR] on [MATERIAIS_FORNECEDOR] for UPDATE as /* UPDATE trigger on MATERIAIS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFORNECEDOR varchar(25), @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delFORNECEDOR varchar(25), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR R/1773 MATERIAIS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FORNECEDOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FORNECEDOR #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* UNIDADES UNIDADES MATERIAIS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FORNECEDOR #porque #UNIDADES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES MATERIAIS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FORNECEDOR #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_FORNECEDOR].[REF_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_FORNECEDOR].[REF_COR_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_FORNECEDOR].[DIAS_ENTREGA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABELAS_PRECO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABELAS_PRECO]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [TABELA] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [LANCAMENTO_TABELA] [datetime] NOT NULL, [DATA_DESATIVACAO] [datetime] NULL, [ATACADO_VAREJO] [bit] NOT NULL, [STATUS] [char](1) NULL, [ENVIA_LOJA_VAREJO] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [ENVIA_LOJA_ATACADO] [bit] NOT NULL, [ENVIA_REPRESENTANTE] [bit] NOT NULL, [ENVIA_VAREJO_INTERNET] [bit] NOT NULL, [ENVIA_ATACADO_INTERNET] [bit] NOT NULL, [INATIVO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CONDICAO_PGTO] [char](3) NULL, [OBS] [text] NULL, CONSTRAINT [XPKTABELAS_PRECO] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TABELAS_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_TABELAS_PRECO] on [TABELAS_PRECO] for DELETE as /* DELETE trigger on TABELAS_PRECO */ begin declare @errno int, @errmsg varchar(255) /* TABELAS_PRECO R/2126 TABELAS_PRECO_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TABELAS_PRECO_SERVICO where TABELAS_PRECO_SERVICO.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #TABELAS_PRECO_SERVICO#.'' goto error end /* TABELAS_PRECO R/1705 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* TABELAS_PRECO R/1630 PRECOS_LOG ON PARENT DELETE CASCADE */ delete PRECOS_LOG from PRECOS_LOG,deleted where PRECOS_LOG.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO /* TABELAS_PRECO R/1492 MATERIAIS_PRECO ON PARENT DELETE CASCADE */ delete MATERIAIS_PRECO from MATERIAIS_PRECO,deleted where MATERIAIS_PRECO.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO /* TABELAS_PRECO R/1409 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #VENDAS_LOTE#.'' goto error end /* TABELAS_PRECO R/1351 ORCAMENTOS_PRECOS ON PARENT DELETE CASCADE */ delete ORCAMENTOS_PRECOS from ORCAMENTOS_PRECOS,deleted where ORCAMENTOS_PRECOS.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO /* TABELAS_PRECO MATERIAIS_TABELA MATERIAIS_2_QUALI ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_2_QUALI where MATERIAIS_2_QUALI.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #MATERIAIS_2_QUALI#.'' goto error end /* TABELAS_PRECO TABELAS_PRECO LOJA_OPERACOES_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_OPERACOES_VENDA where LOJA_OPERACOES_VENDA.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #LOJA_OPERACOES_VENDA#.'' goto error end /* TABELAS_PRECO TABELAS_PRECO LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #LOJA_VENDA#.'' goto error end /* TABELAS_PRECO TABELAS_PRECO VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TABELAS_PRECO #porque existem registros em #VENDAS#.'' goto error end /* TABELAS_PRECO TABELAS_PRECO PRODUTOS_PRECOS ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECOS from PRODUTOS_PRECOS,deleted where PRODUTOS_PRECOS.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TABELAS_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TABELAS_PRECO] on [TABELAS_PRECO] for INSERT as /* INSERT trigger on TABELAS_PRECO */ /* default body for LXI_TABELAS_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS MOEDAS TABELAS_PRECO ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TABELAS_PRECO #porque #MOEDAS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TABELAS_PRECO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TABELAS_PRECO, INSERTED WHERE TABELAS_PRECO.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TABELAS_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TABELAS_PRECO] on [TABELAS_PRECO] for UPDATE as /* UPDATE trigger on TABELAS_PRECO */ /* default body for LXU_TABELAS_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @delCODIGO_TAB_PRECO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS MOEDAS TABELAS_PRECO ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TABELAS_PRECO #porque #MOEDAS #não existe.'' goto error end end /* TABELAS_PRECO R/2126 TABELAS_PRECO_SERVICO ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO2126 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO2126 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO2126 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TABELAS_PRECO_SERVICO SET TABELAS_PRECO_SERVICO.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE TABELAS_PRECO_SERVICO.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO2126 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO2126 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO2126 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO R/1705 CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO1705 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO1705 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO1705 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE CLIENTES_ATACADO.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO1705 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO1705 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO1705 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO R/1630 PRECOS_LOG ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO1630 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO1630 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO1630 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRECOS_LOG SET PRECOS_LOG.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE PRECOS_LOG.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO1630 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO1630 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO1630 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO R/1492 MATERIAIS_PRECO ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO1492 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO1492 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO1492 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PRECO SET MATERIAIS_PRECO.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE MATERIAIS_PRECO.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO1492 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO1492 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO1492 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO R/1409 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO1409 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO1409 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO1409 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE VENDAS_LOTE.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO1409 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO1409 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO1409 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO R/1351 ORCAMENTOS_PRECOS ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO1351 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO1351 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO1351 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_PRECOS SET ORCAMENTOS_PRECOS.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE ORCAMENTOS_PRECOS.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO1351 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO1351 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO1351 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO MATERIAIS_TABELA MATERIAIS_2_QUALI ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO916 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO916 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO916 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_2_QUALI SET MATERIAIS_2_QUALI.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE MATERIAIS_2_QUALI.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO916 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO916 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO916 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO TABELAS_PRECO LOJA_OPERACOES_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO850 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO850 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO850 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_OPERACOES_VENDA SET LOJA_OPERACOES_VENDA.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE LOJA_OPERACOES_VENDA.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO850 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO850 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO850 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO TABELAS_PRECO LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO841 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO841 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO841 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE LOJA_VENDA.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO841 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO841 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO841 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO TABELAS_PRECO VENDAS ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO832 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO832 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO832 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE VENDAS.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO832 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO832 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO832 DEALLOCATE TABELAS_PRECO175 END /* TABELAS_PRECO TABELAS_PRECO PRODUTOS_PRECOS ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) BEGIN DECLARE TABELAS_PRECO297 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM INSERTED DECLARE TABELAS_PRECO175 CURSOR FOR SELECT CODIGO_TAB_PRECO FROM DELETED OPEN TABELAS_PRECO297 OPEN TABELAS_PRECO175 FETCH NEXT FROM TABELAS_PRECO297 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECOS SET PRODUTOS_PRECOS.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE PRODUTOS_PRECOS.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO297 INTO @insCODIGO_TAB_PRECO FETCH NEXT FROM TABELAS_PRECO175 INTO @delCODIGO_TAB_PRECO END END CLOSE TABELAS_PRECO297 CLOSE TABELAS_PRECO175 DEALLOCATE TABELAS_PRECO297 DEALLOCATE TABELAS_PRECO175 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TABELAS_PRECO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TABELAS_PRECO, INSERTED WHERE TABELAS_PRECO.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TABELAS_PRECO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ATACADO_VAREJO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TABELAS_PRECO].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ENVIA_LOJA_VAREJO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ENVIA_LOJA_ATACADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ENVIA_REPRESENTANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ENVIA_VAREJO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[ENVIA_ATACADO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TABELAS_PRECO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_RECEBER_FATURA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_RECEBER_FATURA]( [NOME_CLIFOR] [varchar](25) NOT NULL, [FATURA] [char](11) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [TIPO] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [EMISSAO] [datetime] NULL, [DOCUMENTO] [varchar](20) NULL, [FATURA_IMPRESSA] [bit] NOT NULL, [VALOR_FATURA] [numeric](14, 2) NULL, [VALOR_A_RECEBER] [numeric](14, 2) NULL, [POSSUI_SAIDA] [bit] NOT NULL, [COMISSAO_GERENTE] [real] NULL, [COMISSAO] [real] NULL, [GERENTE] [varchar](25) NULL, [PORCENTAGEM_ACERTO] [real] NULL, [REPRESENTANTE] [varchar](25) NULL, [CAMBIO_NA_DATA_EMISSAO] [numeric](10, 6) NULL, [JUROS_POR_ATRASO] [real] NULL, [SERIE] [char](2) NULL, CONSTRAINT [XPKA_RECEBER_FATURA] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [FATURA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_FATURA]') AND name = N'XIE1A_RECEBER_FATURA') CREATE NONCLUSTERED INDEX [XIE1A_RECEBER_FATURA] ON [A_RECEBER_FATURA] ( [VALOR_A_RECEBER] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_FATURA]') AND name = N'XIE2A_RECEBER_FATURA') CREATE NONCLUSTERED INDEX [XIE2A_RECEBER_FATURA] ON [A_RECEBER_FATURA] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_FATURA]') AND name = N'XIE3A_RECEBER_FATURA') CREATE NONCLUSTERED INDEX [XIE3A_RECEBER_FATURA] ON [A_RECEBER_FATURA] ( [FATURA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_A_RECEBER_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_A_RECEBER_FATURA] on [A_RECEBER_FATURA] for DELETE as /* DELETE trigger on A_RECEBER_FATURA */ begin declare @errno int, @errmsg varchar(255) /* A_RECEBER_FATURA FAT_JUROS A_RECEBER_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PARCELAS where A_RECEBER_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR and A_RECEBER_PARCELAS.FATURA_JUROS = deleted.FATURA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_RECEBER_FATURA #porque existem registros em #A_RECEBER_PARCELAS#.'' goto error end /* A_RECEBER_FATURA A_RECEBER_FATURA A_RECEBER_PARCELAS ON PARENT DELETE CASCADE */ delete A_RECEBER_PARCELAS from A_RECEBER_PARCELAS,deleted where A_RECEBER_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR and A_RECEBER_PARCELAS.FATURA = deleted.FATURA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_RECEBER_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_A_RECEBER_FATURA] on [A_RECEBER_FATURA] for INSERT as /* INSERT trigger on A_RECEBER_FATURA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REPRESENTANTES REPRESENTANTE A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #REPRESENTANTES #não existe.'' goto error end end /* REPRESENTANTES GERENTE A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.GERENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #REPRESENTANTES #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* MOEDAS MOEDAS A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #FILIAIS #não existe.'' goto error end end /* TIPOS_TITULO TIPOS_TITULO A_RECEBER_FATURA ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_FATURA #porque #TIPOS_TITULO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_RECEBER_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_A_RECEBER_FATURA] on [A_RECEBER_FATURA] for UPDATE as /* UPDATE trigger on A_RECEBER_FATURA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insFATURA char(11), @delNOME_CLIFOR varchar(25), @delFATURA char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_FATURA FAT_JUROS A_RECEBER_PARCELAS ON PARENT UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(FATURA) begin if exists ( select * from deleted,A_RECEBER_PARCELAS where A_RECEBER_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR and A_RECEBER_PARCELAS.FATURA_JUROS = deleted.FATURA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque existem registros em #A_RECEBER_PARCELAS#.'' goto error end end /* A_RECEBER_FATURA A_RECEBER_FATURA A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(FATURA) BEGIN DECLARE A_RECEBER_FATURA365 CURSOR FOR SELECT NOME_CLIFOR, FATURA FROM INSERTED DECLARE A_RECEBER_FATURA199 CURSOR FOR SELECT NOME_CLIFOR, FATURA FROM DELETED OPEN A_RECEBER_FATURA365 OPEN A_RECEBER_FATURA199 FETCH NEXT FROM A_RECEBER_FATURA365 INTO @insNOME_CLIFOR, @insFATURA FETCH NEXT FROM A_RECEBER_FATURA199 INTO @delNOME_CLIFOR, @delFATURA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PARCELAS SET A_RECEBER_PARCELAS.NOME_CLIFOR=@insNOME_CLIFOR, A_RECEBER_PARCELAS.FATURA=@insFATURA WHERE A_RECEBER_PARCELAS.NOME_CLIFOR = @delNOME_CLIFOR and A_RECEBER_PARCELAS.FATURA = @delFATURA FETCH NEXT FROM A_RECEBER_FATURA365 INTO @insNOME_CLIFOR, @insFATURA FETCH NEXT FROM A_RECEBER_FATURA199 INTO @delNOME_CLIFOR, @delFATURA END END CLOSE A_RECEBER_FATURA365 CLOSE A_RECEBER_FATURA199 DEALLOCATE A_RECEBER_FATURA365 DEALLOCATE A_RECEBER_FATURA199 END /* REPRESENTANTES REPRESENTANTE A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #REPRESENTANTES #não existe.'' goto error end end /* REPRESENTANTES GERENTE A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.GERENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #REPRESENTANTES #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* MOEDAS MOEDAS A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #FILIAIS #não existe.'' goto error end end /* TIPOS_TITULO TIPOS_TITULO A_RECEBER_FATURA ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_FATURA #porque #TIPOS_TITULO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[A_RECEBER_FATURA].[DOCUMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_FATURA].[FATURA_IMPRESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_FATURA].[VALOR_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_FATURA].[VALOR_A_RECEBER]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_FATURA].[POSSUI_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_FATURA].[PORCENTAGEM_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[A_RECEBER_FATURA].[CAMBIO_NA_DATA_EMISSAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_FOTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_FOTO]( [NUMERO_FOTO] [int] NOT NULL, [MATERIAL] [char](11) NOT NULL, [LEGENDA_FOTO] [varchar](50) NULL, [PATH_FOTO] [varchar](100) NULL, [OBS] [text] NULL, CONSTRAINT [XPKMATERIAIS_FOTO] PRIMARY KEY NONCLUSTERED ( [NUMERO_FOTO] ASC, [MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_FOTO] on [MATERIAIS_FOTO] for INSERT as /* INSERT trigger on MATERIAIS_FOTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS MATERIAIS_FOTO MATERIAIS_FOTO ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FOTO #porque #MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_FOTO] on [MATERIAIS_FOTO] for UPDATE as /* UPDATE trigger on MATERIAIS_FOTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_FOTO int, @insMATERIAL char(11), @delNUMERO_FOTO int, @delMATERIAL char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS MATERIAIS_FOTO MATERIAIS_FOTO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FOTO #porque #MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_FOTO].[LEGENDA_FOTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_FOTO].[PATH_FOTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REQUISICAO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REQUISICAO_MATERIAL]( [REQUISICAO] [char](7) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [COTACAO] [char](7) NULL, [QTDE_REQUISITADA] [numeric](9, 3) NULL, [QTDE_APROVADA] [numeric](9, 3) NULL, [LIMITE] [datetime] NULL, [APROVADO_POR] [varchar](25) NULL, [STATUS] [char](1) NULL, [PEDIDO] [char](8) NULL, CONSTRAINT [XPKREQUISICAO_MATERIAL] PRIMARY KEY NONCLUSTERED ( [REQUISICAO] ASC, [MATERIAL] ASC, [ENTREGA] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REQUISICAO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REQUISICAO_MATERIAL] on [REQUISICAO_MATERIAL] for INSERT as /* INSERT trigger on REQUISICAO_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1833 REQUISICAO_MATERIAL ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_MATERIAL #porque #COMPRAS #não existe.'' goto error end end /* COTACOES R/1248 REQUISICAO_MATERIAL ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_MATERIAL #porque #COTACOES #não existe.'' goto error end end /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_MATERIAL ON CHILD INSERT RESTRICT */ if update(REQUISICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REQUISICOES where inserted.REQUISICAO = REQUISICOES.REQUISICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_MATERIAL #porque #REQUISICOES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES REQUISICAO_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REQUISICAO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REQUISICAO_MATERIAL] on [REQUISICAO_MATERIAL] for UPDATE as /* UPDATE trigger on REQUISICAO_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQUISICAO char(7), @insMATERIAL char(11), @insENTREGA datetime, @insCOR_MATERIAL char(10), @delREQUISICAO char(7), @delMATERIAL char(11), @delENTREGA datetime, @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1833 REQUISICAO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_MATERIAL #porque #COMPRAS #não existe.'' goto error end end /* COTACOES R/1248 REQUISICAO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_MATERIAL #porque #COTACOES #não existe.'' goto error end end /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(REQUISICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REQUISICOES where inserted.REQUISICAO = REQUISICOES.REQUISICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_MATERIAL #porque #REQUISICOES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES REQUISICAO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REQUISICAO_MATERIAL].[QTDE_REQUISITADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REQUISICAO_MATERIAL].[QTDE_APROVADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICAO_MATERIAL].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICAO_MATERIAL].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROMANEIOS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROMANEIOS_PRODUTO]( [ROMANEIO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [STATUS] [char](1) NULL, [FILTROS_PROCESSO] [text] NULL, [COR_PRODUTO] [char](10) NOT NULL, CONSTRAINT [XPKROMANEIOS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [ROMANEIO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ROMANEIOS_PRODUTO]') AND name = N'XIE1ROMANEIOS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1ROMANEIOS_PRODUTO] ON [ROMANEIOS_PRODUTO] ( [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ROMANEIOS_PRODUTO]') AND name = N'XIE2ROMANEIOS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2ROMANEIOS_PRODUTO] ON [ROMANEIOS_PRODUTO] ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ROMANEIOS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ROMANEIOS_PRODUTO] on [ROMANEIOS_PRODUTO] for DELETE as /* DELETE trigger on ROMANEIOS_PRODUTO */ begin declare @errno int, @errmsg varchar(255) /* ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO ROMANEIOS_RESERVAS ON PARENT DELETE CASCADE */ delete ROMANEIOS_RESERVAS from ROMANEIOS_RESERVAS,deleted where ROMANEIOS_RESERVAS.ROMANEIO = deleted.ROMANEIO and ROMANEIOS_RESERVAS.FILIAL = deleted.FILIAL and ROMANEIOS_RESERVAS.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ROMANEIOS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ROMANEIOS_PRODUTO] on [ROMANEIOS_PRODUTO] for INSERT as /* INSERT trigger on ROMANEIOS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* /* PRODUTO_CORES R/2175 ROMANEIOS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end */ /* ROMANEIOS ROMANEIOS ROMANEIOS_PRODUTO ON CHILD INSERT RESTRICT */ if update(ROMANEIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS where inserted.ROMANEIO = ROMANEIOS.ROMANEIO and inserted.FILIAL = ROMANEIOS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS_PRODUTO #porque #ROMANEIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ROMANEIOS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ROMANEIOS_PRODUTO] on [ROMANEIOS_PRODUTO] for UPDATE as /* UPDATE trigger on ROMANEIOS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO ROMANEIOS_RESERVAS ON PARENT UPDATE CASCADE */ IF update(ROMANEIO) OR update(FILIAL) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE ROMANEIOS_PRODUTO722 CURSOR FOR SELECT ROMANEIO, FILIAL, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE ROMANEIOS_PRODUTO520 CURSOR FOR SELECT ROMANEIO, FILIAL, PRODUTO, COR_PRODUTO FROM DELETED OPEN ROMANEIOS_PRODUTO722 OPEN ROMANEIOS_PRODUTO520 FETCH NEXT FROM ROMANEIOS_PRODUTO722 INTO @insROMANEIO, @insFILIAL, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM ROMANEIOS_PRODUTO520 INTO @delROMANEIO, @delFILIAL, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_RESERVAS SET ROMANEIOS_RESERVAS.ROMANEIO=@insROMANEIO, ROMANEIOS_RESERVAS.FILIAL=@insFILIAL, ROMANEIOS_RESERVAS.PRODUTO=@insPRODUTO, ROMANEIOS_RESERVAS.COR_PRODUTO=@insCOR_PRODUTO WHERE ROMANEIOS_RESERVAS.ROMANEIO = @delROMANEIO and ROMANEIOS_RESERVAS.FILIAL = @delFILIAL and ROMANEIOS_RESERVAS.PRODUTO = @delPRODUTO and ROMANEIOS_RESERVAS.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM ROMANEIOS_PRODUTO722 INTO @insROMANEIO, @insFILIAL, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM ROMANEIOS_PRODUTO520 INTO @delROMANEIO, @delFILIAL, @delPRODUTO, @delCOR_PRODUTO END END CLOSE ROMANEIOS_PRODUTO722 CLOSE ROMANEIOS_PRODUTO520 DEALLOCATE ROMANEIOS_PRODUTO722 DEALLOCATE ROMANEIOS_PRODUTO520 END /* /* PRODUTO_CORES R/2175 ROMANEIOS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end */ /* ROMANEIOS ROMANEIOS ROMANEIOS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(ROMANEIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS where inserted.ROMANEIO = ROMANEIOS.ROMANEIO and inserted.FILIAL = ROMANEIOS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS_PRODUTO #porque #ROMANEIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ROMANEIOS_PRODUTO].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS_PRODUTO].[COR_PRODUTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTACOES_MAT_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTACOES_MAT_FORNECEDOR]( [COTACAO] [char](7) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NULL, [UNIDADE_FORNECEDOR] [char](6) NULL, [QTDE_COTADA] [numeric](9, 3) NULL, [CUSTO_COTADO] [numeric](15, 5) NOT NULL, [CUSTO_MOEDA] [numeric](15, 5) NULL, [CUSTO_A_VISTA] [numeric](15, 5) NULL, [PRAZO_MEDIO] [int] NULL, [LIMITE] [datetime] NOT NULL, [IPI] [real] NULL, [ENCARGOS] [real] NULL, [COTACAO_VENCEDORA] [bit] NOT NULL, [STATUS] [char](1) NULL, [OBS] [text] NULL, CONSTRAINT [XPKCOTACOES_MAT_FORNECEDOR] PRIMARY KEY NONCLUSTERED ( [COTACAO] ASC, [MATERIAL] ASC, [ENTREGA] ASC, [FORNECEDOR] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COTACOES_MAT_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COTACOES_MAT_FORNECEDOR] on [COTACOES_MAT_FORNECEDOR] for INSERT as /* INSERT trigger on COTACOES_MAT_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACAO_MATERIAIS COT_MATERIAIS COTACOES_MAT_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(COTACAO) or update(MATERIAL) or update(ENTREGA) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACAO_MATERIAIS where inserted.COTACAO = COTACAO_MATERIAIS.COTACAO and inserted.MATERIAL = COTACAO_MATERIAIS.MATERIAL and inserted.ENTREGA = COTACAO_MATERIAIS.ENTREGA and inserted.COR_MATERIAL = COTACAO_MATERIAIS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_MAT_FORNECEDOR #porque #COTACAO_MATERIAIS #não existe.'' goto error end end /* MOEDAS MOEDAS COTACOES_MAT_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_MAT_FORNECEDOR #porque #MOEDAS #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_MAT_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_MAT_FORNECEDOR #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COTACOES_MAT_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_MAT_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COTACOES_MAT_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COTACOES_MAT_FORNECEDOR] on [COTACOES_MAT_FORNECEDOR] for UPDATE as /* UPDATE trigger on COTACOES_MAT_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTACAO char(7), @insMATERIAL char(11), @insENTREGA datetime, @insFORNECEDOR varchar(25), @insCOR_MATERIAL char(10), @delCOTACAO char(7), @delMATERIAL char(11), @delENTREGA datetime, @delFORNECEDOR varchar(25), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACAO_MATERIAIS COT_MATERIAIS COTACOES_MAT_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(COTACAO) or update(MATERIAL) or update(ENTREGA) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACAO_MATERIAIS where inserted.COTACAO = COTACAO_MATERIAIS.COTACAO and inserted.MATERIAL = COTACAO_MATERIAIS.MATERIAL and inserted.ENTREGA = COTACAO_MATERIAIS.ENTREGA and inserted.COR_MATERIAL = COTACAO_MATERIAIS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_MAT_FORNECEDOR #porque #COTACAO_MATERIAIS #não existe.'' goto error end end /* MOEDAS MOEDAS COTACOES_MAT_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_MAT_FORNECEDOR #porque #MOEDAS #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_MAT_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_MAT_FORNECEDOR #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COTACOES_MAT_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_MAT_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[COTACOES_MAT_FORNECEDOR].[FATOR_CONVERSAO_UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COTACOES_MAT_FORNECEDOR].[UNIDADE_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_MAT_FORNECEDOR].[QTDE_COTADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_MAT_FORNECEDOR].[CUSTO_COTADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_MAT_FORNECEDOR].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_MAT_FORNECEDOR].[ENCARGOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_MAT_FORNECEDOR].[COTACAO_VENCEDORA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COTACOES_MAT_FORNECEDOR].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ROMANEIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ROMANEIOS]( [ROMANEIO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [ROMANEIO_ENCERRADO] [bit] NOT NULL, [DATA_ROMANEIO] [datetime] NULL, [LIBERADO_EXPEDICAO] [bit] NOT NULL, [OBS] [text] NULL, [PROGRAMACAO] [varchar](25) NULL, [ENTREGA_INICIAL] [datetime] NULL, CONSTRAINT [XPKROMANEIOS] PRIMARY KEY NONCLUSTERED ( [ROMANEIO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ROMANEIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ROMANEIOS] on [ROMANEIOS] for DELETE as /* DELETE trigger on ROMANEIOS */ begin declare @errno int, @errmsg varchar(255) /* ROMANEIOS R/2004 COLETOR_COLETA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_COLETA where COLETOR_COLETA.ROMANEIO = deleted.ROMANEIO and COLETOR_COLETA.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ROMANEIOS #porque existem registros em #COLETOR_COLETA#.'' goto error end /* ROMANEIOS ROMANEIOS ROMANEIOS_PRODUTO ON PARENT DELETE CASCADE */ delete ROMANEIOS_PRODUTO from ROMANEIOS_PRODUTO,deleted where ROMANEIOS_PRODUTO.ROMANEIO = deleted.ROMANEIO and ROMANEIOS_PRODUTO.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ROMANEIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ROMANEIOS] on [ROMANEIOS] for INSERT as /* INSERT trigger on ROMANEIOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ROMANEIOS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ROMANEIOS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ROMANEIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ROMANEIOS] on [ROMANEIOS] for UPDATE as /* UPDATE trigger on ROMANEIOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO char(8), @insFILIAL varchar(25), @delROMANEIO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ROMANEIOS R/2004 COLETOR_COLETA ON PARENT UPDATE CASCADE */ IF update(ROMANEIO) OR update(FILIAL) BEGIN DECLARE ROMANEIOS2004 CURSOR FOR SELECT ROMANEIO, FILIAL FROM INSERTED DECLARE ROMANEIOS208 CURSOR FOR SELECT ROMANEIO, FILIAL FROM DELETED OPEN ROMANEIOS2004 OPEN ROMANEIOS208 FETCH NEXT FROM ROMANEIOS2004 INTO @insROMANEIO, @insFILIAL FETCH NEXT FROM ROMANEIOS208 INTO @delROMANEIO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_COLETA SET COLETOR_COLETA.ROMANEIO=@insROMANEIO, COLETOR_COLETA.FILIAL=@insFILIAL WHERE COLETOR_COLETA.ROMANEIO = @delROMANEIO and COLETOR_COLETA.FILIAL = @delFILIAL FETCH NEXT FROM ROMANEIOS2004 INTO @insROMANEIO, @insFILIAL FETCH NEXT FROM ROMANEIOS208 INTO @delROMANEIO, @delFILIAL END END CLOSE ROMANEIOS2004 CLOSE ROMANEIOS208 DEALLOCATE ROMANEIOS2004 DEALLOCATE ROMANEIOS208 END /* ROMANEIOS ROMANEIOS ROMANEIOS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ROMANEIO) OR update(FILIAL) BEGIN DECLARE ROMANEIOS719 CURSOR FOR SELECT ROMANEIO, FILIAL FROM INSERTED DECLARE ROMANEIOS208 CURSOR FOR SELECT ROMANEIO, FILIAL FROM DELETED OPEN ROMANEIOS719 OPEN ROMANEIOS208 FETCH NEXT FROM ROMANEIOS719 INTO @insROMANEIO, @insFILIAL FETCH NEXT FROM ROMANEIOS208 INTO @delROMANEIO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_PRODUTO SET ROMANEIOS_PRODUTO.ROMANEIO=@insROMANEIO, ROMANEIOS_PRODUTO.FILIAL=@insFILIAL WHERE ROMANEIOS_PRODUTO.ROMANEIO = @delROMANEIO and ROMANEIOS_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM ROMANEIOS719 INTO @insROMANEIO, @insFILIAL FETCH NEXT FROM ROMANEIOS208 INTO @delROMANEIO, @delFILIAL END END CLOSE ROMANEIOS719 CLOSE ROMANEIOS208 DEALLOCATE ROMANEIOS719 DEALLOCATE ROMANEIOS208 END /* FILIAIS FILIAIS ROMANEIOS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ROMANEIOS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ROMANEIOS].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS].[ROMANEIO_ENCERRADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ROMANEIOS].[LIBERADO_EXPEDICAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_PRODUTO]( [PRODUTO] [char](12) NOT NULL, [PEDIDO] [char](8) NOT NULL, [ENTREGA] [datetime] NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [REQUISICAO] [varchar](8) NULL, [CUSTO1] [numeric](14, 2) NULL, [CUSTO2] [numeric](14, 2) NULL, [CUSTO3] [numeric](14, 2) NULL, [CUSTO4] [numeric](14, 2) NULL, [CUSTO_MOEDA1] [numeric](14, 2) NULL, [CUSTO_MOEDA2] [numeric](14, 2) NULL, [CUSTO_MOEDA3] [numeric](14, 2) NULL, [CUSTO_MOEDA4] [numeric](14, 2) NULL, [QTDE_ORIGINAL] [int] NULL, [QTDE_CANCELADA] [int] NULL, [QTDE_ENTREGUE] [int] NULL, [QTDE_ENTREGAR] [int] NULL, [VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_ENTREGUE] [numeric](14, 2) NULL, [VALOR_ENTREGAR] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [PACKS] [char](24) NULL, [CO1] [int] NULL, [CO2] [int] NULL, [CO3] [int] NULL, [CO4] [int] NULL, [CO5] [int] NULL, [CO6] [int] NULL, [CO7] [int] NULL, [CO8] [int] NULL, [CO9] [int] NULL, [CO10] [int] NULL, [CO11] [int] NULL, [CO12] [int] NULL, [CO13] [int] NULL, [CO14] [int] NULL, [CO15] [int] NULL, [CO16] [int] NULL, [CO17] [int] NULL, [CO18] [int] NULL, [CO19] [int] NULL, [CO20] [int] NULL, [CO21] [int] NULL, [CO22] [int] NULL, [CO23] [int] NULL, [CO24] [int] NULL, [CO25] [int] NULL, [CO26] [int] NULL, [CO27] [int] NULL, [CO28] [int] NULL, [CO29] [int] NULL, [CO30] [int] NULL, [CO31] [int] NULL, [CO32] [int] NULL, [CO33] [int] NULL, [CO34] [int] NULL, [CO35] [int] NULL, [CO36] [int] NULL, [CO37] [int] NULL, [CO38] [int] NULL, [CO39] [int] NULL, [CO40] [int] NULL, [CO41] [int] NULL, [CO42] [int] NULL, [CO43] [int] NULL, [CO44] [int] NULL, [CO45] [int] NULL, [CO46] [int] NULL, [CO47] [int] NULL, [CO48] [int] NULL, [CE1] [int] NULL, [CE2] [int] NULL, [CE3] [int] NULL, [CE4] [int] NULL, [CE5] [int] NULL, [CE6] [int] NULL, [CE7] [int] NULL, [CE8] [int] NULL, [CE9] [int] NULL, [CE10] [int] NULL, [CE11] [int] NULL, [CE12] [int] NULL, [CE13] [int] NULL, [CE14] [int] NULL, [CE15] [int] NULL, [CE16] [int] NULL, [CE17] [int] NULL, [CE18] [int] NULL, [CE19] [int] NULL, [CE20] [int] NULL, [CE21] [int] NULL, [CE22] [int] NULL, [CE23] [int] NULL, [CE24] [int] NULL, [CE25] [int] NULL, [CE26] [int] NULL, [CE27] [int] NULL, [CE28] [int] NULL, [CE29] [int] NULL, [CE30] [int] NULL, [CE31] [int] NULL, [CE32] [int] NULL, [CE33] [int] NULL, [CE34] [int] NULL, [CE35] [int] NULL, [CE36] [int] NULL, [CE37] [int] NULL, [CE38] [int] NULL, [CE39] [int] NULL, [CE40] [int] NULL, [CE41] [int] NULL, [CE42] [int] NULL, [CE43] [int] NULL, [CE44] [int] NULL, [CE45] [int] NULL, [CE46] [int] NULL, [CE47] [int] NULL, [CE48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [ENTREGUE_MOEDA_PADRAO] [numeric](14, 2) NULL, [CHEGADA_PREVISTA] [datetime] NULL, [OBS_ITEM] [varchar](250) NULL, CONSTRAINT [XPKCOMPRAS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_PRODUTO]') AND name = N'XIE1COMPRAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1COMPRAS_PRODUTO] ON [COMPRAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_PRODUTO]') AND name = N'XIE2COMPRAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2COMPRAS_PRODUTO] ON [COMPRAS_PRODUTO] ( [QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_PRODUTO] on [COMPRAS_PRODUTO] for DELETE as /* DELETE trigger on COMPRAS_PRODUTO */ /* default body for LXD_COMPRAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_PRODUTO R/1302 COMPRAS_PROD_CANCELADA ON PARENT DELETE CASCADE */ delete COMPRAS_PROD_CANCELADA from COMPRAS_PROD_CANCELADA,deleted where COMPRAS_PROD_CANCELADA.PEDIDO = deleted.PEDIDO and COMPRAS_PROD_CANCELADA.PRODUTO = deleted.PRODUTO and COMPRAS_PROD_CANCELADA.COR_PRODUTO = deleted.COR_PRODUTO and COMPRAS_PROD_CANCELADA.ENTREGA = deleted.ENTREGA /* COMPRAS_PRODUTO COMPRAS_PRODUTO ENTRADAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_PRODUTO where ENTRADAS_PRODUTO.PEDIDO = deleted.PEDIDO and ENTRADAS_PRODUTO.PRODUTO_PEDIDO = deleted.PRODUTO and ENTRADAS_PRODUTO.COR_PRODUTO_PEDIDO = deleted.COR_PRODUTO and ENTRADAS_PRODUTO.ENTREGA_PEDIDO = deleted.ENTREGA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_PRODUTO #porque existem registros em #ENTRADAS_PRODUTO#.'' goto error end /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_D_COMPRAS_PRODUTO CURSOR FOR SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM DELETED JOIN COMPRAS X ON DELETED.PEDIDO=X.PEDIDO OPEN CUR_SALDO_D_COMPRAS_PRODUTO FETCH NEXT FROM CUR_SALDO_D_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_D_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_D_COMPRAS_PRODUTO DEALLOCATE CUR_SALDO_D_COMPRAS_PRODUTO /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_PRODUTO] on [COMPRAS_PRODUTO] for INSERT as /* INSERT trigger on COMPRAS_PRODUTO */ /* default body for LXI_COMPRAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS COMPRAS COMPRAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_PRODUTO #porque #COMPRAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES COMPRAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_I_COMPRAS_PRODUTO CURSOR FOR SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM INSERTED JOIN COMPRAS X ON INSERTED.PEDIDO=X.PEDIDO OPEN CUR_SALDO_I_COMPRAS_PRODUTO FETCH NEXT FROM CUR_SALDO_I_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_I_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_I_COMPRAS_PRODUTO DEALLOCATE CUR_SALDO_I_COMPRAS_PRODUTO /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_PRODUTO] on [COMPRAS_PRODUTO] for UPDATE as /* UPDATE trigger on COMPRAS_PRODUTO */ /* default body for LXU_COMPRAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @delPEDIDO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS COMPRAS COMPRAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_PRODUTO #porque #COMPRAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES COMPRAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* COMPRAS_PRODUTO R/1302 COMPRAS_PROD_CANCELADA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) BEGIN DECLARE COMPRAS_PRODUTO1302 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA FROM INSERTED DECLARE COMPRAS_PRODUTO14 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA FROM DELETED OPEN COMPRAS_PRODUTO1302 OPEN COMPRAS_PRODUTO14 FETCH NEXT FROM COMPRAS_PRODUTO1302 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA FETCH NEXT FROM COMPRAS_PRODUTO14 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_PROD_CANCELADA SET COMPRAS_PROD_CANCELADA.PEDIDO=@insPEDIDO, COMPRAS_PROD_CANCELADA.PRODUTO=@insPRODUTO, COMPRAS_PROD_CANCELADA.COR_PRODUTO=@insCOR_PRODUTO, COMPRAS_PROD_CANCELADA.ENTREGA=@insENTREGA WHERE COMPRAS_PROD_CANCELADA.PEDIDO = @delPEDIDO and COMPRAS_PROD_CANCELADA.PRODUTO = @delPRODUTO and COMPRAS_PROD_CANCELADA.COR_PRODUTO = @delCOR_PRODUTO and COMPRAS_PROD_CANCELADA.ENTREGA = @delENTREGA FETCH NEXT FROM COMPRAS_PRODUTO1302 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA FETCH NEXT FROM COMPRAS_PRODUTO14 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA END END CLOSE COMPRAS_PRODUTO1302 CLOSE COMPRAS_PRODUTO14 DEALLOCATE COMPRAS_PRODUTO1302 DEALLOCATE COMPRAS_PRODUTO14 END /* COMPRAS_PRODUTO COMPRAS_PRODUTO ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) BEGIN DECLARE COMPRAS_PRODUTO539 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA FROM INSERTED DECLARE COMPRAS_PRODUTO14 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA FROM DELETED OPEN COMPRAS_PRODUTO539 OPEN COMPRAS_PRODUTO14 FETCH NEXT FROM COMPRAS_PRODUTO539 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA FETCH NEXT FROM COMPRAS_PRODUTO14 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRODUTO SET ENTRADAS_PRODUTO.PEDIDO=@insPEDIDO, ENTRADAS_PRODUTO.PRODUTO_PEDIDO=@insPRODUTO, ENTRADAS_PRODUTO.COR_PRODUTO_PEDIDO=@insCOR_PRODUTO, ENTRADAS_PRODUTO.ENTREGA_PEDIDO=@insENTREGA WHERE ENTRADAS_PRODUTO.PEDIDO = @delPEDIDO and ENTRADAS_PRODUTO.PRODUTO_PEDIDO = @delPRODUTO and ENTRADAS_PRODUTO.COR_PRODUTO_PEDIDO = @delCOR_PRODUTO and ENTRADAS_PRODUTO.ENTREGA_PEDIDO = @delENTREGA FETCH NEXT FROM COMPRAS_PRODUTO539 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA FETCH NEXT FROM COMPRAS_PRODUTO14 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA END END CLOSE COMPRAS_PRODUTO539 CLOSE COMPRAS_PRODUTO14 DEALLOCATE COMPRAS_PRODUTO539 DEALLOCATE COMPRAS_PRODUTO14 END /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_U_COMPRAS_PRODUTO CURSOR FOR SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM INSERTED JOIN COMPRAS X ON INSERTED.PEDIDO=X.PEDIDO UNION SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM DELETED JOIN COMPRAS X ON DELETED.PEDIDO=X.PEDIDO OPEN CUR_SALDO_U_COMPRAS_PRODUTO FETCH NEXT FROM CUR_SALDO_U_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_U_COMPRAS_PRODUTO INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_U_COMPRAS_PRODUTO DEALLOCATE CUR_SALDO_U_COMPRAS_PRODUTO /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_PRODUTO].[REQUISICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO_MOEDA1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO_MOEDA2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO_MOEDA3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CUSTO_MOEDA4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_PRODUTO].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CO48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[CE48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PRODUTO].[ENTREGUE_MOEDA_PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS]( [PEDIDO] [char](8) NOT NULL, [TIPO_COMPRA] [varchar](25) NULL, [PROGRAMACAO] [varchar](25) NULL, [FORNECEDOR] [varchar](25) NOT NULL, [FILIAL_A_ENTREGAR] [varchar](25) NOT NULL, [FILIAL_COBRANCA] [varchar](25) NOT NULL, [FILIAL_A_FATURAR] [varchar](25) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [TRANSPORTADORA] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [DATA_APROVACAO] [datetime] NULL, [APROVADOR_POR] [varchar](25) NULL, [PEDIDO_FORNECEDOR] [varchar](20) NULL, [EMISSAO] [datetime] NOT NULL, [CADASTRAMENTO] [datetime] NOT NULL, [DESCONTO] [numeric](15, 5) NULL, [ENCARGO] [numeric](15, 5) NULL, [VALOR_IPI] [numeric](14, 2) NULL, [FRETE_A_PAGAR] [bit] NOT NULL, [TOT_QTDE_ORIGINAL] [decimal](10, 3) NULL, [TOT_QTDE_ENTREGAR] [decimal](10, 3) NULL, [TOT_VALOR_ORIGINAL] [numeric](15, 5) NULL, [TOT_VALOR_ENTREGAR] [numeric](15, 5) NULL, [CTRL_MULT_ENTREGAS] [bit] NOT NULL, [ENTREGA_ACEITAVEL] [real] NULL, [REQUERIDO_POR] [varchar](25) NULL, [TABELA_FILHA] [char](18) NOT NULL, [ORIGEM_DA_COMPRA] [varchar](15) NULL, [STATUS_COMPRA] [varchar](2) NULL, [STATUS_APROVACAO] [char](1) NULL, [PEDIDO_VENDA] [char](12) NULL, [OBS] [text] NULL, [COMPRIMENTO_DE_ROLOS] [real] NULL, [TOT_VALOR_DESPESA] [numeric](14, 2) NULL, [MARCA_VOLUMES] [numeric](14, 2) NULL, [DATA_FATURAMENTO_RELATIVO] [datetime] NULL, [UTILIZA_DIAS_FIXOS_FORNECEDOR] [bit] NULL, CONSTRAINT [XPKCOMPRAS] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS]') AND name = N'XIE1COMPRAS') CREATE NONCLUSTERED INDEX [XIE1COMPRAS] ON [COMPRAS] ( [TOT_QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS]') AND name = N'XIE2COMPRAS') CREATE NONCLUSTERED INDEX [XIE2COMPRAS] ON [COMPRAS] ( [FORNECEDOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS] on [COMPRAS] for DELETE as /* DELETE trigger on COMPRAS */ /* default body for LXD_COMPRAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) DECLARE CUR_SALDO_D_COMPRAS CURSOR FOR SELECT DISTINCT PROGRAMACAO FROM DELETED OPEN CUR_SALDO_D_COMPRAS FETCH NEXT FROM CUR_SALDO_D_COMPRAS INTO @sProg WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG FETCH NEXT FROM CUR_SALDO_D_COMPRAS INTO @sProg END CLOSE CUR_SALDO_D_COMPRAS DEALLOCATE CUR_SALDO_D_COMPRAS /*--------------------------------------------------------------------------------------------------------------------*/ /* COMPRAS R/2139 COMPRAS_DESPESA ON PARENT DELETE CASCADE */ delete COMPRAS_DESPESA from COMPRAS_DESPESA,deleted where COMPRAS_DESPESA.PEDIDO = deleted.PEDIDO /* COMPRAS R/1834 REQUISICAO_CONSUMIVEL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_CONSUMIVEL where REQUISICAO_CONSUMIVEL.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS #porque existem registros em #REQUISICAO_CONSUMIVEL#.'' goto error end /* COMPRAS R/1833 REQUISICAO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_MATERIAL where REQUISICAO_MATERIAL.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS #porque existem registros em #REQUISICAO_MATERIAL#.'' goto error end /* COMPRAS R/1827 VENDAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO where VENDAS_PRODUTO.PEDIDO_COMPRA = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS #porque existem registros em #VENDAS_PRODUTO#.'' goto error end /* COMPRAS R/1709 COMPRAS_STATUS_LOG ON PARENT DELETE CASCADE */ delete COMPRAS_STATUS_LOG from COMPRAS_STATUS_LOG,deleted where COMPRAS_STATUS_LOG.PEDIDO = deleted.PEDIDO /* COMPRAS COMPRAS COMPRAS_PRODUTO ON PARENT DELETE CASCADE */ delete COMPRAS_PRODUTO from COMPRAS_PRODUTO,deleted where COMPRAS_PRODUTO.PEDIDO = deleted.PEDIDO /* COMPRAS COMPRAS COMPRAS_CONSUMIVEL ON PARENT DELETE CASCADE */ delete COMPRAS_CONSUMIVEL from COMPRAS_CONSUMIVEL,deleted where COMPRAS_CONSUMIVEL.PEDIDO = deleted.PEDIDO /* COMPRAS COMPRAS COMPRAS_MATERIAL ON PARENT DELETE CASCADE */ delete COMPRAS_MATERIAL from COMPRAS_MATERIAL,deleted where COMPRAS_MATERIAL.PEDIDO = deleted.PEDIDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS] on [COMPRAS] for INSERT as /* INSERT trigger on COMPRAS */ /* default body for LXI_COMPRAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1836 COMPRAS ON CHILD INSERT RESTRICT */ if update(PEDIDO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_VENDA = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_VENDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #VENDAS #não existe.'' goto error end end /* COMPRAS_STATUS R/1707 COMPRAS ON CHILD INSERT RESTRICT */ if update(STATUS_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_STATUS where inserted.STATUS_COMPRA = COMPRAS_STATUS.STATUS_COMPRA select @nullcnt = count(*) from inserted where inserted.STATUS_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #COMPRAS_STATUS #não existe.'' goto error end end /* COMPRAS_TIPOS R/1643 COMPRAS ON CHILD INSERT RESTRICT */ if update(TIPO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_TIPOS where inserted.TIPO_COMPRA = COMPRAS_TIPOS.TIPO_COMPRA select @nullcnt = count(*) from inserted where inserted.TIPO_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #COMPRAS_TIPOS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/1635 COMPRAS ON CHILD INSERT RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /* FILIAIS FILIAL_A_COBRAR COMPRAS ON CHILD INSERT RESTRICT */ if update(FILIAL_COBRANCA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_COBRANCA = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS COMPRAS ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #TRANSPORTADORAS #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COMPRAS ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* MOEDAS MOEDAS COMPRAS ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAL_A_FATURAR COMPRAS ON CHILD INSERT RESTRICT */ if update(FILIAL_A_FATURAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_A_FATURAR = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS FILIAL_A_ENTREGAR COMPRAS ON CHILD INSERT RESTRICT */ if update(FILIAL_A_ENTREGAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_A_ENTREGAR = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COMPRAS ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS #porque #FORNECEDORES #não existe.'' goto error end end /*----------------------------------------------------------------------------------------------------------------*/ INSERT INTO COMPRAS_STATUS_LOG (PEDIDO,STATUS_COMPRA,DATA_ALTERACAO_STATUS,USUARIO) SELECT INSERTED.PEDIDO,INSERTED.STATUS_COMPRA,GETDATE(),SYSTEM_USER FROM INSERTED /*----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS] on [COMPRAS] for UPDATE as /* UPDATE trigger on COMPRAS */ /* default body for LXU_COMPRAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @delPEDIDO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1836 COMPRAS ON CHILD UPDATE RESTRICT */ if update(PEDIDO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO_VENDA = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_VENDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #VENDAS #não existe.'' goto error end end /* COMPRAS_STATUS R/1707 COMPRAS ON CHILD UPDATE RESTRICT */ if update(STATUS_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_STATUS where inserted.STATUS_COMPRA = COMPRAS_STATUS.STATUS_COMPRA select @nullcnt = count(*) from inserted where inserted.STATUS_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #COMPRAS_STATUS #não existe.'' goto error end end /* COMPRAS_TIPOS R/1643 COMPRAS ON CHILD UPDATE RESTRICT */ if update(TIPO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_TIPOS where inserted.TIPO_COMPRA = COMPRAS_TIPOS.TIPO_COMPRA select @nullcnt = count(*) from inserted where inserted.TIPO_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #COMPRAS_TIPOS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/1635 COMPRAS ON CHILD UPDATE RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /* FILIAIS FILIAL_A_COBRAR COMPRAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_COBRANCA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_COBRANCA = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS COMPRAS ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #TRANSPORTADORAS #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COMPRAS ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* MOEDAS MOEDAS COMPRAS ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAL_A_FATURAR COMPRAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_A_FATURAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_A_FATURAR = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS FILIAL_A_ENTREGAR COMPRAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_A_ENTREGAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_A_ENTREGAR = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #FILIAIS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COMPRAS ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS #porque #FORNECEDORES #não existe.'' goto error end end /* COMPRAS R/2139 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS2139 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS2139 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS2139 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.PEDIDO=@insPEDIDO WHERE COMPRAS_DESPESA.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS2139 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS2139 CLOSE COMPRAS17 DEALLOCATE COMPRAS2139 DEALLOCATE COMPRAS17 END /* COMPRAS R/1834 REQUISICAO_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS1834 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS1834 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS1834 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_CONSUMIVEL SET REQUISICAO_CONSUMIVEL.PEDIDO=@insPEDIDO WHERE REQUISICAO_CONSUMIVEL.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS1834 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS1834 CLOSE COMPRAS17 DEALLOCATE COMPRAS1834 DEALLOCATE COMPRAS17 END /* COMPRAS R/1833 REQUISICAO_MATERIAL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS1833 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS1833 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS1833 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_MATERIAL SET REQUISICAO_MATERIAL.PEDIDO=@insPEDIDO WHERE REQUISICAO_MATERIAL.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS1833 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS1833 CLOSE COMPRAS17 DEALLOCATE COMPRAS1833 DEALLOCATE COMPRAS17 END /* COMPRAS R/1827 VENDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS1827 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS1827 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS1827 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO SET VENDAS_PRODUTO.PEDIDO_COMPRA=@insPEDIDO WHERE VENDAS_PRODUTO.PEDIDO_COMPRA = @delPEDIDO FETCH NEXT FROM COMPRAS1827 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS1827 CLOSE COMPRAS17 DEALLOCATE COMPRAS1827 DEALLOCATE COMPRAS17 END /* COMPRAS R/1709 COMPRAS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS1709 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS1709 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS1709 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_STATUS_LOG SET COMPRAS_STATUS_LOG.PEDIDO=@insPEDIDO WHERE COMPRAS_STATUS_LOG.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS1709 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS1709 CLOSE COMPRAS17 DEALLOCATE COMPRAS1709 DEALLOCATE COMPRAS17 END /* COMPRAS COMPRAS COMPRAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS823 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS823 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS823 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_PRODUTO SET COMPRAS_PRODUTO.PEDIDO=@insPEDIDO WHERE COMPRAS_PRODUTO.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS823 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS823 CLOSE COMPRAS17 DEALLOCATE COMPRAS823 DEALLOCATE COMPRAS17 END /* COMPRAS COMPRAS COMPRAS_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS822 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS822 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS822 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_CONSUMIVEL SET COMPRAS_CONSUMIVEL.PEDIDO=@insPEDIDO WHERE COMPRAS_CONSUMIVEL.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS822 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS822 CLOSE COMPRAS17 DEALLOCATE COMPRAS822 DEALLOCATE COMPRAS17 END /* COMPRAS COMPRAS COMPRAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE COMPRAS821 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE COMPRAS17 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN COMPRAS821 OPEN COMPRAS17 FETCH NEXT FROM COMPRAS821 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_MATERIAL SET COMPRAS_MATERIAL.PEDIDO=@insPEDIDO WHERE COMPRAS_MATERIAL.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS821 INTO @insPEDIDO FETCH NEXT FROM COMPRAS17 INTO @delPEDIDO END END CLOSE COMPRAS821 CLOSE COMPRAS17 DEALLOCATE COMPRAS821 DEALLOCATE COMPRAS17 END /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) DECLARE CUR_SALDO_U_COMPRAS CURSOR FOR SELECT DISTINCT PROGRAMACAO FROM INSERTED UNION SELECT DISTINCT PROGRAMACAO FROM DELETED OPEN CUR_SALDO_U_COMPRAS FETCH NEXT FROM CUR_SALDO_U_COMPRAS INTO @sProg WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG FETCH NEXT FROM CUR_SALDO_U_COMPRAS INTO @sProg END CLOSE CUR_SALDO_U_COMPRAS DEALLOCATE CUR_SALDO_U_COMPRAS /*--------------------------------------------------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------------------------------------------*/ IF UPDATE(STATUS_COMPRA) INSERT INTO COMPRAS_STATUS_LOG (PEDIDO,STATUS_COMPRA,DATA_ALTERACAO_STATUS,USUARIO) SELECT INSERTED.PEDIDO,INSERTED.STATUS_COMPRA,GETDATE(),SYSTEM_USER FROM INSERTED /*----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS].[APROVADOR_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS].[PEDIDO_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[VALOR_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[FRETE_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[TOT_QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[TOT_QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[TOT_VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[TOT_VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[CTRL_MULT_ENTREGAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[ENTREGA_ACEITAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS].[REQUERIDO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[COMPRIMENTO_DE_ROLOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS].[UTILIZA_DIAS_FIXOS_FORNECEDOR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_PRODUTO]( [PEDIDO] [char](12) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [ITEM_PEDIDO] [char](4) NOT NULL, [NUMERO_CONJUNTO] [smallint] NULL, [PACKS] [varchar](24) NULL, [LIMITE_ENTREGA] [datetime] NULL, [NUMERO_ENTREGA] [char](2) NULL, [STATUS_VENDA_ATUAL] [char](1) NULL, [QTDE_ORIGINAL] [int] NULL, [QTDE_EMBALADA] [int] NULL, [QTDE_ENTREGAR] [int] NULL, [QTDE_ENTREGUE] [int] NULL, [QTDE_DEVOLVIDA] [int] NULL, [QTDE_CANCELADA] [int] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_ENTREGAR] [numeric](14, 2) NULL, [VALOR_DEVOLVIDO] [numeric](14, 2) NULL, [VALOR_ENTREGUE] [numeric](14, 2) NULL, [ENTREGUE_MOEDA_PADRAO] [numeric](14, 2) NULL, [VO1] [int] NULL, [VO2] [int] NULL, [VO3] [int] NULL, [VO4] [int] NULL, [VO5] [int] NULL, [VO6] [int] NULL, [VO7] [int] NULL, [VO8] [int] NULL, [VO9] [int] NULL, [VO10] [int] NULL, [VO11] [int] NULL, [VO12] [int] NULL, [VO13] [int] NULL, [VO14] [int] NULL, [VO15] [int] NULL, [VO16] [int] NULL, [VO17] [int] NULL, [VO18] [int] NULL, [VO19] [int] NULL, [VO20] [int] NULL, [VO21] [int] NULL, [VO22] [int] NULL, [VO23] [int] NULL, [VO24] [int] NULL, [VO25] [int] NULL, [VO26] [int] NULL, [VO27] [int] NULL, [VO28] [int] NULL, [VO29] [int] NULL, [VO30] [int] NULL, [VO31] [int] NULL, [VO32] [int] NULL, [VO33] [int] NULL, [VO34] [int] NULL, [VO35] [int] NULL, [VO36] [int] NULL, [VO37] [int] NULL, [VO38] [int] NULL, [VO39] [int] NULL, [VO40] [int] NULL, [VO41] [int] NULL, [VO42] [int] NULL, [VO43] [int] NULL, [VO44] [int] NULL, [VO45] [int] NULL, [VO46] [int] NULL, [VO47] [int] NULL, [VO48] [int] NULL, [VE1] [int] NULL, [VE2] [int] NULL, [VE3] [int] NULL, [VE4] [int] NULL, [VE5] [int] NULL, [VE6] [int] NULL, [VE7] [int] NULL, [VE8] [int] NULL, [VE9] [int] NULL, [VE10] [int] NULL, [VE11] [int] NULL, [VE12] [int] NULL, [VE13] [int] NULL, [VE14] [int] NULL, [VE15] [int] NULL, [VE16] [int] NULL, [VE17] [int] NULL, [VE18] [int] NULL, [VE19] [int] NULL, [VE20] [int] NULL, [VE21] [int] NULL, [VE22] [int] NULL, [VE23] [int] NULL, [VE24] [int] NULL, [VE25] [int] NULL, [VE26] [int] NULL, [VE27] [int] NULL, [VE28] [int] NULL, [VE29] [int] NULL, [VE30] [int] NULL, [VE31] [int] NULL, [VE32] [int] NULL, [VE33] [int] NULL, [VE34] [int] NULL, [VE35] [int] NULL, [VE36] [int] NULL, [VE37] [int] NULL, [VE38] [int] NULL, [VE39] [int] NULL, [VE40] [int] NULL, [VE41] [int] NULL, [VE42] [int] NULL, [VE43] [int] NULL, [VE44] [int] NULL, [VE45] [int] NULL, [VE46] [int] NULL, [TIMESTAMP] [timestamp] NULL, [VE47] [int] NULL, [ORDEM_PRODUCAO] [char](8) NULL, [VE48] [int] NULL, [PEDIDO_COMPRA] [char](8) NULL, [TIPO_CAIXA] [char](8) NULL, [NUMERO_CAIXAS] [smallint] NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NULL, [SEQUENCIAL_DIGITACAO] [smallint] NULL, [DESC_VENDA_CLIENTE] [varchar](80) NULL, [COPIAR_PRODUTO] [bit] NOT NULL, [MARCA_CLIENTE] [char](2) NULL, [DESCONTO_LINEA] [numeric](5, 2) NULL, [COMISSAO_LINEA] [numeric](5, 2) NULL, [COD_TAB_PRECO_LINEA] [char](2) NULL, CONSTRAINT [XPKVENDAS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC, [ITEM_PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO]') AND name = N'XIE1VENDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1VENDAS_PRODUTO] ON [VENDAS_PRODUTO] ( [QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO]') AND name = N'XIE2VENDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2VENDAS_PRODUTO] ON [VENDAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO]') AND name = N'XIE3VENDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE3VENDAS_PRODUTO] ON [VENDAS_PRODUTO] ( [ENTREGA] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO]') AND name = N'XIE4VENDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE4VENDAS_PRODUTO] ON [VENDAS_PRODUTO] ( [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_PRODUTO] on [VENDAS_PRODUTO] for DELETE as /* DELETE trigger on VENDAS_PRODUTO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_PRODUTO R/2074 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT DELETE CASCADE */ delete VENDAS_PRODUTO_RATEIO_CAIXA from VENDAS_PRODUTO_RATEIO_CAIXA,deleted where VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO = deleted.PEDIDO and VENDAS_PRODUTO_RATEIO_CAIXA.PRODUTO = deleted.PRODUTO and VENDAS_PRODUTO_RATEIO_CAIXA.COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_PRODUTO_RATEIO_CAIXA.ENTREGA = deleted.ENTREGA and VENDAS_PRODUTO_RATEIO_CAIXA.ITEM_PEDIDO = deleted.ITEM_PEDIDO /* VENDAS_PRODUTO R/1989 VENDAS_PRODUTO_FICHA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_FICHA where VENDAS_PRODUTO_FICHA.PEDIDO = deleted.PEDIDO and VENDAS_PRODUTO_FICHA.PRODUTO = deleted.PRODUTO and VENDAS_PRODUTO_FICHA.COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_PRODUTO_FICHA.ENTREGA = deleted.ENTREGA and VENDAS_PRODUTO_FICHA.ITEM_PEDIDO = deleted.ITEM_PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_PRODUTO #porque existem registros em #VENDAS_PRODUTO_FICHA#.'' goto error end /* VENDAS_PRODUTO R/1911 VENDAS_OBS_PRODUTO ON PARENT DELETE CASCADE */ delete VENDAS_OBS_PRODUTO from VENDAS_OBS_PRODUTO,deleted where VENDAS_OBS_PRODUTO.PEDIDO = deleted.PEDIDO and VENDAS_OBS_PRODUTO.PRODUTO = deleted.PRODUTO and VENDAS_OBS_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_OBS_PRODUTO.ENTREGA = deleted.ENTREGA and VENDAS_OBS_PRODUTO.ITEM_PEDIDO = deleted.ITEM_PEDIDO /* VENDAS_PRODUTO R/1831 VENDAS_TERCEIRO_PRODUTO ON PARENT DELETE CASCADE */ delete VENDAS_TERCEIRO_PRODUTO from VENDAS_TERCEIRO_PRODUTO,deleted where VENDAS_TERCEIRO_PRODUTO.PEDIDO = deleted.PEDIDO and VENDAS_TERCEIRO_PRODUTO.PRODUTO = deleted.PRODUTO and VENDAS_TERCEIRO_PRODUTO.COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_TERCEIRO_PRODUTO.ENTREGA = deleted.ENTREGA and VENDAS_TERCEIRO_PRODUTO.ITEM_PEDIDO = deleted.ITEM_PEDIDO /* VENDAS_PRODUTO VENDAS_PRODUTO ROMANEIOS_RESERVAS ON PARENT DELETE CASCADE */ delete ROMANEIOS_RESERVAS from ROMANEIOS_RESERVAS,deleted where ROMANEIOS_RESERVAS.PEDIDO = deleted.PEDIDO and ROMANEIOS_RESERVAS.PRODUTO = deleted.PRODUTO and ROMANEIOS_RESERVAS.COR_PEDIDO = deleted.COR_PRODUTO and ROMANEIOS_RESERVAS.ENTREGA = deleted.ENTREGA and ROMANEIOS_RESERVAS.ITEM_PEDIDO = deleted.ITEM_PEDIDO /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_PROD_EMBALADO ON PARENT DELETE CASCADE */ delete VENDAS_PROD_EMBALADO from VENDAS_PROD_EMBALADO,deleted where VENDAS_PROD_EMBALADO.PEDIDO = deleted.PEDIDO and VENDAS_PROD_EMBALADO.PEDIDO_PRODUTO = deleted.PRODUTO and VENDAS_PROD_EMBALADO.PEDIDO_COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_PROD_EMBALADO.ENTREGA = deleted.ENTREGA and VENDAS_PROD_EMBALADO.ITEM_PEDIDO = deleted.ITEM_PEDIDO /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_CANC_PROD ON PARENT DELETE CASCADE */ delete VENDAS_CANC_PROD from VENDAS_CANC_PROD,deleted where VENDAS_CANC_PROD.PEDIDO = deleted.PEDIDO and VENDAS_CANC_PROD.PRODUTO = deleted.PRODUTO and VENDAS_CANC_PROD.COR_PRODUTO = deleted.COR_PRODUTO and VENDAS_CANC_PROD.ENTREGA = deleted.ENTREGA and VENDAS_CANC_PROD.ITEM_PEDIDO = deleted.ITEM_PEDIDO return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_PRODUTO] on [VENDAS_PRODUTO] for INSERT as /* INSERT trigger on VENDAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1828 VENDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO #porque #VENDAS #não existe.'' goto error end end /* COMPRAS R/1827 VENDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PEDIDO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO_COMPRA = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO #porque #COMPRAS #não existe.'' goto error end end /* PRODUCAO_ORDEM R/1488 VENDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_VENDAS_PRODUTO] on [VENDAS_PRODUTO] for UPDATE as /* UPDATE trigger on VENDAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insITEM_PEDIDO char(4), @delPEDIDO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delITEM_PEDIDO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_PRODUTO R/2074 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO2074 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO2074 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO2074 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_RATEIO_CAIXA SET VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO=@insPEDIDO, VENDAS_PRODUTO_RATEIO_CAIXA.PRODUTO=@insPRODUTO, VENDAS_PRODUTO_RATEIO_CAIXA.COR_PRODUTO=@insCOR_PRODUTO, VENDAS_PRODUTO_RATEIO_CAIXA.ENTREGA=@insENTREGA, VENDAS_PRODUTO_RATEIO_CAIXA.ITEM_PEDIDO=@insITEM_PEDIDO WHERE VENDAS_PRODUTO_RATEIO_CAIXA.PEDIDO = @delPEDIDO and VENDAS_PRODUTO_RATEIO_CAIXA.PRODUTO = @delPRODUTO and VENDAS_PRODUTO_RATEIO_CAIXA.COR_PRODUTO = @delCOR_PRODUTO and VENDAS_PRODUTO_RATEIO_CAIXA.ENTREGA = @delENTREGA and VENDAS_PRODUTO_RATEIO_CAIXA.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO2074 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO2074 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO2074 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO R/1989 VENDAS_PRODUTO_FICHA ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO1989 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO1989 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO1989 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_FICHA SET VENDAS_PRODUTO_FICHA.PEDIDO=@insPEDIDO, VENDAS_PRODUTO_FICHA.PRODUTO=@insPRODUTO, VENDAS_PRODUTO_FICHA.COR_PRODUTO=@insCOR_PRODUTO, VENDAS_PRODUTO_FICHA.ENTREGA=@insENTREGA, VENDAS_PRODUTO_FICHA.ITEM_PEDIDO=@insITEM_PEDIDO WHERE VENDAS_PRODUTO_FICHA.PEDIDO = @delPEDIDO and VENDAS_PRODUTO_FICHA.PRODUTO = @delPRODUTO and VENDAS_PRODUTO_FICHA.COR_PRODUTO = @delCOR_PRODUTO and VENDAS_PRODUTO_FICHA.ENTREGA = @delENTREGA and VENDAS_PRODUTO_FICHA.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO1989 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO1989 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO1989 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO R/1831 VENDAS_TERCEIRO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO1831 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO1831 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO1831 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_TERCEIRO_PRODUTO SET VENDAS_TERCEIRO_PRODUTO.PEDIDO=@insPEDIDO, VENDAS_TERCEIRO_PRODUTO.PRODUTO=@insPRODUTO, VENDAS_TERCEIRO_PRODUTO.COR_PRODUTO=@insCOR_PRODUTO, VENDAS_TERCEIRO_PRODUTO.ENTREGA=@insENTREGA, VENDAS_TERCEIRO_PRODUTO.ITEM_PEDIDO=@insITEM_PEDIDO WHERE VENDAS_TERCEIRO_PRODUTO.PEDIDO = @delPEDIDO and VENDAS_TERCEIRO_PRODUTO.PRODUTO = @delPRODUTO and VENDAS_TERCEIRO_PRODUTO.COR_PRODUTO = @delCOR_PRODUTO and VENDAS_TERCEIRO_PRODUTO.ENTREGA = @delENTREGA and VENDAS_TERCEIRO_PRODUTO.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO1831 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO1831 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO1831 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO VENDAS_PRODUTO ROMANEIOS_RESERVAS ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO1365 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO1365 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO1365 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_RESERVAS SET ROMANEIOS_RESERVAS.PEDIDO=@insPEDIDO, ROMANEIOS_RESERVAS.PRODUTO=@insPRODUTO, ROMANEIOS_RESERVAS.COR_PEDIDO=@insCOR_PRODUTO, ROMANEIOS_RESERVAS.ENTREGA=@insENTREGA, ROMANEIOS_RESERVAS.ITEM_PEDIDO=@insITEM_PEDIDO WHERE ROMANEIOS_RESERVAS.PEDIDO = @delPEDIDO and ROMANEIOS_RESERVAS.PRODUTO = @delPRODUTO and ROMANEIOS_RESERVAS.COR_PEDIDO = @delCOR_PRODUTO and ROMANEIOS_RESERVAS.ENTREGA = @delENTREGA and ROMANEIOS_RESERVAS.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO1365 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO1365 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO1365 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO VENDAS_PRODUTO FATURAMENTO_PROD ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO910 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO910 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO910 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_PROD SET FATURAMENTO_PROD.PEDIDO=@insPEDIDO, FATURAMENTO_PROD.PEDIDO_PRODUTO=@insPRODUTO, FATURAMENTO_PROD.PEDIDO_COR=@insCOR_PRODUTO, FATURAMENTO_PROD.ENTREGA=@insENTREGA WHERE FATURAMENTO_PROD.PEDIDO = @delPEDIDO and FATURAMENTO_PROD.PEDIDO_PRODUTO = @delPRODUTO and FATURAMENTO_PROD.PEDIDO_COR = @delCOR_PRODUTO and FATURAMENTO_PROD.ENTREGA = @delENTREGA FETCH NEXT FROM VENDAS_PRODUTO910 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO910 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO910 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_PROD_EMBALADO ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO903 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO903 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO903 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PROD_EMBALADO SET VENDAS_PROD_EMBALADO.PEDIDO=@insPEDIDO, VENDAS_PROD_EMBALADO.PEDIDO_PRODUTO=@insPRODUTO, VENDAS_PROD_EMBALADO.PEDIDO_COR_PRODUTO=@insCOR_PRODUTO, VENDAS_PROD_EMBALADO.ENTREGA=@insENTREGA, VENDAS_PROD_EMBALADO.ITEM_PEDIDO=@insITEM_PEDIDO WHERE VENDAS_PROD_EMBALADO.PEDIDO = @delPEDIDO and VENDAS_PROD_EMBALADO.PEDIDO_PRODUTO = @delPRODUTO and VENDAS_PROD_EMBALADO.PEDIDO_COR_PRODUTO = @delCOR_PRODUTO and VENDAS_PROD_EMBALADO.ENTREGA = @delENTREGA and VENDAS_PROD_EMBALADO.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO903 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO903 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO903 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_CANC_PROD ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ENTREGA) OR update(ITEM_PEDIDO) BEGIN DECLARE VENDAS_PRODUTO848 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM INSERTED DECLARE VENDAS_PRODUTO179 CURSOR FOR SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, ITEM_PEDIDO FROM DELETED OPEN VENDAS_PRODUTO848 OPEN VENDAS_PRODUTO179 FETCH NEXT FROM VENDAS_PRODUTO848 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_CANC_PROD SET VENDAS_CANC_PROD.PEDIDO=@insPEDIDO, VENDAS_CANC_PROD.PRODUTO=@insPRODUTO, VENDAS_CANC_PROD.COR_PRODUTO=@insCOR_PRODUTO, VENDAS_CANC_PROD.ENTREGA=@insENTREGA, VENDAS_CANC_PROD.ITEM_PEDIDO=@insITEM_PEDIDO WHERE VENDAS_CANC_PROD.PEDIDO = @delPEDIDO and VENDAS_CANC_PROD.PRODUTO = @delPRODUTO and VENDAS_CANC_PROD.COR_PRODUTO = @delCOR_PRODUTO and VENDAS_CANC_PROD.ENTREGA = @delENTREGA and VENDAS_CANC_PROD.ITEM_PEDIDO = @delITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO848 INTO @insPEDIDO, @insPRODUTO, @insCOR_PRODUTO, @insENTREGA, @insITEM_PEDIDO FETCH NEXT FROM VENDAS_PRODUTO179 INTO @delPEDIDO, @delPRODUTO, @delCOR_PRODUTO, @delENTREGA, @delITEM_PEDIDO END END CLOSE VENDAS_PRODUTO848 CLOSE VENDAS_PRODUTO179 DEALLOCATE VENDAS_PRODUTO848 DEALLOCATE VENDAS_PRODUTO179 END /* VENDAS R/1828 VENDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO #porque #VENDAS #não existe.'' goto error end end /* COMPRAS R/1827 VENDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PEDIDO_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO_COMPRA = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO #porque #COMPRAS #não existe.'' goto error end end /* PRODUCAO_ORDEM R/1488 VENDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES VENDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[ITEM_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_PRODUTO].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_PRODUTO].[NUMERO_ENTREGA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_EMBALADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_DEVOLVIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VALOR_DEVOLVIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[ENTREGUE_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VO48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[VE48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[SEQUENCIAL_DIGITACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[COPIAR_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[DESCONTO_LINEA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO].[COMISSAO_LINEA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_CONSUMO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_CONSUMO]( [ITEM] [char](4) NOT NULL, [CONSUMIVEL_ITEM] [varchar](40) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [IRRF] [real] NULL, [PEDIDO] [char](8) NULL, [PEDIDO_CONSUMIVEL] [varchar](40) NULL, [PEDIDO_ENTREGA] [datetime] NULL, [DESC_CONSUMIVEL] [varchar](250) NOT NULL, [UNIDADE] [varchar](5) NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_PEDIDO] [numeric](9, 3) NULL, [QTDE_CANCEL_PEDIDO] [numeric](9, 3) NULL, [CUSTO] [numeric](14, 5) NULL, [MOEDA] [char](6) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [CLASSIF_FISCAL] [char](10) NULL, [VALOR] [numeric](14, 2) NULL, [NATUREZA_CONTABILIZAR] [char](15) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [NATUREZA] [char](15) NULL, [REQ_MATERIAL] [char](8) NULL, [FILIAL_REQ_MATERIAL] [varchar](25) NULL, [ORDEM_SERVICO] [char](8) NULL, [CARACTERISTICA_CFOP] [int] NULL, [CODIGO_FISCAL_OPERACAO] [char](4) NULL, [INDICADOR_CFOP] [tinyint] NULL, [QTDE_RETORNO_BENEF] [numeric](9, 3) NULL, [INSS] [real] NULL, [ICMS] [real] NULL, [VALOR_RETORNO_BENEF] [numeric](14, 2) NULL, [QTDE_DEVOLVIDA] [numeric](9, 3) NULL, [VALOR_DEVOLVIDO] [numeric](14, 2) NULL, [QTDE_RETORNAR_BENEF] [numeric](9, 3) NULL, [VALOR_RETORNAR_BENEF] [numeric](14, 2) NULL, CONSTRAINT [XPKENTRADAS_CONSUMO] PRIMARY KEY NONCLUSTERED ( [ITEM] ASC, [CONSUMIVEL_ITEM] ASC, [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_CONSUMO]') AND name = N'XIE1ENTRADAS_CONSUMO') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS_CONSUMO] ON [ENTRADAS_CONSUMO] ( [QTDE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_CONSUMO]') AND name = N'XIE2ENTRADAS_CONSUMO') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS_CONSUMO] ON [ENTRADAS_CONSUMO] ( [VALOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_CONSUMO] on [ENTRADAS_CONSUMO] for INSERT as /* INSERT trigger on ENTRADAS_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_RET_MAT R/1924 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL_REQ_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET_MAT.REQ_MATERIAL and inserted.FILIAL_REQ_MATERIAL = ESTOQUE_RET_MAT.FILIAL select @nullcnt = count(*) from inserted where inserted.REQ_MATERIAL is null or inserted.FILIAL_REQ_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #ESTOQUE_RET_MAT #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1923 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* CLASSIF_FISCAL R/1613 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL select @nullcnt = count(*) from inserted where inserted.CLASSIF_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1612 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1611 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* MOEDAS R/1375 ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_CONSUMO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CONSUMO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADAS_CONSUMO] on [ENTRADAS_CONSUMO] for UPDATE as /* UPDATE trigger on ENTRADAS_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insITEM char(4), @insCONSUMIVEL_ITEM varchar(40), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @delITEM char(4), @delCONSUMIVEL_ITEM varchar(40), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_RET_MAT R/1924 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL_REQ_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET_MAT.REQ_MATERIAL and inserted.FILIAL_REQ_MATERIAL = ESTOQUE_RET_MAT.FILIAL select @nullcnt = count(*) from inserted where inserted.REQ_MATERIAL is null and inserted.FILIAL_REQ_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #ESTOQUE_RET_MAT #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1923 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* CLASSIF_FISCAL R/1613 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL select @nullcnt = count(*) from inserted where inserted.CLASSIF_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1612 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1611 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* MOEDAS R/1375 ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_CONSUMO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CONSUMO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENTRADAS_CONSUMO].[DESC_CONSUMIVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENTRADAS_CONSUMO].[UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[QTDE_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[QTDE_CANCEL_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CONSUMO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS_CONSUMO].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_LOTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_LOTE]( [PEDIDO_EXTERNO] [char](12) NOT NULL, [TIPO_DO_DIGITADOR] [varchar](5) NULL, [MOEDA] [char](6) NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [TIPO] [char](25) NULL, [CONDICAO_PGTO] [char](3) NULL, [COLECAO] [char](6) NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [REPRESENTANTE] [varchar](25) NOT NULL, [PEDIDO] [char](12) NULL, [EMISSAO] [datetime] NULL, [DATA_ENVIO] [datetime] NULL, [DATA_RECEBIMENTO] [datetime] NULL, [PEDIDO_CLIENTE] [varchar](20) NULL, [DESCONTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [TOT_QTDE_ORIGINAL] [int] NULL, [TOT_VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_IPI] [numeric](14, 2) NULL, [CTRL_MULT_ENTREGAS] [bit] NOT NULL, [ENTREGA_CIF] [bit] NOT NULL, [ENTREGA_ACEITAVEL] [real] NULL, [DESCONTO_SOBRE_1] [numeric](8, 2) NULL, [DESCONTO_SOBRE_2] [numeric](8, 2) NULL, [DESCONTO_SOBRE_3] [numeric](8, 2) NULL, [DESCONTO_SOBRE_4] [numeric](8, 2) NULL, [FILIAL] [varchar](25) NULL, [TRANSPORTADORA] [varchar](25) NULL, [GERENTE] [varchar](25) NOT NULL, [APROVACAO] [char](1) NULL, [APROVADO_POR] [varchar](25) NULL, [CONFERIDO] [bit] NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [COMISSAO] [real] NULL, [COMISSAO_GERENTE] [real] NULL, [PORCENTAGEM_ACERTO] [real] NULL, [PRIORIDADE] [int] NULL, [ACEITA_JUNTAR_PED] [bit] NOT NULL, [STATUS] [char](1) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBS] [text] NULL, [TIPO_FRETE] [char](2) NULL, [TABELA_FILHA] [char](18) NULL, [MULTI_DESCONTO_ACUMULAR] [smallint] NULL, [RECARGO] [numeric](14, 2) NULL, [OBS_TRANSPORTE] [varchar](100) NULL, CONSTRAINT [XPKVENDAS_LOTE] PRIMARY KEY NONCLUSTERED ( [PEDIDO_EXTERNO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_LOTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_LOTE] on [VENDAS_LOTE] for DELETE as /* DELETE trigger on VENDAS_LOTE */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_LOTE R/2030 VENDAS_LOTE_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE_MATERIAL where VENDAS_LOTE_MATERIAL.PEDIDO_EXTERNO = deleted.PEDIDO_EXTERNO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_LOTE #porque existem registros em #VENDAS_LOTE_MATERIAL#.'' goto error end /* VENDAS_LOTE R/1412 VENDAS_LOTE_PROD ON PARENT DELETE CASCADE */ delete VENDAS_LOTE_PROD from VENDAS_LOTE_PROD,deleted where VENDAS_LOTE_PROD.PEDIDO_EXTERNO = deleted.PEDIDO_EXTERNO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_LOTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_LOTE] on [VENDAS_LOTE] for INSERT as /* INSERT trigger on VENDAS_LOTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TIPO_DIGITADOR R/1413 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(TIPO_DO_DIGITADOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO_DIGITADOR where inserted.TIPO_DO_DIGITADOR = VENDAS_TIPO_DIGITADOR.TIPO_DO_DIGITADOR select @nullcnt = count(*) from inserted where inserted.TIPO_DO_DIGITADOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #VENDAS_TIPO_DIGITADOR #não existe.'' goto error end end /* MOEDAS R/1410 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #MOEDAS #não existe.'' goto error end end /* TABELAS_PRECO R/1409 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #TABELAS_PRECO #não existe.'' goto error end end /* REPRESENTANTES R/1405 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #REPRESENTANTES #não existe.'' goto error end end /* VENDAS_TIPO R/1403 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #VENDAS_TIPO #não existe.'' goto error end end /* COND_ATAC_PGTOS R/1402 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO select @nullcnt = count(*) from inserted where inserted.CONDICAO_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* COLECOES R/1401 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #COLECOES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1400 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* REPRESENTANTES R/1399 VENDAS_LOTE ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE VENDAS_LOTE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE, INSERTED WHERE VENDAS_LOTE.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_LOTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_LOTE] on [VENDAS_LOTE] for UPDATE as /* UPDATE trigger on VENDAS_LOTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO_EXTERNO char(12), @delPEDIDO_EXTERNO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_LOTE R/2030 VENDAS_LOTE_MATERIAL ON PARENT UPDATE CASCADE */ IF update(PEDIDO_EXTERNO) BEGIN DECLARE VENDAS_LOTE2030 CURSOR FOR SELECT PEDIDO_EXTERNO FROM INSERTED DECLARE VENDAS_LOTE821 CURSOR FOR SELECT PEDIDO_EXTERNO FROM DELETED OPEN VENDAS_LOTE2030 OPEN VENDAS_LOTE821 FETCH NEXT FROM VENDAS_LOTE2030 INTO @insPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE821 INTO @delPEDIDO_EXTERNO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE_MATERIAL SET VENDAS_LOTE_MATERIAL.PEDIDO_EXTERNO=@insPEDIDO_EXTERNO WHERE VENDAS_LOTE_MATERIAL.PEDIDO_EXTERNO = @delPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE2030 INTO @insPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE821 INTO @delPEDIDO_EXTERNO END END CLOSE VENDAS_LOTE2030 CLOSE VENDAS_LOTE821 DEALLOCATE VENDAS_LOTE2030 DEALLOCATE VENDAS_LOTE821 END /* VENDAS_LOTE R/1412 VENDAS_LOTE_PROD ON PARENT UPDATE CASCADE */ IF update(PEDIDO_EXTERNO) BEGIN DECLARE VENDAS_LOTE1412 CURSOR FOR SELECT PEDIDO_EXTERNO FROM INSERTED DECLARE VENDAS_LOTE821 CURSOR FOR SELECT PEDIDO_EXTERNO FROM DELETED OPEN VENDAS_LOTE1412 OPEN VENDAS_LOTE821 FETCH NEXT FROM VENDAS_LOTE1412 INTO @insPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE821 INTO @delPEDIDO_EXTERNO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE_PROD SET VENDAS_LOTE_PROD.PEDIDO_EXTERNO=@insPEDIDO_EXTERNO WHERE VENDAS_LOTE_PROD.PEDIDO_EXTERNO = @delPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE1412 INTO @insPEDIDO_EXTERNO FETCH NEXT FROM VENDAS_LOTE821 INTO @delPEDIDO_EXTERNO END END CLOSE VENDAS_LOTE1412 CLOSE VENDAS_LOTE821 DEALLOCATE VENDAS_LOTE1412 DEALLOCATE VENDAS_LOTE821 END /* VENDAS_TIPO_DIGITADOR R/1413 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(TIPO_DO_DIGITADOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO_DIGITADOR where inserted.TIPO_DO_DIGITADOR = VENDAS_TIPO_DIGITADOR.TIPO_DO_DIGITADOR select @nullcnt = count(*) from inserted where inserted.TIPO_DO_DIGITADOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #VENDAS_TIPO_DIGITADOR #não existe.'' goto error end end /* MOEDAS R/1410 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #MOEDAS #não existe.'' goto error end end /* TABELAS_PRECO R/1409 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #TABELAS_PRECO #não existe.'' goto error end end /* REPRESENTANTES R/1405 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #REPRESENTANTES #não existe.'' goto error end end /* VENDAS_TIPO R/1403 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #VENDAS_TIPO #não existe.'' goto error end end /* COND_ATAC_PGTOS R/1402 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO select @nullcnt = count(*) from inserted where inserted.CONDICAO_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* COLECOES R/1401 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #COLECOES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1400 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* REPRESENTANTES R/1399 VENDAS_LOTE ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_LOTE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE, INSERTED WHERE VENDAS_LOTE.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_LOTE.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE].[PEDIDO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[TOT_QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[TOT_VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[VALOR_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[CTRL_MULT_ENTREGAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[ENTREGA_CIF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[ENTREGA_ACEITAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE].[APROVACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[CONFERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE].[CONFERIDO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[PORCENTAGEM_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[ACEITA_JUNTAR_PED]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_LOTE].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[MULTI_DESCONTO_ACUMULAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE].[RECARGO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDEDORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDEDORES]( [VENDEDOR] [char](4) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [VENDEDOR_APELIDO] [varchar](25) NOT NULL, [NOME_VENDEDOR] [varchar](40) NOT NULL, [OPERA_CAIXA] [bit] NOT NULL, [COMISSAO] [real] NULL, [RG] [varchar](19) NULL, [ENDERECO] [varchar](40) NULL, [COMPLEMENTO] [varchar](10) NULL, [CIDADE] [varchar](35) NULL, [UF] [char](18) NULL, [CEP] [varchar](9) NULL, [TELEFONE] [varchar](9) NULL, [CPF] [varchar](19) NULL, [GERENTE] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [SENHA] [varchar](10) NULL, [DATA_DESATIVACAO] [datetime] NULL, [DATA_ATIVACAO] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [DESC_CARGO] [varchar](20) NULL, CONSTRAINT [XPKLOJA_VENDEDORES] PRIMARY KEY NONCLUSTERED ( [VENDEDOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDEDORES]') AND name = N'XIE1LOJA_VENDEDORES') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDEDORES] ON [LOJA_VENDEDORES] ( [VENDEDOR_APELIDO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDEDORES] on [LOJA_VENDEDORES] for DELETE as /* DELETE trigger on LOJA_VENDEDORES */ begin declare @errno int, @errmsg varchar(255) /* LOJA_VENDEDORES R/1394 LOJA_RESERVA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_RESERVA where LOJA_RESERVA.VENDEDOR = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_RESERVA#.'' goto error end /* LOJA_VENDEDORES GERENTE_PERIODO LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.GERENTE_PERIODO = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_VENDA#.'' goto error end /* LOJA_VENDEDORES GERENTES LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.GERENTE_LOJA = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_VENDA#.'' goto error end /* LOJA_VENDEDORES CAIXA LOJA_CAIXA_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_CAIXA_LANCAMENTOS where LOJA_CAIXA_LANCAMENTOS.CAIXA_VENDEDOR = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_CAIXA_LANCAMENTOS#.'' goto error end /* LOJA_VENDEDORES VENDEDOR LOJA_VENDA_PGTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PGTO where LOJA_VENDA_PGTO.CAIXA_VENDEDOR = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_VENDA_PGTO#.'' goto error end /* LOJA_VENDEDORES LOJA_FUNCIONARIOS LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.VENDEDOR = deleted.VENDEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDEDORES #porque existem registros em #LOJA_VENDA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDEDORES] on [LOJA_VENDEDORES] for INSERT as /* INSERT trigger on LOJA_VENDEDORES */ /* default body for LXI_LOJA_VENDEDORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insVENDEDOR char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_VAREJO LOJA_ORIGEM LOJA_VENDEDORES ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDEDORES #porque #LOJAS_VAREJO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDEDORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDEDORES, INSERTED WHERE LOJA_VENDEDORES.VENDEDOR = INSERTED.VENDEDOR AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_VENDEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_VENDEDORES] on [LOJA_VENDEDORES] for UPDATE as /* UPDATE trigger on LOJA_VENDEDORES */ /* default body for LXU_LOJA_VENDEDORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insVENDEDOR char(4), @delVENDEDOR char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_VAREJO LOJA_ORIGEM LOJA_VENDEDORES ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDEDORES #porque #LOJAS_VAREJO #não existe.'' goto error end end /* LOJA_VENDEDORES R/1394 LOJA_RESERVA ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES1394 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES1394 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES1394 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA SET LOJA_RESERVA.VENDEDOR=@insVENDEDOR WHERE LOJA_RESERVA.VENDEDOR = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES1394 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES1394 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES1394 DEALLOCATE LOJA_VENDEDORES231 END /* LOJA_VENDEDORES GERENTE_PERIODO LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES1225 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES1225 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES1225 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.GERENTE_PERIODO=@insVENDEDOR WHERE LOJA_VENDA.GERENTE_PERIODO = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES1225 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES1225 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES1225 DEALLOCATE LOJA_VENDEDORES231 END /* LOJA_VENDEDORES GERENTES LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES1224 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES1224 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES1224 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.GERENTE_LOJA=@insVENDEDOR WHERE LOJA_VENDA.GERENTE_LOJA = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES1224 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES1224 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES1224 DEALLOCATE LOJA_VENDEDORES231 END /* LOJA_VENDEDORES CAIXA LOJA_CAIXA_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES1148 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES1148 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES1148 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CAIXA_LANCAMENTOS SET LOJA_CAIXA_LANCAMENTOS.CAIXA_VENDEDOR=@insVENDEDOR WHERE LOJA_CAIXA_LANCAMENTOS.CAIXA_VENDEDOR = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES1148 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES1148 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES1148 DEALLOCATE LOJA_VENDEDORES231 END /* LOJA_VENDEDORES VENDEDOR LOJA_VENDA_PGTO ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES1147 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES1147 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES1147 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PGTO SET LOJA_VENDA_PGTO.CAIXA_VENDEDOR=@insVENDEDOR WHERE LOJA_VENDA_PGTO.CAIXA_VENDEDOR = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES1147 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES1147 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES1147 DEALLOCATE LOJA_VENDEDORES231 END /* LOJA_VENDEDORES LOJA_FUNCIONARIOS LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(VENDEDOR) BEGIN DECLARE LOJA_VENDEDORES487 CURSOR FOR SELECT VENDEDOR FROM INSERTED DECLARE LOJA_VENDEDORES231 CURSOR FOR SELECT VENDEDOR FROM DELETED OPEN LOJA_VENDEDORES487 OPEN LOJA_VENDEDORES231 FETCH NEXT FROM LOJA_VENDEDORES487 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.VENDEDOR=@insVENDEDOR WHERE LOJA_VENDA.VENDEDOR = @delVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES487 INTO @insVENDEDOR FETCH NEXT FROM LOJA_VENDEDORES231 INTO @delVENDEDOR END END CLOSE LOJA_VENDEDORES487 CLOSE LOJA_VENDEDORES231 DEALLOCATE LOJA_VENDEDORES487 DEALLOCATE LOJA_VENDEDORES231 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDEDORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDEDORES, INSERTED WHERE LOJA_VENDEDORES.VENDEDOR = INSERTED.VENDEDOR AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDEDORES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDEDORES].[OPERA_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[RG]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_VENDEDORES].[CPF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDEDORES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSPORTADORAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSPORTADORAS]( [TRANSPORTADORA] [varchar](25) NOT NULL, [CODIGO_TRANSP] [char](5) NOT NULL, [CGC] [varchar](19) NOT NULL, [RAZAO_SOCIAL] [varchar](60) NULL, [ENDERECO] [varchar](40) NULL, [CIDADE] [varchar](35) NULL, [UF] [char](2) NOT NULL, [CEP] [varchar](9) NULL, [COMPLEMENTO] [varchar](10) NULL, [TELEFONE] [varchar](9) NULL, [DDD] [char](5) NULL, [FAX] [varchar](9) NULL, [INSCRICAO] [char](19) NULL, [REGIAO_ATUACAO] [varchar](40) NULL, [TIPO_TRANSPORTE] [char](5) NOT NULL, [BAIRRO] [varchar](40) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKTRANSPORTADORAS] PRIMARY KEY NONCLUSTERED ( [TRANSPORTADORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRANSPORTADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TRANSPORTADORAS] on [TRANSPORTADORAS] for DELETE as /* DELETE trigger on TRANSPORTADORAS */ begin declare @errno int, @errmsg varchar(255) /* TRANSPORTADORAS R/2159 TRANSPORTADORA_FRETE_PRECO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSPORTADORA_FRETE_PRECO where TRANSPORTADORA_FRETE_PRECO.TRANSPORTADORA = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #TRANSPORTADORA_FRETE_PRECO#.'' goto error end /* TRANSPORTADORAS TRANSP_REDESPACHO FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.TRANSP_REDESPACHO = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #FATURAMENTO#.'' goto error end /* TRANSPORTADORAS TRANSPORTADORAS COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.TRANSPORTADORA = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #COMPRAS#.'' goto error end /* TRANSPORTADORAS TRANSPORTADORAS FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.TRANSPORTADORA = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #FATURAMENTO#.'' goto error end /* TRANSPORTADORAS TRANSPORTADORAS VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.TRANSPORTADORA = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #VENDAS#.'' goto error end /* TRANSPORTADORAS TRANSPORTADORAS CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.TRANSPORTADORA = deleted.TRANSPORTADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSPORTADORAS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSPORTADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSPORTADORAS] on [TRANSPORTADORAS] for INSERT as /* INSERT trigger on TRANSPORTADORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO TRANSPORTADORAS ON CHILD INSERT RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORAS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TRANSPORTADORAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSPORTADORAS, INSERTED WHERE TRANSPORTADORAS.TRANSPORTADORA = INSERTED.TRANSPORTADORA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSPORTADORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSPORTADORAS] on [TRANSPORTADORAS] for UPDATE as /* UPDATE trigger on TRANSPORTADORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRANSPORTADORA varchar(25), @delTRANSPORTADORA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORAS R/2159 TRANSPORTADORA_FRETE_PRECO ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS2159 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS2159 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS2159 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORA_FRETE_PRECO SET TRANSPORTADORA_FRETE_PRECO.TRANSPORTADORA=@insTRANSPORTADORA WHERE TRANSPORTADORA_FRETE_PRECO.TRANSPORTADORA = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS2159 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS2159 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS2159 DEALLOCATE TRANSPORTADORAS48 END /* TRANSPORTADORAS TRANSP_REDESPACHO FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS881 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS881 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS881 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.TRANSP_REDESPACHO=@insTRANSPORTADORA WHERE FATURAMENTO.TRANSP_REDESPACHO = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS881 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS881 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS881 DEALLOCATE TRANSPORTADORAS48 END /* TRANSPORTADORAS TRANSPORTADORAS COMPRAS ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS122 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS122 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS122 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.TRANSPORTADORA=@insTRANSPORTADORA WHERE COMPRAS.TRANSPORTADORA = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS122 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS122 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS122 DEALLOCATE TRANSPORTADORAS48 END /* TRANSPORTADORAS TRANSPORTADORAS FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS317 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS317 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS317 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.TRANSPORTADORA=@insTRANSPORTADORA WHERE FATURAMENTO.TRANSPORTADORA = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS317 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS317 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS317 DEALLOCATE TRANSPORTADORAS48 END /* TRANSPORTADORAS TRANSPORTADORAS VENDAS ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS286 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS286 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS286 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.TRANSPORTADORA=@insTRANSPORTADORA WHERE VENDAS.TRANSPORTADORA = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS286 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS286 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS286 DEALLOCATE TRANSPORTADORAS48 END /* TRANSPORTADORAS TRANSPORTADORAS CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) BEGIN DECLARE TRANSPORTADORAS52 CURSOR FOR SELECT TRANSPORTADORA FROM INSERTED DECLARE TRANSPORTADORAS48 CURSOR FOR SELECT TRANSPORTADORA FROM DELETED OPEN TRANSPORTADORAS52 OPEN TRANSPORTADORAS48 FETCH NEXT FROM TRANSPORTADORAS52 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.TRANSPORTADORA=@insTRANSPORTADORA WHERE CLIENTES_ATACADO.TRANSPORTADORA = @delTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS52 INTO @insTRANSPORTADORA FETCH NEXT FROM TRANSPORTADORAS48 INTO @delTRANSPORTADORA END END CLOSE TRANSPORTADORAS52 CLOSE TRANSPORTADORAS48 DEALLOCATE TRANSPORTADORAS52 DEALLOCATE TRANSPORTADORAS48 END /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO TRANSPORTADORAS ON CHILD UPDATE RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORAS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSPORTADORAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSPORTADORAS, INSERTED WHERE TRANSPORTADORAS.TRANSPORTADORA = INSERTED.TRANSPORTADORA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSPORTADORAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[RAZAO_SOCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[DDD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[FAX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[INSCRICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSPORTADORAS].[REGIAO_ATUACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSPORTADORAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REQUISICOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REQUISICOES]( [REQUISICAO] [char](7) NOT NULL, [CENTRO_CUSTO] [varchar](25) NULL, [EMISSAO] [datetime] NULL, [REQUISITANTE] [varchar](25) NULL, [DEPARTAMENTO] [varchar](40) NULL, [STATUS] [char](1) NULL, [OBS] [text] NULL, CONSTRAINT [XPKREQUISICOES] PRIMARY KEY NONCLUSTERED ( [REQUISICAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_REQUISICOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_REQUISICOES] on [REQUISICOES] for DELETE as /* DELETE trigger on REQUISICOES */ begin declare @errno int, @errmsg varchar(255) /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_CONSUMIVEL ON PARENT DELETE CASCADE */ delete REQUISICAO_CONSUMIVEL from REQUISICAO_CONSUMIVEL,deleted where REQUISICAO_CONSUMIVEL.REQUISICAO = deleted.REQUISICAO /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_MATERIAL ON PARENT DELETE CASCADE */ delete REQUISICAO_MATERIAL from REQUISICAO_MATERIAL,deleted where REQUISICAO_MATERIAL.REQUISICAO = deleted.REQUISICAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REQUISICOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REQUISICOES] on [REQUISICOES] for INSERT as /* INSERT trigger on REQUISICOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO REQUISICOES ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICOES #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REQUISICOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REQUISICOES] on [REQUISICOES] for UPDATE as /* UPDATE trigger on REQUISICOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQUISICAO char(7), @delREQUISICAO char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(REQUISICAO) BEGIN DECLARE REQUISICOES876 CURSOR FOR SELECT REQUISICAO FROM INSERTED DECLARE REQUISICOES23 CURSOR FOR SELECT REQUISICAO FROM DELETED OPEN REQUISICOES876 OPEN REQUISICOES23 FETCH NEXT FROM REQUISICOES876 INTO @insREQUISICAO FETCH NEXT FROM REQUISICOES23 INTO @delREQUISICAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_CONSUMIVEL SET REQUISICAO_CONSUMIVEL.REQUISICAO=@insREQUISICAO WHERE REQUISICAO_CONSUMIVEL.REQUISICAO = @delREQUISICAO FETCH NEXT FROM REQUISICOES876 INTO @insREQUISICAO FETCH NEXT FROM REQUISICOES23 INTO @delREQUISICAO END END CLOSE REQUISICOES876 CLOSE REQUISICOES23 DEALLOCATE REQUISICOES876 DEALLOCATE REQUISICOES23 END /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_MATERIAL ON PARENT UPDATE CASCADE */ IF update(REQUISICAO) BEGIN DECLARE REQUISICOES873 CURSOR FOR SELECT REQUISICAO FROM INSERTED DECLARE REQUISICOES23 CURSOR FOR SELECT REQUISICAO FROM DELETED OPEN REQUISICOES873 OPEN REQUISICOES23 FETCH NEXT FROM REQUISICOES873 INTO @insREQUISICAO FETCH NEXT FROM REQUISICOES23 INTO @delREQUISICAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_MATERIAL SET REQUISICAO_MATERIAL.REQUISICAO=@insREQUISICAO WHERE REQUISICAO_MATERIAL.REQUISICAO = @delREQUISICAO FETCH NEXT FROM REQUISICOES873 INTO @insREQUISICAO FETCH NEXT FROM REQUISICOES23 INTO @delREQUISICAO END END CLOSE REQUISICOES873 CLOSE REQUISICOES23 DEALLOCATE REQUISICOES873 DEALLOCATE REQUISICOES23 END /* CENTROS_CUSTO CENTROS_CUSTO REQUISICOES ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICOES #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICOES].[REQUISITANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICOES].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REQUISICAO_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REQUISICAO_CONSUMIVEL]( [REQUISICAO] [char](7) NOT NULL, [CONSUMIVEL] [varchar](40) NOT NULL, [UNIDADE] [char](5) NOT NULL, [QTDE_REQUISITADA] [numeric](9, 3) NULL, [QTDE_APROVADA] [numeric](9, 3) NULL, [ENTREGA] [datetime] NULL, [LIMITE] [datetime] NULL, [APROVADO_POR] [varchar](25) NULL, [STATUS] [char](1) NULL, [COTACAO] [char](7) NULL, [PEDIDO] [char](8) NULL, [DESC_ITEM] [text] NULL, CONSTRAINT [XPKREQUISICAO_CONSUMIVEL] PRIMARY KEY NONCLUSTERED ( [REQUISICAO] ASC, [CONSUMIVEL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REQUISICAO_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REQUISICAO_CONSUMIVEL] on [REQUISICAO_CONSUMIVEL] for INSERT as /* INSERT trigger on REQUISICAO_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1834 REQUISICAO_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_CONSUMIVEL #porque #COMPRAS #não existe.'' goto error end end /* COTACOES R/1247 REQUISICAO_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end /* UNIDADES UNIDADES REQUISICAO_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_CONSUMIVEL #porque #UNIDADES #não existe.'' goto error end end /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(REQUISICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REQUISICOES where inserted.REQUISICAO = REQUISICOES.REQUISICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REQUISICAO_CONSUMIVEL #porque #REQUISICOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REQUISICAO_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REQUISICAO_CONSUMIVEL] on [REQUISICAO_CONSUMIVEL] for UPDATE as /* UPDATE trigger on REQUISICAO_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQUISICAO char(7), @insCONSUMIVEL varchar(40), @delREQUISICAO char(7), @delCONSUMIVEL varchar(40), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1834 REQUISICAO_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_CONSUMIVEL #porque #COMPRAS #não existe.'' goto error end end /* COTACOES R/1247 REQUISICAO_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end /* UNIDADES UNIDADES REQUISICAO_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_CONSUMIVEL #porque #UNIDADES #não existe.'' goto error end end /* REQUISICOES REQUISICAO_COMPRA REQUISICAO_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(REQUISICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REQUISICOES where inserted.REQUISICAO = REQUISICOES.REQUISICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REQUISICAO_CONSUMIVEL #porque #REQUISICOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REQUISICAO_CONSUMIVEL].[QTDE_REQUISITADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REQUISICAO_CONSUMIVEL].[QTDE_APROVADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICAO_CONSUMIVEL].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REQUISICAO_CONSUMIVEL].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTES]( [REPRESENTANTE] [varchar](25) NOT NULL, [GERENTE] [varchar](25) NOT NULL, [REGIAO] [varchar](25) NOT NULL, [TIPO] [varchar](25) NOT NULL, [COMISSAO] [real] NULL, [PORCENTAGEM_ACERTO] [real] NULL, [ACERTO_PGTO] [bit] NOT NULL, [INATIVO] [bit] NOT NULL, [MARGEM_NEGOCIACAO] [real] NULL, [DESCONTO_COMISSAO] [numeric](14, 2) NOT NULL, [CGC_CPF] [varchar](19) NOT NULL, [CLIFOR] [char](6) NOT NULL, [SEQUENCIAL] [char](5) NULL, [COMISSAO_GERENTE] [real] NULL, [IRRF] [real] NULL, [COD_REPRESENTANTE] [char](6) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CONTA_CONTABIL] [char](20) NULL, CONSTRAINT [XPKREPRESENTANTES] PRIMARY KEY NONCLUSTERED ( [REPRESENTANTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[REPRESENTANTES]') AND name = N'XAK1REPRESENTANTES') CREATE UNIQUE NONCLUSTERED INDEX [XAK1REPRESENTANTES] ON [REPRESENTANTES] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[REPRESENTANTES]') AND name = N'XIE1REPRESENTANTES') CREATE NONCLUSTERED INDEX [XIE1REPRESENTANTES] ON [REPRESENTANTES] ( [CGC_CPF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_REPRESENTANTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_REPRESENTANTES] on [REPRESENTANTES] for DELETE as /* DELETE trigger on REPRESENTANTES */ begin declare @errno int, @errmsg varchar(255) /* REPRESENTANTES R/1619 REPRESENTANTE_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REPRESENTANTE_LANCAMENTOS where REPRESENTANTE_LANCAMENTOS.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #REPRESENTANTE_LANCAMENTOS#.'' goto error end /* REPRESENTANTES R/1405 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.GERENTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS_LOTE#.'' goto error end /* REPRESENTANTES R/1399 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS_LOTE#.'' goto error end /* REPRESENTANTES R/1380 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* REPRESENTANTES R/1379 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.GERENTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* REPRESENTANTES R/1361 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #ORCAMENTOS#.'' goto error end /* REPRESENTANTES REPRESENTANTE A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #A_RECEBER_FATURA#.'' goto error end /* REPRESENTANTES GERENTE A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.GERENTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #A_RECEBER_FATURA#.'' goto error end /* REPRESENTANTES GERENTE FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.GERENTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #FATURAMENTO#.'' goto error end /* REPRESENTANTES GERENTE VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.GERENTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS#.'' goto error end /* REPRESENTANTES REPRESENTANTES VENDAS_PROD_EMBALADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PROD_EMBALADO where VENDAS_PROD_EMBALADO.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS_PROD_EMBALADO#.'' goto error end /* REPRESENTANTES representantes FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #FATURAMENTO#.'' goto error end /* REPRESENTANTES REPRESENTANTE VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.REPRESENTANTE = deleted.REPRESENTANTE /* REPRESENTANTES REPRESENTANTES REPRESENTANTE_COTA ON PARENT DELETE CASCADE */ delete REPRESENTANTE_COTA from REPRESENTANTE_COTA,deleted where REPRESENTANTE_COTA.REPRESENTANTE = deleted.REPRESENTANTE /* REPRESENTANTES REPRESENTANTES VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.REPRESENTANTE = deleted.REPRESENTANTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRESENTANTES #porque existem registros em #VENDAS#.'' goto error end /* REPRESENTANTES GERENTE REPRESENTANTES ON PARENT DELETE CASCADE */ delete REPRESENTANTES from REPRESENTANTES,deleted where REPRESENTANTES.GERENTE = deleted.REPRESENTANTE /* REPRESENTANTES REPRESENTANTES CLIENTE_REPRE ON PARENT DELETE CASCADE */ delete CLIENTE_REPRE from CLIENTE_REPRE,deleted where CLIENTE_REPRE.REPRESENTANTE = deleted.REPRESENTANTE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REPRESENTANTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REPRESENTANTES] on [REPRESENTANTES] for INSERT as /* INSERT trigger on REPRESENTANTES */ /* default body for LXI_REPRESENTANTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREPRESENTANTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR REPRESENTANTES ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.REPRESENTANTE = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTES #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* REPRE_TIPOS REPRE_TIPOS REPRESENTANTES ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRE_TIPOS where inserted.TIPO = REPRE_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTES #porque #REPRE_TIPOS #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA REPRESENTANTES ON CHILD INSERT RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTES #porque #REGIOES_VENDA #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE REPRESENTANTES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REPRESENTANTES, INSERTED WHERE REPRESENTANTES.REPRESENTANTE = INSERTED.REPRESENTANTE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REPRESENTANTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REPRESENTANTES] on [REPRESENTANTES] for UPDATE as /* UPDATE trigger on REPRESENTANTES */ /* default body for LXU_REPRESENTANTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREPRESENTANTE varchar(25), @delREPRESENTANTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR REPRESENTANTES ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.REPRESENTANTE = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTES #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* REPRE_TIPOS REPRE_TIPOS REPRESENTANTES ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRE_TIPOS where inserted.TIPO = REPRE_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTES #porque #REPRE_TIPOS #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA REPRESENTANTES ON CHILD UPDATE RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTES #porque #REGIOES_VENDA #não existe.'' goto error end end /* REPRESENTANTES R/1619 REPRESENTANTE_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1619 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1619 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1619 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTE_LANCAMENTOS SET REPRESENTANTE_LANCAMENTOS.REPRESENTANTE=@insREPRESENTANTE WHERE REPRESENTANTE_LANCAMENTOS.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1619 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1619 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1619 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES R/1405 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1405 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1405 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1405 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.GERENTE=@insREPRESENTANTE WHERE VENDAS_LOTE.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1405 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1405 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1405 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES R/1399 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1399 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1399 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1399 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.REPRESENTANTE=@insREPRESENTANTE WHERE VENDAS_LOTE.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1399 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1399 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1399 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES R/1380 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1380 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1380 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1380 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.REPRESENTANTE=@insREPRESENTANTE WHERE VENDAS_HISTORICO.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1380 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1380 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1380 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES R/1379 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1379 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1379 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1379 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.GERENTE=@insREPRESENTANTE WHERE VENDAS_HISTORICO.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1379 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1379 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1379 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES R/1361 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1361 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1361 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1361 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.REPRESENTANTE=@insREPRESENTANTE WHERE ORCAMENTOS.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1361 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1361 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1361 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTE A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1329 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1329 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1329 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.REPRESENTANTE=@insREPRESENTANTE WHERE A_RECEBER_FATURA.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1329 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1329 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1329 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES GERENTE A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1328 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1328 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1328 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.GERENTE=@insREPRESENTANTE WHERE A_RECEBER_FATURA.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1328 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1328 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1328 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES GERENTE FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1080 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1080 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1080 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.GERENTE=@insREPRESENTANTE WHERE FATURAMENTO.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1080 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1080 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1080 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES GERENTE VENDAS ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1079 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1079 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1079 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.GERENTE=@insREPRESENTANTE WHERE VENDAS.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1079 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1079 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1079 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTES VENDAS_PROD_EMBALADO ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1050 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1050 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1050 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PROD_EMBALADO SET VENDAS_PROD_EMBALADO.REPRESENTANTE=@insREPRESENTANTE WHERE VENDAS_PROD_EMBALADO.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1050 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1050 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1050 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES representantes FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES1049 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES1049 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES1049 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.REPRESENTANTE=@insREPRESENTANTE WHERE FATURAMENTO.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES1049 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES1049 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES1049 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTE VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES927 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES927 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES927 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.REPRESENTANTE=@insREPRESENTANTE WHERE VENDAS_COTAS_TIPO_ITENS.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES927 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES927 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES927 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTES REPRESENTANTE_COTA ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES863 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES863 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES863 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTE_COTA SET REPRESENTANTE_COTA.REPRESENTANTE=@insREPRESENTANTE WHERE REPRESENTANTE_COTA.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES863 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES863 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES863 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTES VENDAS ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES733 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES733 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES733 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.REPRESENTANTE=@insREPRESENTANTE WHERE VENDAS.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES733 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES733 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES733 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES GERENTE REPRESENTANTES ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES696 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES696 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES696 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTES SET REPRESENTANTES.GERENTE=@insREPRESENTANTE WHERE REPRESENTANTES.GERENTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES696 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES696 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES696 DEALLOCATE REPRESENTANTES494 END /* REPRESENTANTES REPRESENTANTES CLIENTE_REPRE ON PARENT UPDATE CASCADE */ IF update(REPRESENTANTE) BEGIN DECLARE REPRESENTANTES694 CURSOR FOR SELECT REPRESENTANTE FROM INSERTED DECLARE REPRESENTANTES494 CURSOR FOR SELECT REPRESENTANTE FROM DELETED OPEN REPRESENTANTES694 OPEN REPRESENTANTES494 FETCH NEXT FROM REPRESENTANTES694 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_REPRE SET CLIENTE_REPRE.REPRESENTANTE=@insREPRESENTANTE WHERE CLIENTE_REPRE.REPRESENTANTE = @delREPRESENTANTE FETCH NEXT FROM REPRESENTANTES694 INTO @insREPRESENTANTE FETCH NEXT FROM REPRESENTANTES494 INTO @delREPRESENTANTE END END CLOSE REPRESENTANTES694 CLOSE REPRESENTANTES494 DEALLOCATE REPRESENTANTES694 DEALLOCATE REPRESENTANTES494 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE REPRESENTANTES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REPRESENTANTES, INSERTED WHERE REPRESENTANTES.REPRESENTANTE = INSERTED.REPRESENTANTE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR REPRESENTANTES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[COMISSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[PORCENTAGEM_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[ACERTO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[MARGEM_NEGOCIACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[DESCONTO_COMISSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REPRESENTANTES].[SEQUENCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[REPRESENTANTES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTE_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTE_LANCAMENTOS]( [LANCAMENTO] [char](8) NOT NULL, [REPRESENTANTE] [varchar](25) NOT NULL, [DOCUMENTO] [varchar](20) NULL, [DATA_DIGITACAO] [datetime] NOT NULL, [DATA_LANCAMENTO] [datetime] NOT NULL, [VENCIMENTO] [datetime] NULL, [VALOR_DOCUMENTO] [numeric](14, 2) NULL, [COMISSAO] [numeric](5, 2) NULL, [ACERTO] [int] NULL, [CREDITO] [numeric](14, 2) NULL, [DEBITO] [numeric](14, 2) NULL, [HISTORICO] [varchar](50) NULL, [CONCILIADO] [bit] NOT NULL, [STATUS_LANCAMENTO] [char](1) NOT NULL, [ATUALIZACAO_EXPORTAR] [datetime] NULL, [DATA_EXPORTACAO] [datetime] NULL, CONSTRAINT [XPKREPRESENTANTE_LANCAMENTOS] PRIMARY KEY NONCLUSTERED ( [LANCAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REPRESENTANTE_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REPRESENTANTE_LANCAMENTOS] on [REPRESENTANTE_LANCAMENTOS] for INSERT as /* INSERT trigger on REPRESENTANTE_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REPRESENTANTES R/1619 REPRESENTANTE_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTE_LANCAMENTOS #porque #REPRESENTANTES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REPRESENTANTE_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REPRESENTANTE_LANCAMENTOS] on [REPRESENTANTE_LANCAMENTOS] for UPDATE as /* UPDATE trigger on REPRESENTANTE_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLANCAMENTO char(8), @delLANCAMENTO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REPRESENTANTES R/1619 REPRESENTANTE_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTE_LANCAMENTOS #porque #REPRESENTANTES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[DOCUMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[VALOR_DOCUMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[DEBITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[HISTORICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_LANCAMENTOS].[CONCILIADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CADASTRO_CLI_FOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CADASTRO_CLI_FOR]( [NOME_CLIFOR] [varchar](25) NOT NULL, [CARTEIRA] [varchar](25) NULL, [BANCO] [char](4) NULL, [CONTA_CONTABIL] [char](20) NULL, [CLIFOR] [char](6) NOT NULL, [CGC_CPF] [varchar](19) NOT NULL, [RAZAO_SOCIAL] [varchar](60) NOT NULL, [PJ_PF] [bit] NOT NULL, [RG_IE] [varchar](19) NOT NULL, [CEP] [varchar](9) NULL, [ENDERECO] [varchar](40) NULL, [BAIRRO] [varchar](25) NULL, [CIDADE] [varchar](35) NULL, [UF] [char](2) NOT NULL, [TELEFONE1] [varchar](9) NULL, [PAIS] [varchar](35) NULL, [DDI] [char](5) NULL, [TELEFONE2] [varchar](9) NULL, [FAX] [varchar](9) NULL, [DDD1] [char](5) NULL, [RAMAL1] [char](5) NULL, [RAMAL2] [char](5) NULL, [DDD2] [char](5) NULL, [COBRANCA_ENDERECO] [varchar](40) NULL, [COBRANCA_CIDADE] [varchar](35) NULL, [COBRANCA_BAIRRO] [varchar](25) NULL, [DDDFAX] [char](5) NULL, [COBRANCA_UF] [char](2) NOT NULL, [COBRANCA_CEP] [varchar](9) NULL, [COBRANCA_TELEFONE] [varchar](9) NULL, [ENTREGA_ENDERECO] [varchar](40) NULL, [ENTREGA_CIDADE] [varchar](35) NULL, [ENTREGA_UF] [char](2) NOT NULL, [ENTREGA_BAIRRO] [varchar](25) NULL, [ENTREGA_CEP] [varchar](9) NULL, [ENTREGA_TELEFONE] [varchar](9) NULL, [COBRANCA_DDD] [char](5) NULL, [CONTATO] [varchar](40) NULL, [COBRANCA_CGC] [varchar](19) NOT NULL, [CADASTRAMENTO] [datetime] NOT NULL, [COBRANCA_IE] [varchar](19) NOT NULL, [ANIVERSARIO] [datetime] NULL, [INDICA_FORNECEDOR] [bit] NOT NULL, [INDICA_CLIENTE] [bit] NOT NULL, [IND_REPRESENTANTE] [bit] NOT NULL, [INDICA_FILIAL] [bit] NOT NULL, [ENTREGA_DDD] [char](5) NULL, [ENTREGA_CGC] [varchar](19) NOT NULL, [ENTREGA_IE] [varchar](19) NOT NULL, [CC_AGENCIA] [varchar](20) NULL, [CC_CONTA] [varchar](20) NULL, [CC_NOME_AGENCIA] [varchar](30) NULL, [REF_ANTERIOR] [char](7) NULL, [ATUALIZACAO_EXPORTAR] [datetime] NULL, [DATA_EXPORTACAO] [datetime] NULL, [EMAIL] [varchar](40) NULL, [STATUS_ENVIO] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [INATIVO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [ENTREGA_PAIS] [varchar](35) NULL, [COBRANCA_PAIS] [varchar](35) NULL, [ENTREGA_DDI] [char](5) NULL, [COBRANCA_DDI] [char](5) NULL, [OBS_DE_FATURAMENTO] [text] NULL, [ISENTO_IPI] [bit] NOT NULL, [ISENTO_ICMS] [bit] NOT NULL, [IRRF] [real] NULL, [MESES_SEM_VENCIMENTO] [varchar](20) NULL, [DATA_FIXA_PGTO] [varchar](20) NULL, [ACEITA_AGRUPAR_FATURA] [smallint] NULL, [PASSWEB] [varchar](10) NULL, [VENCIMENTO_PASSWEB] [datetime] NULL, [NUMERO_VIAS_FATURA] [smallint] NULL, [REPORT_FATURA] [char](9) NULL, [DIAS_ANTECIPACAO_PGTO] [smallint] NULL, [POSSUI_RECARGO] [tinyint] NULL, [CODIGO_CHAVE] [char](10) NULL, [TIPO_RELACAO_COMERCIAL] [smallint] NULL, [ID_CLASIF_CLIFOR] [int] NULL, [ENTREGA_RAZAO_SOCIAL] [varchar](60) NULL, [COBRANCA_RAZAO_SOCIAL] [varchar](60) NULL, [ACEITA_DIAS_FIXO] [bit] NOT NULL, [CC_DIGITO] [char](2) NULL, CONSTRAINT [XPKCADASTRO_CLI_FOR] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADASTRO_CLI_FOR]') AND name = N'XAK1CADASTRO_CLI_FOR') CREATE UNIQUE NONCLUSTERED INDEX [XAK1CADASTRO_CLI_FOR] ON [CADASTRO_CLI_FOR] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADASTRO_CLI_FOR]') AND name = N'XIE1CADASTRO_CLI_FOR') CREATE NONCLUSTERED INDEX [XIE1CADASTRO_CLI_FOR] ON [CADASTRO_CLI_FOR] ( [RAZAO_SOCIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADASTRO_CLI_FOR]') AND name = N'XIE2CADASTRO_CLI_FOR') CREATE NONCLUSTERED INDEX [XIE2CADASTRO_CLI_FOR] ON [CADASTRO_CLI_FOR] ( [RG_IE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CADASTRO_CLI_FOR]') AND name = N'XIE3CADASTRO_CLI_FOR') CREATE NONCLUSTERED INDEX [XIE3CADASTRO_CLI_FOR] ON [CADASTRO_CLI_FOR] ( [CGC_CPF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CADASTRO_CLI_FOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CADASTRO_CLI_FOR] on [CADASTRO_CLI_FOR] for DELETE as /* DELETE trigger on CADASTRO_CLI_FOR */ begin declare @errno int, @errmsg varchar(255) /* CADASTRO_CLI_FOR R/2124 FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.NOME_CLIFOR_ENTREGA = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #FATURAMENTO#.'' goto error end /* CADASTRO_CLI_FOR R/2123 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.NOME_CLIFOR_ENTREGA = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #VENDAS#.'' goto error end /* CADASTRO_CLI_FOR R/1773 MATERIAIS_FORNECEDOR ON PARENT DELETE CASCADE */ delete MATERIAIS_FORNECEDOR from MATERIAIS_FORNECEDOR,deleted where MATERIAIS_FORNECEDOR.FORNECEDOR = deleted.NOME_CLIFOR /* CADASTRO_CLI_FOR R/1720 CADASTRO_LOCAIS_ENTREGA ON PARENT DELETE CASCADE */ delete CADASTRO_LOCAIS_ENTREGA from CADASTRO_LOCAIS_ENTREGA,deleted where CADASTRO_LOCAIS_ENTREGA.NOME_CLIFOR = deleted.NOME_CLIFOR /* CADASTRO_CLI_FOR R/1689 ESTOQUE_SAI_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI_MAT where ESTOQUE_SAI_MAT.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #ESTOQUE_SAI_MAT#.'' goto error end /* CADASTRO_CLI_FOR R/1569 PRODUCAO_RECURSOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_RECURSOS where PRODUCAO_RECURSOS.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #PRODUCAO_RECURSOS#.'' goto error end /* CADASTRO_CLI_FOR R/1367 EVENTOS_CLIFOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,EVENTOS_CLIFOR where EVENTOS_CLIFOR.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #EVENTOS_CLIFOR#.'' goto error end /* CADASTRO_CLI_FOR R/1185 FATURAMENTO_CAIXAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CAIXAS where FATURAMENTO_CAIXAS.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #FATURAMENTO_CAIXAS#.'' goto error end /* CADASTRO_CLI_FOR NOME_CLIFOR A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #FATURAMENTO#.'' goto error end /* CADASTRO_CLI_FOR R/929 VENDAS_PROD_EMBALADO ON PARENT DELETE CASCADE */ delete VENDAS_PROD_EMBALADO from VENDAS_PROD_EMBALADO,deleted where VENDAS_PROD_EMBALADO.NOME_CLIFOR = deleted.NOME_CLIFOR /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #ENTRADAS#.'' goto error end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #A_RECEBER_FATURA#.'' goto error end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_PAGAR_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_FATURA where A_PAGAR_FATURA.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_CLI_FOR #porque existem registros em #A_PAGAR_FATURA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CADASTRO_CLI_FOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CADASTRO_CLI_FOR] on [CADASTRO_CLI_FOR] for INSERT as /* INSERT trigger on CADASTRO_CLI_FOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/1900 CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(ENTREGA_PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.ENTREGA_PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.ENTREGA_PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* PAISES R/1899 CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(COBRANCA_PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.COBRANCA_PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.COBRANCA_PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* PAISES R/1898 CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* CARTEIRAS_COBRANCA R/1272 CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA select @nullcnt = count(*) from inserted where inserted.CARTEIRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* BANCOS BANCOS CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO select @nullcnt = count(*) from inserted where inserted.BANCO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #BANCOS #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(ENTREGA_UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.ENTREGA_UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(COBRANCA_UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.COBRANCA_UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD INSERT RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CADASTRO_CLI_FOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CADASTRO_CLI_FOR, INSERTED WHERE CADASTRO_CLI_FOR.NOME_CLIFOR = INSERTED.NOME_CLIFOR AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CADASTRO_CLI_FOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_CADASTRO_CLI_FOR] on [CADASTRO_CLI_FOR] for UPDATE as /* UPDATE trigger on CADASTRO_CLI_FOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/1900 CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(ENTREGA_PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.ENTREGA_PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.ENTREGA_PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* PAISES R/1899 CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(COBRANCA_PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.COBRANCA_PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.COBRANCA_PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* PAISES R/1898 CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS select @nullcnt = count(*) from inserted where inserted.PAIS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #PAISES #não existe.'' goto error end end /* CARTEIRAS_COBRANCA R/1272 CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA select @nullcnt = count(*) from inserted where inserted.CARTEIRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* BANCOS BANCOS CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO select @nullcnt = count(*) from inserted where inserted.BANCO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #BANCOS #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(ENTREGA_UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.ENTREGA_UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(COBRANCA_UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.COBRANCA_UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON CHILD UPDATE RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/2124 FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR2124 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR2124 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR2124 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.NOME_CLIFOR_ENTREGA=@insNOME_CLIFOR WHERE FATURAMENTO.NOME_CLIFOR_ENTREGA = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR2124 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR2124 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR2124 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/2123 VENDAS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR2123 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR2123 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR2123 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.NOME_CLIFOR_ENTREGA=@insNOME_CLIFOR WHERE VENDAS.NOME_CLIFOR_ENTREGA = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR2123 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR2123 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR2123 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1773 MATERIAIS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1773 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1773 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1773 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FORNECEDOR SET MATERIAIS_FORNECEDOR.FORNECEDOR=@insNOME_CLIFOR WHERE MATERIAIS_FORNECEDOR.FORNECEDOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1773 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1773 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1773 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1720 CADASTRO_LOCAIS_ENTREGA ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1720 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1720 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1720 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_LOCAIS_ENTREGA SET CADASTRO_LOCAIS_ENTREGA.NOME_CLIFOR=@insNOME_CLIFOR WHERE CADASTRO_LOCAIS_ENTREGA.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1720 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1720 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1720 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1689 ESTOQUE_SAI_MAT ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1689 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1689 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1689 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI_MAT SET ESTOQUE_SAI_MAT.NOME_CLIFOR=@insNOME_CLIFOR WHERE ESTOQUE_SAI_MAT.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1689 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1689 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1689 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1569 PRODUCAO_RECURSOS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1569 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1569 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1569 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS SET PRODUCAO_RECURSOS.NOME_CLIFOR=@insNOME_CLIFOR WHERE PRODUCAO_RECURSOS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1569 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1569 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1569 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1367 EVENTOS_CLIFOR ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1367 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1367 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1367 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE EVENTOS_CLIFOR SET EVENTOS_CLIFOR.NOME_CLIFOR=@insNOME_CLIFOR WHERE EVENTOS_CLIFOR.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1367 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1367 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1367 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/1185 FATURAMENTO_CAIXAS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1185 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1185 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1185 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CAIXAS SET FATURAMENTO_CAIXAS.NOME_CLIFOR=@insNOME_CLIFOR WHERE FATURAMENTO_CAIXAS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1185 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1185 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1185 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR NOME_CLIFOR A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR1048 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR1048 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR1048 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_RECEBER_CHEQUES.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR1048 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR1048 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR1048 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR965 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR965 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR965 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.NOME_CLIFOR=@insNOME_CLIFOR WHERE FATURAMENTO.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR965 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR965 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR965 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR R/929 VENDAS_PROD_EMBALADO ON PARENT UPDATE RESTRICT */ if update(NOME_CLIFOR) begin if exists ( select * from deleted,VENDAS_PROD_EMBALADO where VENDAS_PROD_EMBALADO.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #CADASTRO_CLI_FOR #porque existem registros em #VENDAS_PROD_EMBALADO#.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR ENTRADAS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR902 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR902 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR902 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.NOME_CLIFOR=@insNOME_CLIFOR WHERE ENTRADAS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR902 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR902 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR902 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR885 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR885 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR885 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_RECEBER_FATURA.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR885 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR885 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR885 DEALLOCATE CADASTRO_CLI_FOR12 END /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_PAGAR_FATURA ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) BEGIN DECLARE CADASTRO_CLI_FOR323 CURSOR FOR SELECT NOME_CLIFOR FROM INSERTED DECLARE CADASTRO_CLI_FOR12 CURSOR FOR SELECT NOME_CLIFOR FROM DELETED OPEN CADASTRO_CLI_FOR323 OPEN CADASTRO_CLI_FOR12 FETCH NEXT FROM CADASTRO_CLI_FOR323 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA SET A_PAGAR_FATURA.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_PAGAR_FATURA.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR323 INTO @insNOME_CLIFOR FETCH NEXT FROM CADASTRO_CLI_FOR12 INTO @delNOME_CLIFOR END END CLOSE CADASTRO_CLI_FOR323 CLOSE CADASTRO_CLI_FOR12 DEALLOCATE CADASTRO_CLI_FOR323 DEALLOCATE CADASTRO_CLI_FOR12 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CADASTRO_CLI_FOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CADASTRO_CLI_FOR, INSERTED WHERE CADASTRO_CLI_FOR.NOME_CLIFOR = INSERTED.NOME_CLIFOR AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CADASTRO_CLI_FOR.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[PJ_PF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[TELEFONE1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[PAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[DDI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[TELEFONE2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[FAX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[DDD1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[RAMAL1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[RAMAL2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[DDD2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[DDDFAX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_DDD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[CONTATO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[INDICA_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[INDICA_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[IND_REPRESENTANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[INDICA_FILIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_DDD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[REF_ANTERIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CADASTRO_CLI_FOR].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[ENTREGA_PAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_CLI_FOR].[COBRANCA_PAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[ISENTO_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[ISENTO_ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[DATA_FIXA_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[ACEITA_AGRUPAR_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[POSSUI_RECARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CADASTRO_CLI_FOR].[ACEITA_DIAS_FIXO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PRECO_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PRECO_LOG]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [DATA_ATIVACAO] [datetime] NOT NULL, [PRODUTO] [char](12) NOT NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DATA_DIGITACAO] [datetime] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PROCESSADO] [char](1) NOT NULL, CONSTRAINT [XPKPRODUTOS_PRECO_LOG] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC, [DATA_ATIVACAO] ASC, [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_PRECO_LOG]') AND name = N'XIE1PRODUTOS_PRECO_LOG') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_PRECO_LOG] ON [PRODUTOS_PRECO_LOG] ( [DATA_ATIVACAO] ASC, [PROCESSADO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PRECO_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PRECO_LOG] on [PRODUTOS_PRECO_LOG] for INSERT as /* INSERT trigger on PRODUTOS_PRECO_LOG */ /* default body for LXI_PRODUTOS_PRECO_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insDATA_ATIVACAO datetime, @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECOS_LOG R/1628 PRODUTOS_PRECO_LOG ON CHILD INSERT RESTRICT */ if update(DATA_ATIVACAO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECOS_LOG where inserted.DATA_ATIVACAO = PRECOS_LOG.DATA_ATIVACAO and inserted.CODIGO_TAB_PRECO = PRECOS_LOG.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_LOG #porque #PRECOS_LOG #não existe.'' goto error end end /* PRODUTOS_PRECOS R/1624 PRODUTOS_PRECO_LOG ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECOS where inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECOS.CODIGO_TAB_PRECO and inserted.PRODUTO = PRODUTOS_PRECOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_LOG #porque #PRODUTOS_PRECOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PRECO_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_LOG, INSERTED WHERE PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRODUTOS_PRECO_LOG.PRODUTO = INSERTED.PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PRECO_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PRECO_LOG] on [PRODUTOS_PRECO_LOG] for UPDATE as /* UPDATE trigger on PRODUTOS_PRECO_LOG */ /* default body for LXU_PRODUTOS_PRECO_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insDATA_ATIVACAO datetime, @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECOS_LOG R/1628 PRODUTOS_PRECO_LOG ON CHILD UPDATE RESTRICT */ if update(DATA_ATIVACAO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECOS_LOG where inserted.DATA_ATIVACAO = PRECOS_LOG.DATA_ATIVACAO and inserted.CODIGO_TAB_PRECO = PRECOS_LOG.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_LOG #porque #PRECOS_LOG #não existe.'' goto error end end /* PRODUTOS_PRECOS R/1624 PRODUTOS_PRECO_LOG ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECOS where inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECOS.CODIGO_TAB_PRECO and inserted.PRODUTO = PRODUTOS_PRECOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_LOG #porque #PRODUTOS_PRECOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PRECO_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_LOG, INSERTED WHERE PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRODUTOS_PRECO_LOG.PRODUTO = INSERTED.PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PRECO_LOG.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_LOG].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_LOG].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_LOG].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_LOG].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PRECO_LOG].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_PRECO_LOG].[PROCESSADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CADASTRO_LOCAIS_ENTREGA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CADASTRO_LOCAIS_ENTREGA]( [NOME_CLIFOR] [varchar](25) NOT NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NOT NULL, [RAZAO_SOCIAL] [varchar](60) NOT NULL, [ENTREGA_ENDERECO] [varchar](40) NULL, [ENTREGA_CIDADE] [varchar](35) NULL, [ENTREGA_UF] [char](2) NOT NULL, [ENTREGA_BAIRRO] [varchar](25) NULL, [ENTREGA_CEP] [varchar](9) NULL, [ENTREGA_TELEFONE] [varchar](9) NULL, [ENTREGA_PAIS] [varchar](35) NULL, [ENTREGA_CGC] [varchar](19) NOT NULL, [ENTREGA_IE] [varchar](19) NOT NULL, [ENTREGA_DDI] [char](5) NULL, [ENTREGA_DDD] [char](5) NULL, [ENTREGA_EMAIL_LOCAL] [varchar](40) NULL, CONSTRAINT [XPKCADASTRO_LOCAIS_ENTREGA] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [CODIGO_LOCAL_ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CADASTRO_LOCAIS_ENTREGA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CADASTRO_LOCAIS_ENTREGA] on [CADASTRO_LOCAIS_ENTREGA] for DELETE as /* DELETE trigger on CADASTRO_LOCAIS_ENTREGA */ begin declare @errno int, @errmsg varchar(255) /* CADASTRO_LOCAIS_ENTREGA R/2137 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_RATEIO_CAIXA where VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO = deleted.NOME_CLIFOR and VENDAS_PRODUTO_RATEIO_CAIXA.CODIGO_LOCAL_ENTREGA = deleted.CODIGO_LOCAL_ENTREGA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CADASTRO_LOCAIS_ENTREGA #porque existem registros em #VENDAS_PRODUTO_RATEIO_CAIXA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CADASTRO_LOCAIS_ENTREGA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CADASTRO_LOCAIS_ENTREGA] on [CADASTRO_LOCAIS_ENTREGA] for INSERT as /* INSERT trigger on CADASTRO_LOCAIS_ENTREGA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_CLI_FOR R/1720 CADASTRO_LOCAIS_ENTREGA ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CADASTRO_LOCAIS_ENTREGA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CADASTRO_LOCAIS_ENTREGA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CADASTRO_LOCAIS_ENTREGA] on [CADASTRO_LOCAIS_ENTREGA] for UPDATE as /* UPDATE trigger on CADASTRO_LOCAIS_ENTREGA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insCODIGO_LOCAL_ENTREGA char(5), @delNOME_CLIFOR varchar(25), @delCODIGO_LOCAL_ENTREGA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CADASTRO_LOCAIS_ENTREGA R/2137 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(CODIGO_LOCAL_ENTREGA) BEGIN DECLARE CADASTRO_LOCAIS_ENTREGA2137 CURSOR FOR SELECT NOME_CLIFOR, CODIGO_LOCAL_ENTREGA FROM INSERTED DECLARE CADASTRO_LOCAIS_ENTREGA996 CURSOR FOR SELECT NOME_CLIFOR, CODIGO_LOCAL_ENTREGA FROM DELETED OPEN CADASTRO_LOCAIS_ENTREGA2137 OPEN CADASTRO_LOCAIS_ENTREGA996 FETCH NEXT FROM CADASTRO_LOCAIS_ENTREGA2137 INTO @insNOME_CLIFOR, @insCODIGO_LOCAL_ENTREGA FETCH NEXT FROM CADASTRO_LOCAIS_ENTREGA996 INTO @delNOME_CLIFOR, @delCODIGO_LOCAL_ENTREGA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_RATEIO_CAIXA SET VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO=@insNOME_CLIFOR, VENDAS_PRODUTO_RATEIO_CAIXA.CODIGO_LOCAL_ENTREGA=@insCODIGO_LOCAL_ENTREGA WHERE VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO = @delNOME_CLIFOR and VENDAS_PRODUTO_RATEIO_CAIXA.CODIGO_LOCAL_ENTREGA = @delCODIGO_LOCAL_ENTREGA FETCH NEXT FROM CADASTRO_LOCAIS_ENTREGA2137 INTO @insNOME_CLIFOR, @insCODIGO_LOCAL_ENTREGA FETCH NEXT FROM CADASTRO_LOCAIS_ENTREGA996 INTO @delNOME_CLIFOR, @delCODIGO_LOCAL_ENTREGA END END CLOSE CADASTRO_LOCAIS_ENTREGA2137 CLOSE CADASTRO_LOCAIS_ENTREGA996 DEALLOCATE CADASTRO_LOCAIS_ENTREGA2137 DEALLOCATE CADASTRO_LOCAIS_ENTREGA996 END /* CADASTRO_CLI_FOR R/1720 CADASTRO_LOCAIS_ENTREGA ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CADASTRO_LOCAIS_ENTREGA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_DDI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CADASTRO_LOCAIS_ENTREGA].[ENTREGA_DDD]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_ENDERECOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_ENDERECOS]( [CODIGO_CLIENTE] [varchar](14) NOT NULL, [ITEM_ENDERECO] [char](18) NOT NULL, [TIPO_ENDERECO] [int] NULL, [NOME] [varchar](40) NOT NULL, [ENDERECO] [varchar](40) NULL, [COMPLEMENTO] [varchar](10) NULL, [CEP] [varchar](9) NULL, [BAIRRO] [varchar](35) NULL, [CIDADE] [varchar](35) NULL, [TELEFONE] [varchar](9) NULL, [DDD] [char](4) NULL, [UF] [char](2) NULL, [PAIS] [varchar](40) NOT NULL, [TIPO_TELEFONE] [char](1) NULL, CONSTRAINT [XPKCLIENTE_VAR_ENDERECOS] PRIMARY KEY NONCLUSTERED ( [CODIGO_CLIENTE] ASC, [ITEM_ENDERECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_ENDERECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_ENDERECOS] on [CLIENTE_VAR_ENDERECOS] for INSERT as /* INSERT trigger on CLIENTE_VAR_ENDERECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAREJO R/2171 CLIENTE_VAR_ENDERECOS ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_ENDERECOS #porque #CLIENTES_VAREJO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_ENDERECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_ENDERECOS] on [CLIENTE_VAR_ENDERECOS] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_ENDERECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insITEM_ENDERECO char(18), @delCODIGO_CLIENTE varchar(14), @delITEM_ENDERECO char(18), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAREJO R/2171 CLIENTE_VAR_ENDERECOS ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_ENDERECOS #porque #CLIENTES_VAREJO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_ENDERECOS].[TIPO_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTE_VAR_ENDERECOS].[COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTE_VAR_ENDERECOS].[DDD]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_VAREJO]( [CODIGO_CLIENTE] [varchar](14) NOT NULL, [CONCEITO] [varchar](25) NULL, [TIPO_VAREJO] [varchar](25) NULL, [CLIENTE_VAREJO] [varchar](40) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PONTUALIDADE] [varchar](25) NULL, [TIPO_BLOQUEIO] [varchar](25) NULL, [ENDERECO] [varchar](40) NULL, [UF] [char](2) NULL, [PF_PJ] [bit] NOT NULL, [RG_IE] [varchar](19) NULL, [CPF_CGC] [varchar](19) NULL, [CIDADE] [varchar](35) NULL, [COMPLEMENTO] [varchar](20) NULL, [CEP] [varchar](9) NULL, [TELEFONE] [varchar](9) NULL, [FAX] [varchar](9) NULL, [LIMITE_CREDITO] [numeric](14, 2) NULL, [SEM_CREDITO] [bit] NOT NULL, [ANIVERSARIO] [datetime] NULL, [CADASTRAMENTO] [datetime] NOT NULL, [DDD] [char](4) NULL, [SEXO] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [OBS] [text] NULL, [TIPO_TELEFONE] [char](1) NULL, [EMAIL] [varchar](35) NULL, [ULTIMA_COMPRA] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [BAIRRO] [varchar](35) NULL, [LIMITE_CREDITO_TOTAL] [numeric](14, 2) NULL, [STATUS] [smallint] NULL, [NAO_CONSULTA_CHEQUE] [smallint] NULL, [CARTAO_AFINIDADE] [varchar](16) NULL, [NOME_FAMILIA] [varchar](40) NULL, [SENHA] [varchar](25) NULL, [LEMBRETE_SENHA] [varchar](40) NULL, [NUMERO] [varchar](10) NULL, [LOGRADOURO] [varchar](5) NULL, [PAIS] [varchar](40) NULL, [TIPO_LOGRADOURO] [varchar](5) NULL, CONSTRAINT [XPKCLIENTES_VAREJO] PRIMARY KEY NONCLUSTERED ( [CODIGO_CLIENTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND name = N'XIE1CLIENTES_VAREJO') CREATE NONCLUSTERED INDEX [XIE1CLIENTES_VAREJO] ON [CLIENTES_VAREJO] ( [CLIENTE_VAREJO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND name = N'XIE2CLIENTES_VAREJO') CREATE NONCLUSTERED INDEX [XIE2CLIENTES_VAREJO] ON [CLIENTES_VAREJO] ( [CPF_CGC] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND name = N'XIE3CLIENTES_VAREJO') CREATE NONCLUSTERED INDEX [XIE3CLIENTES_VAREJO] ON [CLIENTES_VAREJO] ( [RG_IE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND name = N'XIE4CLIENTES_VAREJO') CREATE NONCLUSTERED INDEX [XIE4CLIENTES_VAREJO] ON [CLIENTES_VAREJO] ( [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_VAREJO]') AND name = N'XIE5CLIENTES_VAREJO') CREATE NONCLUSTERED INDEX [XIE5CLIENTES_VAREJO] ON [CLIENTES_VAREJO] ( [TELEFONE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTES_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTES_VAREJO] on [CLIENTES_VAREJO] for DELETE as /* DELETE trigger on CLIENTES_VAREJO */ begin declare @errno int, @errmsg varchar(255) /* CLIENTES_VAREJO R/2171 CLIENTE_VAR_ENDERECOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_ENDERECOS where CLIENTE_VAR_ENDERECOS.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #CLIENTE_VAR_ENDERECOS#.'' goto error end /* CLIENTES_VAREJO R/1702 CLIENTES_VAR_VALOR_PROP ON PARENT DELETE CASCADE */ delete CLIENTES_VAR_VALOR_PROP from CLIENTES_VAR_VALOR_PROP,deleted where CLIENTES_VAR_VALOR_PROP.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE /* CLIENTES_VAREJO R/1580 CLIENTE_VAR_RELACIONADO ON PARENT DELETE CASCADE */ delete CLIENTE_VAR_RELACIONADO from CLIENTE_VAR_RELACIONADO,deleted where CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE_RELACIONADO = deleted.CODIGO_CLIENTE /* CLIENTES_VAREJO R/1579 CLIENTE_VAR_RELACIONADO ON PARENT DELETE CASCADE */ delete CLIENTE_VAR_RELACIONADO from CLIENTE_VAR_RELACIONADO,deleted where CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE /* CLIENTES_VAREJO R/1556 CLIENTE_VAR_SAC ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_SAC where CLIENTE_VAR_SAC.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #CLIENTE_VAR_SAC#.'' goto error end /* CLIENTES_VAREJO R/1395 LOJA_RESERVA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_RESERVA where LOJA_RESERVA.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #LOJA_RESERVA#.'' goto error end /* CLIENTES_VAREJO R/1392 LOJA_PGTO_CLIENTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_PGTO_CLIENTE where LOJA_PGTO_CLIENTE.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #LOJA_PGTO_CLIENTE#.'' goto error end /* CLIENTES_VAREJO clientes_varejo LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #LOJA_VENDA#.'' goto error end /* CLIENTES_VAREJO CLIENTES_VAREJO A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.CODIGO_CLIENTE = deleted.CODIGO_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_VAREJO #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTES_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTES_VAREJO] on [CLIENTES_VAREJO] for INSERT as /* INSERT trigger on CLIENTES_VAREJO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @delCODIGO_CLIENTE varchar(14), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_CONCEITOS CONCEITO CLIENTES_VAREJO ON CHILD INSERT RESTRICT */ if update(CONCEITO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_CONCEITOS where inserted.CONCEITO = CLIENTE_VAR_CONCEITOS.CONCEITO select @nullcnt = count(*) from inserted where inserted.CONCEITO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAREJO #porque #CLIENTE_VAR_CONCEITOS #não existe.'' goto error end end /* CLIENTE_VAR_BLOQ CLIENTE_VAL_BLOQUEIO CLIENTES_VAREJO ON CHILD INSERT RESTRICT */ if update(TIPO_BLOQUEIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_BLOQ where inserted.TIPO_BLOQUEIO = CLIENTE_VAR_BLOQ.TIPO_BLOQUEIO select @nullcnt = count(*) from inserted where inserted.TIPO_BLOQUEIO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAREJO #porque #CLIENTE_VAR_BLOQ #não existe.'' goto error end end /* CLIENTE_VAR_TIPOS CLIENTE_VAR_TIPOS CLIENTES_VAREJO ON CHILD INSERT RESTRICT */ if update(TIPO_VAREJO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_TIPOS where inserted.TIPO_VAREJO = CLIENTE_VAR_TIPOS.TIPO_VAREJO select @nullcnt = count(*) from inserted where inserted.TIPO_VAREJO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAREJO #porque #CLIENTE_VAR_TIPOS #não existe.'' goto error end end /* CLIENTE_VAR_PONT CLIENTE_VAR_PONT CLIENTES_VAREJO ON CHILD INSERT RESTRICT */ if update(PONTUALIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_PONT where inserted.PONTUALIDADE = CLIENTE_VAR_PONT.PONTUALIDADE select @nullcnt = count(*) from inserted where inserted.PONTUALIDADE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAREJO #porque #CLIENTE_VAR_PONT #não existe.'' goto error end end /* FILIAIS FILIAIS CLIENTES_VAREJO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAREJO #porque #FILIAIS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAREJO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAREJO, INSERTED WHERE CLIENTES_VAREJO.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTES_VAREJO] on [CLIENTES_VAREJO] for UPDATE as /* UPDATE trigger on CLIENTES_VAREJO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @delCODIGO_CLIENTE varchar(14), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_CONCEITOS CONCEITO CLIENTES_VAREJO ON CHILD UPDATE RESTRICT */ if update(CONCEITO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_CONCEITOS where inserted.CONCEITO = CLIENTE_VAR_CONCEITOS.CONCEITO select @nullcnt = count(*) from inserted where inserted.CONCEITO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAREJO #porque #CLIENTE_VAR_CONCEITOS #não existe.'' goto error end end /* CLIENTE_VAR_BLOQ CLIENTE_VAL_BLOQUEIO CLIENTES_VAREJO ON CHILD UPDATE RESTRICT */ if update(TIPO_BLOQUEIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_BLOQ where inserted.TIPO_BLOQUEIO = CLIENTE_VAR_BLOQ.TIPO_BLOQUEIO select @nullcnt = count(*) from inserted where inserted.TIPO_BLOQUEIO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAREJO #porque #CLIENTE_VAR_BLOQ #não existe.'' goto error end end /* CLIENTE_VAR_TIPOS CLIENTE_VAR_TIPOS CLIENTES_VAREJO ON CHILD UPDATE RESTRICT */ if update(TIPO_VAREJO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_TIPOS where inserted.TIPO_VAREJO = CLIENTE_VAR_TIPOS.TIPO_VAREJO select @nullcnt = count(*) from inserted where inserted.TIPO_VAREJO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAREJO #porque #CLIENTE_VAR_TIPOS #não existe.'' goto error end end /* CLIENTE_VAR_PONT CLIENTE_VAR_PONT CLIENTES_VAREJO ON CHILD UPDATE RESTRICT */ if update(PONTUALIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_PONT where inserted.PONTUALIDADE = CLIENTE_VAR_PONT.PONTUALIDADE select @nullcnt = count(*) from inserted where inserted.PONTUALIDADE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAREJO #porque #CLIENTE_VAR_PONT #não existe.'' goto error end end /* FILIAIS FILIAIS CLIENTES_VAREJO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAREJO #porque #FILIAIS #não existe.'' goto error end end /* CLIENTES_VAREJO R/2171 CLIENTE_VAR_ENDERECOS ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO2171 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO2171 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO2171 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_ENDERECOS SET CLIENTE_VAR_ENDERECOS.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE CLIENTE_VAR_ENDERECOS.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO2171 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO2171 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO2171 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1702 CLIENTES_VAR_VALOR_PROP ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1702 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1702 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1702 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAR_VALOR_PROP SET CLIENTES_VAR_VALOR_PROP.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE CLIENTES_VAR_VALOR_PROP.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1702 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1702 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1702 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1580 CLIENTE_VAR_RELACIONADO ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1580 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1580 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1580 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_RELACIONADO SET CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE_RELACIONADO=@insCODIGO_CLIENTE WHERE CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE_RELACIONADO = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1580 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1580 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1580 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1579 CLIENTE_VAR_RELACIONADO ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1579 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1579 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1579 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_RELACIONADO SET CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1579 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1579 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1579 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1556 CLIENTE_VAR_SAC ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1556 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1556 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1556 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_SAC SET CLIENTE_VAR_SAC.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE CLIENTE_VAR_SAC.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1556 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1556 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1556 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1395 LOJA_RESERVA ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1395 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1395 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1395 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA SET LOJA_RESERVA.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE LOJA_RESERVA.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1395 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1395 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1395 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO R/1392 LOJA_PGTO_CLIENTE ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1392 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1392 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1392 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_PGTO_CLIENTE SET LOJA_PGTO_CLIENTE.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE LOJA_PGTO_CLIENTE.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1392 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1392 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1392 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO clientes_varejo LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO1149 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO1149 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO1149 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE LOJA_VENDA.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO1149 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO1149 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO1149 DEALLOCATE CLIENTES_VAREJO116 END /* CLIENTES_VAREJO CLIENTES_VAREJO A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(CODIGO_CLIENTE) BEGIN DECLARE CLIENTES_VAREJO400 CURSOR FOR SELECT CODIGO_CLIENTE FROM INSERTED DECLARE CLIENTES_VAREJO116 CURSOR FOR SELECT CODIGO_CLIENTE FROM DELETED OPEN CLIENTES_VAREJO400 OPEN CLIENTES_VAREJO116 FETCH NEXT FROM CLIENTES_VAREJO400 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.CODIGO_CLIENTE=@insCODIGO_CLIENTE WHERE A_RECEBER_CHEQUES.CODIGO_CLIENTE = @delCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO400 INTO @insCODIGO_CLIENTE FETCH NEXT FROM CLIENTES_VAREJO116 INTO @delCODIGO_CLIENTE END END CLOSE CLIENTES_VAREJO400 CLOSE CLIENTES_VAREJO116 DEALLOCATE CLIENTES_VAREJO400 DEALLOCATE CLIENTES_VAREJO116 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_VAREJO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAREJO, INSERTED WHERE CLIENTES_VAREJO.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_VAREJO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAREJO].[PF_PJ]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[FAX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAREJO].[LIMITE_CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAREJO].[SEM_CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[DDD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CLIENTES_VAREJO].[SEXO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_VAREJO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAREJO].[LIMITE_CREDITO_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAREJO].[NAO_CONSULTA_CHEQUE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTACAO_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTACAO_MATERIAIS]( [COTACAO] [char](7) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [DATA_APROVACAO] [datetime] NULL, [APROVADO_POR] [varchar](25) NULL, [QTDE_COTAR] [numeric](9, 3) NULL, [OBS] [text] NULL, CONSTRAINT [XPKCOTACAO_MATERIAIS] PRIMARY KEY NONCLUSTERED ( [COTACAO] ASC, [MATERIAL] ASC, [ENTREGA] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COTACAO_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COTACAO_MATERIAIS] on [COTACAO_MATERIAIS] for DELETE as /* DELETE trigger on COTACAO_MATERIAIS */ begin declare @errno int, @errmsg varchar(255) /* COTACAO_MATERIAIS COT_MATERIAIS COTACOES_MAT_FORNECEDOR ON PARENT DELETE CASCADE */ delete COTACOES_MAT_FORNECEDOR from COTACOES_MAT_FORNECEDOR,deleted where COTACOES_MAT_FORNECEDOR.COTACAO = deleted.COTACAO and COTACOES_MAT_FORNECEDOR.MATERIAL = deleted.MATERIAL and COTACOES_MAT_FORNECEDOR.ENTREGA = deleted.ENTREGA and COTACOES_MAT_FORNECEDOR.COR_MATERIAL = deleted.COR_MATERIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COTACAO_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COTACAO_MATERIAIS] on [COTACAO_MATERIAIS] for INSERT as /* INSERT trigger on COTACAO_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES COTACAO_MATERIAIS ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACAO_MATERIAIS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* COTACOES COTACOES COTACAO_MATERIAIS ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACAO_MATERIAIS #porque #COTACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COTACAO_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COTACAO_MATERIAIS] on [COTACAO_MATERIAIS] for UPDATE as /* UPDATE trigger on COTACAO_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTACAO char(7), @insMATERIAL char(11), @insENTREGA datetime, @insCOR_MATERIAL char(10), @delCOTACAO char(7), @delMATERIAL char(11), @delENTREGA datetime, @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACAO_MATERIAIS COT_MATERIAIS COTACOES_MAT_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(COTACAO) OR update(MATERIAL) OR update(ENTREGA) OR update(COR_MATERIAL) BEGIN DECLARE COTACAO_MATERIAIS1202 CURSOR FOR SELECT COTACAO, MATERIAL, ENTREGA, COR_MATERIAL FROM INSERTED DECLARE COTACAO_MATERIAIS735 CURSOR FOR SELECT COTACAO, MATERIAL, ENTREGA, COR_MATERIAL FROM DELETED OPEN COTACAO_MATERIAIS1202 OPEN COTACAO_MATERIAIS735 FETCH NEXT FROM COTACAO_MATERIAIS1202 INTO @insCOTACAO, @insMATERIAL, @insENTREGA, @insCOR_MATERIAL FETCH NEXT FROM COTACAO_MATERIAIS735 INTO @delCOTACAO, @delMATERIAL, @delENTREGA, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_MAT_FORNECEDOR SET COTACOES_MAT_FORNECEDOR.COTACAO=@insCOTACAO, COTACOES_MAT_FORNECEDOR.MATERIAL=@insMATERIAL, COTACOES_MAT_FORNECEDOR.ENTREGA=@insENTREGA, COTACOES_MAT_FORNECEDOR.COR_MATERIAL=@insCOR_MATERIAL WHERE COTACOES_MAT_FORNECEDOR.COTACAO = @delCOTACAO and COTACOES_MAT_FORNECEDOR.MATERIAL = @delMATERIAL and COTACOES_MAT_FORNECEDOR.ENTREGA = @delENTREGA and COTACOES_MAT_FORNECEDOR.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM COTACAO_MATERIAIS1202 INTO @insCOTACAO, @insMATERIAL, @insENTREGA, @insCOR_MATERIAL FETCH NEXT FROM COTACAO_MATERIAIS735 INTO @delCOTACAO, @delMATERIAL, @delENTREGA, @delCOR_MATERIAL END END CLOSE COTACAO_MATERIAIS1202 CLOSE COTACAO_MATERIAIS735 DEALLOCATE COTACAO_MATERIAIS1202 DEALLOCATE COTACAO_MATERIAIS735 END /* MATERIAIS_CORES MATERIAIS_CORES COTACAO_MATERIAIS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACAO_MATERIAIS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* COTACOES COTACOES COTACAO_MATERIAIS ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACAO_MATERIAIS #porque #COTACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COTACAO_MATERIAIS].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACAO_MATERIAIS].[QTDE_COTAR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_SUBGRUPO]( [GRUPO_PRODUTO] [varchar](25) NOT NULL, [SUBGRUPO_PRODUTO] [varchar](25) NOT NULL, [CODIGO_SUBGRUPO] [char](2) NOT NULL, [CODIGO_SEQUENCIAL] [char](4) NULL, [NUMERO_PARTES_PRODUTO] [smallint] NULL, [PARTES_DO_PRODUTO] [varchar](30) NULL, [PARTES_DO_PRODUTO_COM_DROP] [varchar](30) NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_SUBGRUPO] PRIMARY KEY NONCLUSTERED ( [GRUPO_PRODUTO] ASC, [SUBGRUPO_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_SUBG fecha de la secuencia de comandos: Sep 19 2001 12:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_SUBG] ON [PRODUTOS_SUBGRUPO] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUTOS_SUBG'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO_PRODUTO,SUBGRUPO_PRODUTO FROM DELETED OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO) BEGIN DELETE FROM GF_PRODUTOS_SUBG WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO END ELSE BEGIN FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_SUBG fecha de la secuencia de comandos: Sep 20 2001 09:40AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_SUBG] ON [PRODUTOS_SUBGRUPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRUP'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO_PRODUTO,SUBGRUPO_PRODUTO FROM INSERTED OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE GF_GRUPO_PRODUTO=@GRUPO AND GF_SUBGRUPO_PROD=@SUBGRUPO) BEGIN SELECT * FROM GF_PRODUTOS_SUBG INSERT INTO GF_PRODUTOS_SUBG (ID, ID_GRUPO, GF_GRUPO_PRODUTO, GF_SUBGRUPO_PROD, GF_CODIGO_SUBGRU, GF_CODIGO_SEQUEN, GF_NUMERO_PARTES, GF_PARTES_DO_PRO, GF_PARTES_DO_DRO, Data_para_transferencia,ORDENPM) SELECT IDMAX, (SELECT ID FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPO), GRUPO_PRODUTO, SUBGRUPO_PRODUTO, CODIGO_SUBGRUPO, CODIGO_SEQUENCIAL, NUMERO_PARTES_PRODUTO, PARTES_DO_PRODUTO, PARTES_DO_PRODUTO_COM_DROP, Data_para_transferencia , ISNULL((SELECT MAX(ORDENPM)+1 FROM GF_PRODUTOS_SUBG WHERE ID_GRUPO=(SELECT ID FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPO)),1) FROM INSERTED, GF_PRODUTOS_SUBGCNT WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO UPDATE GF_PRODUTOS_SUBGCNT SET IDMAX=IDMAX+1 END ELSE BEGIN FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_SUBG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_SUBG fecha de la secuencia de comandos: Sep 19 2001 11:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_SUBG] ON [PRODUTOS_SUBGRUPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRUP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_GRUP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRUP'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_SUBG'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_SUBG'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_SUBG'')) ) < 2 ) BEGIN DECLARE @SUBGRUPOD VARCHAR(25), @SUBGRUPO VARCHAR(25), @GRUPOD VARCHAR(25), @GRUPO VARCHAR(25) DECLARE SUBGRUPOD CURSOR FOR SELECT GRUPO_PRODUTO,SUBGRUPO_PRODUTO FROM DELETED DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO_PRODUTO,SUBGRUPO_PRODUTO FROM INSERTED OPEN SUBGRUPOD OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE GF_GRUPO_PRODUTO=@GRUPOD AND GF_SUBGRUPO_PROD=@SUBGRUPOD) BEGIN UPDATE GF_PRODUTOS_SUBG SET GF_SUBGRUPO_PROD=(SELECT SUBGRUPO_PRODUTO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), GF_CODIGO_SUBGRU=(SELECT CODIGO_SUBGRUPO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), GF_CODIGO_SEQUEN=(SELECT CODIGO_SEQUENCIAL FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), GF_NUMERO_PARTES=(SELECT NUMERO_PARTES_PRODUTO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), GF_PARTES_DO_PRO=(SELECT PARTES_DO_PRODUTO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), GF_PARTES_DO_DRO=(SELECT PARTES_DO_PRODUTO_COM_DROP FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO AND SUBGRUPO_PRODUTO=@SUBGRUPO) FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPOD AND GF_SUBGRUPO_PROD=@SUBGRUPOD END ELSE BEGIN FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOD DEALLOCATE SUBGRUPOD CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_SUBGRUPO] on [PRODUTOS_SUBGRUPO] for DELETE as /* DELETE trigger on PRODUTOS_SUBGRUPO */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_SUBGRUPO R/1961 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and PRODUTOS_MODELO.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_SUBGRUPO #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_SUBGRUPO R/1353 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and ORCAMENTOS.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_SUBGRUPO #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and VENDAS_COTAS_TIPO_ITENS.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTIV_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_OPERACOES where PRODUTIV_OPERACOES.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and PRODUTIV_OPERACOES.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_SUBGRUPO #porque existem registros em #PRODUTIV_OPERACOES#.'' goto error end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and PRODUTOS.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_SUBGRUPO #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_SUBGRUPO] on [PRODUTOS_SUBGRUPO] for INSERT as /* INSERT trigger on PRODUTOS_SUBGRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_SUBGRUPO ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_GRUPO.GRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_SUBGRUPO #porque #PRODUTOS_GRUPO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_SUBGRUPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_SUBGRUPO, INSERTED WHERE PRODUTOS_SUBGRUPO.GRUPO_PRODUTO = INSERTED.GRUPO_PRODUTO and PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO = INSERTED.SUBGRUPO_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_SUBGRUPO] on [PRODUTOS_SUBGRUPO] for UPDATE as /* UPDATE trigger on PRODUTOS_SUBGRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRUPO_PRODUTO varchar(25), @insSUBGRUPO_PRODUTO varchar(25), @delGRUPO_PRODUTO varchar(25), @delSUBGRUPO_PRODUTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_SUBGRUPO ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_GRUPO.GRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_SUBGRUPO #porque #PRODUTOS_GRUPO #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO R/1961 PRODUTOS_MODELO ON PARENT UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO and PRODUTOS_MODELO.SUBGRUPO_PRODUTO = deleted.SUBGRUPO_PRODUTO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_SUBGRUPO #porque existem registros em #PRODUTOS_MODELO#.'' goto error end end /* PRODUTOS_SUBGRUPO R/1353 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) OR update(SUBGRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_SUBGRUPO1353 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_SUBGRUPO178 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_SUBGRUPO1353 OPEN PRODUTOS_SUBGRUPO178 FETCH NEXT FROM PRODUTOS_SUBGRUPO1353 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.GRUPO_PRODUTO=@insGRUPO_PRODUTO, ORCAMENTOS.SUBGRUPO_PRODUTO=@insSUBGRUPO_PRODUTO WHERE ORCAMENTOS.GRUPO_PRODUTO = @delGRUPO_PRODUTO and ORCAMENTOS.SUBGRUPO_PRODUTO = @delSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO1353 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO END END CLOSE PRODUTOS_SUBGRUPO1353 CLOSE PRODUTOS_SUBGRUPO178 DEALLOCATE PRODUTOS_SUBGRUPO1353 DEALLOCATE PRODUTOS_SUBGRUPO178 END /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) OR update(SUBGRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_SUBGRUPO921 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_SUBGRUPO178 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_SUBGRUPO921 OPEN PRODUTOS_SUBGRUPO178 FETCH NEXT FROM PRODUTOS_SUBGRUPO921 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.GRUPO_PRODUTO=@insGRUPO_PRODUTO, VENDAS_COTAS_TIPO_ITENS.SUBGRUPO_PRODUTO=@insSUBGRUPO_PRODUTO WHERE VENDAS_COTAS_TIPO_ITENS.GRUPO_PRODUTO = @delGRUPO_PRODUTO and VENDAS_COTAS_TIPO_ITENS.SUBGRUPO_PRODUTO = @delSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO921 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO END END CLOSE PRODUTOS_SUBGRUPO921 CLOSE PRODUTOS_SUBGRUPO178 DEALLOCATE PRODUTOS_SUBGRUPO921 DEALLOCATE PRODUTOS_SUBGRUPO178 END /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTIV_OPERACOES ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) OR update(SUBGRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_SUBGRUPO752 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_SUBGRUPO178 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_SUBGRUPO752 OPEN PRODUTOS_SUBGRUPO178 FETCH NEXT FROM PRODUTOS_SUBGRUPO752 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OPERACOES SET PRODUTIV_OPERACOES.GRUPO_PRODUTO=@insGRUPO_PRODUTO, PRODUTIV_OPERACOES.SUBGRUPO_PRODUTO=@insSUBGRUPO_PRODUTO WHERE PRODUTIV_OPERACOES.GRUPO_PRODUTO = @delGRUPO_PRODUTO and PRODUTIV_OPERACOES.SUBGRUPO_PRODUTO = @delSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO752 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO END END CLOSE PRODUTOS_SUBGRUPO752 CLOSE PRODUTOS_SUBGRUPO178 DEALLOCATE PRODUTOS_SUBGRUPO752 DEALLOCATE PRODUTOS_SUBGRUPO178 END /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTOS ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) OR update(SUBGRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_SUBGRUPO304 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_SUBGRUPO178 CURSOR FOR SELECT GRUPO_PRODUTO, SUBGRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_SUBGRUPO304 OPEN PRODUTOS_SUBGRUPO178 FETCH NEXT FROM PRODUTOS_SUBGRUPO304 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.GRUPO_PRODUTO=@insGRUPO_PRODUTO, PRODUTOS.SUBGRUPO_PRODUTO=@insSUBGRUPO_PRODUTO WHERE PRODUTOS.GRUPO_PRODUTO = @delGRUPO_PRODUTO and PRODUTOS.SUBGRUPO_PRODUTO = @delSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO304 INTO @insGRUPO_PRODUTO, @insSUBGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_SUBGRUPO178 INTO @delGRUPO_PRODUTO, @delSUBGRUPO_PRODUTO END END CLOSE PRODUTOS_SUBGRUPO304 CLOSE PRODUTOS_SUBGRUPO178 DEALLOCATE PRODUTOS_SUBGRUPO304 DEALLOCATE PRODUTOS_SUBGRUPO178 END /*-----------------------------------------------------------------------------------------------------*/ /* VERIFICACAO DA EXISTENCIA DE PARTE_APLICADO_MATERIAL EM PRODUTOS _FICHA */ /*-----------------------------------------------------------------------------------------------------*/ IF UPDATE(PARTES_DO_PRODUTO) BEGIN select @validcnt = count(*) from inserted a inner join produtos b on a.grupo_produto = b.grupo_produto and a.subgrupo_produto = b.subgrupo_produto inner join produtos_ficha c on b.produto = c.produto where case when a.PARTES_DO_PRODUTO is null then '''' else a.PARTES_DO_PRODUTO end not LIKE ''%'' + c.PARTE_APLICADO_MATERIAL + ''%'' and c.parte_aplicado_material is not null if @validcnt > 0 begin select @errno = 30002, @errmsg = ''Impossível Alterar #PRODUTOS_SUBGRUPO #porque #existem registros em #PRODUTOS_FICHA com #PARTE_APLICADO_MATERIAL do #PARTES_DO_PRODUTO antigo.'' goto error end END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_SUBGRUPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_SUBGRUPO, INSERTED WHERE PRODUTOS_SUBGRUPO.GRUPO_PRODUTO = INSERTED.GRUPO_PRODUTO and PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO = INSERTED.SUBGRUPO_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_SUBGRUPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_SUBGRUPO].[CODIGO_SEQUENCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PRODUTOS_SUBGRUPO].[NUMERO_PARTES_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_SUBGRUPO].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NULL, [FILIAL_FATURADA] [varchar](25) NULL, [TIPO_FATURAMENTO] [varchar](25) NULL, [LANCAMENTO] [char](8) NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [NATUREZA_SAIDA] [char](7) NOT NULL, [TRANSPORTADORA] [varchar](25) NULL, [TRANSP_REDESPACHO] [varchar](25) NULL, [TIPO_FRETE] [char](2) NULL, [COD_TRANSACAO] [char](23) NOT NULL, [EMISSAO] [datetime] NULL, [DATA_SAIDA] [datetime] NULL, [FRETE] [numeric](14, 2) NULL, [SEGURO] [numeric](14, 2) NULL, [DESCONTO] [numeric](14, 2) NULL, [DESCONTO_COND_PGTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [ICMS] [numeric](14, 2) NULL, [IPI_VALOR] [numeric](14, 2) NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [QTDE_TOTAL] [numeric](9, 3) NULL, [NF_FATURA] [bit] NOT NULL, [FATURA] [char](11) NULL, [NOTA_IMPRESSA] [bit] NOT NULL, [ACERTO_CONTAS_P_R] [bit] NOT NULL, [TABELA_FILHA] [char](18) NOT NULL, [OBS] [text] NULL, [PESO_LIQUIDO] [numeric](9, 3) NULL, [PESO_BRUTO] [numeric](9, 3) NULL, [VOLUMES] [int] NULL, [TIPO_VOLUME] [varchar](35) NULL, [CONFERIDO] [bit] NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [ENTREGA_CIF] [bit] NOT NULL, [IRRF] [numeric](14, 2) NULL, [IRRF_RET_FONTE] [bit] NOT NULL, [NOTA_CANCELADA] [bit] NOT NULL, [DEVOLUCAO] [bit] NOT NULL, [REPRESENTANTE] [varchar](25) NULL, [COMISSAO] [real] NULL, [PORCENTAGEM_ACERTO] [real] NULL, [GERENTE] [varchar](25) NULL, [COMISSAO_GERENTE] [real] NULL, [DESCONTO_BRUTO] [numeric](14, 2) NULL, [TIMESTAMP] [varchar](28) NULL, [CONFERENCIA] [varchar](11) NULL, [MARCA_EXPORTACAO] [char](1) NULL, [ATUALIZACAO_EXPORTAR] [datetime] NULL, [DATA_EXPORTACAO] [datetime] NULL, [ICMS_BASE] [numeric](14, 2) NULL, [STATUS_TRANSITO] [char](1) NULL, [DATA_CANCELAMENTO] [datetime] NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [QTDE_CANCELADA] [int] NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [COBRAR_MOEDA_PADRAO] [bit] NOT NULL, [DATA_FATURAMENTO_RELATIVO] [datetime] NULL, [RECARGO] [numeric](14, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [INDICA_ARMAZEM] [bit] NOT NULL, [NOME_CLIFOR_ENTREGA] [varchar](25) NULL, [TABELA_PRECO_FRETE] [varchar](25) NULL, [VALOR_FRETE] [numeric](16, 2) NULL, [NOME_CLIFOR_COBRANCA] [varchar](25) NULL, [VALOR_ADICIONAL] [numeric](14, 2) NULL, [IPI_ADICIONAL] [numeric](14, 2) NULL, [OBS_TRANSPORTE] [varchar](100) NULL, [DESCONTO_SOBRE_1] [numeric](8, 2) NULL, [DESCONTO_SOBRE_2] [numeric](8, 2) NULL, [DESCONTO_SOBRE_3] [numeric](8, 2) NULL, [DESCONTO_SOBRE_4] [numeric](8, 2) NULL, [DESCONTO_BRUTO_1] [numeric](8, 2) NULL, [DESCONTO_BRUTO_2] [numeric](8, 2) NULL, [DESCONTO_BRUTO_3] [numeric](8, 2) NULL, [DESCONTO_BRUTO_4] [numeric](8, 2) NULL, [FATURA_NUMERO] [char](7) NULL, [FATURA_FILIAL] [varchar](25) NULL, [FATURA_SERIE] [char](2) NULL, [VALOR_SUB_ITENS] [numeric](14, 2) NULL, [PORC_DESCONTO] [numeric](8, 5) NULL, [PORC_DESCONTO_COND_PGTO] [numeric](8, 5) NULL, [PORC_ENCARGO] [numeric](8, 5) NULL, [PORC_RECARGO] [numeric](8, 5) NULL, [PORC_DESCONTO_DIGITADO] [bit] NOT NULL, [PORC_DESCONTO_BRUTO] [numeric](8, 2) NULL, [COMISSAO_MEDIA] [real] NULL, CONSTRAINT [XPKFATURAMENTO] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE1FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE1FATURAMENTO] ON [FATURAMENTO] ( [CONFERENCIA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE2FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE2FATURAMENTO] ON [FATURAMENTO] ( [FATURA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE3FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE3FATURAMENTO] ON [FATURAMENTO] ( [NF_SAIDA] ASC, [SERIE_NF] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE4FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE4FATURAMENTO] ON [FATURAMENTO] ( [NOME_CLIFOR] ASC, [NOME_CLIFOR_ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE5FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE5FATURAMENTO] ON [FATURAMENTO] ( [REPRESENTANTE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE6FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE6FATURAMENTO] ON [FATURAMENTO] ( [GERENTE] ASC, [COMISSAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO]') AND name = N'XIE7FATURAMENTO') CREATE NONCLUSTERED INDEX [XIE7FATURAMENTO] ON [FATURAMENTO] ( [EMISSAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_FATURAMENTO] on [FATURAMENTO] for DELETE as /* DELETE trigger on FATURAMENTO */ /* default body for LXD_FATURAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo AND TABELA_FILHA=''FATURAMENTO_PROD'' ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, FATURAMENTO_PROD, ESTOQUE_PRODUTOS WHERE DELETED.FILIAL = FATURAMENTO_PROD.FILIAL AND DELETED.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA AND DELETED.SERIE_NF = FATURAMENTO_PROD.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=FATURAMENTO_PROD.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=FATURAMENTO_PROD.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_FATURAM_DEV_MAT CURSOR FOR SELECT FATURAM_DEV_MAT.Material, FATURAM_DEV_MAT.Cor_Material, FATURAM_DEV_MAT.Filial,CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted JOIN FATURAM_DEV_MAT ON FATURAM_DEV_MAT.NF_SAIDA=Deleted.NF_SAIDA AND FATURAM_DEV_MAT.SERIE_NF=Deleted.SERIE_NF AND FATURAM_DEV_MAT.FILIAL=Deleted.FILIAL GROUP BY FATURAM_DEV_MAT.Material, FATURAM_DEV_MAT.Cor_Material, FATURAM_DEV_MAT.Filial OPEN cur_FATURAM_DEV_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT DEALLOCATE cur_FATURAM_DEV_MAT /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_FATURAM_DEV_MAT_PECA CURSOR FOR SELECT FATURAM_DEV_MAT_PECA.Material, FATURAM_DEV_MAT_PECA.Cor_Material, FATURAM_DEV_MAT_PECA.Filial,FATURAM_DEV_MAT_PECA.Peca,FATURAM_DEV_MAT_PECA.Partida,CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted JOIN FATURAM_DEV_MAT_PECA ON FATURAM_DEV_MAT_PECA.NF_SAIDA=Deleted.NF_SAIDA AND FATURAM_DEV_MAT_PECA.SERIE_NF=Deleted.SERIE_NF AND FATURAM_DEV_MAT_PECA.FILIAL=Deleted.FILIAL GROUP BY FATURAM_DEV_MAT_PECA.Material, FATURAM_DEV_MAT_PECA.Cor_Material, FATURAM_DEV_MAT_PECA.Filial,Peca,Partida OPEN cur_FATURAM_DEV_MAT_PECA DECLARE @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3) FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT_PECA DEALLOCATE cur_FATURAM_DEV_MAT_PECA /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO R/1998 FATURAMENTO_CANCELADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CANCELADO where FATURAMENTO_CANCELADO.FILIAL = deleted.FILIAL and FATURAMENTO_CANCELADO.NF_SAIDA = deleted.NF_SAIDA and FATURAMENTO_CANCELADO.SERIE_NF = deleted.SERIE_NF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO #porque existem registros em #FATURAMENTO_CANCELADO#.'' goto error end /* ERwin Builtin Thu Jan 16 11:59:25 2003 */ /* FATURAMENTO R/32 FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where /* FATURAMENTO.FATURA_FILIAL = deleted.FILIAL and FATURAMENTO.FATURA_SERIE = deleted.SERIE_NF and FATURAMENTO.FATURA_NUMERO = deleted.NF_SAIDA */ FATURAMENTO.FATURA_FILIAL = deleted.FILIAL and FATURAMENTO.FATURA_SERIE = deleted.SERIE_NF and FATURAMENTO.FATURA_NUMERO = deleted.NF_SAIDA ) begin select @errno = 30001, @errmsg = ''Cannot DELETE FATURAMENTO because FATURAMENTO exists.'' goto error end /* FATURAMENTO R/1748 FATURAMENTO_TERCEIROS ON PARENT DELETE CASCADE */ delete FATURAMENTO_TERCEIROS from FATURAMENTO_TERCEIROS,deleted where FATURAMENTO_TERCEIROS.FILIAL = deleted.FILIAL and FATURAMENTO_TERCEIROS.NF_SAIDA = deleted.NF_SAIDA and FATURAMENTO_TERCEIROS.SERIE_NF = deleted.SERIE_NF /* FATURAMENTO R/1669 FATURAM_DEV_PROD ON PARENT DELETE CASCADE */ delete FATURAM_DEV_PROD from FATURAM_DEV_PROD,deleted where FATURAM_DEV_PROD.FILIAL = deleted.FILIAL and FATURAM_DEV_PROD.NF_SAIDA = deleted.NF_SAIDA and FATURAM_DEV_PROD.SERIE_NF = deleted.SERIE_NF /* FATURAMENTO DEVOLUCAO_ACERTO FATURAMENTO_DEVOLUCAO_ACERTO ON PARENT DELETE CASCADE */ delete FATURAMENTO_DEVOLUCAO_ACERTO from FATURAMENTO_DEVOLUCAO_ACERTO,deleted where FATURAMENTO_DEVOLUCAO_ACERTO.FILIAL = deleted.FILIAL and FATURAMENTO_DEVOLUCAO_ACERTO.NF_SAIDA = deleted.NF_SAIDA and FATURAMENTO_DEVOLUCAO_ACERTO.SERIE_NF = deleted.SERIE_NF /* FATURAMENTO FATURAMENTO FATURAM_DEV_MAT ON PARENT DELETE CASCADE */ delete FATURAM_DEV_MAT from FATURAM_DEV_MAT,deleted where FATURAM_DEV_MAT.FILIAL = deleted.FILIAL and FATURAM_DEV_MAT.NF_SAIDA = deleted.NF_SAIDA and FATURAM_DEV_MAT.SERIE_NF = deleted.SERIE_NF /* FATURAMENTO FATURAMENTO FATURAMENTO_CONSUMO ON PARENT DELETE CASCADE */ delete FATURAMENTO_CONSUMO from FATURAMENTO_CONSUMO,deleted where FATURAMENTO_CONSUMO.FILIAL = deleted.FILIAL and FATURAMENTO_CONSUMO.NF_SAIDA = deleted.NF_SAIDA and FATURAMENTO_CONSUMO.SERIE_NF = deleted.SERIE_NF /* FATURAMENTO FATURAMENTO FATURAMENTO_PROD ON PARENT DELETE CASCADE */ delete FATURAMENTO_PROD from FATURAMENTO_PROD,deleted where FATURAMENTO_PROD.FILIAL = deleted.FILIAL and FATURAMENTO_PROD.NF_SAIDA = deleted.NF_SAIDA and FATURAMENTO_PROD.SERIE_NF = deleted.SERIE_NF /* ERwin Builtin Thu Jan 16 10:21:32 2003 */ /* FATURAMENTO R/5 FATURAMENTO_ITEM ON PARENT DELETE CASCADE */ delete FATURAMENTO_ITEM from FATURAMENTO_ITEM,deleted where /* FATURAMENTO_ITEM.FILIAL = deleted.FILIAL and FATURAMENTO_ITEM.SERIE_NF = deleted.SERIE_NF and FATURAMENTO_ITEM.NF_SAIDA = deleted.NF_SAIDA */ FATURAMENTO_ITEM.FILIAL = deleted.FILIAL and FATURAMENTO_ITEM.SERIE_NF = deleted.SERIE_NF and FATURAMENTO_ITEM.NF_SAIDA = deleted.NF_SAIDA /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''S'''''',''LXD_FATURAMENTO'' FROM DELETED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''S'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ CREATE trigger [LXI_FATURAMENTO] on [FATURAMENTO] for INSERT as /*ver 4.05*/ /* INSERT trigger on FATURAMENTO */ /* default body for LXI_FATURAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo AND TABELA_FILHA=''FATURAMENTO_PROD'' ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* CADASTRO_CLI_FOR R/2124 FATURAMENTO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR_ENTREGA = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* FILIAIS R/1638 FATURAMENTO ON CHILD INSERT RESTRICT */ if update(FILIAL_FATURADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_FATURADA = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_FATURADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #FILIAIS #não existe.'' goto error end end /* FATURAMENTO_TIPO TIPO_FATURAMENTO FATURAMENTO ON CHILD INSERT RESTRICT */ /* if update(TIPO_FATURAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_TIPO where inserted.TIPO_FATURAMENTO = FATURAMENTO_TIPO.TIPO_FATURAMENTO select @nullcnt = count(*) from inserted where inserted.TIPO_FATURAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #FATURAMENTO_TIPO #não existe.'' goto error end end*/ /* CONTAS_LANCAMENTOS LANC_CONTABIL_FATURA FATURAMENTO ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO select @nullcnt = count(*) from inserted where inserted.LANCAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* FATURAMENTO_SEQUENCIAIS SERIE_FILIAL FATURAMENTO ON CHILD INSERT RESTRICT */ if update(SERIE_NF) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_SEQUENCIAIS where inserted.SERIE_NF = FATURAMENTO_SEQUENCIAIS.SERIE_NF and inserted.FILIAL = FATURAMENTO_SEQUENCIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #FATURAMENTO_SEQUENCIAIS #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FATURAMENTO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ATAC_PGTOS COND_ATAC_PGTOS FATURAMENTO ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* NATUREZAS_SAIDAS NATUREZAS_SAIDAS FATURAMENTO ON CHILD INSERT RESTRICT */ if update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #NATUREZAS_SAIDAS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS FATURAMENTO ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA select @nullcnt = count(*) from inserted where inserted.TRANSPORTADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #TRANSPORTADORAS #não existe.'' goto error end end /* ERwin Builtin Thu Jan 16 11:59:29 2003 */ /* FATURAMENTO R/32 FATURAMENTO ON CHILD INSERT RESTRICT */ if /* update(FATURA_FILIAL) or update(FATURA_SERIE) or update(FATURA_NUMERO) */ update(FATURA_FILIAL) or update(FATURA_SERIE) or update(FATURA_NUMERO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where /* inserted.FATURA_FILIAL = FATURAMENTO.FILIAL and inserted.FATURA_SERIE = FATURAMENTO.SERIE_NF and inserted.FATURA_NUMERO = FATURAMENTO.NF_SAIDA */ inserted.FATURA_FILIAL = FATURAMENTO.FILIAL and inserted.FATURA_SERIE = FATURAMENTO.SERIE_NF and inserted.FATURA_NUMERO = FATURAMENTO.NF_SAIDA /* select @nullcnt = count(*) from inserted where inserted.FATURA_FILIAL is null and inserted.FATURA_SERIE is null and inserted.FATURA_NUMERO is null */ select @nullcnt = count(*) from inserted where inserted.FATURA_FILIAL is null and inserted.FATURA_SERIE is null and inserted.FATURA_NUMERO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO #porque #FATURAMENTO #não existe.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO='''' N'''''',''LXI_FATURAMENTO'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N '''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_FATURAMENTO] on [FATURAMENTO] for UPDATE as /* UPDATE trigger on FATURAMENTO */ /* default body for LXU_FATURAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo AND TABELA_FILHA=''FATURAMENTO_PROD'')+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo AND TABELA_FILHA=''FATURAMENTO_PROD'') > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, FATURAMENTO_PROD, ESTOQUE_PRODUTOS WHERE DELETED.FILIAL = FATURAMENTO_PROD.FILIAL AND DELETED.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA AND DELETED.SERIE_NF = FATURAMENTO_PROD.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=FATURAMENTO_PROD.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=FATURAMENTO_PROD.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, FATURAMENTO_PROD, ESTOQUE_PRODUTOS WHERE INSERTED.FILIAL = FATURAMENTO_PROD.FILIAL AND INSERTED.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA AND INSERTED.SERIE_NF = FATURAMENTO_PROD.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=FATURAMENTO_PROD.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=FATURAMENTO_PROD.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* CADASTRO_CLI_FOR R/2124 FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR_ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR_ENTREGA = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR_ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* FILIAIS R/1638 FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(FILIAL_FATURADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_FATURADA = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_FATURADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #FILIAIS #não existe.'' goto error end end /* FATURAMENTO_TIPO TIPO_FATURAMENTO FATURAMENTO ON CHILD UPDATE RESTRICT */ /* if update(TIPO_FATURAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_TIPO where inserted.TIPO_FATURAMENTO = FATURAMENTO_TIPO.TIPO_FATURAMENTO select @nullcnt = count(*) from inserted where inserted.TIPO_FATURAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #FATURAMENTO_TIPO #não existe.'' goto error end end*/ /* CONTAS_LANCAMENTOS LANC_CONTABIL_FATURA FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO select @nullcnt = count(*) from inserted where inserted.LANCAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* FATURAMENTO_SEQUENCIAIS SERIE_FILIAL FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(SERIE_NF) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_SEQUENCIAIS where inserted.SERIE_NF = FATURAMENTO_SEQUENCIAIS.SERIE_NF and inserted.FILIAL = FATURAMENTO_SEQUENCIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #FATURAMENTO_SEQUENCIAIS #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ATAC_PGTOS COND_ATAC_PGTOS FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* NATUREZAS_SAIDAS NATUREZAS_SAIDAS FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #NATUREZAS_SAIDAS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA select @nullcnt = count(*) from inserted where inserted.TRANSPORTADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO #porque #TRANSPORTADORAS #não existe.'' goto error end end /* ERwin Builtin Thu Jan 16 11:59:33 2003 */ /* FATURAMENTO R/32 FATURAMENTO ON CHILD UPDATE RESTRICT */ if /* update(FATURA_FILIAL) or update(FATURA_SERIE) or update(FATURA_NUMERO) */ update(FATURA_FILIAL) or update(FATURA_SERIE) or update(FATURA_NUMERO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where /* inserted.FATURA_FILIAL = FATURAMENTO.FILIAL and inserted.FATURA_SERIE = FATURAMENTO.SERIE_NF and inserted.FATURA_NUMERO = FATURAMENTO.NF_SAIDA */ inserted.FATURA_FILIAL = FATURAMENTO.FILIAL and inserted.FATURA_SERIE = FATURAMENTO.SERIE_NF and inserted.FATURA_NUMERO = FATURAMENTO.NF_SAIDA /* select @nullcnt = count(*) from inserted where inserted.FATURA_FILIAL is null and inserted.FATURA_SERIE is null and inserted.FATURA_NUMERO is null */ select @nullcnt = count(*) from inserted where inserted.FATURA_FILIAL is null and inserted.FATURA_SERIE is null and inserted.FATURA_NUMERO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE FATURAMENTO because FATURAMENTO does not exist.'' goto error end end /* FATURAMENTO R/1998 FATURAMENTO_CANCELADO ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO1998 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO1998 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO1998 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CANCELADO SET FATURAMENTO_CANCELADO.FILIAL=@insFILIAL, FATURAMENTO_CANCELADO.NF_SAIDA=@insNF_SAIDA, FATURAMENTO_CANCELADO.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_CANCELADO.FILIAL = @delFILIAL and FATURAMENTO_CANCELADO.NF_SAIDA = @delNF_SAIDA and FATURAMENTO_CANCELADO.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO1998 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO1998 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO1998 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO R/1748 FATURAMENTO_TERCEIROS ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO1748 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO1748 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO1748 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_TERCEIROS SET FATURAMENTO_TERCEIROS.FILIAL=@insFILIAL, FATURAMENTO_TERCEIROS.NF_SAIDA=@insNF_SAIDA, FATURAMENTO_TERCEIROS.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_TERCEIROS.FILIAL = @delFILIAL and FATURAMENTO_TERCEIROS.NF_SAIDA = @delNF_SAIDA and FATURAMENTO_TERCEIROS.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO1748 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO1748 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO1748 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO R/1669 FATURAM_DEV_PROD ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO1669 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO1669 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO1669 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_PROD SET FATURAM_DEV_PROD.FILIAL=@insFILIAL, FATURAM_DEV_PROD.NF_SAIDA=@insNF_SAIDA, FATURAM_DEV_PROD.SERIE_NF=@insSERIE_NF WHERE FATURAM_DEV_PROD.FILIAL = @delFILIAL and FATURAM_DEV_PROD.NF_SAIDA = @delNF_SAIDA and FATURAM_DEV_PROD.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO1669 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO1669 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO1669 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO Faturamento ESTOQUE_SAI1_MAT ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO1275 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO1275 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO1275 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI1_MAT SET ESTOQUE_SAI1_MAT.FILIAL_FATURAMENTO=@insFILIAL, ESTOQUE_SAI1_MAT.NF_SAIDA=@insNF_SAIDA, ESTOQUE_SAI1_MAT.SERIE_NF=@insSERIE_NF WHERE ESTOQUE_SAI1_MAT.FILIAL_FATURAMENTO = @delFILIAL and ESTOQUE_SAI1_MAT.NF_SAIDA = @delNF_SAIDA and ESTOQUE_SAI1_MAT.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO1275 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO1275 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO1275 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO DEVOLUCAO_ACERTO FATURAMENTO_DEVOLUCAO_ACERTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO1027 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO1027 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO1027 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_DEVOLUCAO_ACERTO SET FATURAMENTO_DEVOLUCAO_ACERTO.FILIAL=@insFILIAL, FATURAMENTO_DEVOLUCAO_ACERTO.NF_SAIDA=@insNF_SAIDA, FATURAMENTO_DEVOLUCAO_ACERTO.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_DEVOLUCAO_ACERTO.FILIAL = @delFILIAL and FATURAMENTO_DEVOLUCAO_ACERTO.NF_SAIDA = @delNF_SAIDA and FATURAMENTO_DEVOLUCAO_ACERTO.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO1027 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO1027 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO1027 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO FATURAMENTO FATURAM_DEV_MAT ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO961 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO961 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO961 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_MAT SET FATURAM_DEV_MAT.FILIAL=@insFILIAL, FATURAM_DEV_MAT.NF_SAIDA=@insNF_SAIDA, FATURAM_DEV_MAT.SERIE_NF=@insSERIE_NF WHERE FATURAM_DEV_MAT.FILIAL = @delFILIAL and FATURAM_DEV_MAT.NF_SAIDA = @delNF_SAIDA and FATURAM_DEV_MAT.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO961 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO961 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO961 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO FATURAMENTO FATURAMENTO_CONSUMO ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO937 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO937 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO937 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CONSUMO SET FATURAMENTO_CONSUMO.FILIAL=@insFILIAL, FATURAMENTO_CONSUMO.NF_SAIDA=@insNF_SAIDA, FATURAMENTO_CONSUMO.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_CONSUMO.FILIAL = @delFILIAL and FATURAMENTO_CONSUMO.NF_SAIDA = @delNF_SAIDA and FATURAMENTO_CONSUMO.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO937 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO937 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO937 DEALLOCATE FATURAMENTO180 END /* FATURAMENTO FATURAMENTO FATURAMENTO_PROD ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO894 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM INSERTED DECLARE FATURAMENTO180 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF FROM DELETED OPEN FATURAMENTO894 OPEN FATURAMENTO180 FETCH NEXT FROM FATURAMENTO894 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_PROD SET FATURAMENTO_PROD.FILIAL=@insFILIAL, FATURAMENTO_PROD.NF_SAIDA=@insNF_SAIDA, FATURAMENTO_PROD.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_PROD.FILIAL = @delFILIAL and FATURAMENTO_PROD.NF_SAIDA = @delNF_SAIDA and FATURAMENTO_PROD.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO894 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF FETCH NEXT FROM FATURAMENTO180 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF END END CLOSE FATURAMENTO894 CLOSE FATURAMENTO180 DEALLOCATE FATURAMENTO894 DEALLOCATE FATURAMENTO180 END /* ERwin Builtin Thu Jan 16 10:30:32 2003 */ /* FATURAMENTO R/5 FATURAMENTO_ITEM ON PARENT UPDATE CASCADE */ if /* update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) */ update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) begin if @numrows = 1 begin select @insFILIAL = inserted.FILIAL, @insSERIE_NF = inserted.SERIE_NF, @insNF_SAIDA = inserted.NF_SAIDA from inserted update FATURAMENTO_ITEM set /* FATURAMENTO_ITEM.FILIAL = @insFILIAL, FATURAMENTO_ITEM.SERIE_NF = @insSERIE_NF, FATURAMENTO_ITEM.NF_SAIDA = @insNF_SAIDA */ FATURAMENTO_ITEM.FILIAL = @insFILIAL, FATURAMENTO_ITEM.SERIE_NF = @insSERIE_NF, FATURAMENTO_ITEM.NF_SAIDA = @insNF_SAIDA from FATURAMENTO_ITEM,inserted,deleted where /* FATURAMENTO_ITEM.FILIAL = deleted.FILIAL and FATURAMENTO_ITEM.SERIE_NF = deleted.SERIE_NF and FATURAMENTO_ITEM.NF_SAIDA = deleted.NF_SAIDA */ FATURAMENTO_ITEM.FILIAL = deleted.FILIAL and FATURAMENTO_ITEM.SERIE_NF = deleted.SERIE_NF and FATURAMENTO_ITEM.NF_SAIDA = deleted.NF_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade FATURAMENTO UPDATE because more than one row has been affected.'' goto error end end /* ERwin Builtin Thu Jan 16 11:59:48 2003 */ /* FATURAMENTO R/32 FATURAMENTO ON PARENT UPDATE CASCADE */ if /* update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) */ update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) begin if @numrows = 1 begin select @insFILIAL = inserted.FILIAL, @insSERIE_NF = inserted.SERIE_NF, @insNF_SAIDA = inserted.NF_SAIDA from inserted update FATURAMENTO set /* FATURAMENTO.FATURA_FILIAL = @insFILIAL, FATURAMENTO.FATURA_SERIE = @insSERIE_NF, FATURAMENTO.FATURA_NUMERO = @insNF_SAIDA */ FATURAMENTO.FATURA_FILIAL = @insFILIAL, FATURAMENTO.FATURA_SERIE = @insSERIE_NF, FATURAMENTO.FATURA_NUMERO = @insNF_SAIDA from FATURAMENTO,inserted,deleted where /* FATURAMENTO.FATURA_FILIAL = deleted.FILIAL and FATURAMENTO.FATURA_SERIE = deleted.SERIE_NF and FATURAMENTO.FATURA_NUMERO = deleted.NF_SAIDA */ FATURAMENTO.FATURA_FILIAL = deleted.FILIAL and FATURAMENTO.FATURA_SERIE = deleted.SERIE_NF and FATURAMENTO.FATURA_NUMERO = deleted.NF_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade FATURAMENTO UPDATE because more than one row has been affected.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''',''LXU_FATURAMENTO'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FATURAMENTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO, INSERTED WHERE FATURAMENTO.FILIAL = INSERTED.FILIAL and FATURAMENTO.NF_SAIDA = INSERTED.NF_SAIDA and FATURAMENTO.SERIE_NF = INSERTED.SERIE_NF AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FATURAMENTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[FRETE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[SEGURO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_COND_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[IPI_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[NF_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[NOTA_IMPRESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[ACERTO_CONTAS_P_R]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PESO_LIQUIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PESO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[VOLUMES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO].[TIPO_VOLUME]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[CONFERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO].[CONFERIDO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[ENTREGA_CIF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[IRRF_RET_FONTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[NOTA_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORCENTAGEM_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[ICMS_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAMENTO].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[COBRAR_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FATURAMENTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[INDICA_ARMAZEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[VALOR_ADICIONAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[IPI_ADICIONAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_SOBRE_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_SOBRE_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_SOBRE_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_SOBRE_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_BRUTO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_BRUTO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_BRUTO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[DESCONTO_BRUTO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[VALOR_SUB_ITENS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_DESCONTO_COND_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_RECARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_DESCONTO_DIGITADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[PORC_DESCONTO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO].[COMISSAO_MEDIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESUMO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_RESUMO_CAIXAS]( [CODIGO_FILIAL] [char](6) NOT NULL, [DATA] [datetime] NOT NULL, [COD_FORMA_PGTO] [char](2) NOT NULL, [TIPO_PGTO] [char](1) NOT NULL, [TERMINAL] [char](3) NOT NULL, [PRAZO] [int] NOT NULL, [CODIGO_ADMINISTRADORA] [char](2) NOT NULL, [CAIXA_VENDEDOR] [char](4) NOT NULL, [MOEDA] [char](6) NOT NULL, [PERIODO_FECHAMENTO] [char](2) NOT NULL, [DESISTENCIA_DE_VENDA] [char](1) NOT NULL, [FORMA_PGTO] [varchar](40) NOT NULL, [DESC_OPERACAO_VENDA] [varchar](50) NULL, [NUMERO_TITULOS] [int] NULL, [NUMERO_TICKETS] [int] NULL, [TOTAL_TIPO_PGTO] [numeric](14, 2) NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_RESUMO_CAIXAS] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [DATA] ASC, [COD_FORMA_PGTO] ASC, [TIPO_PGTO] ASC, [TERMINAL] ASC, [PRAZO] ASC, [CODIGO_ADMINISTRADORA] ASC, [CAIXA_VENDEDOR] ASC, [MOEDA] ASC, [PERIODO_FECHAMENTO] ASC, [DESISTENCIA_DE_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_RESUMO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_RESUMO_CAIXAS] on [LOJA_RESUMO_CAIXAS] for INSERT as /* INSERT trigger on LOJA_RESUMO_CAIXAS */ /* default body for LXI_LOJA_RESUMO_CAIXAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insDATA datetime, @insCOD_FORMA_PGTO char(2), @insTIPO_PGTO char(1), @insTERMINAL char(3), @insPRAZO int, @insCODIGO_ADMINISTRADORA char(2), @insCAIXA_VENDEDOR char(4), @insMOEDA char(6), @insPERIODO_FECHAMENTO char(2), @insDESISTENCIA_DE_VENDA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_RESUMO_CAIXAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESUMO_CAIXAS, INSERTED WHERE LOJA_RESUMO_CAIXAS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_RESUMO_CAIXAS.DATA = INSERTED.DATA and LOJA_RESUMO_CAIXAS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO and LOJA_RESUMO_CAIXAS.TIPO_PGTO = INSERTED.TIPO_PGTO and LOJA_RESUMO_CAIXAS.TERMINAL = INSERTED.TERMINAL and LOJA_RESUMO_CAIXAS.PRAZO = INSERTED.PRAZO and LOJA_RESUMO_CAIXAS.CODIGO_ADMINISTRADORA = INSERTED.CODIGO_ADMINISTRADORA and LOJA_RESUMO_CAIXAS.CAIXA_VENDEDOR = INSERTED.CAIXA_VENDEDOR and LOJA_RESUMO_CAIXAS.MOEDA = INSERTED.MOEDA and LOJA_RESUMO_CAIXAS.PERIODO_FECHAMENTO = INSERTED.PERIODO_FECHAMENTO and LOJA_RESUMO_CAIXAS.DESISTENCIA_DE_VENDA = INSERTED.DESISTENCIA_DE_VENDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_RESUMO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_RESUMO_CAIXAS] on [LOJA_RESUMO_CAIXAS] for UPDATE as /* UPDATE trigger on LOJA_RESUMO_CAIXAS */ /* default body for LXU_LOJA_RESUMO_CAIXAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insDATA datetime, @insCOD_FORMA_PGTO char(2), @insTIPO_PGTO char(1), @insTERMINAL char(3), @insPRAZO int, @insCODIGO_ADMINISTRADORA char(2), @insCAIXA_VENDEDOR char(4), @insMOEDA char(6), @insPERIODO_FECHAMENTO char(2), @insDESISTENCIA_DE_VENDA char(1), @delCODIGO_FILIAL char(6), @delDATA datetime, @delCOD_FORMA_PGTO char(2), @delTIPO_PGTO char(1), @delTERMINAL char(3), @delPRAZO int, @delCODIGO_ADMINISTRADORA char(2), @delCAIXA_VENDEDOR char(4), @delMOEDA char(6), @delPERIODO_FECHAMENTO char(2), @delDESISTENCIA_DE_VENDA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_RESUMO_CAIXAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESUMO_CAIXAS, INSERTED WHERE LOJA_RESUMO_CAIXAS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_RESUMO_CAIXAS.DATA = INSERTED.DATA and LOJA_RESUMO_CAIXAS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO and LOJA_RESUMO_CAIXAS.TIPO_PGTO = INSERTED.TIPO_PGTO and LOJA_RESUMO_CAIXAS.TERMINAL = INSERTED.TERMINAL and LOJA_RESUMO_CAIXAS.PRAZO = INSERTED.PRAZO and LOJA_RESUMO_CAIXAS.CODIGO_ADMINISTRADORA = INSERTED.CODIGO_ADMINISTRADORA and LOJA_RESUMO_CAIXAS.CAIXA_VENDEDOR = INSERTED.CAIXA_VENDEDOR and LOJA_RESUMO_CAIXAS.MOEDA = INSERTED.MOEDA and LOJA_RESUMO_CAIXAS.PERIODO_FECHAMENTO = INSERTED.PERIODO_FECHAMENTO and LOJA_RESUMO_CAIXAS.DESISTENCIA_DE_VENDA = INSERTED.DESISTENCIA_DE_VENDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_RESUMO_CAIXAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_CAIXAS].[PRAZO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_RESUMO_CAIXAS].[DESISTENCIA_DE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_CAIXAS].[TOTAL_TIPO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_CAIXAS].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_RESUMO_CAIXAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_TAB_MEDIDAS]( [TABELA_MEDIDAS] [varchar](25) NOT NULL, [GRUPO_PRODUTO] [varchar](25) NOT NULL, [GRADE] [varchar](25) NOT NULL, [TAMANHO_BASE] [int] NULL, [DESCRICAO_TABELA] [varchar](60) NULL, [FOTO_DIANTEIRO] [varchar](100) NULL, [FOTO_TRASEIRO] [varchar](100) NULL, [OBS] [text] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_TAB_MEDIDAS] PRIMARY KEY NONCLUSTERED ( [TABELA_MEDIDAS] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_TAB_MEDIDAS] on [PRODUTOS_TAB_MEDIDAS] for DELETE as /* DELETE trigger on PRODUTOS_TAB_MEDIDAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_TAB_MEDIDAS R/1962 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_MEDIDAS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_TAB_MEDIDAS R/1342 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_MEDIDAS #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_MEDIDAS #porque existem registros em #PRODUTOS#.'' goto error end /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS_MEDIDAS ON PARENT DELETE CASCADE */ delete PRODUTOS_MEDIDAS from PRODUTOS_MEDIDAS,deleted where PRODUTOS_MEDIDAS.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_TAB_MEDIDAS] on [PRODUTOS_TAB_MEDIDAS] for INSERT as /* INSERT trigger on PRODUTOS_TAB_MEDIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS_TAB_MEDIDAS ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAB_MEDIDAS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_TAB_MEDIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAB_MEDIDAS, INSERTED WHERE PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS = INSERTED.TABELA_MEDIDAS AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_TAB_MEDIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_TAB_MEDIDAS] on [PRODUTOS_TAB_MEDIDAS] for UPDATE as /* UPDATE trigger on PRODUTOS_TAB_MEDIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTABELA_MEDIDAS varchar(25), @delTABELA_MEDIDAS varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_MEDIDAS R/1962 PRODUTOS_MODELO ON PARENT UPDATE RESTRICT */ if update(TABELA_MEDIDAS) begin if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_MEDIDAS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end end /* PRODUTOS_TAB_MEDIDAS R/1342 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(TABELA_MEDIDAS) BEGIN DECLARE PRODUTOS_TAB_MEDIDAS1342 CURSOR FOR SELECT TABELA_MEDIDAS FROM INSERTED DECLARE PRODUTOS_TAB_MEDIDAS611 CURSOR FOR SELECT TABELA_MEDIDAS FROM DELETED OPEN PRODUTOS_TAB_MEDIDAS1342 OPEN PRODUTOS_TAB_MEDIDAS611 FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS1342 INTO @insTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS611 INTO @delTABELA_MEDIDAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.TABELA_MEDIDAS=@insTABELA_MEDIDAS WHERE ORCAMENTOS.TABELA_MEDIDAS = @delTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS1342 INTO @insTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS611 INTO @delTABELA_MEDIDAS END END CLOSE PRODUTOS_TAB_MEDIDAS1342 CLOSE PRODUTOS_TAB_MEDIDAS611 DEALLOCATE PRODUTOS_TAB_MEDIDAS1342 DEALLOCATE PRODUTOS_TAB_MEDIDAS611 END /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS ON PARENT UPDATE RESTRICT */ if update(TABELA_MEDIDAS) begin if exists ( select * from deleted,PRODUTOS where PRODUTOS.TABELA_MEDIDAS = deleted.TABELA_MEDIDAS ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_MEDIDAS #porque existem registros em #PRODUTOS#.'' goto error end end /* PRODUTOS_TAB_MEDIDAS PRODUTOS_TAB_MEDIDAS PRODUTOS_MEDIDAS ON PARENT UPDATE CASCADE */ IF update(TABELA_MEDIDAS) BEGIN DECLARE PRODUTOS_TAB_MEDIDAS932 CURSOR FOR SELECT TABELA_MEDIDAS FROM INSERTED DECLARE PRODUTOS_TAB_MEDIDAS611 CURSOR FOR SELECT TABELA_MEDIDAS FROM DELETED OPEN PRODUTOS_TAB_MEDIDAS932 OPEN PRODUTOS_TAB_MEDIDAS611 FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS932 INTO @insTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS611 INTO @delTABELA_MEDIDAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_MEDIDAS SET PRODUTOS_MEDIDAS.TABELA_MEDIDAS=@insTABELA_MEDIDAS WHERE PRODUTOS_MEDIDAS.TABELA_MEDIDAS = @delTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS932 INTO @insTABELA_MEDIDAS FETCH NEXT FROM PRODUTOS_TAB_MEDIDAS611 INTO @delTABELA_MEDIDAS END END CLOSE PRODUTOS_TAB_MEDIDAS932 CLOSE PRODUTOS_TAB_MEDIDAS611 DEALLOCATE PRODUTOS_TAB_MEDIDAS932 DEALLOCATE PRODUTOS_TAB_MEDIDAS611 END /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS_TAB_MEDIDAS ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_MEDIDAS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_TAB_MEDIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAB_MEDIDAS, INSERTED WHERE PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS = INSERTED.TABELA_MEDIDAS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_TAB_MEDIDAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_TAB_MEDIDAS].[TAMANHO_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAB_MEDIDAS].[DESCRICAO_TABELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_TAB_MEDIDAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_IMAGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_IMAGEM]( [NUMERO_FISCAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [CODIGO_CLIENTE] [varchar](20) NOT NULL, [RAZAO_SOCIAL] [varchar](60) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [TELEFONE] [varchar](9) NULL, [PJ_PF] [bit] NOT NULL, [PAIS] [varchar](35) NULL, [CEP] [varchar](9) NULL, [BAIRRO] [varchar](25) NULL, [CGC_CPF] [varchar](19) NULL, [RG_IE] [varchar](19) NULL, [ENDERECO] [varchar](40) NULL, [CIDADE] [varchar](35) NULL, [UF] [char](2) NULL, [ENTRADA] [bit] NOT NULL, [EMISSAO] [datetime] NULL, [DATA_SAIDA] [datetime] NULL, [QTDE_TOTAL] [numeric](9, 3) NULL, [ICMS_BASE] [numeric](14, 2) NULL, [ICMS_VALOR] [numeric](14, 2) NULL, [IPI_VALOR] [numeric](14, 2) NULL, [PESO_LIQUIDO] [numeric](9, 3) NULL, [PESO_BRUTO] [numeric](9, 3) NULL, [VOLUMES] [int] NULL, [TIPO_VOLUME] [varchar](20) NULL, [MARCA_VOLUME] [varchar](10) NULL, [FRETE] [numeric](14, 2) NULL, [SEGURO] [numeric](14, 2) NULL, [FRETE_A_PAGAR] [bit] NOT NULL, [NATUREZA_OPERACAO] [varchar](30) NULL, [NATUREZA_OPERACAO_CODIGO] [varchar](8) NULL, [VALOR_TOTAL_PRODUTOS] [numeric](14, 2) NULL, [IRRF] [numeric](14, 2) NULL, [IRRF_RET_FONTE] [bit] NOT NULL, [DESCONTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [VENCIMENTO_1] [datetime] NULL, [VENCIMENTO_2] [datetime] NULL, [VENCIMENTO_3] [datetime] NULL, [VENCIMENTO_4] [datetime] NULL, [VENCIMENTO_5] [datetime] NULL, [VENCIMENTO_6] [datetime] NULL, [VENCIMENTO_7] [datetime] NULL, [VENCIMENTO_8] [datetime] NULL, [VENCIMENTO_9] [datetime] NULL, [VENCIMENTO_10] [datetime] NULL, [VENCIMENTO_11] [datetime] NULL, [VENCIMENTO_12] [datetime] NULL, [VALOR_1] [numeric](14, 2) NULL, [VALOR_2] [numeric](14, 2) NULL, [VALOR_3] [numeric](14, 2) NULL, [VALOR_4] [numeric](14, 2) NULL, [VALOR_5] [numeric](14, 2) NULL, [VALOR_6] [numeric](14, 2) NULL, [VALOR_7] [numeric](14, 2) NULL, [VALOR_8] [numeric](14, 2) NULL, [VALOR_9] [numeric](14, 2) NULL, [VALOR_10] [numeric](14, 2) NULL, [VALOR_11] [numeric](14, 2) NULL, [VALOR_12] [numeric](14, 2) NULL, [TRANSP_RAZAO_SOCIAL] [varchar](40) NOT NULL, [TRANSP_UF] [char](2) NULL, [TRANSP_CIDADE] [varchar](35) NULL, [TRANSP_CGC] [varchar](19) NULL, [TRANSP_INSCRICAO] [varchar](19) NULL, [TRANSP_ENDERECO] [varchar](40) NULL, [COBRANCA_ENDERECO] [varchar](40) NULL, [COBRANCA_CIDADE] [varchar](35) NULL, [COBRANCA_BAIRRO] [varchar](25) NULL, [COBRANCA_UF] [char](2) NULL, [COBRANCA_CEP] [varchar](9) NULL, [ENTREGA_ENDERECO] [varchar](40) NULL, [ENTREGA_CIDADE] [varchar](35) NULL, [ENTREGA_UF] [char](2) NULL, [ENTREGA_BAIRRO] [varchar](25) NULL, [ENTREGA_CEP] [varchar](9) NULL, [COBRANCA_CGC] [varchar](19) NULL, [CADASTRAMENTO] [datetime] NOT NULL, [COBRANCA_IE] [varchar](19) NULL, [ENTREGA_CGC] [varchar](19) NULL, [ENTREGA_IE] [varchar](19) NULL, [OBS_DE_FATURAMENTO] [text] NULL, [TIMESTAMP] [timestamp] NULL, [FATOR] [numeric](5, 2) NULL, [NOTA_IMPRESSA] [bit] NOT NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [TOTAL_QTDE_CANCELADA] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKFATURAMENTO_IMAGEM] PRIMARY KEY NONCLUSTERED ( [NUMERO_FISCAL] ASC, [FILIAL] ASC, [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_IMAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAMENTO_IMAGEM] on [FATURAMENTO_IMAGEM] for DELETE as /* DELETE trigger on FATURAMENTO_IMAGEM */ begin declare @errno int, @errmsg varchar(255) /* FATURAMENTO_IMAGEM R/1489 FATURAMENTO_IMAGEM_PROD ON PARENT DELETE CASCADE */ delete FATURAMENTO_IMAGEM_PROD from FATURAMENTO_IMAGEM_PROD,deleted where FATURAMENTO_IMAGEM_PROD.NUMERO_FISCAL = deleted.NUMERO_FISCAL and FATURAMENTO_IMAGEM_PROD.FILIAL = deleted.FILIAL and FATURAMENTO_IMAGEM_PROD.SERIE_NF = deleted.SERIE_NF return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_IMAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_IMAGEM] on [FATURAMENTO_IMAGEM] for INSERT as /* INSERT trigger on FATURAMENTO_IMAGEM */ /* default body for LXI_FATURAMENTO_IMAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_FISCAL char(8), @insFILIAL varchar(25), @insSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE FATURAMENTO_IMAGEM SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO_IMAGEM, INSERTED WHERE FATURAMENTO_IMAGEM.NUMERO_FISCAL = INSERTED.NUMERO_FISCAL and FATURAMENTO_IMAGEM.FILIAL = INSERTED.FILIAL and FATURAMENTO_IMAGEM.SERIE_NF = INSERTED.SERIE_NF AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_IMAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_IMAGEM] on [FATURAMENTO_IMAGEM] for UPDATE as /* UPDATE trigger on FATURAMENTO_IMAGEM */ /* default body for LXU_FATURAMENTO_IMAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_FISCAL char(8), @insFILIAL varchar(25), @insSERIE_NF char(2), @delNUMERO_FISCAL char(8), @delFILIAL varchar(25), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_IMAGEM R/1489 FATURAMENTO_IMAGEM_PROD ON PARENT UPDATE CASCADE */ IF update(NUMERO_FISCAL) OR update(FILIAL) OR update(SERIE_NF) BEGIN DECLARE FATURAMENTO_IMAGEM1489 CURSOR FOR SELECT NUMERO_FISCAL, FILIAL, SERIE_NF FROM INSERTED DECLARE FATURAMENTO_IMAGEM882 CURSOR FOR SELECT NUMERO_FISCAL, FILIAL, SERIE_NF FROM DELETED OPEN FATURAMENTO_IMAGEM1489 OPEN FATURAMENTO_IMAGEM882 FETCH NEXT FROM FATURAMENTO_IMAGEM1489 INTO @insNUMERO_FISCAL, @insFILIAL, @insSERIE_NF FETCH NEXT FROM FATURAMENTO_IMAGEM882 INTO @delNUMERO_FISCAL, @delFILIAL, @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_IMAGEM_PROD SET FATURAMENTO_IMAGEM_PROD.NUMERO_FISCAL=@insNUMERO_FISCAL, FATURAMENTO_IMAGEM_PROD.FILIAL=@insFILIAL, FATURAMENTO_IMAGEM_PROD.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_IMAGEM_PROD.NUMERO_FISCAL = @delNUMERO_FISCAL and FATURAMENTO_IMAGEM_PROD.FILIAL = @delFILIAL and FATURAMENTO_IMAGEM_PROD.SERIE_NF = @delSERIE_NF FETCH NEXT FROM FATURAMENTO_IMAGEM1489 INTO @insNUMERO_FISCAL, @insFILIAL, @insSERIE_NF FETCH NEXT FROM FATURAMENTO_IMAGEM882 INTO @delNUMERO_FISCAL, @delFILIAL, @delSERIE_NF END END CLOSE FATURAMENTO_IMAGEM1489 CLOSE FATURAMENTO_IMAGEM882 DEALLOCATE FATURAMENTO_IMAGEM1489 DEALLOCATE FATURAMENTO_IMAGEM882 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FATURAMENTO_IMAGEM SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO_IMAGEM, INSERTED WHERE FATURAMENTO_IMAGEM.NUMERO_FISCAL = INSERTED.NUMERO_FISCAL and FATURAMENTO_IMAGEM.FILIAL = INSERTED.FILIAL and FATURAMENTO_IMAGEM.SERIE_NF = INSERTED.SERIE_NF AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FATURAMENTO_IMAGEM.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[PJ_PF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[PAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[ICMS_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[ICMS_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[IPI_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[PESO_LIQUIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[PESO_BRUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VOLUMES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[TIPO_VOLUME]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[FRETE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[SEGURO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[FRETE_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_TOTAL_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[IRRF_RET_FONTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAMENTO_IMAGEM].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[TRANSP_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[TRANSP_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[COBRANCA_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[COBRANCA_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[COBRANCA_CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[ENTREGA_ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[ENTREGA_CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_IMAGEM].[ENTREGA_CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[NOTA_IMPRESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_IMAGEM].[TOTAL_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FATURAMENTO_IMAGEM].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS]( [PRODUTO] [char](12) NOT NULL, [CODIGO_PRECO] [char](4) NULL, [MATERIAL] [char](11) NULL, [PERIODO_PCP] [varchar](25) NULL, [TABELA_OPERACOES] [varchar](25) NULL, [FATOR_OPERACOES] [numeric](7, 3) NULL, [CLASSIF_FISCAL] [char](10) NOT NULL, [TIPO_PRODUTO] [varchar](25) NOT NULL, [TABELA_MEDIDAS] [varchar](25) NULL, [DESC_PRODUTO] [varchar](40) NOT NULL, [GRUPO_PRODUTO] [varchar](25) NOT NULL, [SUBGRUPO_PRODUTO] [varchar](25) NOT NULL, [COLECAO] [char](6) NOT NULL, [GRADE] [varchar](25) NOT NULL, [DESC_PROD_NF] [varchar](40) NOT NULL, [LINHA] [varchar](25) NOT NULL, [GRIFFE] [varchar](25) NOT NULL, [CARTELA] [char](4) NULL, [UNIDADE] [char](5) NOT NULL, [PESO] [numeric](7, 3) NULL, [REVENDA] [bit] NOT NULL, [REFER_FABRICANTE] [char](10) NULL, [MODELAGEM] [char](10) NULL, [SORTIMENTO_COR] [bit] NOT NULL, [FABRICANTE] [varchar](25) NOT NULL, [SORTIMENTO_TAMANHO] [bit] NOT NULL, [VARIA_PRECO_COR] [bit] NOT NULL, [VARIA_PRECO_TAM] [bit] NOT NULL, [PONTEIRO_PRECO_TAM] [char](48) NOT NULL, [VARIA_CUSTO_COR] [bit] NOT NULL, [PERTENCE_A_CONJUNTO] [bit] NOT NULL, [TRIBUT_ICMS] [char](3) NOT NULL, [TRIBUT_ORIGEM] [char](3) NOT NULL, [VARIA_CUSTO_TAM] [bit] NOT NULL, [CUSTO_REPOSICAO1] [numeric](14, 2) NULL, [CUSTO_REPOSICAO2] [numeric](14, 2) NULL, [CUSTO_REPOSICAO3] [numeric](14, 2) NULL, [CUSTO_REPOSICAO4] [numeric](14, 2) NULL, [DATA_REPOSICAO] [datetime] NULL, [ESTILISTA] [varchar](25) NULL, [MODELISTA] [varchar](25) NULL, [TAMANHO_BASE] [int] NULL, [GIRO_ENTREGA] [int] NULL, [TIMESTAMP] [timestamp] NULL, [INATIVO] [bit] NOT NULL, [ENVIA_LOJA_VAREJO] [bit] NOT NULL, [ENVIA_LOJA_ATACADO] [bit] NOT NULL, [ENVIA_REPRESENTANTE] [bit] NOT NULL, [ENVIA_VAREJO_INTERNET] [bit] NOT NULL, [ENVIA_ATACADO_INTERNET] [bit] NOT NULL, [MODELO] [char](8) NULL, [REDE_LOJAS] [char](2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [FABRICANTE_ICMS_ABATER] [real] NULL, [FABRICANTE_PRAZO_PGTO] [int] NULL, [TAXA_JUROS_DEFLACIONAR] [real] NULL, [TAXAS_IMPOSTOS_APLICAR] [real] NULL, [PRECO_REPOSICAO_1] [numeric](14, 2) NULL, [PRECO_REPOSICAO_2] [numeric](14, 2) NULL, [PRECO_REPOSICAO_3] [numeric](14, 2) NULL, [PRECO_REPOSICAO_4] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_1] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_2] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_3] [numeric](14, 2) NULL, [PRECO_A_VISTA_REPOSICAO_4] [numeric](14, 2) NULL, [FABRICANTE_FRETE] [real] NULL, [DROP_DE_TAMANHOS] [smallint] NULL, [DATA_CADASTRAMENTO] [datetime] NULL, [STATUS_PRODUTO] [char](2) NULL, [TIPO_STATUS_PRODUTO] [int] NULL, [OBS] [text] NULL, [COMPOSICAO] [char](6) NULL, [RESTRICAO_LAVAGEM] [char](6) NULL, [EMPRESA] [tinyint] NULL, [ORCAMENTO] [varchar](25) NULL, [CLIENTE_DO_PRODUTO] [varchar](25) NULL, [CONTA_CONTABIL] [char](20) NULL, [ESPESSURA] [numeric](14, 2) NULL, [ALTURA] [numeric](14, 2) NULL, [LARGURA] [numeric](14, 2) NULL, [COMPRIMENTO] [numeric](14, 2) NULL, [EMPILHAMENTO_MAXIMO] [smallint] NULL, [SEXO_TIPO] [smallint] NULL, [PARTE_TIPO] [smallint] NULL, [ACEITA_COPIA_PRODUTO] [bit] NOT NULL, [xml_envio] [binary](10) NOT NULL DEFAULT (0), CONSTRAINT [XPKPRODUTOS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE1PRODUTOS') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS] ON [PRODUTOS] ( [GRUPO_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE2PRODUTOS') CREATE NONCLUSTERED INDEX [XIE2PRODUTOS] ON [PRODUTOS] ( [SUBGRUPO_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE3PRODUTOS') CREATE NONCLUSTERED INDEX [XIE3PRODUTOS] ON [PRODUTOS] ( [COLECAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE4PRODUTOS') CREATE NONCLUSTERED INDEX [XIE4PRODUTOS] ON [PRODUTOS] ( [LINHA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE5PRODUTOS') CREATE NONCLUSTERED INDEX [XIE5PRODUTOS] ON [PRODUTOS] ( [GRADE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS]') AND name = N'XIE6PRODUTOS') CREATE NONCLUSTERED INDEX [XIE6PRODUTOS] ON [PRODUTOS] ( [TIPO_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS] on [PRODUTOS] for DELETE as /* DELETE trigger on PRODUTOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS R/2136 PRODUTOS_PESO_TAMANHO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_PESO_TAMANHO where PRODUTOS_PESO_TAMANHO.PRODUTO = deleted.PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS #porque existem registros em #PRODUTOS_PESO_TAMANHO#.'' goto error end /* PRODUTOS R/1862 PRODUTOS_FORNECEDOR ON PARENT DELETE CASCADE */ delete PRODUTOS_FORNECEDOR from PRODUTOS_FORNECEDOR,deleted where PRODUTOS_FORNECEDOR.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1802 PRODUTOS_FICHA ON PARENT DELETE CASCADE */ delete PRODUTOS_FICHA from PRODUTOS_FICHA,deleted where PRODUTOS_FICHA.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1696 PRODUTOS_STATUS_LOG ON PARENT DELETE CASCADE */ delete PRODUTOS_STATUS_LOG from PRODUTOS_STATUS_LOG,deleted where PRODUTOS_STATUS_LOG.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1666 PRODUTOS_CLIENTE ON PARENT DELETE CASCADE */ delete PRODUTOS_CLIENTE from PRODUTOS_CLIENTE,deleted where PRODUTOS_CLIENTE.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1661 SUBSTITUICOES_MATERIAL_PRODUTO ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL_PRODUTO from SUBSTITUICOES_MATERIAL_PRODUTO,deleted where SUBSTITUICOES_MATERIAL_PRODUTO.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1385 VENDAS_HISTORICO_PROD ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO_PROD where VENDAS_HISTORICO_PROD.PRODUTO = deleted.PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS #porque existem registros em #VENDAS_HISTORICO_PROD#.'' goto error end /* PRODUTOS R/1376 COND_PGTO_PRODUTOS ON PARENT DELETE CASCADE */ delete COND_PGTO_PRODUTOS from COND_PGTO_PRODUTOS,deleted where COND_PGTO_PRODUTOS.PRODUTO = deleted.PRODUTO /* PRODUTOS R/1354 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.PRODUTO = deleted.PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS R/1074 PRODUTOS_PACKS_PERMITIDOS ON PARENT DELETE CASCADE */ delete PRODUTOS_PACKS_PERMITIDOS from PRODUTOS_PACKS_PERMITIDOS,deleted where PRODUTOS_PACKS_PERMITIDOS.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS PRODUTOS_OPE_EXTRA ON PARENT DELETE CASCADE */ delete PRODUTOS_OPE_EXTRA from PRODUTOS_OPE_EXTRA,deleted where PRODUTOS_OPE_EXTRA.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS PRODUTOS_FOTO ON PARENT DELETE CASCADE */ delete PRODUTOS_FOTO from PRODUTOS_FOTO,deleted where PRODUTOS_FOTO.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS ROMANEIOS_PRODUTO ON PARENT DELETE CASCADE */ delete ROMANEIOS_PRODUTO from ROMANEIOS_PRODUTO,deleted where ROMANEIOS_PRODUTO.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS PRODUTOS_PRECOS ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECOS from PRODUTOS_PRECOS,deleted where PRODUTOS_PRECOS.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS PRODUTO_CORES ON PARENT DELETE CASCADE */ delete PRODUTO_CORES from PRODUTO_CORES,deleted where PRODUTO_CORES.PRODUTO = deleted.PRODUTO /* PRODUTOS PRODUTOS PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.PRODUTO = deleted.PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS] on [PRODUTOS] for INSERT as /* INSERT trigger on PRODUTOS */ /* default body for LXI_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_PLANO R/2073 PRODUTOS ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #CONTAS_PLANO #não existe.'' goto error end end /* PRODUTOS_MODELO R/1984 PRODUTOS ON CHILD INSERT RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM select @nullcnt = count(*) from inserted where inserted.MODELAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* EMPRESA R/1958 PRODUTOS ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #EMPRESA #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1957 PRODUTOS ON CHILD INSERT RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO select @nullcnt = count(*) from inserted where inserted.COMPOSICAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end /* MATERIAIS_TIPO_LAVAGEM R/1944 PRODUTOS ON CHILD INSERT RESTRICT */ if update(RESTRICAO_LAVAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO_LAVAGEM where inserted.RESTRICAO_LAVAGEM = MATERIAIS_TIPO_LAVAGEM.RESTRICAO_LAVAGEM select @nullcnt = count(*) from inserted where inserted.RESTRICAO_LAVAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #MATERIAIS_TIPO_LAVAGEM #não existe.'' goto error end end /* PRODUTOS_STATUS R/1697 PRODUTOS ON CHILD INSERT RESTRICT */ if update(STATUS_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_PRODUTO = PRODUTOS_STATUS.STATUS_PRODUTO select @nullcnt = count(*) from inserted where inserted.STATUS_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_STATUS #não existe.'' goto error end end /* LOJAS_REDE R/1632 PRODUTOS ON CHILD INSERT RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS select @nullcnt = count(*) from inserted where inserted.REDE_LOJAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #LOJAS_REDE #não existe.'' goto error end end /* MATERIAIS R/1364 PRODUTOS ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_PERIODOS_PCP PERIODOS_PCP PRODUTOS ON CHILD INSERT RESTRICT */ if update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_PCP where inserted.PERIODO_PCP = PRODUTOS_PERIODOS_PCP.PERIODO_PCP select @nullcnt = count(*) from inserted where inserted.PERIODO_PCP is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_PERIODOS_PCP #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF_FISCAL PRODUTOS ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* PRODUTOS_TIPOS PRODUTOS_TIPOS PRODUTOS ON CHILD INSERT RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* TRIBUT_ICMS TRIBUT_ICMS PRODUTOS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTOS ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* UNIDADES UNIDADES PRODUTOS ON CHILD INSERT RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #UNIDADES #não existe.'' goto error end end /* TRIBUT_ORIGEM TRIBUT_ORIGEM PRODUTOS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES PRODUTOS ON CHILD INSERT RESTRICT */ if update(FABRICANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FABRICANTE = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS_LINHAS PRODUTOS_LINHAS PRODUTOS ON CHILD INSERT RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES PRODUTOS ON CHILD INSERT RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* COLECOES COLECOES PRODUTOS ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS #porque #COLECOES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS, INSERTED WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS] on [PRODUTOS] for UPDATE as /* UPDATE trigger on PRODUTOS */ /* default body for LXU_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_PLANO R/2073 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #CONTAS_PLANO #não existe.'' goto error end end /* PRODUTOS_MODELO R/1984 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM select @nullcnt = count(*) from inserted where inserted.MODELAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* EMPRESA R/1958 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #EMPRESA #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1957 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO select @nullcnt = count(*) from inserted where inserted.COMPOSICAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end /* MATERIAIS_TIPO_LAVAGEM R/1944 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(RESTRICAO_LAVAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO_LAVAGEM where inserted.RESTRICAO_LAVAGEM = MATERIAIS_TIPO_LAVAGEM.RESTRICAO_LAVAGEM select @nullcnt = count(*) from inserted where inserted.RESTRICAO_LAVAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #MATERIAIS_TIPO_LAVAGEM #não existe.'' goto error end end /* PRODUTOS_STATUS R/1697 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(STATUS_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_STATUS where inserted.STATUS_PRODUTO = PRODUTOS_STATUS.STATUS_PRODUTO select @nullcnt = count(*) from inserted where inserted.STATUS_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_STATUS #não existe.'' goto error end end /* LOJAS_REDE R/1632 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS select @nullcnt = count(*) from inserted where inserted.REDE_LOJAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #LOJAS_REDE #não existe.'' goto error end end /* MATERIAIS R/1364 PRODUTOS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_PERIODOS_PCP PERIODOS_PCP PRODUTOS ON CHILD UPDATE RESTRICT */ if update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_PCP where inserted.PERIODO_PCP = PRODUTOS_PERIODOS_PCP.PERIODO_PCP select @nullcnt = count(*) from inserted where inserted.PERIODO_PCP is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_PERIODOS_PCP #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF_FISCAL PRODUTOS ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* PRODUTOS_TIPOS PRODUTOS_TIPOS PRODUTOS ON CHILD UPDATE RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* TRIBUT_ICMS TRIBUT_ICMS PRODUTOS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTOS ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* UNIDADES UNIDADES PRODUTOS ON CHILD UPDATE RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #UNIDADES #não existe.'' goto error end end /* TRIBUT_ORIGEM TRIBUT_ORIGEM PRODUTOS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES PRODUTOS ON CHILD UPDATE RESTRICT */ if update(FABRICANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FABRICANTE = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS_LINHAS PRODUTOS_LINHAS PRODUTOS ON CHILD UPDATE RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES PRODUTOS ON CHILD UPDATE RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* COLECOES COLECOES PRODUTOS ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS #porque #COLECOES #não existe.'' goto error end end /* PRODUTOS R/2136 PRODUTOS_PESO_TAMANHO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS2136 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS2136 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS2136 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PESO_TAMANHO SET PRODUTOS_PESO_TAMANHO.PRODUTO=@insPRODUTO WHERE PRODUTOS_PESO_TAMANHO.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS2136 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS2136 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS2136 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1862 PRODUTOS_FORNECEDOR ON PARENT UPDATE RESTRICT */ if update(PRODUTO) begin if exists ( select * from deleted,PRODUTOS_FORNECEDOR where PRODUTOS_FORNECEDOR.PRODUTO = deleted.PRODUTO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS #porque existem registros em #PRODUTOS_FORNECEDOR#.'' goto error end end /* PRODUTOS R/1802 PRODUTOS_FICHA ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1802 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1802 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1802 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA SET PRODUTOS_FICHA.PRODUTO=@insPRODUTO WHERE PRODUTOS_FICHA.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1802 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1802 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1802 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1696 PRODUTOS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1696 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1696 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1696 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_STATUS_LOG SET PRODUTOS_STATUS_LOG.PRODUTO=@insPRODUTO WHERE PRODUTOS_STATUS_LOG.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1696 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1696 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1696 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1666 PRODUTOS_CLIENTE ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1666 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1666 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1666 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_CLIENTE SET PRODUTOS_CLIENTE.PRODUTO=@insPRODUTO WHERE PRODUTOS_CLIENTE.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1666 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1666 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1666 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1661 SUBSTITUICOES_MATERIAL_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1661 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1661 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1661 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL_PRODUTO SET SUBSTITUICOES_MATERIAL_PRODUTO.PRODUTO=@insPRODUTO WHERE SUBSTITUICOES_MATERIAL_PRODUTO.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1661 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1661 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1661 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1385 VENDAS_HISTORICO_PROD ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1385 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1385 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1385 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO_PROD SET VENDAS_HISTORICO_PROD.PRODUTO=@insPRODUTO WHERE VENDAS_HISTORICO_PROD.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1385 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1385 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1385 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1376 COND_PGTO_PRODUTOS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1376 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1376 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1376 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COND_PGTO_PRODUTOS SET COND_PGTO_PRODUTOS.PRODUTO=@insPRODUTO WHERE COND_PGTO_PRODUTOS.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1376 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1376 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1376 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1354 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1354 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1354 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1354 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.PRODUTO=@insPRODUTO WHERE ORCAMENTOS.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1354 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1354 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1354 DEALLOCATE PRODUTOS43 END /* PRODUTOS R/1074 PRODUTOS_PACKS_PERMITIDOS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS1074 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS1074 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS1074 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PACKS_PERMITIDOS SET PRODUTOS_PACKS_PERMITIDOS.PRODUTO=@insPRODUTO WHERE PRODUTOS_PACKS_PERMITIDOS.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS1074 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS1074 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS1074 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS920 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS920 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS920 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.PRODUTO=@insPRODUTO WHERE VENDAS_COTAS_TIPO_ITENS.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS920 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS920 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS920 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS PRODUTOS_OPE_EXTRA ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS754 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS754 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS754 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_OPE_EXTRA SET PRODUTOS_OPE_EXTRA.PRODUTO=@insPRODUTO WHERE PRODUTOS_OPE_EXTRA.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS754 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS754 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS754 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS PRODUTOS_FOTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS731 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS731 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS731 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FOTO SET PRODUTOS_FOTO.PRODUTO=@insPRODUTO WHERE PRODUTOS_FOTO.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS731 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS731 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS731 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS ROMANEIOS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS720 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS720 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS720 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_PRODUTO SET ROMANEIOS_PRODUTO.PRODUTO=@insPRODUTO WHERE ROMANEIOS_PRODUTO.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS720 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS720 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS720 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS PRODUTOS_PRECOS ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS296 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS296 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS296 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECOS SET PRODUTOS_PRECOS.PRODUTO=@insPRODUTO WHERE PRODUTOS_PRECOS.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS296 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS296 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS296 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS218 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS218 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS218 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.PRODUTO=@insPRODUTO WHERE PRODUTO_CORES.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS218 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS218 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS218 DEALLOCATE PRODUTOS43 END /* PRODUTOS PRODUTOS PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(PRODUTO) BEGIN DECLARE PRODUTOS474 CURSOR FOR SELECT PRODUTO FROM INSERTED DECLARE PRODUTOS43 CURSOR FOR SELECT PRODUTO FROM DELETED OPEN PRODUTOS474 OPEN PRODUTOS43 FETCH NEXT FROM PRODUTOS474 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.PRODUTO=@insPRODUTO WHERE PRODUCAO_ORDEM.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS474 INTO @insPRODUTO FETCH NEXT FROM PRODUTOS43 INTO @delPRODUTO END END CLOSE PRODUTOS474 CLOSE PRODUTOS43 DEALLOCATE PRODUTOS474 DEALLOCATE PRODUTOS43 END /*-----------------------------------------------------------------------------------------------------*/ /*VERIFICACAO DA EXISTENCIA DA PARTE_APLICADO_MATERIAL EM PRODUTOS_SUBGRUPO */ /*-----------------------------------------------------------------------------------------------------*/ if update(GRUPO_PRODUTO) OR update(SUBGRUPO_PRODUTO) begin select @validcnt = count(*) from inserted a inner join produtos_subgrupo b on a.grupo_produto = b.grupo_produto and a.subgrupo_produto = b.subgrupo_produto inner join produtos_ficha c on a.produto = c.produto where b.PARTES_DO_PRODUTO not LIKE ''%'' + c.PARTE_APLICADO_MATERIAL + ''%'' and c.parte_aplicado_material is not null if @validcnt > 0 begin select @errno = 30002, @errmsg = ''Impossível Alterar #PRODUTOS #porque #existem registros em #PRODUTOS_FICHA com #PARTE_APLICADO_MATERIAL do #SUBGRUPO_ANTIGO.'' goto error end end /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS, INSERTED WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[CODIGO_PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[FATOR_OPERACOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[CARTELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[REVENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[REFER_FABRICANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[MODELAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[SORTIMENTO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[SORTIMENTO_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[VARIA_PRECO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[VARIA_PRECO_TAM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[VARIA_CUSTO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PERTENCE_A_CONJUNTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[VARIA_CUSTO_TAM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[CUSTO_REPOSICAO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[CUSTO_REPOSICAO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[CUSTO_REPOSICAO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[CUSTO_REPOSICAO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[ESTILISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS].[MODELISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[TAMANHO_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[GIRO_ENTREGA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ENVIA_LOJA_VAREJO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ENVIA_LOJA_ATACADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ENVIA_REPRESENTANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ENVIA_VAREJO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ENVIA_ATACADO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[FABRICANTE_ICMS_ABATER]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[FABRICANTE_PRAZO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[TAXA_JUROS_DEFLACIONAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[TAXAS_IMPOSTOS_APLICAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_REPOSICAO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_REPOSICAO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_REPOSICAO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_REPOSICAO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_A_VISTA_REPOSICAO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_A_VISTA_REPOSICAO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_A_VISTA_REPOSICAO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PRECO_A_VISTA_REPOSICAO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[FABRICANTE_FRETE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[DROP_DE_TAMANHOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[TIPO_STATUS_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PRODUTOS].[EMPRESA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ESPESSURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ALTURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[COMPRIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[EMPILHAMENTO_MAXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[SEXO_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[PARTE_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS].[ACEITA_COPIA_PRODUTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TRANSF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TRANSF]( [COD_TRANSF] [int] NOT NULL, [FILIAL_ORIGEM] [varchar](25) NOT NULL, [DESCRICAO] [varchar](50) NULL, [TIPO_DESTA_FILIAL] [smallint] NULL, [DESTINO_PACOTE] [smallint] NULL, [FORMA_ARMAZENA] [smallint] NULL, [DIRETORIO_SISTEMA] [varchar](70) NOT NULL, [FILTRO_COLECAO] [varchar](50) NULL, [FILTRO_LINHA] [varchar](50) NULL, [FILTRO_TIPO] [varchar](50) NULL, [FILTRO_GRIFE] [varchar](50) NULL, [FILTRO_GRUPO] [varchar](50) NULL, [FILTRO_REDE] [varchar](50) NULL, [ENVIA_CLIENTE] [bit] NOT NULL, [DATA_CLIENTE] [datetime] NULL, [FILIAL_CLIENTE] [varchar](50) NULL, [ENVIA_ESTOQUE] [bit] NOT NULL, [FILIAL_ESTOQUE] [varchar](50) NULL, [IMPORTA_ESTOQUE] [bit] NOT NULL, [EMAIL_DOWNLOAD] [bit] NOT NULL, [EMAIL_LOGIN] [bit] NOT NULL, [EMAIL_USUARIO] [varchar](20) NULL, [EMAIL_SENHA] [varchar](20) NULL, [EMAIL_DESTA_FILIAL] [varchar](50) NULL, [SENHA_PACOTES] [varchar](20) NULL, [DRIVE_COPIA] [varchar](2) NULL, [LOG_ERROS] [smallint] NULL, [EXPORTA_CAIXA_FECHADO] [smallint] NULL, [FORCA_ESTOQUE] [smallint] NULL, CONSTRAINT [XPKLOJA_TRANSF] PRIMARY KEY NONCLUSTERED ( [COD_TRANSF] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_TRANSF]') AND name = N'XAK1LOJA_TRANSF') CREATE UNIQUE NONCLUSTERED INDEX [XAK1LOJA_TRANSF] ON [LOJA_TRANSF] ( [DESCRICAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_TRANSF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_TRANSF] on [LOJA_TRANSF] for DELETE as /* DELETE trigger on LOJA_TRANSF */ begin declare @errno int, @errmsg varchar(255) /* LOJA_TRANSF R/1 LOJA_TRANSF_TABELAS ON PARENT DELETE CASCADE */ delete LOJA_TRANSF_TABELAS from LOJA_TRANSF_TABELAS,deleted where LOJA_TRANSF_TABELAS.COD_TRANSF = deleted.COD_TRANSF and LOJA_TRANSF_TABELAS.FILIAL_ORIGEM = deleted.FILIAL_ORIGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TRANSF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TRANSF] on [LOJA_TRANSF] for UPDATE as /* UPDATE trigger on LOJA_TRANSF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSF int, @insFILIAL_ORIGEM varchar(25), @delCOD_TRANSF int, @delFILIAL_ORIGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TRANSF R/1 LOJA_TRANSF_TABELAS ON PARENT UPDATE CASCADE */ IF update(COD_TRANSF) OR update(FILIAL_ORIGEM) BEGIN DECLARE LOJA_TRANSF1653 CURSOR FOR SELECT COD_TRANSF, FILIAL_ORIGEM FROM INSERTED DECLARE LOJA_TRANSF964 CURSOR FOR SELECT COD_TRANSF, FILIAL_ORIGEM FROM DELETED OPEN LOJA_TRANSF1653 OPEN LOJA_TRANSF964 FETCH NEXT FROM LOJA_TRANSF1653 INTO @insCOD_TRANSF, @insFILIAL_ORIGEM FETCH NEXT FROM LOJA_TRANSF964 INTO @delCOD_TRANSF, @delFILIAL_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_TRANSF_TABELAS SET LOJA_TRANSF_TABELAS.COD_TRANSF=@insCOD_TRANSF, LOJA_TRANSF_TABELAS.FILIAL_ORIGEM=@insFILIAL_ORIGEM WHERE LOJA_TRANSF_TABELAS.COD_TRANSF = @delCOD_TRANSF and LOJA_TRANSF_TABELAS.FILIAL_ORIGEM = @delFILIAL_ORIGEM FETCH NEXT FROM LOJA_TRANSF1653 INTO @insCOD_TRANSF, @insFILIAL_ORIGEM FETCH NEXT FROM LOJA_TRANSF964 INTO @delCOD_TRANSF, @delFILIAL_ORIGEM END END CLOSE LOJA_TRANSF1653 CLOSE LOJA_TRANSF964 DEALLOCATE LOJA_TRANSF1653 DEALLOCATE LOJA_TRANSF964 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[ENVIA_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[ENVIA_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[IMPORTA_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[EMAIL_DOWNLOAD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[EMAIL_LOGIN]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_TRANSF].[EMAIL_SENHA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_TRANSF].[SENHA_PACOTES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSF].[EXPORTA_CAIXA_FECHADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS]( [MATERIAL] [char](11) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [TIPO] [varchar](25) NOT NULL, [TRIBUT_ICMS] [char](3) NOT NULL, [TRIBUT_ORIGEM] [char](3) NOT NULL, [CLASSIF_FISCAL] [char](10) NOT NULL, [FABRICANTE] [varchar](25) NOT NULL, [GRUPO] [varchar](25) NOT NULL, [COLECAO] [char](6) NOT NULL, [SUBGRUPO] [varchar](25) NOT NULL, [DESC_MATERIAL] [varchar](40) NOT NULL, [FATOR_CONVERSAO] [numeric](9, 4) NOT NULL, [UNID_ESTOQUE] [char](5) NOT NULL, [DIAS_ENTREGA] [int] NULL, [UNID_FICHA_TEC] [char](5) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [UNID_AUXILIAR] [char](5) NULL, [CTRL_UNID_AUX] [bit] NOT NULL, [REVENDA] [bit] NOT NULL, [COMPRIMENTO] [varchar](10) NULL, [COD_MATERIAL_TAMANHO] [char](11) NULL, [VARIA_MATERIAL_TAMANHO] [bit] NOT NULL, [CTRL_PARTIDAS] [bit] NOT NULL, [LARGURA] [varchar](10) NULL, [VARIA_CUSTO_COR] [bit] NOT NULL, [CTRL_PECAS] [bit] NOT NULL, [VARIA_PRECO_COR] [bit] NOT NULL, [CTRL_PECAS_PARCIAL] [bit] NOT NULL, [DATA_REPOSICAO] [datetime] NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NULL, [REF_FABRICANTE] [varchar](20) NULL, [ICMS_CUSTOS] [real] NULL, [CUSTO_A_VISTA] [numeric](15, 5) NULL, [TAXA_JUROS_CUSTO] [real] NULL, [MATERIAL_INDIRETO] [bit] NOT NULL, [RESERVA_MATERIAL_OP] [bit] NOT NULL, [ABATER_RESERVA_QTDE] [bit] NOT NULL, [DESC_COMPOSICAO] [varchar](150) NULL, [DESC_NF] [varchar](40) NULL, [CODIGO_ETIQUETA_GRIFFE] [varchar](11) NULL, [CONTA_CONTABIL] [char](20) NULL, [INATIVO] [bit] NOT NULL, [SEMI_ACABADO] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COMPRA_MINIMA] [numeric](9, 3) NULL, [LOTE_ECONOMICO_COMPRAS] [numeric](9, 3) NULL, [TEC_SIMPLES_TUBULAR_ABERTO] [tinyint] NULL, [TEC_LISO_ESTAMPA_LISTRA_XADREX] [tinyint] NULL, [TEC_TORNASOL] [tinyint] NULL, [OBS] [text] NULL, [DATA_CADASTRAMENTO] [datetime] NULL, [COMPOSICAO] [char](6) NULL, [RESTRICAO_LAVAGEM] [char](6) NULL, [REFERENCIA_BASE] [char](11) NULL, [DESENHO] [char](4) NULL, CONSTRAINT [XPKMATERIAIS] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIAIS]') AND name = N'XIE1MATERIAIS') CREATE NONCLUSTERED INDEX [XIE1MATERIAIS] ON [MATERIAIS] ( [GRUPO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIAIS]') AND name = N'XIE2MATERIAIS') CREATE NONCLUSTERED INDEX [XIE2MATERIAIS] ON [MATERIAIS] ( [SUBGRUPO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIAIS]') AND name = N'XIE3MATERIAIS') CREATE NONCLUSTERED INDEX [XIE3MATERIAIS] ON [MATERIAIS] ( [COLECAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS] on [MATERIAIS] for DELETE as /* DELETE trigger on MATERIAIS */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS R/1985 M_ORDEM_FABRICACAO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO where M_ORDEM_FABRICACAO.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #M_ORDEM_FABRICACAO#.'' goto error end /* MATERIAIS R/1969 PRODUTOS_MODELO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_MATERIAL where PRODUTOS_MODELO_MATERIAL.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #PRODUTOS_MODELO_MATERIAL#.'' goto error end /* MATERIAIS R/1972 PRODUTOS_MODELO_MAT_PRI ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_MAT_PRI where PRODUTOS_MODELO_MAT_PRI.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #PRODUTOS_MODELO_MAT_PRI#.'' goto error end /* MATERIAIS R/1935 MATERIAIS_BASE_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE_CONSUMO where MATERIAIS_BASE_CONSUMO.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #MATERIAIS_BASE_CONSUMO#.'' goto error end /* MATERIAIS R/1364 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #PRODUTOS#.'' goto error end /* MATERIAIS R/1356 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #ORCAMENTOS#.'' goto error end /* MATERIAIS R/1278 PRODUTOS_FICHA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_FICHA where PRODUTOS_FICHA.MATERIAL = deleted.MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS #porque existem registros em #PRODUTOS_FICHA#.'' goto error end /* MATERIAIS MATERIAIS_FOTO MATERIAIS_FOTO ON PARENT DELETE CASCADE */ delete MATERIAIS_FOTO from MATERIAIS_FOTO,deleted where MATERIAIS_FOTO.MATERIAL = deleted.MATERIAL /* MATERIAIS MATERIAIS MATERIAIS_CORES ON PARENT DELETE CASCADE */ delete MATERIAIS_CORES from MATERIAIS_CORES,deleted where MATERIAIS_CORES.MATERIAL = deleted.MATERIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS] on [MATERIAIS] for INSERT as /* INSERT trigger on MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1931 MATERIAIS ON CHILD INSERT RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE select @nullcnt = count(*) from inserted where inserted.REFERENCIA_BASE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TIPO_LAVAGEM R/1930 MATERIAIS ON CHILD INSERT RESTRICT */ if update(RESTRICAO_LAVAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO_LAVAGEM where inserted.RESTRICAO_LAVAGEM = MATERIAIS_TIPO_LAVAGEM.RESTRICAO_LAVAGEM select @nullcnt = count(*) from inserted where inserted.RESTRICAO_LAVAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #MATERIAIS_TIPO_LAVAGEM #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1929 MATERIAIS ON CHILD INSERT RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end /* CONTAS_PLANO R/1616 MATERIAIS ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #CONTAS_PLANO #não existe.'' goto error end end /* MATERIAIS_TIPO MATERIAIS_TIPO MATERIAIS ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO where inserted.TIPO = MATERIAIS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #MATERIAIS_TIPO #não existe.'' goto error end end /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* TRIBUT_ICMS TRIBUT_ICMS MATERIAIS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM TRIBUT_ORIGEM MATERIAIS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF_FISCAL MATERIAIS ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* COLECOES COLECOES MATERIAIS ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #COLECOES #não existe.'' goto error end end /* UNIDADES UNIDADES_2 MATERIAIS ON CHILD INSERT RESTRICT */ if update(UNID_ESTOQUE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNID_ESTOQUE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES UNIDADES_1 MATERIAIS ON CHILD INSERT RESTRICT */ if update(UNID_FICHA_TEC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNID_FICHA_TEC = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #UNIDADES #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS MATERIAIS ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES MATERIAIS ON CHILD INSERT RESTRICT */ if update(FABRICANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FABRICANTE = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #FORNECEDORES #não existe.'' goto error end end /* MATERIAIS_SUBGRUPO MATERIAIS_SUBGRUPO MATERIAIS ON CHILD INSERT RESTRICT */ if update(SUBGRUPO) or update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_SUBGRUPO where inserted.SUBGRUPO = MATERIAIS_SUBGRUPO.SUBGRUPO and inserted.GRUPO = MATERIAIS_SUBGRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS #porque #MATERIAIS_SUBGRUPO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE MATERIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MATERIAIS, INSERTED WHERE MATERIAIS.MATERIAL = INSERTED.MATERIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS] on [MATERIAIS] for UPDATE as /* UPDATE trigger on MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @delMATERIAL char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS R/1985 M_ORDEM_FABRICACAO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS1985 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS1985 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS1985 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO SET M_ORDEM_FABRICACAO.MATERIAL=@insMATERIAL WHERE M_ORDEM_FABRICACAO.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS1985 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS1985 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS1985 DEALLOCATE MATERIAIS33 END /* MATERIAIS R/1969 PRODUTOS_MODELO_MATERIAL ON PARENT UPDATE RESTRICT */ if update(MATERIAL) begin if exists ( select * from deleted,PRODUTOS_MODELO_MATERIAL where PRODUTOS_MODELO_MATERIAL.MATERIAL = deleted.MATERIAL ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #MATERIAIS #porque existem registros em #PRODUTOS_MODELO_MATERIAL#.'' goto error end end /* MATERIAIS R/1972 PRODUTOS_MODELO_MAT_PRI ON PARENT UPDATE RESTRICT */ if update(MATERIAL) begin if exists ( select * from deleted,PRODUTOS_MODELO_MAT_PRI where PRODUTOS_MODELO_MAT_PRI.MATERIAL = deleted.MATERIAL ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #MATERIAIS #porque existem registros em #PRODUTOS_MODELO_MAT_PRI#.'' goto error end end /* MATERIAIS R/1935 MATERIAIS_BASE_CONSUMO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS1935 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS1935 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS1935 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_CONSUMO SET MATERIAIS_BASE_CONSUMO.MATERIAL=@insMATERIAL WHERE MATERIAIS_BASE_CONSUMO.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS1935 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS1935 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS1935 DEALLOCATE MATERIAIS33 END /* MATERIAIS R/1364 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS1364 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS1364 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS1364 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.MATERIAL=@insMATERIAL WHERE PRODUTOS.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS1364 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS1364 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS1364 DEALLOCATE MATERIAIS33 END /* MATERIAIS R/1356 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS1356 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS1356 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS1356 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.MATERIAL=@insMATERIAL WHERE ORCAMENTOS.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS1356 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS1356 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS1356 DEALLOCATE MATERIAIS33 END /* MATERIAIS R/1278 PRODUTOS_FICHA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS1278 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS1278 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS1278 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FICHA SET PRODUTOS_FICHA.MATERIAL=@insMATERIAL WHERE PRODUTOS_FICHA.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS1278 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS1278 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS1278 DEALLOCATE MATERIAIS33 END /* MATERIAIS MATERIAIS_FOTO MATERIAIS_FOTO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS732 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS732 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS732 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FOTO SET MATERIAIS_FOTO.MATERIAL=@insMATERIAL WHERE MATERIAIS_FOTO.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS732 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS732 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS732 DEALLOCATE MATERIAIS33 END /* MATERIAIS MATERIAIS MATERIAIS_CORES ON PARENT UPDATE CASCADE */ IF update(MATERIAL) BEGIN DECLARE MATERIAIS274 CURSOR FOR SELECT MATERIAL FROM INSERTED DECLARE MATERIAIS33 CURSOR FOR SELECT MATERIAL FROM DELETED OPEN MATERIAIS274 OPEN MATERIAIS33 FETCH NEXT FROM MATERIAIS274 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_CORES SET MATERIAIS_CORES.MATERIAL=@insMATERIAL WHERE MATERIAIS_CORES.MATERIAL = @delMATERIAL FETCH NEXT FROM MATERIAIS274 INTO @insMATERIAL FETCH NEXT FROM MATERIAIS33 INTO @delMATERIAL END END CLOSE MATERIAIS274 CLOSE MATERIAIS33 DEALLOCATE MATERIAIS274 DEALLOCATE MATERIAIS33 END /* MATERIAIS_BASE R/1931 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE select @nullcnt = count(*) from inserted where inserted.REFERENCIA_BASE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TIPO_LAVAGEM R/1930 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(RESTRICAO_LAVAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO_LAVAGEM where inserted.RESTRICAO_LAVAGEM = MATERIAIS_TIPO_LAVAGEM.RESTRICAO_LAVAGEM select @nullcnt = count(*) from inserted where inserted.RESTRICAO_LAVAGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #MATERIAIS_TIPO_LAVAGEM #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1929 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end /* CONTAS_PLANO R/1616 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #CONTAS_PLANO #não existe.'' goto error end end /* MATERIAIS_TIPO MATERIAIS_TIPO MATERIAIS ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TIPO where inserted.TIPO = MATERIAIS_TIPO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #MATERIAIS_TIPO #não existe.'' goto error end end /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* TRIBUT_ICMS TRIBUT_ICMS MATERIAIS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM TRIBUT_ORIGEM MATERIAIS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF_FISCAL MATERIAIS ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* COLECOES COLECOES MATERIAIS ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #COLECOES #não existe.'' goto error end end /* UNIDADES UNIDADES_2 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(UNID_ESTOQUE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNID_ESTOQUE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES UNIDADES_1 MATERIAIS ON CHILD UPDATE RESTRICT */ if update(UNID_FICHA_TEC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNID_FICHA_TEC = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #UNIDADES #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS MATERIAIS ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES MATERIAIS ON CHILD UPDATE RESTRICT */ if update(FABRICANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FABRICANTE = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #FORNECEDORES #não existe.'' goto error end end /* MATERIAIS_SUBGRUPO MATERIAIS_SUBGRUPO MATERIAIS ON CHILD UPDATE RESTRICT */ if update(SUBGRUPO) or update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_SUBGRUPO where inserted.SUBGRUPO = MATERIAIS_SUBGRUPO.SUBGRUPO and inserted.GRUPO = MATERIAIS_SUBGRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS #porque #MATERIAIS_SUBGRUPO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE MATERIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MATERIAIS, INSERTED WHERE MATERIAIS.MATERIAL = INSERTED.MATERIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR MATERIAIS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[DIAS_ENTREGA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CTRL_UNID_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[REVENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS].[COMPRIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS].[COD_MATERIAL_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[VARIA_MATERIAL_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CTRL_PARTIDAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[VARIA_CUSTO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CTRL_PECAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[VARIA_PRECO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CTRL_PECAS_PARCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CUSTO_REPOSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS].[REF_FABRICANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[ICMS_CUSTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[CUSTO_A_VISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[TAXA_JUROS_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[MATERIAL_INDIRETO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[RESERVA_MATERIAL_OP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[ABATER_RESERVA_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[SEMI_ACABADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MATERIAIS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[COMPRA_MINIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[LOTE_ECONOMICO_COMPRAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[TEC_SIMPLES_TUBULAR_ABERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[TEC_LISO_ESTAMPA_LISTRA_XADREX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS].[TEC_TORNASOL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REGIOES_VENDA]( [REGIAO] [varchar](25) NOT NULL, [PESO_DA_REGIAO] [char](1) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKREGIOES_VENDA] PRIMARY KEY NONCLUSTERED ( [REGIAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_REGIOES_VENDA fecha de la secuencia de comandos: Sep 11 2001 18:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_REGIOES_VENDA] ON [REGIOES_VENDA] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_REGIOES_VENDA'')))=1) RETURN ELSE DECLARE @REGION CHAR(25) DECLARE REGION CURSOR FOR SELECT REGIAO FROM DELETED OPEN REGION FETCH NEXT FROM REGION INTO @REGION WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_REGIAO FROM GF_REGIOES_VENDA WHERE GF_REGIAO=@REGION) DELETE FROM GF_REGIOES_VENDA WHERE GF_REGIAO=@REGION ELSE BEGIN FETCH NEXT FROM REGION INTO @REGION END FETCH NEXT FROM REGION INTO @REGION END CLOSE REGION DEALLOCATE REGION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_REGIAO_VENDA fecha de la secuencia de comandos: Sep 11 2001 14:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_REGIOES_VENDA] ON [REGIOES_VENDA] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_REGIAO_VENDA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @REGION CHAR(25) DECLARE REGION CURSOR FOR SELECT REGIAO FROM INSERTED OPEN REGION FETCH NEXT FROM REGION INTO @REGION WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_REGIAO FROM GF_REGIOES_VENDA WHERE GF_REGIAO=@REGION) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_REGIOES_VENDA (ID,GF_REGIAO,GF_PESO_DA_REGI,DATA_PARA_TRANSFERENCIA, EMP,ACCESO,USERC,FECHAC,USERM,FECHAM,USERP) SELECT B.IDMAX,REGIAO,PESO_DA_REGIAO,DATA_PARA_TRANSFERENCIA, @EMPRESA,28983,@USER,GETDATE(),@USER,GETDATE(),@USER FROM REGIOES_VENDA A, GF_REGIOES_VENDACNT B WHERE REGIAO=@REGION UPDATE GF_REGIOES_VENDACNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM REGION INTO @REGION END FETCH NEXT FROM REGION INTO @REGION END CLOSE REGION DEALLOCATE REGION --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_REGIOES_VENDA fecha de la secuencia de comandos: Sep 11 2001 16:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_REGIOES_VENDA] ON [REGIOES_VENDA] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_REGIOES_VENDA'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_REGIOES_VENDA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_REGIOES_VENDA'')) ) < 2 ) BEGIN DECLARE @REGION CHAR(25), @REGIOND CHAR(25) DECLARE REGIOND CURSOR FOR SELECT REGIAO FROM DELETED DECLARE REGION CURSOR FOR SELECT REGIAO FROM INSERTED OPEN REGIOND OPEN REGION FETCH NEXT FROM REGIOND INTO @REGIOND FETCH NEXT FROM REGION INTO @REGION IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_REGIAO FROM GF_REGIOES_VENDA WHERE GF_REGIAO=@REGIOND) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_REGIOES_VENDA SET GF_REGIAO=@REGION, GF_PESO_DA_REGI=(SELECT PESO_DA_REGIAO FROM INSERTED WHERE REGIAO=@REGION), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE REGIAO=@REGION), USERM=@USER, FECHAM=GETDATE() WHERE GF_REGIAO=@REGIOND --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM REGIOND INTO @REGIOND FETCH NEXT FROM REGION INTO @REGION END FETCH NEXT FROM REGIOND INTO @REGIOND FETCH NEXT FROM REGION INTO @REGION END CLOSE REGIOND DEALLOCATE REGIOND CLOSE REGION DEALLOCATE REGION END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_REGIOES_VENDA] on [REGIOES_VENDA] for DELETE as /* DELETE trigger on REGIOES_VENDA */ begin declare @errno int, @errmsg varchar(255) /* REGIOES_VENDA REGIOES_VENDA CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.REGIAO = deleted.REGIAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REGIOES_VENDA #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* REGIOES_VENDA REGIOES_VENDA FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.REGIAO = deleted.REGIAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REGIOES_VENDA #porque existem registros em #FILIAIS#.'' goto error end /* REGIOES_VENDA REGIOES_VENDA REPRESENTANTES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REPRESENTANTES where REPRESENTANTES.REGIAO = deleted.REGIAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REGIOES_VENDA #porque existem registros em #REPRESENTANTES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REGIOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REGIOES_VENDA] on [REGIOES_VENDA] for UPDATE as /* UPDATE trigger on REGIOES_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREGIAO varchar(25), @delREGIAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REGIOES_VENDA REGIOES_VENDA CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(REGIAO) BEGIN DECLARE REGIOES_VENDA905 CURSOR FOR SELECT REGIAO FROM INSERTED DECLARE REGIOES_VENDA499 CURSOR FOR SELECT REGIAO FROM DELETED OPEN REGIOES_VENDA905 OPEN REGIOES_VENDA499 FETCH NEXT FROM REGIOES_VENDA905 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.REGIAO=@insREGIAO WHERE CLIENTES_ATACADO.REGIAO = @delREGIAO FETCH NEXT FROM REGIOES_VENDA905 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO END END CLOSE REGIOES_VENDA905 CLOSE REGIOES_VENDA499 DEALLOCATE REGIOES_VENDA905 DEALLOCATE REGIOES_VENDA499 END /* REGIOES_VENDA REGIOES_VENDA FILIAIS ON PARENT UPDATE CASCADE */ IF update(REGIAO) BEGIN DECLARE REGIOES_VENDA760 CURSOR FOR SELECT REGIAO FROM INSERTED DECLARE REGIOES_VENDA499 CURSOR FOR SELECT REGIAO FROM DELETED OPEN REGIOES_VENDA760 OPEN REGIOES_VENDA499 FETCH NEXT FROM REGIOES_VENDA760 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.REGIAO=@insREGIAO WHERE FILIAIS.REGIAO = @delREGIAO FETCH NEXT FROM REGIOES_VENDA760 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO END END CLOSE REGIOES_VENDA760 CLOSE REGIOES_VENDA499 DEALLOCATE REGIOES_VENDA760 DEALLOCATE REGIOES_VENDA499 END /* REGIOES_VENDA REGIOES_VENDA REPRESENTANTES ON PARENT UPDATE CASCADE */ IF update(REGIAO) BEGIN DECLARE REGIOES_VENDA703 CURSOR FOR SELECT REGIAO FROM INSERTED DECLARE REGIOES_VENDA499 CURSOR FOR SELECT REGIAO FROM DELETED OPEN REGIOES_VENDA703 OPEN REGIOES_VENDA499 FETCH NEXT FROM REGIOES_VENDA703 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTES SET REPRESENTANTES.REGIAO=@insREGIAO WHERE REPRESENTANTES.REGIAO = @delREGIAO FETCH NEXT FROM REGIOES_VENDA703 INTO @insREGIAO FETCH NEXT FROM REGIOES_VENDA499 INTO @delREGIAO END END CLOSE REGIOES_VENDA703 CLOSE REGIOES_VENDA499 DEALLOCATE REGIOES_VENDA703 DEALLOCATE REGIOES_VENDA499 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE REGIOES_VENDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REGIOES_VENDA, INSERTED WHERE REGIOES_VENDA.REGIAO = INSERTED.REGIAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR REGIOES_VENDA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[REGIOES_VENDA].[PESO_DA_REGIAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[REGIOES_VENDA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESUMO_OPERACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_RESUMO_OPERACAO]( [CODIGO_FILIAL] [char](6) NOT NULL, [DATA] [datetime] NOT NULL, [OPERACAO_VENDA] [char](3) NOT NULL, [TERMINAL_VENDA] [char](3) NOT NULL, [VENDEDOR] [char](4) NOT NULL, [GERENTE_PERIODO] [char](4) NOT NULL, [GERENTE_LOJA] [char](4) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [TERMINAL_PGTO] [char](3) NOT NULL, [COD_FORMA_PGTO] [char](2) NOT NULL, [PRAZO_MEDIO] [int] NOT NULL, [PERIODO_FECHAMENTO] [char](2) NOT NULL, [DESISTENCIA_DE_VENDA] [char](1) NOT NULL, [FORMA_PGTO] [varchar](40) NOT NULL, [DESC_OPERACAO_VENDA] [varchar](50) NULL, [TOTAL_ITENS] [int] NULL, [TOTAL_QTDE] [int] NULL, [TOTAL_DESCONTO] [numeric](14, 2) NULL, [TOTAL_TIKET] [numeric](14, 2) NULL, [TOTAL_VENDA_BRUTA] [numeric](14, 2) NULL, [TOTAL_TROCA] [numeric](14, 2) NULL, [TOTAL_QTDE_TROCA] [int] NULL, [NUMERO_TICKETS] [int] NULL, [TOTAL_VENDA_PGTO] [numeric](14, 2) NULL, [TOTAL_DESCONTO_PGTO] [numeric](14, 2) NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [TOTAL_QTDE_CANCELADA] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_RESUMO_OPERACAO] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [DATA] ASC, [OPERACAO_VENDA] ASC, [TERMINAL_VENDA] ASC, [VENDEDOR] ASC, [GERENTE_PERIODO] ASC, [GERENTE_LOJA] ASC, [CODIGO_TAB_PRECO] ASC, [TERMINAL_PGTO] ASC, [COD_FORMA_PGTO] ASC, [PRAZO_MEDIO] ASC, [PERIODO_FECHAMENTO] ASC, [DESISTENCIA_DE_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_RESUMO_OPERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_RESUMO_OPERACAO] on [LOJA_RESUMO_OPERACAO] for INSERT as /* INSERT trigger on LOJA_RESUMO_OPERACAO */ /* default body for LXI_LOJA_RESUMO_OPERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insDATA datetime, @insOPERACAO_VENDA char(3), @insTERMINAL_VENDA char(3), @insVENDEDOR char(4), @insGERENTE_PERIODO char(4), @insGERENTE_LOJA char(4), @insCODIGO_TAB_PRECO char(2), @insTERMINAL_PGTO char(3), @insCOD_FORMA_PGTO char(2), @insPRAZO_MEDIO int, @insPERIODO_FECHAMENTO char(2), @insDESISTENCIA_DE_VENDA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_RESUMO_OPERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESUMO_OPERACAO, INSERTED WHERE LOJA_RESUMO_OPERACAO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_RESUMO_OPERACAO.DATA = INSERTED.DATA and LOJA_RESUMO_OPERACAO.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA and LOJA_RESUMO_OPERACAO.TERMINAL_VENDA = INSERTED.TERMINAL_VENDA and LOJA_RESUMO_OPERACAO.VENDEDOR = INSERTED.VENDEDOR and LOJA_RESUMO_OPERACAO.GERENTE_PERIODO = INSERTED.GERENTE_PERIODO and LOJA_RESUMO_OPERACAO.GERENTE_LOJA = INSERTED.GERENTE_LOJA and LOJA_RESUMO_OPERACAO.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and LOJA_RESUMO_OPERACAO.TERMINAL_PGTO = INSERTED.TERMINAL_PGTO and LOJA_RESUMO_OPERACAO.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO and LOJA_RESUMO_OPERACAO.PRAZO_MEDIO = INSERTED.PRAZO_MEDIO and LOJA_RESUMO_OPERACAO.PERIODO_FECHAMENTO = INSERTED.PERIODO_FECHAMENTO and LOJA_RESUMO_OPERACAO.DESISTENCIA_DE_VENDA = INSERTED.DESISTENCIA_DE_VENDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_RESUMO_OPERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_RESUMO_OPERACAO] on [LOJA_RESUMO_OPERACAO] for UPDATE as /* UPDATE trigger on LOJA_RESUMO_OPERACAO */ /* default body for LXU_LOJA_RESUMO_OPERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insDATA datetime, @insOPERACAO_VENDA char(3), @insTERMINAL_VENDA char(3), @insVENDEDOR char(4), @insGERENTE_PERIODO char(4), @insGERENTE_LOJA char(4), @insCODIGO_TAB_PRECO char(2), @insTERMINAL_PGTO char(3), @insCOD_FORMA_PGTO char(2), @insPRAZO_MEDIO int, @insPERIODO_FECHAMENTO char(2), @insDESISTENCIA_DE_VENDA char(1), @delCODIGO_FILIAL char(6), @delDATA datetime, @delOPERACAO_VENDA char(3), @delTERMINAL_VENDA char(3), @delVENDEDOR char(4), @delGERENTE_PERIODO char(4), @delGERENTE_LOJA char(4), @delCODIGO_TAB_PRECO char(2), @delTERMINAL_PGTO char(3), @delCOD_FORMA_PGTO char(2), @delPRAZO_MEDIO int, @delPERIODO_FECHAMENTO char(2), @delDESISTENCIA_DE_VENDA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_RESUMO_OPERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESUMO_OPERACAO, INSERTED WHERE LOJA_RESUMO_OPERACAO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_RESUMO_OPERACAO.DATA = INSERTED.DATA and LOJA_RESUMO_OPERACAO.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA and LOJA_RESUMO_OPERACAO.TERMINAL_VENDA = INSERTED.TERMINAL_VENDA and LOJA_RESUMO_OPERACAO.VENDEDOR = INSERTED.VENDEDOR and LOJA_RESUMO_OPERACAO.GERENTE_PERIODO = INSERTED.GERENTE_PERIODO and LOJA_RESUMO_OPERACAO.GERENTE_LOJA = INSERTED.GERENTE_LOJA and LOJA_RESUMO_OPERACAO.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and LOJA_RESUMO_OPERACAO.TERMINAL_PGTO = INSERTED.TERMINAL_PGTO and LOJA_RESUMO_OPERACAO.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO and LOJA_RESUMO_OPERACAO.PRAZO_MEDIO = INSERTED.PRAZO_MEDIO and LOJA_RESUMO_OPERACAO.PERIODO_FECHAMENTO = INSERTED.PERIODO_FECHAMENTO and LOJA_RESUMO_OPERACAO.DESISTENCIA_DE_VENDA = INSERTED.DESISTENCIA_DE_VENDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_RESUMO_OPERACAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_RESUMO_OPERACAO].[DESISTENCIA_DE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_ITENS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_TIKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_VENDA_BRUTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_QTDE_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_VENDA_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_DESCONTO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESUMO_OPERACAO].[TOTAL_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_RESUMO_OPERACAO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_TAB_OPERACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_TAB_OPERACOES]( [TABELA_OPERACOES] [varchar](25) NOT NULL, [TOLERANCIA] [varchar](25) NOT NULL, [GRUPO_PRODUTO] [varchar](25) NOT NULL, [LINHA_INDUSTRIAL] [varchar](25) NOT NULL, [DESCRICAO_TABELA] [varchar](60) NULL, [QTDE_LOTE_ECONOMICO] [int] NULL, [TEMPO_TOTAL] [numeric](7, 3) NULL, [TEMPO_TOTAL_FIXO] [numeric](7, 3) NULL, [POSSUI_OPERACOES_CRONOMETRADAS] [bit] NOT NULL, [POSSUI_ROTAS_PRODUTIVAS] [bit] NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKPRODUTOS_TAB_OPERACOES] PRIMARY KEY NONCLUSTERED ( [TABELA_OPERACOES] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_TAB_]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_GF_PRODUTOS_TAB_ fecha de la secuencia de comandos: Oct 3 2001 15:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_TAB_] ON [PRODUTOS_TAB_OPERACOES] FOR DELETE NOT FOR REPLICATION AS BEGIN DELETE FROM GF_PRODUTOS_TAB_ WHERE GF_PRODUTOS_TAB_=(SELECT TABELA_OPERACOES FROM DELETED) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_TAB_]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_GF_PRODUTOS_TAB_ fecha de la secuencia de comandos: Oct 3 2001 15:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_TAB_] ON [PRODUTOS_TAB_OPERACOES] FOR INSERT NOT FOR REPLICATION AS BEGIN INSERT INTO GF_PRODUTOS_TAB_ (ID,GF_PRODUTOS_TAB_) SELECT ISNULL(( SELECT MAX(ID)+1 FROM GF_PRODUTOS_TAB_),1),TABELA_OPERACOES FROM INSERTED END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_TAB_]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_GF_PRODUTOS_TAB_ fecha de la secuencia de comandos: Oct 3 2000 15:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_TAB_] ON [PRODUTOS_TAB_OPERACOES] FOR UPDATE NOT FOR REPLICATION AS BEGIN UPDATE GF_PRODUTOS_TAB_ SET GF_PRODUTOS_TAB_=(SELECT TABELA_OPERACOES FROM INSERTED) WHERE GF_PRODUTOS_TAB_=(SELECT TABELA_OPERACOES FROM DELETED) END' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_TAB_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_TAB_OPERACOES] on [PRODUTOS_TAB_OPERACOES] for DELETE as /* DELETE trigger on PRODUTOS_TAB_OPERACOES */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_TAB_OPERACOES R/1963 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_OPERACOES #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_TAB_OPERACOES R/1678 PRODUCAO_CAPACIDADES ON PARENT DELETE CASCADE */ delete PRODUCAO_CAPACIDADES from PRODUCAO_CAPACIDADES,deleted where PRODUCAO_CAPACIDADES.TABELA_OPERACOES = deleted.TABELA_OPERACOES /* PRODUTOS_TAB_OPERACOES R/1677 PRODUTO_OPERACOES_ROTAS ON PARENT DELETE CASCADE */ delete PRODUTO_OPERACOES_ROTAS from PRODUTO_OPERACOES_ROTAS,deleted where PRODUTO_OPERACOES_ROTAS.TABELA_OPERACOES = deleted.TABELA_OPERACOES /* PRODUTOS_TAB_OPERACOES R/1348 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_OPERACOES #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_TAB_OPERACOES TABELA_CRONOMETRAGEM PRODUTIV_METAS_DIARIAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_METAS_DIARIAS where PRODUTIV_METAS_DIARIAS.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_OPERACOES #porque existem registros em #PRODUTIV_METAS_DIARIAS#.'' goto error end /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAB_OPERACOES #porque existem registros em #PRODUTOS#.'' goto error end /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS_OPERACOES ON PARENT DELETE CASCADE */ delete PRODUTOS_OPERACOES from PRODUTOS_OPERACOES,deleted where PRODUTOS_OPERACOES.TABELA_OPERACOES = deleted.TABELA_OPERACOES return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_TAB_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_TAB_OPERACOES] on [PRODUTOS_TAB_OPERACOES] for INSERT as /* INSERT trigger on PRODUTOS_TAB_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TOLERANCIAS TOLERANCIA PRODUTOS_TAB_OPERACOES ON CHILD INSERT RESTRICT */ if update(TOLERANCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TOLERANCIAS where inserted.TOLERANCIA = PRODUTIV_TOLERANCIAS.TOLERANCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAB_OPERACOES #porque #PRODUTIV_TOLERANCIAS #não existe.'' goto error end end /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_OPERACOES ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_GRUPO.GRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAB_OPERACOES #porque #PRODUTOS_GRUPO #não existe.'' goto error end end /* PRODUTIV_LINHA_INDUSTRIAL PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES ON CHILD INSERT RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAB_OPERACOES #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_TAB_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_TAB_OPERACOES] on [PRODUTOS_TAB_OPERACOES] for UPDATE as /* UPDATE trigger on PRODUTOS_TAB_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTABELA_OPERACOES varchar(25), @delTABELA_OPERACOES varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1963 PRODUTOS_MODELO ON PARENT UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_OPERACOES #porque existem registros em #PRODUTOS_MODELO#.'' goto error end end /* PRODUTOS_TAB_OPERACOES R/1678 PRODUCAO_CAPACIDADES ON PARENT UPDATE CASCADE */ IF update(TABELA_OPERACOES) BEGIN DECLARE PRODUTOS_TAB_OPERACOES1678 CURSOR FOR SELECT TABELA_OPERACOES FROM INSERTED DECLARE PRODUTOS_TAB_OPERACOES612 CURSOR FOR SELECT TABELA_OPERACOES FROM DELETED OPEN PRODUTOS_TAB_OPERACOES1678 OPEN PRODUTOS_TAB_OPERACOES612 FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1678 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CAPACIDADES SET PRODUCAO_CAPACIDADES.TABELA_OPERACOES=@insTABELA_OPERACOES WHERE PRODUCAO_CAPACIDADES.TABELA_OPERACOES = @delTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1678 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES END END CLOSE PRODUTOS_TAB_OPERACOES1678 CLOSE PRODUTOS_TAB_OPERACOES612 DEALLOCATE PRODUTOS_TAB_OPERACOES1678 DEALLOCATE PRODUTOS_TAB_OPERACOES612 END /* PRODUTOS_TAB_OPERACOES R/1677 PRODUTO_OPERACOES_ROTAS ON PARENT UPDATE CASCADE */ IF update(TABELA_OPERACOES) BEGIN DECLARE PRODUTOS_TAB_OPERACOES1677 CURSOR FOR SELECT TABELA_OPERACOES FROM INSERTED DECLARE PRODUTOS_TAB_OPERACOES612 CURSOR FOR SELECT TABELA_OPERACOES FROM DELETED OPEN PRODUTOS_TAB_OPERACOES1677 OPEN PRODUTOS_TAB_OPERACOES612 FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1677 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_OPERACOES_ROTAS SET PRODUTO_OPERACOES_ROTAS.TABELA_OPERACOES=@insTABELA_OPERACOES WHERE PRODUTO_OPERACOES_ROTAS.TABELA_OPERACOES = @delTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1677 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES END END CLOSE PRODUTOS_TAB_OPERACOES1677 CLOSE PRODUTOS_TAB_OPERACOES612 DEALLOCATE PRODUTOS_TAB_OPERACOES1677 DEALLOCATE PRODUTOS_TAB_OPERACOES612 END /* PRODUTOS_TAB_OPERACOES R/1348 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(TABELA_OPERACOES) BEGIN DECLARE PRODUTOS_TAB_OPERACOES1348 CURSOR FOR SELECT TABELA_OPERACOES FROM INSERTED DECLARE PRODUTOS_TAB_OPERACOES612 CURSOR FOR SELECT TABELA_OPERACOES FROM DELETED OPEN PRODUTOS_TAB_OPERACOES1348 OPEN PRODUTOS_TAB_OPERACOES612 FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1348 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.TABELA_OPERACOES=@insTABELA_OPERACOES WHERE ORCAMENTOS.TABELA_OPERACOES = @delTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1348 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES END END CLOSE PRODUTOS_TAB_OPERACOES1348 CLOSE PRODUTOS_TAB_OPERACOES612 DEALLOCATE PRODUTOS_TAB_OPERACOES1348 DEALLOCATE PRODUTOS_TAB_OPERACOES612 END /* PRODUTOS_TAB_OPERACOES TABELA_CRONOMETRAGEM PRODUTIV_METAS_DIARIAS ON PARENT UPDATE CASCADE */ IF update(TABELA_OPERACOES) BEGIN DECLARE PRODUTOS_TAB_OPERACOES1039 CURSOR FOR SELECT TABELA_OPERACOES FROM INSERTED DECLARE PRODUTOS_TAB_OPERACOES612 CURSOR FOR SELECT TABELA_OPERACOES FROM DELETED OPEN PRODUTOS_TAB_OPERACOES1039 OPEN PRODUTOS_TAB_OPERACOES612 FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1039 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_METAS_DIARIAS SET PRODUTIV_METAS_DIARIAS.TABELA_OPERACOES=@insTABELA_OPERACOES WHERE PRODUTIV_METAS_DIARIAS.TABELA_OPERACOES = @delTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES1039 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES END END CLOSE PRODUTOS_TAB_OPERACOES1039 CLOSE PRODUTOS_TAB_OPERACOES612 DEALLOCATE PRODUTOS_TAB_OPERACOES1039 DEALLOCATE PRODUTOS_TAB_OPERACOES612 END /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS ON PARENT UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin if exists ( select * from deleted,PRODUTOS where PRODUTOS.TABELA_OPERACOES = deleted.TABELA_OPERACOES ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_OPERACOES #porque existem registros em #PRODUTOS#.'' goto error end end /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS_OPERACOES ON PARENT UPDATE CASCADE */ IF update(TABELA_OPERACOES) BEGIN DECLARE PRODUTOS_TAB_OPERACOES934 CURSOR FOR SELECT TABELA_OPERACOES FROM INSERTED DECLARE PRODUTOS_TAB_OPERACOES612 CURSOR FOR SELECT TABELA_OPERACOES FROM DELETED OPEN PRODUTOS_TAB_OPERACOES934 OPEN PRODUTOS_TAB_OPERACOES612 FETCH NEXT FROM PRODUTOS_TAB_OPERACOES934 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_OPERACOES SET PRODUTOS_OPERACOES.TABELA_OPERACOES=@insTABELA_OPERACOES WHERE PRODUTOS_OPERACOES.TABELA_OPERACOES = @delTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES934 INTO @insTABELA_OPERACOES FETCH NEXT FROM PRODUTOS_TAB_OPERACOES612 INTO @delTABELA_OPERACOES END END CLOSE PRODUTOS_TAB_OPERACOES934 CLOSE PRODUTOS_TAB_OPERACOES612 DEALLOCATE PRODUTOS_TAB_OPERACOES934 DEALLOCATE PRODUTOS_TAB_OPERACOES612 END /* PRODUTIV_TOLERANCIAS TOLERANCIA PRODUTOS_TAB_OPERACOES ON CHILD UPDATE RESTRICT */ if update(TOLERANCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TOLERANCIAS where inserted.TOLERANCIA = PRODUTIV_TOLERANCIAS.TOLERANCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_OPERACOES #porque #PRODUTIV_TOLERANCIAS #não existe.'' goto error end end /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_OPERACOES ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_GRUPO.GRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_OPERACOES #porque #PRODUTOS_GRUPO #não existe.'' goto error end end /* PRODUTIV_LINHA_INDUSTRIAL PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES ON CHILD UPDATE RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAB_OPERACOES #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAB_OPERACOES].[DESCRICAO_TABELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_TAB_OPERACOES].[QTDE_LOTE_ECONOMICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_TAB_OPERACOES].[POSSUI_OPERACOES_CRONOMETRADAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_TAB_OPERACOES].[POSSUI_ROTAS_PRODUTIVAS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_SAIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_SAIDAS]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [TIPO_ENTRADA_SAIDA] [char](2) NULL, [FILIAL_DESTINO] [varchar](25) NULL, [NUMERO_NF_TRANSFERENCIA] [char](8) NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [INDICA_DEVOLUCAO] [bit] NOT NULL, [FORNECEDOR_DEVOLUCAO] [varchar](40) NULL, [EMISSAO] [datetime] NOT NULL, [TIMESTAMP] [timestamp] NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [FATOR_PRECO] [numeric](5, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [STATUS_TRANSITO] [char](1) NULL, [SERIE_NF] [char](2) NULL, [OBS] [text] NULL, CONSTRAINT [XPKLOJA_SAIDAS] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS]') AND name = N'XIE1LOJA_SAIDAS') CREATE NONCLUSTERED INDEX [XIE1LOJA_SAIDAS] ON [LOJA_SAIDAS] ( [EMISSAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS]') AND name = N'XIE2LOJA_SAIDAS') CREATE NONCLUSTERED INDEX [XIE2LOJA_SAIDAS] ON [LOJA_SAIDAS] ( [FILIAL] ASC, [EMISSAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS]') AND name = N'XIE3LOJA_SAIDAS') CREATE NONCLUSTERED INDEX [XIE3LOJA_SAIDAS] ON [LOJA_SAIDAS] ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [EMISSAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_SAIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_SAIDAS] on [LOJA_SAIDAS] for DELETE as /* DELETE trigger on LOJA_SAIDAS */ /* default body for LXD_LOJA_SAIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, LOJA_SAIDAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_SAIDAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_SAIDAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_SAIDAS_PRODUTO.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_SAIDAS R/1190 LOJA_SAIDAS_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_SAIDAS_PRODUTO from LOJA_SAIDAS_PRODUTO,deleted where LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and LOJA_SAIDAS_PRODUTO.FILIAL = deleted.FILIAL /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''S'''''',''LXD_LOJA_SAIDAS'' FROM DELETED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''S'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_SAIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_SAIDAS] on [LOJA_SAIDAS] for INSERT as /* INSERT trigger on LOJA_SAIDAS */ /* default body for LXI_LOJA_SAIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_TIPOS_ENTRADA_SAIDA R/1307 LOJA_SAIDAS ON CHILD INSERT RESTRICT */ if update(TIPO_ENTRADA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TIPOS_ENTRADA_SAIDA where inserted.TIPO_ENTRADA_SAIDA = LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_SAIDAS #porque #LOJA_TIPOS_ENTRADA_SAIDA #não existe.'' goto error end end /* FILIAIS FILIAL_DESTINO LOJA_SAIDAS ON CHILD INSERT RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DESTINO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_SAIDAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1174 LOJA_SAIDAS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_SAIDAS #porque #FILIAIS #não existe.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''',''LXI_LOJA_SAIDAS'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_SAIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_SAIDAS, INSERTED WHERE LOJA_SAIDAS.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_SAIDAS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_SAIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_SAIDAS] on [LOJA_SAIDAS] for UPDATE as /* UPDATE trigger on LOJA_SAIDAS */ /* default body for LXU_LOJA_SAIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, LOJA_SAIDAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_SAIDAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_SAIDAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_SAIDAS_PRODUTO.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, LOJA_SAIDAS_PRODUTO, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_SAIDAS_PRODUTO.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_SAIDAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_SAIDAS_PRODUTO.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_TIPOS_ENTRADA_SAIDA R/1307 LOJA_SAIDAS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENTRADA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TIPOS_ENTRADA_SAIDA where inserted.TIPO_ENTRADA_SAIDA = LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_SAIDAS #porque #LOJA_TIPOS_ENTRADA_SAIDA #não existe.'' goto error end end /* FILIAIS FILIAL_DESTINO LOJA_SAIDAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DESTINO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_SAIDAS #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS R/1174 LOJA_SAIDAS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_SAIDAS #porque #FILIAIS #não existe.'' goto error end end /* LOJA_SAIDAS R/1190 LOJA_SAIDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE LOJA_SAIDAS1190 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE LOJA_SAIDAS722 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN LOJA_SAIDAS1190 OPEN LOJA_SAIDAS722 FETCH NEXT FROM LOJA_SAIDAS1190 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_SAIDAS722 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_SAIDAS_PRODUTO SET LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, LOJA_SAIDAS_PRODUTO.FILIAL=@insFILIAL WHERE LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and LOJA_SAIDAS_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM LOJA_SAIDAS1190 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_SAIDAS722 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE LOJA_SAIDAS1190 CLOSE LOJA_SAIDAS722 DEALLOCATE LOJA_SAIDAS1190 DEALLOCATE LOJA_SAIDAS722 END /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''',''LXU_LOJA_SAIDAS'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_SAIDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_SAIDAS, INSERTED WHERE LOJA_SAIDAS.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_SAIDAS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_SAIDAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_SAIDAS].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS].[INDICA_DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_SAIDAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MATERIAIS_HISTORICO]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [DATA_CUSTO_MEDIO] [datetime] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [DATA_PROCESSADO] [datetime] NOT NULL, [QTDE_ESTOQUE] [decimal](10, 3) NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ULTIMO_CUSTO] [numeric](15, 5) NULL, [ULTIMO_CALCULADO] [numeric](15, 5) NULL, [MEDIO_CALCULADO] [numeric](15, 5) NULL, [CUSTO_MEDIO] [numeric](15, 5) NULL, [ULTIMA_SAIDA] [datetime] NULL, [ULTIMA_ENTRADA] [datetime] NULL, [INDICA_SAIDA_RETORNO] [bit] NOT NULL, [QTDE_ENTRADA] [numeric](9, 3) NULL, [QTDE_SAIDA] [numeric](9, 3) NULL, [QTDE_RETORNO] [numeric](9, 3) NULL, [QTDE_RETORNO_OF] [numeric](9, 3) NULL, [QTDE_AJUSTE] [numeric](9, 3) NULL, [FECHAMENTO] [bit] NOT NULL, [ULTIMO_RETORNO] [datetime] NULL, [ULTIMO_RETORNO_OF] [datetime] NULL, [ULTIMO_AJUSTE] [datetime] NULL, [CUSTO_APLICADO] [bit] NOT NULL, [CUSTO_REPOSICAO] [numeric](15, 5) NULL, [CUSTO_A_VISTA] [numeric](15, 5) NULL, CONSTRAINT [XPKESTOQUE_MATERIAIS_HISTORICO] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [FILIAL] ASC, [DATA_CUSTO_MEDIO] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS_HISTORICO]') AND name = N'XIE1ESTOQUE_MATERIAIS_HISTORIC') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_MATERIAIS_HISTORIC] ON [ESTOQUE_MATERIAIS_HISTORICO] ( [FILIAL] ASC, [MATERIAL] ASC, [DATA_CUSTO_MEDIO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MATERIAIS_HISTORIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MATERIAIS_HISTORIC] on [ESTOQUE_MATERIAIS_HISTORICO] for INSERT as /* INSERT trigger on ESTOQUE_MATERIAIS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ESTOQUE_MATERIAIS_HISTORICO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MATERIAIS_HISTORICO #porque #FILIAIS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS ESTOQUE_MATERIAIS_HISTORICO ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MATERIAIS_HISTORICO #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MATERIAIS_HISTORIC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MATERIAIS_HISTORIC] on [ESTOQUE_MATERIAIS_HISTORICO] for UPDATE as /* UPDATE trigger on ESTOQUE_MATERIAIS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFILIAL varchar(25), @insDATA_CUSTO_MEDIO datetime, @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delFILIAL varchar(25), @delDATA_CUSTO_MEDIO datetime, @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ESTOQUE_MATERIAIS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MATERIAIS_HISTORICO #porque #FILIAIS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS ESTOQUE_MATERIAIS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MATERIAIS_HISTORICO #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[QTDE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[ULTIMO_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[INDICA_SAIDA_RETORNO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[FECHAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_APLICADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_REPOSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS_HISTORICO].[CUSTO_A_VISTA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_PROD]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [PEDIDO] [char](12) NULL, [PEDIDO_PRODUTO] [char](12) NULL, [PEDIDO_COR] [char](10) NULL, [ENTREGA] [datetime] NULL, [CAIXA] [varchar](8) NULL, [IPI] [real] NULL, [ICMS] [numeric](8, 1) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [QTDE] [int] NULL, [PRECO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [PACKS] [char](24) NULL, [MATA_SALDO] [tinyint] NULL, [F1] [int] NULL, [F2] [int] NULL, [F3] [int] NULL, [F4] [int] NULL, [F5] [int] NULL, [F6] [int] NULL, [F7] [int] NULL, [F8] [int] NULL, [F9] [int] NULL, [F10] [int] NULL, [F11] [int] NULL, [F12] [int] NULL, [F13] [int] NULL, [F14] [int] NULL, [F15] [int] NULL, [F16] [int] NULL, [F17] [int] NULL, [F18] [int] NULL, [F19] [int] NULL, [F20] [int] NULL, [F21] [int] NULL, [F22] [int] NULL, [F23] [int] NULL, [F24] [int] NULL, [F25] [int] NULL, [F26] [int] NULL, [F27] [int] NULL, [F28] [int] NULL, [F29] [int] NULL, [F30] [int] NULL, [F31] [int] NULL, [F32] [int] NULL, [F33] [int] NULL, [F34] [int] NULL, [F35] [int] NULL, [F36] [int] NULL, [F37] [int] NULL, [F38] [int] NULL, [F39] [int] NULL, [F40] [int] NULL, [F41] [int] NULL, [F42] [int] NULL, [F43] [int] NULL, [F44] [int] NULL, [F45] [int] NULL, [F46] [int] NULL, [F47] [int] NULL, [F48] [int] NULL, [FAIXA] [char](1) NOT NULL, [ORIGEM] [char](1) NOT NULL, [ROMANEIO] [char](8) NULL, [CUSTO_NA_DATA] [numeric](14, 2) NULL, [TIMESTAMP] [varchar](28) NOT NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [ORIGEM_EMB] [char](1) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CODIGO_LOCAL_ENTREGA] [char](5) NULL, [ITEM_PEDIDO] [int] NULL, [ITEM_IMPRESSAO] [smallint] NULL, [ITEM_IMPRESSAO_FATURA] [smallint] NULL, [COMISSAO_LINEA] [real] NULL, [COD_TAB_PRECO_LINEA] [char](2) NULL, CONSTRAINT [XPKFATURAMENTO_PROD] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND name = N'XIE1FATURAMENTO_PROD') CREATE NONCLUSTERED INDEX [XIE1FATURAMENTO_PROD] ON [FATURAMENTO_PROD] ( [PEDIDO_PRODUTO] ASC, [PEDIDO_COR] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND name = N'XIE2FATURAMENTO_PROD') CREATE NONCLUSTERED INDEX [XIE2FATURAMENTO_PROD] ON [FATURAMENTO_PROD] ( [CAIXA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND name = N'XIE3FATURAMENTO_PROD') CREATE NONCLUSTERED INDEX [XIE3FATURAMENTO_PROD] ON [FATURAMENTO_PROD] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND name = N'XIE4FATURAMENTO_PROD') CREATE NONCLUSTERED INDEX [XIE4FATURAMENTO_PROD] ON [FATURAMENTO_PROD] ( [NF_SAIDA] ASC, [SERIE_NF] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_PROD]') AND name = N'XIE5FATURAMENTO_PROD') CREATE NONCLUSTERED INDEX [XIE5FATURAMENTO_PROD] ON [FATURAMENTO_PROD] ( [PEDIDO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_FATURAMENTO_PROD] on [FATURAMENTO_PROD] for DELETE as /* DELETE trigger on FATURAMENTO_PROD */ /* default body for LXD_FATURAMENTO_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(3), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, FATURAMENTO WHERE Deleted.FILIAL = FATURAMENTO.FILIAL AND Deleted.NF_SAIDA = FATURAMENTO.NF_SAIDA AND Deleted.SERIE_NF = FATURAMENTO.SERIE_NF AND FATURAMENTO.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, FATURAMENTO, ESTOQUE_PRODUTOS WHERE DELETED.FILIAL = FATURAMENTO.FILIAL AND DELETED.NF_SAIDA = FATURAMENTO.NF_SAIDA AND DELETED.SERIE_NF = FATURAMENTO.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND FATURAMENTO.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO_PROD FATURAMENTO_PROD ENTRADAS_PRO_DEVOL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_PRO_DEVOL where ENTRADAS_PRO_DEVOL.FILIAL = deleted.FILIAL and ENTRADAS_PRO_DEVOL.NF_SAIDA = deleted.NF_SAIDA and ENTRADAS_PRO_DEVOL.SERIE_NF = deleted.SERIE_NF and ENTRADAS_PRO_DEVOL.PRODUTO = deleted.PRODUTO and ENTRADAS_PRO_DEVOL.COR_PRODUTO = deleted.COR_PRODUTO and ENTRADAS_PRO_DEVOL.ITEM = deleted.ITEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_PROD #porque existem registros em #ENTRADAS_PRO_DEVOL#.'' goto error end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''S'''''',''LXD_FATURAMENTO_PROD'' FROM DELETED A JOIN FATURAMENTO B ON B.FILIAL=A.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''S'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*--Atualizacao de Vendas_Produto-------------------------------------------------------------------------------------*/ /*--Sergio 04/99------------------------------------------------------------------------------------------------------*/ declare cur_atualiza_vendas_produto_d cursor for select a.produto, a.cor_produto, a.pedido_produto, a.pedido_cor, a.filial, a.entrega, a.pedido, a.valor, a.qtde, isnull(a.cambio_na_data, 1), a.origem, a.origem_emb, a.romaneio, isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0), isnull(b.preco4, 0), isnull(b.desconto_item, 0), isnull(b.ipi, 0), a.mata_saldo, a.timestamp, c.ponteiro_preco_tam, c.varia_preco_tam, isnull(d.representante, ''''), isnull(b.qtde_embalada, 0), (case when cliente_atacado is null and nome_clifor is null then '''' when cliente_atacado is null then nome_clifor when nome_clifor is null then cliente_atacado else nome_clifor end ), a.packs, a.caixa, a.faixa, a.preco, item, a.desconto_item, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, isnull(vo1, 0), isnull(vo2, 0), isnull(vo3, 0), isnull(vo4, 0), isnull(vo5, 0), isnull(vo6, 0), isnull(vo7, 0), isnull(vo8, 0), isnull(vo9, 0), isnull(vo10, 0), isnull(vo11, 0), isnull(vo12, 0), isnull(vo13, 0), isnull(vo14, 0), isnull(vo15, 0), isnull(vo16, 0), isnull(vo17, 0), isnull(vo18, 0), isnull(vo19, 0), isnull(vo20, 0), isnull(vo21, 0), isnull(vo22, 0), isnull(vo23, 0), isnull(vo24, 0), isnull(vo25, 0), isnull(vo26, 0), isnull(vo27, 0), isnull(vo28, 0), isnull(vo29, 0), isnull(vo30, 0), isnull(vo31, 0), isnull(vo32, 0), isnull(vo33, 0), isnull(vo34, 0), isnull(vo35, 0), isnull(vo36, 0), isnull(vo37, 0), isnull(vo38, 0), isnull(vo39, 0), isnull(vo40, 0), isnull(vo41, 0), isnull(vo42, 0), isnull(vo43, 0), isnull(vo44, 0), isnull(vo45, 0), isnull(vo46, 0), isnull(vo47, 0), isnull(vo48, 0) from (deleted a left outer join vendas_produto b on a.pedido_produto = b.produto and a.pedido_cor = b.cor_produto and a.entrega = b.entrega and a.pedido = b.pedido left outer join vendas d on a.pedido = d.pedido left outer join faturamento_caixas e on a.caixa = e.caixa), w_produtos_cores c where c.produto=ISNULL(a.pedido_produto, a.produto) and c.cor_produto = ISNULL(a.pedido_cor, a.cor_produto) open cur_atualiza_vendas_produto_d declare @vproduto char(12), @vcor_produto char(10), @vpedido_produto char(12), @vpedido_cor char(10), @vfilial varchar(25), @ventrega datetime, @vpedido char(12), @vvalor numeric(14, 2), @vqtde int, @vcambio_na_data numeric(10,6), @vorigem char(1), @vorigem_emb char(1), @vromaneio char(8), @vpreco1 numeric(14, 2), @vpreco2 numeric(14, 2), @vpreco3 numeric(14, 2), @vpreco4 numeric(14, 2), @vdesconto_item numeric(14, 2), @vipi real, @vmata_saldo tinyint, @vtimestamp char(28), @vponteiro_preco_tam char(48), @vvaria_preco_tam bit, @vrepresentante varchar(25), @vqtde_embalada int, @vnome_clifor varchar(25), @vpacks char(24), @vcaixa varchar(8), @vfaixa char(1), @vpreco numeric(14, 2), @vf1 int, @vf2 int, @vf3 int, @vf4 int, @vf5 int, @vf6 int, @vf7 int, @vf8 int, @vf9 int, @vf10 int, @vf11 int, @vf12 int, @vf13 int, @vf14 int, @vf15 int, @vf16 int, @vf17 int, @vf18 int, @vf19 int, @vf20 int, @vf21 int, @vf22 int, @vf23 int, @vf24 int, @vf25 int, @vf26 int, @vf27 int, @vf28 int, @vf29 int, @vf30 int, @vf31 int, @vf32 int, @vf33 int, @vf34 int, @vf35 int, @vf36 int, @vf37 int, @vf38 int, @vf39 int, @vf40 int, @vf41 int, @vf42 int, @vf43 int, @vf44 int, @vf45 int, @vf46 int, @vf47 int, @vf48 int, @ve1 int, @ve2 int, @ve3 int, @ve4 int, @ve5 int, @ve6 int, @ve7 int, @ve8 int, @ve9 int, @ve10 int, @ve11 int, @ve12 int, @ve13 int, @ve14 int, @ve15 int, @ve16 int, @ve17 int, @ve18 int, @ve19 int, @ve20 int, @ve21 int, @ve22 int, @ve23 int, @ve24 int, @ve25 int, @ve26 int, @ve27 int, @ve28 int, @ve29 int, @ve30 int, @ve31 int, @ve32 int, @ve33 int, @ve34 int, @ve35 int, @ve36 int, @ve37 int, @ve38 int, @ve39 int, @ve40 int, @ve41 int, @ve42 int, @ve43 int, @ve44 int, @ve45 int, @ve46 int, @ve47 int, @ve48 int, @vvo1 int, @vvo2 int, @vvo3 int, @vvo4 int, @vvo5 int, @vvo6 int, @vvo7 int, @vvo8 int, @vvo9 int, @vvo10 int, @vvo11 int, @vvo12 int, @vvo13 int, @vvo14 int, @vvo15 int, @vvo16 int, @vvo17 int, @vvo18 int, @vvo19 int, @vvo20 int, @vvo21 int, @vvo22 int, @vvo23 int, @vvo24 int, @vvo25 int, @vvo26 int, @vvo27 int, @vvo28 int, @vvo29 int, @vvo30 int, @vvo31 int, @vvo32 int, @vvo33 int, @vvo34 int, @vvo35 int, @vvo36 int, @vvo37 int, @vvo38 int, @vvo39 int, @vvo40 int, @vvo41 int, @vvo42 int, @vvo43 int, @vvo44 int, @vvo45 int, @vvo46 int, @vvo47 int, @vvo48 int, @vqtde_entregar int, @vvalor_entregar numeric(14, 2), @vvalor_moeda numeric(14, 2), @ventregue_moeda numeric(14, 2), @vvalor_embalado numeric(14, 2), @xconta int, @vpreco_tot char(28), @vsequencial varchar(20), @vqtde_original int, @vitem char(3), @vdesconto_fat numeric(14, 2) fetch next from cur_atualiza_vendas_produto_d into @vproduto, @vcor_produto , @vpedido_produto, @vpedido_cor, @vfilial, @ventrega, @vpedido, @vvalor, @vqtde, @vcambio_na_data, @vorigem, @vorigem_emb, @vromaneio, @vpreco1, @vpreco2, @vpreco3, @vpreco4, @vdesconto_item, @vipi, @vmata_saldo, @vtimestamp, @vponteiro_preco_tam, @vvaria_preco_tam, @vrepresentante, @vqtde_embalada, @vnome_clifor, @vpacks, @vcaixa, @vfaixa, @vpreco, @vitem, @vdesconto_fat, @vf1, @vf2, @vf3, @vf4, @vf5, @vf6, @vf7, @vf8, @vf9, @vf10, @vf11, @vf12, @vf13, @vf14, @vf15, @vf16, @vf17, @vf18, @vf19, @vf20, @vf21, @vf22, @vf23, @vf24, @vf25, @vf26, @vf27, @vf28, @vf29, @vf30, @vf31, @vf32, @vf33, @vf34, @vf35, @vf36, @vf37, @vf38, @vf39, @vf40, @vf41, @vf42, @vf43, @vf44, @vf45, @vf46, @vf47, @vf48, @vvo1, @vvo2, @vvo3, @vvo4, @vvo5, @vvo6, @vvo7, @vvo8, @vvo9, @vvo10, @vvo11, @vvo12, @vvo13, @vvo14, @vvo15, @vvo16, @vvo17, @vvo18, @vvo19, @vvo20, @vvo21, @vvo22, @vvo23, @vvo24, @vvo25, @vvo26, @vvo27, @vvo28, @vvo29, @vvo30, @vvo31, @vvo32, @vvo33, @vvo34, @vvo35, @vvo36, @vvo37, @vvo38, @vvo39, @vvo40, @vvo41, @vvo42, @vvo43, @vvo44, @vvo45, @vvo46, @vvo47, @vvo48 while @@fetch_status >=0 begin execute f_producao_preco @vtimestamp, F, @vpreco_tot output if @vpedido is not null and @vpedido <> '' '' and exists(select pedido from vendas where pedido = @vpedido) begin select @vvo1 = @vvo1 - isnull(sum(f1), 0), @vvo2 = @vvo2 - isnull(sum(f2), 0), @vvo3 = @vvo3 - isnull(sum(f3), 0), @vvo4 = @vvo4 - isnull(sum(f4), 0), @vvo5 = @vvo5 - isnull(sum(f5), 0), @vvo6 = @vvo6 - isnull(sum(f6), 0), @vvo7 = @vvo7 - isnull(sum(f7), 0), @vvo8 = @vvo8 - isnull(sum(f8), 0), @vvo9 = @vvo9 - isnull(sum(f9), 0), @vvo10 = @vvo10 - isnull(sum(f10), 0), @vvo11 = @vvo11 - isnull(sum(f11), 0), @vvo12 = @vvo12 - isnull(sum(f12), 0), @vvo13 = @vvo13 - isnull(sum(f13), 0), @vvo14 = @vvo14 - isnull(sum(f14), 0), @vvo15 = @vvo15 - isnull(sum(f15), 0), @vvo16 = @vvo16 - isnull(sum(f16), 0), @vvo17 = @vvo17 - isnull(sum(f17), 0), @vvo18 = @vvo18 - isnull(sum(f18), 0), @vvo19 = @vvo19 - isnull(sum(f19), 0), @vvo20 = @vvo20 - isnull(sum(f20), 0), @vvo21 = @vvo21 - isnull(sum(f21), 0), @vvo22 = @vvo22 - isnull(sum(f22), 0), @vvo23 = @vvo23 - isnull(sum(f23), 0), @vvo24 = @vvo24 - isnull(sum(f24), 0), @vvo25 = @vvo25 - isnull(sum(f25), 0), @vvo26 = @vvo26 - isnull(sum(f26), 0), @vvo27 = @vvo27 - isnull(sum(f27), 0), @vvo28 = @vvo28 - isnull(sum(f28), 0), @vvo29 = @vvo29 - isnull(sum(f29), 0), @vvo30 = @vvo30 - isnull(sum(f30), 0), @vvo31 = @vvo31 - isnull(sum(f31), 0), @vvo32 = @vvo32 - isnull(sum(f32), 0), @vvo33 = @vvo33 - isnull(sum(f33), 0), @vvo34 = @vvo34 - isnull(sum(f34), 0), @vvo35 = @vvo35 - isnull(sum(f35), 0), @vvo36 = @vvo36 - isnull(sum(f36), 0), @vvo37 = @vvo37 - isnull(sum(f37), 0), @vvo38 = @vvo38 - isnull(sum(f38), 0), @vvo39 = @vvo39 - isnull(sum(f39), 0), @vvo40 = @vvo40 - isnull(sum(f40), 0), @vvo41 = @vvo41 - isnull(sum(f41) ,0), @vvo42 = @vvo42 - isnull(sum(f42), 0), @vvo43 = @vvo43 - isnull(sum(f43), 0), @vvo44 = @vvo44 - isnull(sum(f44), 0), @vvo45 = @vvo45 - isnull(sum(f45), 0), @vvo46 = @vvo46 - isnull(sum(f46), 0), @vvo47 = @vvo47 - isnull(sum(f47), 0), @vvo48 = @vvo48 - isnull(sum(f48), 0) from faturamento_prod where pedido = @vpedido and pedido_produto = @vpedido_produto and pedido_cor = @vpedido_cor and entrega = @ventrega select @vvo1 = @vvo1 - isnull(sum(vo1), 0), @vvo2 = @vvo2 - isnull(sum(vo2), 0), @vvo3 = @vvo3 - isnull(sum(vo3), 0), @vvo4 = @vvo4 - isnull(sum(vo4), 0), @vvo5 = @vvo5 - isnull(sum(vo5), 0), @vvo6 = @vvo6 - isnull(sum(vo6), 0), @vvo7 = @vvo7 - isnull(sum(vo7), 0), @vvo8 = @vvo8 - isnull(sum(vo8), 0), @vvo9 = @vvo9 - isnull(sum(vo9), 0), @vvo10 = @vvo10 - isnull(sum(vo10), 0), @vvo11 = @vvo11 - isnull(sum(vo11), 0), @vvo12 = @vvo12 - isnull(sum(vo12), 0), @vvo13 = @vvo13 - isnull(sum(vo13), 0), @vvo14 = @vvo14 - isnull(sum(vo14), 0), @vvo15 = @vvo15 - isnull(sum(vo15), 0), @vvo16 = @vvo16 - isnull(sum(vo16), 0), @vvo17 = @vvo17 - isnull(sum(vo17), 0), @vvo18 = @vvo18 - isnull(sum(vo18), 0), @vvo19 = @vvo19 - isnull(sum(vo19), 0), @vvo20 = @vvo20 - isnull(sum(vo20), 0), @vvo21 = @vvo21 - isnull(sum(vo21), 0), @vvo22 = @vvo22 - isnull(sum(vo22), 0), @vvo23 = @vvo23 - isnull(sum(vo23), 0), @vvo24 = @vvo24 - isnull(sum(vo24), 0), @vvo25 = @vvo25 - isnull(sum(vo25), 0), @vvo26 = @vvo26 - isnull(sum(vo26), 0), @vvo27 = @vvo27 - isnull(sum(vo27), 0), @vvo28 = @vvo28 - isnull(sum(vo28), 0), @vvo29 = @vvo29 - isnull(sum(vo29), 0), @vvo30 = @vvo30 - isnull(sum(vo30), 0), @vvo31 = @vvo31 - isnull(sum(vo31), 0), @vvo32 = @vvo32 - isnull(sum(vo32), 0), @vvo33 = @vvo33 - isnull(sum(vo33), 0), @vvo34 = @vvo34 - isnull(sum(vo34), 0), @vvo35 = @vvo35 - isnull(sum(vo35), 0), @vvo36 = @vvo36 - isnull(sum(vo36), 0), @vvo37 = @vvo37 - isnull(sum(vo37), 0), @vvo38 = @vvo38 - isnull(sum(vo38), 0), @vvo39 = @vvo39 - isnull(sum(vo39), 0), @vvo40 = @vvo40 - isnull(sum(vo40), 0), @vvo41 = @vvo41 - isnull(sum(vo41) ,0), @vvo42 = @vvo42 - isnull(sum(vo42), 0), @vvo43 = @vvo43 - isnull(sum(vo43), 0), @vvo44 = @vvo44 - isnull(sum(vo44), 0), @vvo45 = @vvo45 - isnull(sum(vo45), 0), @vvo46 = @vvo46 - isnull(sum(vo46), 0), @vvo47 = @vvo47 - isnull(sum(vo47), 0), @vvo48 = @vvo48 - isnull(sum(vo48), 0) from vendas_canc_prod where pedido = @vpedido and produto = @vpedido_produto and cor_produto = @vpedido_cor and entrega = @ventrega select @vvo1 = case when @vvo1 < 0 then 0 else @vvo1 end, @vvo2 = case when @vvo2 < 0 then 0 else @vvo2 end, @vvo3 = case when @vvo3 < 0 then 0 else @vvo3 end, @vvo4 = case when @vvo4 < 0 then 0 else @vvo4 end, @vvo5 = case when @vvo5 < 0 then 0 else @vvo5 end, @vvo6 = case when @vvo6 < 0 then 0 else @vvo6 end, @vvo7 = case when @vvo7 < 0 then 0 else @vvo7 end, @vvo8 = case when @vvo8 < 0 then 0 else @vvo8 end, @vvo9 = case when @vvo9 < 0 then 0 else @vvo9 end, @vvo10 = case when @vvo10 < 0 then 0 else @vvo10 end, @vvo11 = case when @vvo11 < 0 then 0 else @vvo11 end, @vvo12 = case when @vvo12 < 0 then 0 else @vvo12 end, @vvo13 = case when @vvo13 < 0 then 0 else @vvo13 end, @vvo14 = case when @vvo14 < 0 then 0 else @vvo14 end, @vvo15 = case when @vvo15 < 0 then 0 else @vvo15 end, @vvo16 = case when @vvo16 < 0 then 0 else @vvo16 end, @vvo17 = case when @vvo17 < 0 then 0 else @vvo17 end, @vvo18 = case when @vvo18 < 0 then 0 else @vvo18 end, @vvo19 = case when @vvo19 < 0 then 0 else @vvo19 end, @vvo20 = case when @vvo20 < 0 then 0 else @vvo20 end, @vvo21 = case when @vvo21 < 0 then 0 else @vvo21 end, @vvo22 = case when @vvo22 < 0 then 0 else @vvo22 end, @vvo23 = case when @vvo23 < 0 then 0 else @vvo23 end, @vvo24 = case when @vvo24 < 0 then 0 else @vvo24 end, @vvo25 = case when @vvo25 < 0 then 0 else @vvo25 end, @vvo26 = case when @vvo26 < 0 then 0 else @vvo26 end, @vvo27 = case when @vvo27 < 0 then 0 else @vvo27 end, @vvo28 = case when @vvo28 < 0 then 0 else @vvo28 end, @vvo29 = case when @vvo29 < 0 then 0 else @vvo29 end, @vvo30 = case when @vvo30 < 0 then 0 else @vvo30 end, @vvo31 = case when @vvo31 < 0 then 0 else @vvo31 end, @vvo32 = case when @vvo32 < 0 then 0 else @vvo32 end, @vvo33 = case when @vvo33 < 0 then 0 else @vvo33 end, @vvo34 = case when @vvo34 < 0 then 0 else @vvo34 end, @vvo35 = case when @vvo35 < 0 then 0 else @vvo35 end, @vvo36 = case when @vvo36 < 0 then 0 else @vvo36 end, @vvo37 = case when @vvo37 < 0 then 0 else @vvo37 end, @vvo38 = case when @vvo38 < 0 then 0 else @vvo38 end, @vvo39 = case when @vvo38 < 0 then 0 else @vvo39 end, @vvo40 = case when @vvo40 < 0 then 0 else @vvo40 end, @vvo41 = case when @vvo41 < 0 then 0 else @vvo41 end, @vvo42 = case when @vvo42 < 0 then 0 else @vvo42 end, @vvo43 = case when @vvo43 < 0 then 0 else @vvo43 end, @vvo44 = case when @vvo44 < 0 then 0 else @vvo44 end, @vvo45 = case when @vvo45 < 0 then 0 else @vvo45 end, @vvo46 = case when @vvo46 < 0 then 0 else @vvo46 end, @vvo47 = case when @vvo47 < 0 then 0 else @vvo47 end, @vvo48 = case when @vvo48 < 0 then 0 else @vvo48 end select @vvalor_entregar = 0, @xconta = 1, @vqtde_entregar = (@vvo1 +@vvo2 +@vvo3 +@vvo4 +@vvo5 +@vvo6 +@vvo7 +@vvo8 +@vvo9 +@vvo10+@vvo11+@vvo12+@vvo13+@vvo14+@vvo15+@vvo16+@vvo17+@vvo18+@vvo19+@vvo20+@vvo21+@vvo22+@vvo23+@vvo24+ @vvo25+@vvo26+@vvo27+@vvo28+@vvo29+@vvo30+@vvo31+@vvo32+@vvo33+@vvo34+@vvo35+@vvo36+@vvo37+@vvo38+@vvo39+@vvo40+@vvo41+@vvo42+@vvo43+@vvo44+@vvo45+@vvo46+@vvo47+@vvo48) if @vvaria_preco_tam = 1 begin while @xconta <= 48 begin select @vvalor_entregar = @vvalor_entregar + convert(numeric(14, 2), (case @xconta when 1 then @vvo1 when 2 then @vvo2 when 3 then @vvo3 when 4 then @vvo4 when 5 then @vvo5 when 6 then @vvo6 when 7 then @vvo7 when 8 then @vvo8 when 9 then @vvo9 when 10 then @vvo10 when 11 then @vvo11 when 12 then @vvo12 when 13 then @vvo13 when 14 then @vvo14 when 15 then @vvo15 when 16 then @vvo16 when 17 then @vvo17 when 18 then @vvo18 when 19 then @vvo19 when 20 then @vvo20 when 21 then @vvo21 when 22 then @vvo22 when 23 then @vvo23 when 24 then @vvo24 when 25 then @vvo25 when 26 then @vvo26 when 27 then @vvo27 when 28 then @vvo28 when 29 then @vvo29 when 30 then @vvo30 when 31 then @vvo31 when 32 then @vvo32 when 33 then @vvo33 when 34 then @vvo34 when 35 then @vvo35 when 36 then @vvo36 when 37 then @vvo37 when 38 then @vvo38 when 39 then @vvo39 when 40 then @vvo40 when 41 then @vvo41 when 42 then @vvo42 when 43 then @vvo43 when 44 then @vvo44 when 45 then @vvo45 when 46 then @vvo46 when 47 then @vvo47 when 48 then @vvo48 end) * ((case convert(int, substring(@vponteiro_preco_tam, @xconta, 1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_item)), @xconta = @xconta + 1 end end else select @vvalor_entregar = convert(numeric(14, 2), @vqtde_entregar * @vpreco1) update vendas_produto set qtde_embalada = qtde_embalada + case when @vorigem = ''T'' or @vorigem = ''E'' then @vqtde else 0 end, qtde_entregar = @vqtde_entregar, qtde_entregue = qtde_entregue - @vqtde, valor_entregar = @vvalor_entregar, valor_entregue = valor_entregue - convert(numeric(14, 2), (@vqtde * convert(numeric(14, 2), @vpreco_tot))), entregue_moeda_padrao = entregue_moeda_padrao - convert(numeric(14, 2), (@vqtde * convert(numeric(14, 2), @vcambio_na_data)) * convert(numeric(14, 2), @vpreco_tot)), ve1 = @vvo1, ve2 = @vvo2, ve3 = @vvo3, ve4 = @vvo4, ve5 = @vvo5, ve6 = @vvo6, ve7 = @vvo7, ve8 = @vvo8, ve9 = @vvo9, ve10 = @vvo10, ve11 = @vvo11, ve12 = @vvo12, ve13 = @vvo13, ve14 = @vvo14, ve15 = @vvo15, ve16 = @vvo16, ve17 = @vvo17, ve18 = @vvo18, ve19 = @vvo19, ve20 = @vvo20, ve21 = @vvo21, ve22 = @vvo22, ve23 = @vvo23, ve24 = @vvo24, ve25 = @vvo25, ve26 = @vvo26, ve27 = @vvo27, ve28 = @vvo28, ve29 = @vvo29, ve30 = @vvo30, ve31 = @vvo31, ve32 = @vvo32, ve33 = @vvo33, ve34 = @vvo34, ve35 = @vvo35, ve36 = @vvo36, ve37 = @vvo37, ve38 = @vvo38, ve39 = @vvo39, ve40 = @vvo40, ve41 = @vvo41, ve42 = @vvo42, ve43 = @vvo43, ve44 = @vvo44, ve45 = @vvo45, ve46 = @vvo46, ve47 = @vvo47, ve48 = @vvo48 where pedido = @vpedido and produto = @vpedido_produto and cor_produto = @vpedido_cor and entrega = @ventrega if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PRODUTO"'' goto error end end if (@vorigem = ''T'' or @vorigem = ''E'') and (@vnome_clifor is not null and @vnome_clifor <> '' '') begin select @ve1 = e1, @ve2 = e2, @ve3 = e3, @ve4 = e4, @ve5 = e5, @ve6 = e6, @ve7 = e7, @ve8 = e8, @ve9 = e9, @ve10 = e10, @ve11 = e11, @ve12 = e12, @ve13 = e13, @ve14 = e14, @ve15 = e15, @ve16 = e16, @ve17 = e17, @ve18 = e18, @ve19 = e19, @ve20 = e20, @ve21 = e21, @ve22 = e22, @ve23 = e23, @ve24 = e24, @ve25 = e25, @ve26 = e26, @ve27 = e27, @ve28 = e28, @ve29 = e29, @ve30 = e30, @ve31 = e31, @ve32 = e32, @ve33 = e33, @ve34 = e34, @ve35 = e35, @ve36 = e36, @ve37 = e37, @ve38 = e38, @ve39 = e39, @ve40 = e40, @ve41 = e41, @ve42 = e42, @ve43 = e43, @ve44 = e44, @ve45 = e45, @ve46 = e46, @ve47 = e47, @ve48 = e48, @vqtde_embalada = qtde_embalada, @vvalor_embalado = valor_embalado, @vpreco1 = preco1, @vpreco2 = preco2, @vpreco3 = preco3, @vpreco4 = preco4, @vdesconto_fat = desconto_item from vendas_prod_embalado where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and filial = @vfilial and (origem = @vorigem_emb or origem is null) and (romaneio = @vromaneio or romaneio is null) and (caixa = @vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount > 0 begin if @vvaria_preco_tam = 1 begin select @vpreco1 = case when @vpreco1 = 0 and @vfaixa = ''1'' then @vpreco else @vpreco1 end select @vpreco2 = case when @vpreco2 = 0 and @vfaixa = ''2'' then @vpreco else @vpreco2 end select @vpreco3 = case when @vpreco3 = 0 and @vfaixa = ''3'' then @vpreco else @vpreco3 end select @vpreco4 = case when @vpreco4 = 0 and @vfaixa = ''4'' then @vpreco else @vpreco4 end select @xconta = 1, @vvalor_embalado = 0 while @xconta <= 48 begin select @vvalor_embalado = @vvalor_embalado + convert(numeric(14, 2), ( case @xconta when 1 then (@vf1+@ve1) when 2 then (@vf2+@ve2) when 3 then (@vf3+@ve3) when 4 then (@vf4+@ve4) when 5 then (@vf5+@ve5) when 6 then (@vf6+@ve6) when 7 then (@vf7+@ve7) when 8 then (@vf8+@ve8) when 9 then (@vf9+@ve9) when 10 then (@vf10+@ve10) when 11 then (@vf11+@ve11) when 12 then (@vf12+@ve12) when 13 then (@vf13+@ve13) when 14 then (@vf14+@ve14) when 15 then (@vf15+@ve15) when 16 then (@vf16+@ve16) when 17 then (@vf17+@ve17) when 18 then (@vf18+@ve18) when 19 then (@vf19+@ve19) when 20 then (@vf20+@ve20) when 21 then (@vf21+@ve21) when 22 then (@vf22+@ve22) when 23 then (@vf23+@ve23) when 24 then (@vf24+@ve24) when 25 then (@vf25+@ve25) when 26 then (@vf26+@ve26) when 27 then (@vf27+@ve27) when 28 then (@vf28+@ve28) when 29 then (@vf29+@ve29) when 30 then (@vf30+@ve30) when 31 then (@vf31+@ve31) when 32 then (@vf32+@ve32) when 33 then (@vf33+@ve33) when 34 then (@vf34+@ve34) when 35 then (@vf35+@ve35) when 36 then (@vf36+@ve36) when 37 then (@vf37+@ve37) when 38 then (@vf38+@ve38) when 39 then (@vf39+@ve39) when 40 then (@vf40+@ve40) when 41 then (@vf41+@ve41) when 42 then (@vf42+@ve42) when 43 then (@vf43+@ve43) when 44 then (@vf44+@ve44) when 45 then (@vf45+@ve45) when 46 then (@vf46+@ve46) when 47 then (@vf47+@ve47) when 48 then (@vf48+@ve48) end) * ((case convert(int, substring(@vponteiro_preco_tam, @xconta, 1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_fat)), @xconta = @xconta + 1 end end else select @vvalor_embalado = convert(numeric(14, 2), ((@vqtde_embalada+@vqtde) * (@vpreco1 - @vdesconto_fat))) update vendas_prod_embalado set valor_embalado = @vvalor_embalado, qtde_embalada = @vqtde_embalada + @vqtde, e1 = e1+@vf1, e2 = e2 +@vf2, e3 = e3 +@vf3, e4 = e4 + @vf4, e5 = e5+@vf5, e6 = e6 +@vf6, e7 = e7 +@vf7, e8 = e8 + @vf8, e9 = e9+@vf9, e10 = e10+@vf10, e11 = e11+@vf11, e12 = e12+@vf12, e13 = e13+@vf13, e14 = e14+@vf14, e15 = e15+@vf15, e16 = e16+@vf16, e17 = e17+@vf17, e18 = e18+@vf18, e19 = e19+@vf19, e20 = e20+@vf20, e21 = e21+@vf21, e22 = e22+@vf22, e23 = e23+@vf23, e24 = e24+@vf24, e25 = e25+@vf25, e26 = e26+@vf26, e27 = e27+@vf27, e28 = e28+@vf28, e29 = e29+@vf29, e30 = e30+@vf30, e31 = e31+@vf31, e32 = e32+@vf32, e33 = e33+@vf33, e34 = e34+@vf34, e35 = e35+@vf35, e36 = e36+@vf36, e37 = e37+@vf37, e38 = e38+@vf38, e39 = e39+@vf39, e40 = e40+@vf40, e41 = e41+@vf41, e42 = e42+@vf42, e43 = e43+@vf43, e44 = e44+@vf44, e45 = e45+@vf45, e46 = e46+@vf46, e47 = e47+@vf47, e48 = e48+@vf48, preco1 = @vpreco1, preco2 = @vpreco2, preco3 = @vpreco3, preco4 = @vpreco4 where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and filial = @vfilial and (origem = @vorigem_emb or origem is null) and (caixa = @vcaixa or caixa is null) and (romaneio = @vromaneio or romaneio is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end else begin select @vsequencial = isnull(right(str(1000+convert(int, max(item))+1),3), ''001'') from vendas_prod_embalado where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and filial = @vfilial select @vpreco1 = 0, @vpreco2 = 0, @vpreco3 = 0, @vpreco4 = 0 select @vpreco1 = @vpreco + @vdesconto_fat where @vfaixa = ''1'' select @vpreco2 = @vpreco + @vdesconto_fat where @vfaixa = ''2'' select @vpreco3 = @vpreco + @vdesconto_fat where @vfaixa = ''3'' select @vpreco4 = @vpreco + @vdesconto_fat where @vfaixa = ''4'' select @vvalor_embalado = (@vqtde * (@vpreco - @vdesconto_item)) insert into vendas_prod_embalado (nome_clifor, produto, cor_produto, filial, item, pedido_cor_produto, romaneio, caixa, pedido, pedido_produto, packs, entrega, caixa_fechada, representante, ipi, preco1, preco2, preco3, preco4, desconto_item, valor_embalado, qtde_embalada, origem, mata_saldo, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48) values (@vnome_clifor, @vproduto, @vcor_produto, @vfilial, @vsequencial, @vpedido_cor, @vromaneio, @vcaixa, @vpedido, @vpedido_produto, @vpacks, @ventrega, 1, @vrepresentante, @vipi, @vpreco1, @vpreco2, @vpreco3, @vpreco4, @vdesconto_item, @vvalor_embalado, @vqtde, @vorigem_emb, @vmata_saldo, @vf1, @vf2, @vf3, @vf4, @vf5, @vf6, @vf7, @vf8, @vf9, @vf10, @vf11, @vf12, @vf13, @vf14, @vf15, @vf16, @vf17, @vf18, @vf19, @vf20, @vf21, @vf22, @vf23, @vf24, @vf25, @vf26, @vf27, @vf28, @vf29, @vf30, @vf31, @vf32, @vf33, @vf34, @vf35, @vf36, @vf37, @vf38, @vf39, @vf40, @vf41, @vf42, @vf43, @vf44, @vf45, @vf46, @vf47, @vf48) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end end fetch next from cur_atualiza_vendas_produto_d into @vproduto, @vcor_produto , @vpedido_produto, @vpedido_cor, @vfilial, @ventrega, @vpedido, @vvalor, @vqtde, @vcambio_na_data, @vorigem, @vorigem_emb, @vromaneio, @vpreco1, @vpreco2, @vpreco3, @vpreco4, @vdesconto_item, @vipi, @vmata_saldo, @vtimestamp, @vponteiro_preco_tam, @vvaria_preco_tam, @vrepresentante, @vqtde_embalada, @vnome_clifor, @vpacks, @vcaixa, @vfaixa, @vpreco, @vitem, @vdesconto_item, @vf1, @vf2, @vf3, @vf4, @vf5, @vf6, @vf7, @vf8, @vf9, @vf10, @vf11, @vf12, @vf13, @vf14, @vf15, @vf16, @vf17, @vf18, @vf19, @vf20, @vf21, @vf22, @vf23, @vf24, @vf25, @vf26, @vf27, @vf28, @vf29, @vf30, @vf31, @vf32, @vf33, @vf34, @vf35, @vf36, @vf37, @vf38, @vf39, @vf40, @vf41, @vf42, @vf43, @vf44, @vf45, @vf46, @vf47, @vf48, @vvo1, @vvo2, @vvo3, @vvo4, @vvo5, @vvo6, @vvo7, @vvo8, @vvo9, @vvo10, @vvo11, @vvo12, @vvo13, @vvo14, @vvo15, @vvo16, @vvo17, @vvo18, @vvo19, @vvo20, @vvo21, @vvo22, @vvo23, @vvo24, @vvo25, @vvo26, @vvo27, @vvo28, @vvo29, @vvo30, @vvo31, @vvo32, @vvo33, @vvo34, @vvo35, @vvo36, @vvo37, @vvo38, @vvo39, @vvo40, @vvo41, @vvo42, @vvo43, @vvo44, @vvo45, @vvo46, @vvo47, @vvo48 end close cur_atualiza_vendas_produto_d deallocate cur_atualiza_vendas_produto_d /*--------------------------------------------------------------------------------------------------------------------*/ /*--Fim alteracao-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_FATURAMENTO_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAMENTO_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAMENTO_PROD DEALLOCATE cur_FATURAMENTO_PROD /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_FATURAMENTO_PROD] on [FATURAMENTO_PROD] for INSERT as /* INSERT trigger on FATURAMENTO_PROD */ /* default body for LXI_FATURAMENTO_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, FATURAMENTO WHERE Inserted.FILIAL = FATURAMENTO.FILIAL AND Inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA AND Inserted.SERIE_NF = FATURAMENTO.SERIE_NF AND FATURAMENTO.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, FATURAMENTO, ESTOQUE_PRODUTOS WHERE INSERTED.FILIAL = FATURAMENTO.FILIAL AND INSERTED.NF_SAIDA = FATURAMENTO.NF_SAIDA AND INSERTED.SERIE_NF = FATURAMENTO.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND FATURAMENTO.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO_CAIXAS CAIXAS FATURAMENTO_PROD ON CHILD INSERT RESTRICT */ if update(CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXAS where inserted.CAIXA = FATURAMENTO_CAIXAS.CAIXA select @nullcnt = count(*) from inserted where inserted.CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_PROD #porque #FATURAMENTO_CAIXAS #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO FATURAMENTO_PROD ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PEDIDO_PRODUTO) or update(PEDIDO_COR) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PEDIDO_PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.PEDIDO_COR = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA select @nullcnt = count(*) from inserted where inserted.PEDIDO is null or inserted.PEDIDO_PRODUTO is null or inserted.PEDIDO_COR is null or inserted.ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_PROD #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAMENTO_PROD ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_PROD #porque #FATURAMENTO #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES FATURAMENTO_PROD ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''',''LXI_FATURAMENTO_PROD'' FROM INSERTED A JOIN FATURAMENTO B ON B.FILIAL=A.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Venda Produto -------------------------------------------------------------------------------------------*/ /*--Atualizacao de Vendas_Produto-------------------------------------------------------------------------------------*/ /*--Sergio 04/99------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------*/ declare cur_atualiza_vendas_produto_i cursor for select a.produto, a.cor_produto, a.pedido_produto, a.pedido_cor, a.filial, a.entrega, a.pedido, a.valor, a.qtde, isnull(a.cambio_na_data, 1), a.origem, a.origem_emb, a.romaneio, isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0), isnull(b.preco4, 0), isnull(b.desconto_item, 0), isnull(b.ipi, 0), a.mata_saldo, a.timestamp, c.ponteiro_preco_tam, c.varia_preco_tam, isnull(d.representante, ''''), isnull(b.qtde_embalada, 0), (case when cliente_atacado is null and nome_clifor is null then '''' when cliente_atacado is null then nome_clifor when nome_clifor is null then cliente_atacado else nome_clifor end ), a.packs, a.caixa, a.faixa, a.preco, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, isnull(ve1, 0), isnull(ve2, 0), isnull(ve3, 0), isnull(ve4, 0), isnull(ve5, 0), isnull(ve6, 0), isnull(ve7, 0), isnull(ve8, 0), isnull(ve9, 0), isnull(ve10, 0), isnull(ve11, 0), isnull(ve12, 0), isnull(ve13, 0), isnull(ve14, 0), isnull(ve15, 0), isnull(ve16, 0), isnull(ve17, 0), isnull(ve18, 0), isnull(ve19, 0), isnull(ve20, 0), isnull(ve21, 0), isnull(ve22, 0), isnull(ve23, 0), isnull(ve24, 0), isnull(ve25, 0), isnull(ve26, 0), isnull(ve27, 0), isnull(ve28, 0), isnull(ve29, 0), isnull(ve30, 0), isnull(ve31, 0), isnull(ve32, 0), isnull(ve33, 0), isnull(ve34, 0), isnull(ve35, 0), isnull(ve36, 0), isnull(ve37, 0), isnull(ve38, 0), isnull(ve39, 0), isnull(ve40, 0), isnull(ve41, 0), isnull(ve42, 0), isnull(ve43, 0), isnull(ve44, 0), isnull(ve45, 0), isnull(ve46, 0), isnull(ve47, 0), isnull(ve48, 0) from (inserted a left outer join vendas_produto b on a.pedido_produto = b.produto and a.pedido_cor = b.cor_produto and a.entrega = b.entrega and a.pedido = b.pedido left outer join vendas d on a.pedido = d.pedido left outer join faturamento_caixas e on a.caixa = e.caixa), w_produtos_cores c where c.produto=ISNULL(a.pedido_produto, a.produto) and c.cor_produto = ISNULL(a.pedido_cor, a.cor_produto) open cur_atualiza_vendas_produto_i declare @vproduto char(12), @vcor_produto char(10), @vpedido_produto char(12), @vpedido_cor char(10), @vfilial varchar(25), @ventrega datetime, @vpedido char(12), @vvalor numeric(14, 2), @vqtde int, @vcambio_na_data numeric(10, 6), @vorigem char(1), @vorigem_emb char(1), @vromaneio char(8), @vpreco1 numeric(14, 2), @vpreco2 numeric(14, 2), @vpreco3 numeric(14, 2), @vpreco4 numeric(14, 2), @vdesconto_item numeric(14, 2), @vipi real, @vmata_saldo tinyint, @vtimestamp char(28), @vponteiro_preco_tam char(48), @vvaria_preco_tam bit, @vrepresentante varchar(25), @vqtde_embalada int, @vnome_clifor varchar(25), @vpacks char(24), @vcaixa varchar(8), @vfaixa char(1), @vpreco numeric(14, 2), @vf1 int, @vf2 int, @vf3 int, @vf4 int, @vf5 int, @vf6 int, @vf7 int, @vf8 int, @vf9 int, @vf10 int, @vf11 int, @vf12 int, @vf13 int, @vf14 int, @vf15 int, @vf16 int, @vf17 int, @vf18 int, @vf19 int, @vf20 int, @vf21 int, @vf22 int, @vf23 int, @vf24 int, @vf25 int, @vf26 int, @vf27 int, @vf28 int, @vf29 int, @vf30 int, @vf31 int, @vf32 int, @vf33 int, @vf34 int, @vf35 int, @vf36 int, @vf37 int, @vf38 int, @vf39 int, @vf40 int, @vf41 int, @vf42 int, @vf43 int, @vf44 int, @vf45 int, @vf46 int, @vf47 int, @vf48 int, @vve1 int, @vve2 int, @vve3 int, @vve4 int, @vve5 int, @vve6 int, @vve7 int, @vve8 int, @vve9 int, @vve10 int, @vve11 int, @vve12 int, @vve13 int, @vve14 int, @vve15 int, @vve16 int, @vve17 int, @vve18 int, @vve19 int, @vve20 int, @vve21 int, @vve22 int, @vve23 int, @vve24 int, @vve25 int, @vve26 int, @vve27 int, @vve28 int, @vve29 int, @vve30 int, @vve31 int, @vve32 int, @vve33 int, @vve34 int, @vve35 int, @vve36 int, @vve37 int, @vve38 int, @vve39 int, @vve40 int, @vve41 int, @vve42 int, @vve43 int, @vve44 int, @vve45 int, @vve46 int, @vve47 int, @vve48 int, @ve1 int, @ve2 int, @ve3 int, @ve4 int, @ve5 int, @ve6 int, @ve7 int, @ve8 int, @ve9 int, @ve10 int, @ve11 int, @ve12 int, @ve13 int, @ve14 int, @ve15 int, @ve16 int, @ve17 int, @ve18 int, @ve19 int, @ve20 int, @ve21 int, @ve22 int, @ve23 int, @ve24 int, @ve25 int, @ve26 int, @ve27 int, @ve28 int, @ve29 int, @ve30 int, @ve31 int, @ve32 int, @ve33 int, @ve34 int, @ve35 int, @ve36 int, @ve37 int, @ve38 int, @ve39 int, @ve40 int, @ve41 int, @ve42 int, @ve43 int, @ve44 int, @ve45 int, @ve46 int, @ve47 int, @ve48 int, @vqtde_entregar int, @vvalor_entregar numeric(14, 2), @vvalor_moeda numeric(14, 2), @ventregue_moeda numeric(14, 2), @vvalor_embalado numeric(14, 2), @xconta int, @vpreco_tot char(28), @vsequencial varchar(20) fetch next from cur_atualiza_vendas_produto_i into @vproduto, @vcor_produto , @vpedido_produto, @vpedido_cor, @vfilial, @ventrega, @vpedido, @vvalor, @vqtde, @vcambio_na_data, @vorigem, @vorigem_emb, @vromaneio, @vpreco1, @vpreco2, @vpreco3, @vpreco4, @vdesconto_item, @vipi, @vmata_saldo, @vtimestamp, @vponteiro_preco_tam, @vvaria_preco_tam, @vrepresentante, @vqtde_embalada, @vnome_clifor, @vpacks, @vcaixa, @vfaixa, @vpreco, @vf1, @vf2, @vf3, @vf4, @vf5, @vf6, @vf7, @vf8, @vf9, @vf10, @vf11, @vf12, @vf13, @vf14, @vf15, @vf16, @vf17, @vf18, @vf19, @vf20, @vf21, @vf22, @vf23, @vf24, @vf25, @vf26, @vf27, @vf28, @vf29, @vf30, @vf31, @vf32, @vf33, @vf34, @vf35, @vf36, @vf37, @vf38, @vf39, @vf40, @vf41, @vf42, @vf43, @vf44, @vf45, @vf46, @vf47, @vf48, @vve1, @vve2, @vve3, @vve4, @vve5, @vve6, @vve7, @vve8, @vve9, @vve10, @vve11, @vve12, @vve13, @vve14, @vve15, @vve16, @vve17, @vve18, @vve19, @vve20, @vve21, @vve22, @vve23, @vve24, @vve25, @vve26, @vve27, @vve28, @vve29, @vve30, @vve31, @vve32, @vve33, @vve34, @vve35, @vve36, @vve37, @vve38, @vve39, @vve40, @vve41, @vve42, @vve43, @vve44, @vve45, @vve46, @vve47, @vve48 while @@fetch_status = 0 begin execute f_producao_preco @vtimestamp, F, @vpreco_tot output if @vpedido is not null and @vpedido <> '' '' and exists(select * from vendas where pedido = @vpedido) begin select @vve1 = case when @vve1 - @vf1 < 0 then 0 else @vve1 - @vf1 end, @vve2 = case when @vve2 - @vf2 < 0 then 0 else @vve2 - @vf2 end, @vve3 = case when @vve3 - @vf3 < 0 then 0 else @vve3 - @vf3 end, @vve4 = case when @vve4 - @vf4 < 0 then 0 else @vve4 - @vf4 end, @vve5 = case when @vve5 - @vf5 < 0 then 0 else @vve5 - @vf5 end, @vve6 = case when @vve6 - @vf6 < 0 then 0 else @vve6 - @vf6 end, @vve7 = case when @vve7 - @vf7 < 0 then 0 else @vve7 - @vf7 end, @vve8 = case when @vve8 - @vf8 < 0 then 0 else @vve8 - @vf8 end, @vve9 = case when @vve9 - @vf9 < 0 then 0 else @vve9 - @vf9 end, @vve10 = case when @vve10 - @vf10 < 0 then 0 else @vve10 - @vf10 end, @vve11 = case when @vve11 - @vf11 < 0 then 0 else @vve11 - @vf11 end, @vve12 = case when @vve12 - @vf12 < 0 then 0 else @vve12 - @vf12 end, @vve13 = case when @vve13 - @vf13 < 0 then 0 else @vve13 - @vf13 end, @vve14 = case when @vve14 - @vf14 < 0 then 0 else @vve14 - @vf14 end, @vve15 = case when @vve15 - @vf15 < 0 then 0 else @vve15 - @vf15 end, @vve16 = case when @vve16 - @vf16 < 0 then 0 else @vve16 - @vf16 end, @vve17 = case when @vve17 - @vf17 < 0 then 0 else @vve17 - @vf17 end, @vve18 = case when @vve18 - @vf18 < 0 then 0 else @vve18 - @vf18 end, @vve19 = case when @vve19 - @vf19 < 0 then 0 else @vve19 - @vf19 end, @vve20 = case when @vve20 - @vf20 < 0 then 0 else @vve20 - @vf20 end, @vve21 = case when @vve21 - @vf21 < 0 then 0 else @vve21 - @vf21 end, @vve22 = case when @vve22 - @vf22 < 0 then 0 else @vve22 - @vf22 end, @vve23 = case when @vve23 - @vf23 < 0 then 0 else @vve23 - @vf23 end, @vve24 = case when @vve24 - @vf24 < 0 then 0 else @vve24 - @vf24 end, @vve25 = case when @vve25 - @vf25 < 0 then 0 else @vve25 - @vf25 end, @vve26 = case when @vve26 - @vf26 < 0 then 0 else @vve26 - @vf26 end, @vve27 = case when @vve27 - @vf27 < 0 then 0 else @vve27 - @vf27 end, @vve28 = case when @vve28 - @vf28 < 0 then 0 else @vve28 - @vf28 end, @vve29 = case when @vve29 - @vf29 < 0 then 0 else @vve29 - @vf29 end, @vve30 = case when @vve30 - @vf30 < 0 then 0 else @vve30 - @vf30 end, @vve31 = case when @vve31 - @vf31 < 0 then 0 else @vve31 - @vf31 end, @vve32 = case when @vve32 - @vf32 < 0 then 0 else @vve32 - @vf32 end, @vve33 = case when @vve33 - @vf33 < 0 then 0 else @vve33 - @vf33 end, @vve34 = case when @vve34 - @vf34 < 0 then 0 else @vve34 - @vf34 end, @vve35 = case when @vve35 - @vf35 < 0 then 0 else @vve35 - @vf35 end, @vve36 = case when @vve36 - @vf36 < 0 then 0 else @vve36 - @vf36 end, @vve37 = case when @vve37 - @vf37 < 0 then 0 else @vve37 - @vf37 end, @vve38 = case when @vve38 - @vf38 < 0 then 0 else @vve38 - @vf38 end, @vve39 = case when @vve39 - @vf39 < 0 then 0 else @vve39 - @vf39 end, @vve40 = case when @vve40 - @vf40 < 0 then 0 else @vve40 - @vf40 end, @vve41 = case when @vve41 - @vf41 < 0 then 0 else @vve41 - @vf41 end, @vve42 = case when @vve42 - @vf42 < 0 then 0 else @vve42 - @vf42 end, @vve43 = case when @vve43 - @vf43 < 0 then 0 else @vve43 - @vf43 end, @vve44 = case when @vve44 - @vf44 < 0 then 0 else @vve44 - @vf44 end, @vve45 = case when @vve45 - @vf45 < 0 then 0 else @vve45 - @vf45 end, @vve46 = case when @vve46 - @vf46 < 0 then 0 else @vve46 - @vf46 end, @vve47 = case when @vve47 - @vf47 < 0 then 0 else @vve47 - @vf47 end, @vve48 = case when @vve48 - @vf48 < 0 then 0 else @vve48 - @vf48 end select @vvalor_entregar = 0, @xconta = 1, @vqtde_entregar = @vve1 +@vve2 +@vve3 +@vve4 +@vve5 +@vve6 +@vve7 +@vve8 +@vve9 +@vve10+@vve11+@vve12+@vve13+@vve14+@vve15+@vve16+@vve17+@vve18+@vve19+@vve20+@vve21+@vve22+@vve23+@vve24+ @vve25+@vve26+@vve27+@vve28+@vve29+@vve30+@vve31+@vve32+@vve33+@vve34+@vve35+@vve36+@vve37+@vve38+@vve39+@vve40+@vve41+@vve42+@vve43+@vve44+@vve45+@vve46+@vve47+@vve48 if @vvaria_preco_tam = 1 begin while @xconta <= 48 begin select @vvalor_entregar = @vvalor_entregar + convert(numeric(14, 2), ( case @xconta when 1 then @vve1 when 2 then @vve2 when 3 then @vve3 when 4 then @vve4 when 5 then @vve5 when 6 then @vve6 when 7 then @vve7 when 8 then @vve8 when 9 then @vve9 when 10 then @vve10 when 11 then @vve11 when 12 then @vve12 when 13 then @vve13 when 14 then @vve14 when 15 then @vve15 when 16 then @vve16 when 17 then @vve17 when 18 then @vve18 when 19 then @vve19 when 20 then @vve20 when 21 then @vve21 when 22 then @vve22 when 23 then @vve23 when 24 then @vve24 when 25 then @vve25 when 26 then @vve26 when 27 then @vve27 when 28 then @vve28 when 29 then @vve29 when 30 then @vve30 when 31 then @vve31 when 32 then @vve32 when 33 then @vve33 when 34 then @vve34 when 35 then @vve35 when 36 then @vve36 when 37 then @vve37 when 38 then @vve38 when 39 then @vve39 when 40 then @vve40 when 41 then @vve41 when 42 then @vve42 when 43 then @vve43 when 44 then @vve44 when 45 then @vve45 when 46 then @vve46 when 47 then @vve47 when 48 then @vve48 end) * ((case convert(int, substring(@vponteiro_preco_tam, @xconta, 1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_item)), @xconta = @xconta + 1 end end else select @vvalor_entregar = convert(numeric(14, 2), @vqtde_entregar * @vpreco1) select @vqtde_embalada = case when (@vqtde_embalada - case when @vorigem = ''T'' or @vorigem = ''E'' then @vqtde else 0 end) < 0 then 0 else (@vqtde_embalada - case when @vorigem = ''T'' or @vorigem = ''E'' then @vqtde else 0 end) end update vendas_produto set qtde_embalada = @vqtde_embalada, qtde_entregar = @vqtde_entregar, qtde_entregue = qtde_entregue + @vqtde, valor_entregar = @vvalor_entregar, valor_entregue = valor_entregue + convert(numeric(14, 2), (@vqtde * convert(numeric(14, 2), @vpreco_tot))), entregue_moeda_padrao = entregue_moeda_padrao + convert(numeric(14, 2), (@vqtde * convert(numeric(14, 2), @vcambio_na_data)) * convert(numeric(14, 2), @vpreco_tot)), ve1 = @vve1, ve2 = @vve2, ve3 = @vve3, ve4 = @vve4, ve5 = @vve5, ve6 = @vve6, ve7 = @vve7, ve8 = @vve8, ve9 = @vve9, ve10 = @vve10, ve11 = @vve11, ve12 = @vve12, ve13 = @vve13, ve14 = @vve14, ve15 = @vve15, ve16 = @vve16, ve17 = @vve17, ve18 = @vve18, ve19 = @vve19, ve20 = @vve20, ve21 = @vve21, ve22 = @vve22, ve23 = @vve23, ve24 = @vve24, ve25 = @vve25, ve26 = @vve26, ve27 = @vve27, ve28 = @vve28, ve29 = @vve29, ve30 = @vve30, ve31 = @vve31, ve32 = @vve32, ve33 = @vve33, ve34 = @vve34, ve35 = @vve35, ve36 = @vve36, ve37 = @vve37, ve38 = @vve38, ve39 = @vve39, ve40 = @vve40, ve41 = @vve41, ve42 = @vve42, ve43 = @vve43, ve44 = @vve44, ve45 = @vve45, ve46 = @vve46, ve47 = @vve47, ve48 = @vve48 where pedido = @vpedido and produto = @vpedido_produto and cor_produto = @vpedido_cor and entrega = @ventrega if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PRODUTO"'' goto error end end if (@vorigem = ''T'' or @vorigem = ''E'') and (@vnome_clifor is not null and @vnome_clifor <> '' '') begin select @ve1 = e1, @ve2 = e2, @ve3 = e3, @ve4 = e4, @ve5 = e5, @ve6 = e6, @ve7 = e7, @ve8 = e8, @ve9 = e9, @ve10 = e10, @ve11 = e11, @ve12 = e12, @ve13 = e13, @ve14 = e14, @ve15 = e15, @ve16 = e16, @ve17 = e17, @ve18 = e18, @ve19 = e19, @ve20 = e20, @ve21 = e21, @ve22 = e22, @ve23 = e23, @ve24 = e24, @ve25 = e25, @ve26 = e26, @ve27 = e27, @ve28 = e28, @ve29 = e29, @ve30 = e30, @ve31 = e31, @ve32 = e32, @ve33 = e33, @ve34 = e34, @ve35 = e35, @ve36 = e36, @ve37 = e37, @ve38 = e38, @ve39 = e39, @ve40 = e40, @ve41 = e41, @ve42 = e42, @ve43 = e43, @ve44 = e44, @ve45 = e45, @ve46 = e46, @ve47 = e47, @ve48 = e48, @vqtde_embalada = qtde_embalada, @vvalor_embalado = valor_embalado, @vpreco1 = preco1, @vpreco2 = preco2, @vpreco3 = preco3, @vpreco4 = preco4 from vendas_prod_embalado where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and filial = @vfilial and (origem = @vorigem_emb or origem is null) and (romaneio = @vromaneio or romaneio is null) and (caixa = @vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end select @ve1 = case when @ve1 - @vf1 < 0 then 0 else @ve1 - @vf1 end, @ve2 = case when @ve2 - @vf2 < 0 then 0 else @ve2 - @vf2 end, @ve3 = case when @ve3 - @vf3 < 0 then 0 else @ve3 - @vf3 end, @ve4 = case when @ve4 - @vf4 < 0 then 0 else @ve4 - @vf4 end, @ve5 = case when @ve5 - @vf5 < 0 then 0 else @ve5 - @vf5 end, @ve6 = case when @ve6 - @vf6 < 0 then 0 else @ve6 - @vf6 end, @ve7 = case when @ve7 - @vf7 < 0 then 0 else @ve7 - @vf7 end, @ve8 = case when @ve8 - @vf8 < 0 then 0 else @ve8 - @vf8 end, @ve9 = case when @ve9 - @vf9 < 0 then 0 else @ve9 - @vf9 end, @ve10 = case when @ve10 - @vf10 < 0 then 0 else @ve10 - @vf10 end, @ve11 = case when @ve11 - @vf11 < 0 then 0 else @ve11 - @vf11 end, @ve12 = case when @ve12 - @vf12 < 0 then 0 else @ve12 - @vf12 end, @ve13 = case when @ve13 - @vf13 < 0 then 0 else @ve13 - @vf13 end, @ve14 = case when @ve14 - @vf14 < 0 then 0 else @ve14 - @vf14 end, @ve15 = case when @ve15 - @vf15 < 0 then 0 else @ve15 - @vf15 end, @ve16 = case when @ve16 - @vf16 < 0 then 0 else @ve16 - @vf16 end, @ve17 = case when @ve17 - @vf17 < 0 then 0 else @ve17 - @vf17 end, @ve18 = case when @ve18 - @vf18 < 0 then 0 else @ve18 - @vf18 end, @ve19 = case when @ve19 - @vf19 < 0 then 0 else @ve19 - @vf19 end, @ve20 = case when @ve20 - @vf20 < 0 then 0 else @ve20 - @vf20 end, @ve21 = case when @ve21 - @vf21 < 0 then 0 else @ve21 - @vf21 end, @ve22 = case when @ve22 - @vf22 < 0 then 0 else @ve22 - @vf22 end, @ve23 = case when @ve23 - @vf22 < 0 then 0 else @ve23 - @vf23 end, @ve24 = case when @ve24 - @vf24 < 0 then 0 else @ve24 - @vf24 end, @ve25 = case when @ve25 - @vf25 < 0 then 0 else @ve25 - @vf25 end, @ve26 = case when @ve26 - @vf26 < 0 then 0 else @ve26 - @vf26 end, @ve27 = case when @ve27 - @vf27 < 0 then 0 else @ve27 - @vf27 end, @ve28 = case when @ve28 - @vf28 < 0 then 0 else @ve28 - @vf28 end, @ve29 = case when @ve29 - @vf29 < 0 then 0 else @ve29 - @vf29 end, @ve30 = case when @ve30 - @vf30 < 0 then 0 else @ve30 - @vf30 end, @ve31 = case when @ve31 - @vf31 < 0 then 0 else @ve31 - @vf31 end, @ve32 = case when @ve32 - @vf32 < 0 then 0 else @ve32 - @vf32 end, @ve33 = case when @ve33 - @vf33 < 0 then 0 else @ve33 - @vf33 end, @ve34 = case when @ve34 - @vf34 < 0 then 0 else @ve34 - @vf34 end, @ve35 = case when @ve35 - @vf35 < 0 then 0 else @ve35 - @vf35 end, @ve36 = case when @ve36 - @vf36 < 0 then 0 else @ve36 - @vf36 end, @ve37 = case when @ve37 - @vf37 < 0 then 0 else @ve37 - @vf37 end, @ve38 = case when @ve38 - @vf38 < 0 then 0 else @ve38 - @vf38 end, @ve39 = case when @ve39 - @vf39 < 0 then 0 else @ve39 - @vf39 end, @ve40 = case when @ve40 - @vf40 < 0 then 0 else @ve40 - @vf40 end, @ve41 = case when @ve41 - @vf41 < 0 then 0 else @ve41 - @vf41 end, @ve42 = case when @ve42 - @vf42 < 0 then 0 else @ve42 - @vf42 end, @ve43 = case when @ve43 - @vf43 < 0 then 0 else @ve43 - @vf43 end, @ve44 = case when @ve44 - @vf44 < 0 then 0 else @ve44 - @vf44 end, @ve45 = case when @ve45 - @vf45 < 0 then 0 else @ve45 - @vf45 end, @ve46 = case when @ve46 - @vf46 < 0 then 0 else @ve46 - @vf46 end, @ve47 = case when @ve47 - @vf47 < 0 then 0 else @ve47 - @vf47 end, @ve48 = case when @ve48 - @vf48 < 0 then 0 else @ve48 - @vf48 end select @vqtde_embalada = @ve1 +@ve2 +@ve3 +@ve4 +@ve5 +@ve6 +@ve7 +@ve8 +@ve9 +@ve10+@ve11+@ve12+@ve13+@ve14+@ve15+@ve16+@ve17+@ve18+@ve19+@ve20+@ve21+@ve22+@ve23+@ve24+ @ve25+@ve26+@ve27+@ve28+@ve29+@ve30+@ve31+@ve32+@ve33+@ve34+@ve35+@ve36+@ve37+@ve38+@ve39+@ve40+@ve41+@ve42+@ve43+@ve44+@ve45+@ve46+@ve47+@ve48, @vvalor_embalado = 0 if @vqtde_embalada = 0 begin delete from vendas_prod_embalado where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and (origem = @vorigem_emb or origem is null) and filial = @vfilial and (romaneio = @vromaneio or romaneio is null) and (caixa = @vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end else begin if @vvaria_preco_tam = 1 begin select @xconta = 1 while @xconta <=48 begin select @vvalor_embalado = @vvalor_embalado + convert(numeric(14, 2), ( case @xconta when 1 then @ve1 when 2 then @ve2 when 3 then @ve3 when 4 then @ve4 when 5 then @ve5 when 6 then @ve6 when 7 then @ve7 when 8 then @ve8 when 9 then @ve9 when 10 then @ve10 when 11 then @ve11 when 12 then @ve12 when 13 then @ve13 when 14 then @ve14 when 15 then @ve15 when 16 then @ve16 when 17 then @ve17 when 18 then @ve18 when 19 then @ve19 when 20 then @ve20 when 21 then @ve21 when 22 then @ve22 when 23 then @ve23 when 24 then @ve24 when 25 then @ve25 when 26 then @ve26 when 27 then @ve27 when 28 then @ve28 when 29 then @ve29 when 30 then @ve30 when 31 then @ve31 when 32 then @ve32 when 33 then @ve33 when 34 then @ve34 when 35 then @ve35 when 36 then @ve36 when 37 then @ve37 when 38 then @ve38 when 39 then @ve39 when 40 then @ve40 when 41 then @ve41 when 42 then @ve42 when 43 then @ve43 when 44 then @ve44 when 45 then @ve45 when 46 then @ve46 when 47 then @ve47 when 48 then @ve48 end)*((case convert(int, substring(@vponteiro_preco_tam , @xconta, 1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_item)), @xconta = @xconta + 1 end end else select @vvalor_embalado = convert(numeric(14, 2), ((@vqtde_embalada) * @vpreco1)) update vendas_prod_embalado set valor_embalado = @vvalor_embalado, qtde_embalada = @vqtde_embalada, e1 = @ve1, e2 = @ve2, e3 = @ve3, e4 = @ve4, e5 = @ve5, e6 = @ve6, e7 = @ve7, e8 = @ve8, e9 = @ve9, e10 = @ve10, e11 = @ve11, e12 = @ve12, e13 = @ve13, e14 = @ve14, e15 = @ve15, e16 = @ve16, e17 = @ve17, e18 = @ve18, e19 = @ve19, e20 = @ve20, e21 = @ve21, e22 = @ve22, e23 = @ve23, e24 = @ve24, e25 = @ve25, e26 = @ve26, e27 = @ve27, e28 = @ve28, e29 = @ve29, e30 = @ve30, e31 = @ve31, e32 = @ve32, e33 = @ve33, e34 = @ve34, e35 = @ve35, e36 = @ve36, e37 = @ve37, e38 = @ve38, e39 = @ve39, e40 = @ve40, e41 = @ve41, e42 = @ve42, e43 = @ve43, e44 = @ve44, e45 = @ve45, e46 = @ve46, e47 = @ve47, e48 = @ve48 where nome_clifor = @vnome_clifor and produto = @vproduto and cor_produto = @vcor_produto and filial = @vfilial and (origem = @vorigem_emb or origem is null) and (romaneio = @vromaneio or romaneio is null) and (caixa = @vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Operatpo Cancelada, Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end end fetch next from cur_atualiza_vendas_produto_i into @vproduto, @vcor_produto , @vpedido_produto, @vpedido_cor, @vfilial, @ventrega, @vpedido, @vvalor, @vqtde, @vcambio_na_data, @vorigem, @vorigem_emb, @vromaneio, @vpreco1, @vpreco2, @vpreco3, @vpreco4, @vdesconto_item, @vipi, @vmata_saldo, @vtimestamp, @vponteiro_preco_tam, @vvaria_preco_tam, @vrepresentante, @vqtde_embalada, @vnome_clifor, @vpacks, @vcaixa, @vfaixa, @vpreco, @vf1, @vf2, @vf3, @vf4, @vf5, @vf6, @vf7, @vf8, @vf9, @vf10, @vf11, @vf12, @vf13, @vf14, @vf15, @vf16, @vf17, @vf18, @vf19, @vf20, @vf21, @vf22, @vf23, @vf24, @vf25, @vf26, @vf27, @vf28, @vf29, @vf30, @vf31, @vf32, @vf33, @vf34, @vf35, @vf36, @vf37, @vf38, @vf39, @vf40, @vf41, @vf42, @vf43, @vf44, @vf45, @vf46, @vf47, @vf48, @vve1, @vve2, @vve3, @vve4, @vve5, @vve6, @vve7, @vve8, @vve9, @vve10, @vve11, @vve12, @vve13, @vve14, @vve15, @vve16, @vve17, @vve18, @vve19, @vve20, @vve21, @vve22, @vve23, @vve24, @vve25, @vve26, @vve27, @vve28, @vve29, @vve30, @vve31, @vve32, @vve33, @vve34, @vve35, @vve36, @vve37, @vve38, @vve39, @vve40, @vve41, @vve42, @vve43, @vve44, @vve45, @vve46, @vve47, @vve48 end close cur_atualiza_vendas_produto_i deallocate cur_atualiza_vendas_produto_i /*--------------------------------------------------------------------------------------------------------------------*/ /*--Fim alteracao-----------------------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_FATURAMENTO_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAMENTO_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAMENTO_PROD DEALLOCATE cur_FATURAMENTO_PROD END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_FATURAMENTO_PROD] on [FATURAMENTO_PROD] for UPDATE as /* UPDATE trigger on FATURAMENTO_PROD */ /* default body for LXU_FATURAMENTO_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(3), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, FATURAMENTO WHERE Deleted.FILIAL = FATURAMENTO.FILIAL AND Deleted.NF_SAIDA = FATURAMENTO.NF_SAIDA AND Deleted.SERIE_NF = FATURAMENTO.SERIE_NF AND FATURAMENTO.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, FATURAMENTO WHERE Inserted.FILIAL = FATURAMENTO.FILIAL AND Inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA AND Inserted.SERIE_NF = FATURAMENTO.SERIE_NF AND FATURAMENTO.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, FATURAMENTO, ESTOQUE_PRODUTOS WHERE DELETED.FILIAL = FATURAMENTO.FILIAL AND DELETED.NF_SAIDA = FATURAMENTO.NF_SAIDA AND DELETED.SERIE_NF = FATURAMENTO.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND FATURAMENTO.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, FATURAMENTO, ESTOQUE_PRODUTOS WHERE INSERTED.FILIAL = FATURAMENTO.FILIAL AND INSERTED.NF_SAIDA = FATURAMENTO.NF_SAIDA AND INSERTED.SERIE_NF = FATURAMENTO.SERIE_NF AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND FATURAMENTO.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO_CAIXAS CAIXAS FATURAMENTO_PROD ON CHILD UPDATE RESTRICT */ if update(CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXAS where inserted.CAIXA = FATURAMENTO_CAIXAS.CAIXA select @nullcnt = count(*) from inserted where inserted.CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_PROD #porque #FATURAMENTO_CAIXAS #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO FATURAMENTO_PROD ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PEDIDO_PRODUTO) or update(PEDIDO_COR) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PEDIDO_PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.PEDIDO_COR = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA select @nullcnt = count(*) from inserted where inserted.PEDIDO is null and inserted.PEDIDO_PRODUTO is null and inserted.PEDIDO_COR is null and inserted.ENTREGA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_PROD #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAMENTO_PROD ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_PROD #porque #FATURAMENTO #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES FATURAMENTO_PROD ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /* FATURAMENTO_PROD FATURAMENTO_PROD ENTRADAS_PRO_DEVOL ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(SERIE_NF) OR update(PRODUTO) OR update(COR_PRODUTO) OR update(ITEM) BEGIN DECLARE FATURAMENTO_PROD950 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF, PRODUTO, COR_PRODUTO, ITEM FROM INSERTED DECLARE FATURAMENTO_PROD182 CURSOR FOR SELECT FILIAL, NF_SAIDA, SERIE_NF, PRODUTO, COR_PRODUTO, ITEM FROM DELETED OPEN FATURAMENTO_PROD950 OPEN FATURAMENTO_PROD182 FETCH NEXT FROM FATURAMENTO_PROD950 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF, @insPRODUTO, @insCOR_PRODUTO, @insITEM FETCH NEXT FROM FATURAMENTO_PROD182 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF, @delPRODUTO, @delCOR_PRODUTO, @delITEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRO_DEVOL SET ENTRADAS_PRO_DEVOL.FILIAL=@insFILIAL, ENTRADAS_PRO_DEVOL.NF_SAIDA=@insNF_SAIDA, ENTRADAS_PRO_DEVOL.SERIE_NF=@insSERIE_NF, ENTRADAS_PRO_DEVOL.PRODUTO=@insPRODUTO, ENTRADAS_PRO_DEVOL.COR_PRODUTO=@insCOR_PRODUTO, ENTRADAS_PRO_DEVOL.ITEM=@insITEM WHERE ENTRADAS_PRO_DEVOL.FILIAL = @delFILIAL and ENTRADAS_PRO_DEVOL.NF_SAIDA = @delNF_SAIDA and ENTRADAS_PRO_DEVOL.SERIE_NF = @delSERIE_NF and ENTRADAS_PRO_DEVOL.PRODUTO = @delPRODUTO and ENTRADAS_PRO_DEVOL.COR_PRODUTO = @delCOR_PRODUTO and ENTRADAS_PRO_DEVOL.ITEM = @delITEM FETCH NEXT FROM FATURAMENTO_PROD950 INTO @insFILIAL, @insNF_SAIDA, @insSERIE_NF, @insPRODUTO, @insCOR_PRODUTO, @insITEM FETCH NEXT FROM FATURAMENTO_PROD182 INTO @delFILIAL, @delNF_SAIDA, @delSERIE_NF, @delPRODUTO, @delCOR_PRODUTO, @delITEM END END CLOSE FATURAMENTO_PROD950 CLOSE FATURAMENTO_PROD182 DEALLOCATE FATURAMENTO_PROD950 DEALLOCATE FATURAMENTO_PROD182 END /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''',''LXU_FATURAMENTO_PROD'' FROM INSERTED A JOIN FATURAMENTO B ON B.FILIAL=A.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.NF_SAIDA)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.NOME_CLIFOR)+'''''',@SERIE_NF=''''''+RTRIM(A.SERIE_NF)+'''''', @ORIGEM=''''F'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Venda Produtos ------------------------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------------------------------------------------*/ declare cur_atualiza_vendas_produto_u cursor for select a.produto,a.cor_produto,a.pedido_produto,a.pedido_cor,a.filial,a.entrega,a.pedido,a.valor,a.qtde,isnull(a.cambio_na_data,1),a.origem,a.origem_emb,a.romaneio,a.mata_saldo,a.timestamp,c.ponteiro_preco_tam, c.varia_preco_tam,isnull(d.representante,''''),(case when cliente_atacado is null and nome_clifor is null then '''' when cliente_atacado is null then nome_clifor when nome_clifor is null then cliente_atacado else nome_clifor end ), a.packs,a.caixa,a.faixa,a.preco,''D'',f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17,f18,f19,f20,f21,f22,f23,f24,f25,f26,f27,f28,f29,f30,f31,f32,f33,f34,f35,f36,f37,f38,f39,f40,f41,f42,f43,f44,f45,f46,f47,f48, desconto_item from (deleted a left outer join vendas d on a.pedido=d.pedido left outer join faturamento_caixas e on a.caixa=e.caixa),w_produtos_cores c where c.produto=ISNULL(a.pedido_produto,a.produto) and c.cor_produto=ISNULL(a.pedido_cor,a.cor_produto) union all select a.produto,a.cor_produto,a.pedido_produto,a.pedido_cor,a.filial,a.entrega,a.pedido,a.valor,a.qtde*-1,isnull(a.cambio_na_data,1),a.origem,a.origem_emb,a.romaneio,a.mata_saldo,a.timestamp,c.ponteiro_preco_tam, c.varia_preco_tam,isnull(d.representante,''''),(case when cliente_atacado is null and nome_clifor is null then '''' when cliente_atacado is null then nome_clifor when nome_clifor is null then cliente_atacado else nome_clifor end ), a.packs,a.caixa,a.faixa,a.preco,''I'',f1*-1 ,f2*-1,f3*-1,f4*-1,f5*-1,f6*-1,f7*-1,f8*-1,f9*-1,f10*-1,f11*-1,f12*-1,f13*-1,f14*-1,f15*-1,f16*-1,f17*-1,f18*-1,f19*-1,f20*-1,f21*-1,f22*-1,f23*-1,f24*-1,f25*-1,f26*-1,f27*-1,f28*-1,f29*-1,f30*-1,f31*-1,f32*-1,f33*-1,f34*-1,f35*-1,f36*-1,f37*-1,f38*-1,f39*-1,f40*-1,f41*-1,f42*-1,f43*-1,f44*-1,f45*-1,f46*-1,f47*-1,f48*-1, desconto_item from (inserted a left outer join vendas d on a.pedido=d.pedido left outer join faturamento_caixas e on a.caixa=e.caixa),w_produtos_cores c where c.produto=ISNULL(a.pedido_produto,a.produto) and c.cor_produto=ISNULL(a.pedido_cor,a.cor_produto) open cur_atualiza_vendas_produto_u declare @vproduto char(12),@vcor_produto char(10),@vpedido_produto char(12),@vpedido_cor char(10),@vfilial varchar(25),@ventrega datetime,@vpedido char(12),@vvalor numeric(14,2),@vqtde int,@vcambio_na_data numeric(10,6),@vorigem char(1),@vorigem_emb char(1),@vromaneio char(8),@vpreco1 numeric(14,2),@vpreco2 numeric(14,2),@vpreco3 numeric(14,2),@vpreco4 numeric(14,2), @vdesconto_item numeric(14,2),@vipi real,@vmata_saldo tinyint,@vtimestamp char(28),@vponteiro_preco_tam char(48),@vvaria_preco_tam bit,@vrepresentante varchar(25), @vqtde_embalada int,@vnome_clifor varchar(25),@vpacks char(24),@vcaixa varchar(8),@vfaixa char(1),@vpreco numeric(14,2), @vf1 int,@vf2 int,@vf3 int,@vf4 int,@vf5 int,@vf6 int,@vf7 int,@vf8 int,@vf9 int,@vf10 int,@vf11 int,@vf12 int,@vf13 int,@vf14 int,@vf15 int,@vf16 int,@vf17 int,@vf18 int,@vf19 int,@vf20 int,@vf21 int,@vf22 int,@vf23 int,@vf24 int, @vf25 int,@vf26 int,@vf27 int,@vf28 int,@vf29 int,@vf30 int,@vf31 int,@vf32 int,@vf33 int,@vf34 int,@vf35 int,@vf36 int,@vf37 int,@vf38 int,@vf39 int,@vf40 int,@vf41 int,@vf42 int,@vf43 int,@vf44 int,@vf45 int,@vf46 int,@vf47 int,@vf48 int, @ve1 int,@ve2 int,@ve3 int,@ve4 int,@ve5 int,@ve6 int,@ve7 int,@ve8 int,@ve9 int,@ve10 int,@ve11 int,@ve12 int,@ve13 int,@ve14 int,@ve15 int,@ve16 int,@ve17 int,@ve18 int,@ve19 int,@ve20 int,@ve21 int,@ve22 int,@ve23 int,@ve24 int, @ve25 int,@ve26 int,@ve27 int,@ve28 int,@ve29 int,@ve30 int,@ve31 int,@ve32 int,@ve33 int,@ve34 int,@ve35 int,@ve36 int,@ve37 int,@ve38 int,@ve39 int,@ve40 int,@ve41 int,@ve42 int,@ve43 int,@ve44 int,@ve45 int,@ve46 int,@ve47 int,@ve48 int, @vve1 int,@vve2 int,@vve3 int,@vve4 int,@vve5 int,@vve6 int,@vve7 int,@vve8 int,@vve9 int,@vve10 int,@vve11 int,@vve12 int,@vve13 int,@vve14 int,@vve15 int,@vve16 int,@vve17 int,@vve18 int,@vve19 int,@vve20 int,@vve21 int,@vve22 int,@vve23 int,@vve24 int, @vve25 int,@vve26 int,@vve27 int,@vve28 int,@vve29 int,@vve30 int,@vve31 int,@vve32 int,@vve33 int,@vve34 int,@vve35 int,@vve36 int,@vve37 int,@vve38 int,@vve39 int,@vve40 int,@vve41 int,@vve42 int,@vve43 int,@vve44 int,@vve45 int,@vve46 int,@vve47 int,@vve48 int, @vqtde_entregar int,@vvalor_entregar numeric(14,2),@vvalor_moeda numeric(14,2),@ventregue_moeda numeric(14,2),@vvalor_embalado numeric(14,2),@xconta int,@vpreco_tot char(28), @vsequencial varchar(20),@vqtde_original int,@vtabela char(1), @vdesconto_fat numeric(14, 2) fetch next from cur_atualiza_vendas_produto_u into @vproduto,@vcor_produto ,@vpedido_produto,@vpedido_cor,@vfilial,@ventrega,@vpedido,@vvalor,@vqtde,@vcambio_na_data,@vorigem,@vorigem_emb,@vromaneio, @vmata_saldo,@vtimestamp,@vponteiro_preco_tam,@vvaria_preco_tam,@vrepresentante,@vnome_clifor,@vpacks,@vcaixa,@vfaixa,@vpreco,@vtabela, @vf1,@vf2,@vf3,@vf4,@vf5,@vf6,@vf7,@vf8,@vf9,@vf10,@vf11,@vf12,@vf13,@vf14,@vf15,@vf16,@vf17,@vf18,@vf19,@vf20,@vf21,@vf22,@vf23,@vf24,@vf25,@vf26,@vf27,@vf28,@vf29,@vf30,@vf31,@vf32, @vf33,@vf34,@vf35,@vf36,@vf37,@vf38,@vf39,@vf40,@vf41,@vf42,@vf43,@vf44,@vf45,@vf46,@vf47,@vf48, @vdesconto_fat while @@fetch_status >=0 begin execute f_producao_preco @vtimestamp,F,@vpreco_tot output -- if @vorigem <> ''S'' begin if @vtabela=''D'' SELECT @vve1=vo1,@vve2=vo2,@vve3=vo3,@vve4=vo4,@vve5=vo5,@vve6=vo6,@vve7=vo7,@vve8=vo8, @vve9=vo9,@vve10=vo10,@vve11=vo11,@vve12=vo12,@vve13=vo13,@vve14=vo14,@vve15=vo15,@vve16=vo16,@vve17=vo17,@vve18=vo18,@vve19=vo19,@vve20=vo20,@vve21=vo21,@vve22=vo22,@vve23=vo23, @vve24=vo24,@vve25=vo25,@vve26=vo26,@vve27=vo27,@vve28=vo28,@vve29=vo29,@vve30=vo30,@vve31=vo31,@vve32=vo32,@vve33=vo33,@vve34=vo34,@vve35=vo35,@vve36=vo36,@vve37=vo37,@vve38=vo38,@vve39=vo39,@vve40=vo40,@vve41=vo41,@vve42=vo42,@vve43=vo43,@vve44=vo44,@vve45=vo45,@vve46=vo46,@vve47=vo47,@vve48=vo48, @vpreco1=preco1,@vpreco2=preco2,@vpreco3=preco3,@vpreco4=preco4,@vipi=ipi,@vdesconto_item=desconto_item,@vqtde_embalada=qtde_embalada FROM Vendas_Produto WHERE pedido=@vpedido and produto=@vpedido_produto and cor_produto=@vpedido_cor and entrega=@ventrega ELSE SELECT @vve1=ve1,@vve2=ve2,@vve3=ve3,@vve4=ve4,@vve5=ve5,@vve6=ve6,@vve7=ve7,@vve8=ve8,@vve9=ve9,@vve10=ve10,@vve11=ve11,@vve12=ve12,@vve13=ve13,@vve14=ve14,@vve15=ve15,@vve16=ve16, @vve17=ve17,@vve18=ve18,@vve19=ve19,@vve20=ve20,@vve21=ve21,@vve22=ve22,@vve23=ve23,@vve24=ve24,@vve25=ve25,@vve26=ve26,@vve27=ve27,@vve28=ve28,@vve29=ve29,@vve30=ve30,@vve31=ve31,@vve32=ve32,@vve33=ve33,@vve34=ve34,@vve35=ve35,@vve36=ve36,@vve37=ve37,@vve38=ve38,@vve39=ve39,@vve40=ve40,@vve41=ve41,@vve42=ve42,@vve43=ve43,@vve44=ve44,@vve45=ve45,@vve46=ve46,@vve47=ve47,@vve48=ve48, @vpreco1=preco1,@vpreco2=preco2,@vpreco3=preco3,@vpreco4=preco4,@vipi=ipi,@vdesconto_item=desconto_item,@vqtde_embalada=qtde_embalada FROM Vendas_Produto WHERE pedido=@vpedido and produto=@vpedido_produto and cor_produto=@vpedido_cor and entrega=@ventrega if @@rowcount > 0 begin if @vtabela=''D'' begin select @vve1=@vve1-isnull(sum(f1),0),@vve2=@vve2-isnull(sum(f2),0),@vve3=@vve3-isnull(sum(f3),0),@vve4=@vve4-isnull(sum(f4),0),@vve5=@vve5-isnull(sum(f5),0),@vve6=@vve6-isnull(sum(f6),0),@vve7=@vve7-isnull(sum(f7),0),@vve8=@vve8-isnull(sum(f8),0),@vve9=@vve9-isnull(sum(f9),0),@vve10=@vve10-isnull(sum(f10),0),@vve11=@vve11-isnull(sum(f11),0),@vve12=@vve12-isnull(sum(f12),0),@vve13=@vve13-isnull(sum(f13),0),@vve14=@vve14-isnull(sum(f14),0),@vve15=@vve15-isnull(sum(f15),0),@vve16=@vve16-isnull(sum(f16),0), @vve17=@vve17-isnull(sum(f17),0),@vve18=@vve18-isnull(sum(f18),0),@vve19=@vve19-isnull(sum(f19),0),@vve20=@vve20-isnull(sum(f20),0),@vve21=@vve21-isnull(sum(f21),0),@vve22=@vve22-isnull(sum(f22),0),@vve23=@vve23-isnull(sum(f23),0),@vve24=@vve24-isnull(sum(f24),0),@vve25=@vve25-isnull(sum(f25),0),@vve26=@vve26-isnull(sum(f26),0),@vve27=@vve27-isnull(sum(f27),0),@vve28=@vve28-isnull(sum(f28),0),@vve29=@vve29-isnull(sum(f29),0),@vve30=@vve30-isnull(sum(f30),0),@vve31=@vve31-isnull(sum(f31),0),@vve32=@vve32-isnull(sum(f32),0), @vve33=@vve33-isnull(sum(f33),0),@vve34=@vve34-isnull(sum(f34),0),@vve35=@vve35-isnull(sum(f35),0),@vve36=@vve36-isnull(sum(f36),0),@vve37=@vve37-isnull(sum(f37),0),@vve38=@vve38-isnull(sum(f38),0),@vve39=@vve39-isnull(sum(f39),0),@vve40=@vve40-isnull(sum(f40),0),@vve41=@vve41-isnull(sum(f41) ,0),@vve42=@vve42-isnull(sum(f42),0),@vve43=@vve43-isnull(sum(f43),0),@vve44=@vve44-isnull(sum(f44),0),@vve45=@vve45-isnull(sum(f45),0),@vve46=@vve46-isnull(sum(f46),0),@vve47=@vve47-isnull(sum(f47),0),@vve48=@vve48-isnull(sum(f48),0) from faturamento_prod where pedido=@vpedido and pedido_produto=@vpedido_produto and pedido_cor=@vpedido_cor and entrega=@ventrega select @vve1=@vve1+isnull(sum(f1),0),@vve2=@vve2+isnull(sum(f2),0),@vve3=@vve3+isnull(sum(f3),0),@vve4=@vve4+isnull(sum(f4),0),@vve5=@vve5+isnull(sum(f5),0),@vve6=@vve6+isnull(sum(f6),0),@vve7=@vve7+isnull(sum(f7),0),@vve8=@vve8+isnull(sum(f8),0),@vve9=@vve9+isnull(sum(f9),0),@vve10=@vve10+isnull(sum(f10),0),@vve11=@vve11+isnull(sum(f11),0),@vve12=@vve12+isnull(sum(f12),0),@vve13=@vve13+isnull(sum(f13),0),@vve14=@vve14+isnull(sum(f14),0),@vve15=@vve15+isnull(sum(f15),0),@vve16=@vve16+isnull(sum(f16),0), @vve17=@vve17+isnull(sum(f17),0),@vve18=@vve18+isnull(sum(f18),0),@vve19=@vve19+isnull(sum(f19),0),@vve20=@vve20+isnull(sum(f20),0),@vve21=@vve21+isnull(sum(f21),0),@vve22=@vve22+isnull(sum(f22),0),@vve23=@vve23+isnull(sum(f23),0),@vve24=@vve24+isnull(sum(f24),0),@vve25=@vve25+isnull(sum(f25),0),@vve26=@vve26+isnull(sum(f26),0),@vve27=@vve27+isnull(sum(f27),0),@vve28=@vve28+isnull(sum(f28),0),@vve29=@vve29+isnull(sum(f29),0),@vve30=@vve30+isnull(sum(f30),0),@vve31=@vve31+isnull(sum(f31),0),@vve32=@vve32+isnull(sum(f32),0), @vve33=@vve33+isnull(sum(f33),0),@vve34=@vve34+isnull(sum(f34),0),@vve35=@vve35+isnull(sum(f35),0),@vve36=@vve36+isnull(sum(f36),0),@vve37=@vve37+isnull(sum(f37),0),@vve38=@vve38+isnull(sum(f38),0),@vve39=@vve39+isnull(sum(f39),0),@vve40=@vve40+isnull(sum(f40),0),@vve41=@vve41+isnull(sum(f41) ,0),@vve42=@vve42+isnull(sum(f42),0),@vve43=@vve43+isnull(sum(f43),0),@vve44=@vve44+isnull(sum(f44),0),@vve45=@vve45+isnull(sum(f45),0),@vve46=@vve46+isnull(sum(f46),0),@vve47=@vve47+isnull(sum(f47),0),@vve48=@vve48+isnull(sum(f48),0) from inserted where pedido=@vpedido and pedido_produto=@vpedido_produto and pedido_cor=@vpedido_cor and entrega=@ventrega select @vve1=@vve1-isnull(sum(vo1),0),@vve2=@vve2-isnull(sum(vo2),0),@vve3=@vve3-isnull(sum(vo3),0),@vve4=@vve4-isnull(sum(vo4),0),@vve5=@vve5-isnull(sum(vo5),0),@vve6=@vve6-isnull(sum(vo6),0),@vve7=@vve7-isnull(sum(vo7),0),@vve8=@vve8-isnull(sum(vo8),0),@vve9=@vve9-isnull(sum(vo9),0),@vve10=@vve10-isnull(sum(vo10),0),@vve11=@vve11-isnull(sum(vo11),0),@vve12=@vve12-isnull(sum(vo12),0),@vve13=@vve13-isnull(sum(vo13),0),@vve14=@vve14-isnull(sum(vo14),0),@vve15=@vve15-isnull(sum(vo15),0),@vve16=@vve16-isnull(sum(vo16),0), @vve17=@vve17-isnull(sum(vo17),0),@vve18=@vve18-isnull(sum(vo18),0),@vve19=@vve19-isnull(sum(vo19),0),@vve20=@vve20-isnull(sum(vo20),0),@vve21=@vve21-isnull(sum(vo21),0),@vve22=@vve22-isnull(sum(vo22),0),@vve23=@vve23-isnull(sum(vo23),0),@vve24=@vve24-isnull(sum(vo24),0),@vve25=@vve25-isnull(sum(vo25),0),@vve26=@vve26-isnull(sum(vo26),0),@vve27=@vve27-isnull(sum(vo27),0),@vve28=@vve28-isnull(sum(vo28),0),@vve29=@vve29-isnull(sum(vo29),0),@vve30=@vve30-isnull(sum(vo30),0),@vve31=@vve31-isnull(sum(vo31),0),@vve32=@vve32-isnull(sum(vo32),0), @vve33=@vve33-isnull(sum(vo33),0),@vve34=@vve34-isnull(sum(vo34),0),@vve35=@vve35-isnull(sum(vo35),0),@vve36=@vve36-isnull(sum(vo36),0),@vve37=@vve37-isnull(sum(vo37),0),@vve38=@vve38-isnull(sum(vo38),0),@vve39=@vve39-isnull(sum(vo39),0),@vve40=@vve40-isnull(sum(vo40),0),@vve41=@vve41-isnull(sum(vo41) ,0),@vve42=@vve42-isnull(sum(vo42),0),@vve43=@vve43-isnull(sum(vo43),0),@vve44=@vve44-isnull(sum(vo44),0),@vve45=@vve45-isnull(sum(vo45),0),@vve46=@vve46-isnull(sum(vo46),0),@vve47=@vve47-isnull(sum(vo47),0),@vve48=@vve48-isnull(sum(vo48),0) from vendas_canc_prod where pedido=@vpedido and produto=@vpedido_produto and cor_produto=@vpedido_cor and entrega=@ventrega select @vve1=case when @vve1 < 0 then 0 else @vve1 end,@vve2=case when @vve2 < 0 then 0 else @vve2 end,@vve3=case when @vve3 < 0 then 0 else @vve3 end,@vve4=case when @vve4 < 0 then 0 else @vve4 end,@vve5=case when @vve5 < 0 then 0 else @vve5 end,@vve6=case when @vve6 < 0 then 0 else @vve6 end,@vve7=case when @vve7 < 0 then 0 else @vve7 end,@vve8=case when @vve8 < 0 then 0 else @vve8 end,@vve9=case when @vve9 < 0 then 0 else @vve9 end,@vve10=case when @vve10 < 0 then 0 else @vve10 end,@vve11=case when @vve11 < 0 then 0 else @vve11 end,@vve12=case when @vve12 < 0 then 0 else @vve12 end,@vve13=case when @vve13 < 0 then 0 else @vve13 end,@vve14=case when @vve14 < 0 then 0 else @vve14 end,@vve15=case when @vve15 < 0 then 0 else @vve15 end,@vve16=case when @vve16 < 0 then 0 else @vve16 end, @vve17=case when @vve17 < 0 then 0 else @vve17 end,@vve18=case when @vve18 < 0 then 0 else @vve18 end,@vve19=case when @vve19 < 0 then 0 else @vve19 end,@vve20=case when @vve20 < 0 then 0 else @vve20 end,@vve21=case when @vve21 < 0 then 0 else @vve21 end,@vve22=case when @vve22 < 0 then 0 else @vve22 end,@vve23=case when @vve23 < 0 then 0 else @vve23 end,@vve24=case when @vve24 < 0 then 0 else @vve24 end,@vve25=case when @vve25 < 0 then 0 else @vve25 end,@vve26=case when @vve26 < 0 then 0 else @vve26 end,@vve27=case when @vve27 < 0 then 0 else @vve27 end,@vve28=case when @vve28 < 0 then 0 else @vve28 end,@vve29=case when @vve29 < 0 then 0 else @vve29 end,@vve30=case when @vve30 < 0 then 0 else @vve30 end,@vve31=case when @vve31 < 0 then 0 else @vve31 end,@vve32=case when @vve32 < 0 then 0 else @vve32 end, @vve33=case when @vve33 < 0 then 0 else @vve33 end,@vve34=case when @vve34 < 0 then 0 else @vve34 end,@vve35=case when @vve35 < 0 then 0 else @vve35 end,@vve36=case when @vve36 < 0 then 0 else @vve36 end,@vve37=case when @vve37 < 0 then 0 else @vve37 end,@vve38=case when @vve38 < 0 then 0 else @vve38 end,@vve39=case when @vve38 < 0 then 0 else @vve39 end,@vve40=case when @vve40 < 0 then 0 else @vve40 end,@vve41=case when @vve41 < 0 then 0 else @vve41 end,@vve42=case when @vve42 < 0 then 0 else @vve42 end,@vve43=case when @vve43 < 0 then 0 else @vve43 end,@vve44=case when @vve44 < 0 then 0 else @vve44 end,@vve45=case when @vve45 < 0 then 0 else @vve45 end,@vve46=case when @vve46 < 0 then 0 else @vve46 end,@vve47=case when @vve47 < 0 then 0 else @vve47 end,@vve48=case when @vve48 < 0 then 0 else @vve48 end end else select @vve1=case when @vve1+@vf1 < 0 then 0 else @vve1+@vf1 end,@vve2=case when @vve2+@vf2 < 0 then 0 else @vve2+@vf2 end,@vve3=case when @vve3+@vf3 < 0 then 0 else @vve3+@vf3 end,@vve4=case when @vve4+@vf4 < 0 then 0 else @vve4+@vf4 end,@vve5=case when @vve5+@vf5 < 0 then 0 else @vve5+@vf5 end,@vve6=case when @vve6+@vf6 < 0 then 0 else @vve6+@vf6 end,@vve7=case when @vve7+@vf7 < 0 then 0 else @vve7+@vf7 end,@vve8=case when @vve8+@vf8 < 0 then 0 else @vve8+@vf8 end,@vve9=case when @vve9+@vf9 < 0 then 0 else @vve9+@vf9 end,@vve10=case when @vve10+@vf10 < 0 then 0 else @vve10+@vf10 end,@vve11=case when @vve11+@vf11 < 0 then 0 else @vve11+@vf11 end,@vve12=case when @vve12+@vf12 < 0 then 0 else @vve12+@vf12 end,@vve13=case when @vve13+@vf13 < 0 then 0 else @vve13+@vf13 end,@vve14=case when @vve14+@vf14 < 0 then 0 else @vve14+@vf14 end,@vve15=case when @vve15+@vf15 < 0 then 0 else @vve15+@vf15 end,@vve16=case when @vve16+@vf16 < 0 then 0 else @vve16+@vf16 end, @vve17=case when @vve17+@vf17 < 0 then 0 else @vve17+@vf17 end,@vve18=case when @vve18+@vf18 < 0 then 0 else @vve18+@vf18 end,@vve19=case when @vve19+@vf19 < 0 then 0 else @vve19+@vf19 end,@vve20=case when @vve20+@vf20 < 0 then 0 else @vve20+@vf20 end,@vve21=case when @vve21+@vf21 < 0 then 0 else @vve21+@vf21 end,@vve22=case when @vve22+@vf22 < 0 then 0 else @vve22+@vf22 end,@vve23=case when @vve23+@vf23 < 0 then 0 else @vve23+@vf23 end,@vve24=case when @vve24+@vf24 < 0 then 0 else @vve24+@vf24 end,@vve25=case when @vve25+@vf25 < 0 then 0 else @vve25+@vf25 end,@vve26=case when @vve26+@vf26 < 0 then 0 else @vve26+@vf26 end,@vve27=case when @vve27+@vf27 < 0 then 0 else @vve27+@vf27 end,@vve28=case when @vve28+@vf28 < 0 then 0 else @vve28+@vf28 end,@vve29=case when @vve29+@vf29 < 0 then 0 else @vve29+@vf29 end,@vve30=case when @vve30+@vf30 < 0 then 0 else @vve30+@vf30 end,@vve31=case when @vve31+@vf31 < 0 then 0 else @vve31+@vf31 end,@vve32=case when @vve32+@vf32 < 0 then 0 else @vve32+@vf32 end, @vve33=case when @vve33+@vf33 < 0 then 0 else @vve33+@vf33 end,@vve34=case when @vve34+@vf34 < 0 then 0 else @vve34+@vf34 end,@vve35=case when @vve35+@vf35 < 0 then 0 else @vve35+@vf35 end,@vve36=case when @vve36+@vf36 < 0 then 0 else @vve36+@vf36 end,@vve37=case when @vve37+@vf37 < 0 then 0 else @vve37+@vf37 end,@vve38=case when @vve38+@vf38 < 0 then 0 else @vve38+@vf38 end,@vve39=case when @vve39+@vf39 < 0 then 0 else @vve39+@vf39 end,@vve40=case when @vve40+@vf40 < 0 then 0 else @vve40+@vf40 end,@vve41=case when @vve41+@vf41 < 0 then 0 else @vve41+@vf41 end,@vve42=case when @vve42+@vf42 < 0 then 0 else @vve42+@vf42 end,@vve43=case when @vve43+@vf43 < 0 then 0 else @vve43+@vf43 end,@vve44=case when @vve44+@vf44 < 0 then 0 else @vve44+@vf44 end,@vve45=case when @vve45+@vf45 < 0 then 0 else @vve45+@vf45 end,@vve46=case when @vve46+@vf46 < 0 then 0 else @vve46+@vf46 end,@vve47=case when @vve47+@vf47 < 0 then 0 else @vve47+@vf47 end,@vve48=case when @vve48+@vf48 < 0 then 0 else @vve48+@vf48 end select @vvalor_entregar=0,@xconta=1, @vqtde_entregar=(@vve1+@vve2+@vve3+@vve4+@vve5+@vve6+@vve7+@vve8+@vve9+@vve10+@vve11+@vve12+@vve13+@vve14+@vve15+@vve16+@vve17+@vve18+@vve19+@vve20+@vve21+@vve22+@vve23+@vve24+ @vve25+@vve26+@vve27+@vve28+@vve29+@vve30+@vve31+@vve32+@vve33+@vve34+@vve35+@vve36+@vve37+@vve38+@vve39+@vve40+@vve41+@vve42+@vve43+@vve44+@vve45+@vve46+@vve47+@vve48) if @vvaria_preco_tam=1 begin while @xconta <=48 begin select @vvalor_entregar=@vvalor_entregar+ convert(numeric(14,2),( case @xconta when 1 then @vve1 when 2 then @vve2 when 3 then @vve3 when 4 then @vve4 when 5 then @vve5 when 6 then @vve6 when 7 then @vve7 when 8 then @vve8 when 9 then @vve9 when 10 then @vve10 when 11 then @vve11 when 12 then @vve12 when 13 then @vve13 when 14 then @vve14 when 15 then @vve15 when 16 then @vve16 when 17 then @vve17 when 18 then @vve18 when 19 then @vve19 when 20 then @vve20 when 21 then @vve21 when 22 then @vve22 when 23 then @vve23 when 24 then @vve24 when 25 then @vve25 when 26 then @vve26 when 27 then @vve27 when 28 then @vve28 when 29 then @vve29 when 30 then @vve30 when 31 then @vve31 when 32 then @vve32 when 33 then @vve33 when 34 then @vve34 when 35 then @vve35 when 36 then @vve36 when 37 then @vve37 when 38 then @vve38 when 39 then @vve39 when 40 then @vve40 when 41 then @vve41 when 42 then @vve42 when 43 then @vve43 when 44 then @vve44 when 45 then @vve45 when 46 then @vve46 when 47 then @vve47 when 48 then @vve48 end) * ((case convert(int,substring(@vponteiro_preco_tam,@xconta,1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_item)),@xconta=@xconta+1 end end else select @vvalor_entregar=convert(numeric(14,2),@vqtde_entregar * @vpreco1) select @vqtde_embalada=case when @vqtde_embalada+case when @vorigem=''T'' or @vorigem=''E'' then @vqtde else 0 end < 0 then 0 else @vqtde_embalada+case when @vorigem=''T'' or @vorigem=''E'' then @vqtde else 0 end end update vendas_produto set qtde_embalada=@vqtde_embalada,qtde_entregar=@vqtde_entregar, qtde_entregue=qtde_entregue-@vqtde,valor_entregar=@vvalor_entregar, valor_entregue=valor_entregue-convert(numeric(14,2),(@vqtde * convert(numeric(14,2),@vpreco_tot))), entregue_moeda_padrao=entregue_moeda_padrao-convert(numeric(14,2),(@vqtde * convert(numeric(14,2),@vcambio_na_data)) * convert(numeric(14,2),@vpreco_tot)), ve1=@vve1,ve2=@vve2,ve3=@vve3,ve4=@vve4,ve5=@vve5,ve6=@vve6,ve7=@vve7,ve8=@vve8,ve9=@vve9,ve10=@vve10,ve11=@vve11,ve12=@vve12,ve13=@vve13,ve14=@vve14,ve15=@vve15,ve16=@vve16, ve17=@vve17,ve18=@vve18,ve19=@vve19,ve20=@vve20,ve21=@vve21,ve22=@vve22,ve23=@vve23,ve24=@vve24,ve25=@vve25,ve26=@vve26,ve27=@vve27,ve28=@vve28,ve29=@vve29,ve30=@vve30,ve31=@vve31,ve32=@vve32, ve33=@vve33,ve34=@vve34,ve35=@vve35,ve36=@vve36,ve37=@vve37,ve38=@vve38,ve39=@vve39,ve40=@vve40,ve41=@vve41,ve42=@vve42,ve43=@vve43,ve44=@vve44,ve45=@vve45,ve46=@vve46,ve47=@vve47,ve48=@vve48 where pedido=@vpedido and produto=@vpedido_produto and cor_produto=@vpedido_cor and entrega=@ventrega if @@rowcount=0 begin select @errno=30002, @errmsg=''Operatpo Cancelada,Npo foi Possfvel Atualizar "VENDAS_PRODUTO"'' goto error end end end if (@vorigem=''T'' or @vorigem=''E'') and (@vnome_clifor is not null and @vnome_clifor <> '' '') begin select @ve1=e1,@ve2=e2,@ve3=e3,@ve4=e4,@ve5=e5,@ve6=e6,@ve7=e7,@ve8=e8,@ve9=e9,@ve10=e10,@ve11=e11,@ve12=e12,@ve13=e13,@ve14=e14,@ve15=e15,@ve16=e16,@ve17=e17,@ve18=e18,@ve19=e19,@ve20=e20,@ve21=e21,@ve22=e22,@ve23=e23,@ve24=e24, @ve25=e25,@ve26=e26,@ve27=e27,@ve28=e28,@ve29=e29,@ve30=e30,@ve31=e31,@ve32=e32,@ve33=e33,@ve34=e34,@ve35=e35,@ve36=e36,@ve37=e37,@ve38=e38,@ve39=e39,@ve40=e40,@ve41=e41,@ve42=e42,@ve43=e43,@ve44=e44,@ve45=e45,@ve46=e46,@ve47=e47,@ve48=e48, @vqtde_embalada=qtde_embalada,@vvalor_embalado=valor_embalado,@vpreco1=preco1,@vpreco2=preco2,@vpreco3=preco3,@vpreco4=preco4, @vdesconto_fat = desconto_item from vendas_prod_embalado where nome_clifor=@vnome_clifor and produto=@vproduto and cor_produto=@vcor_produto and filial=@vfilial and (origem = @vorigem_emb or origem is null) and (romaneio=@vromaneio or romaneio is null) and (caixa=@vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount > 0 begin select @vpreco1=case when @vpreco1=0 and @vfaixa=''1'' then @vpreco else @vpreco1 end select @vpreco2=case when @vpreco2=0 and @vfaixa=''2'' then @vpreco else @vpreco2 end select @vpreco3=case when @vpreco3=0 and @vfaixa=''3'' then @vpreco else @vpreco3 end select @vpreco4=case when @vpreco4=0 and @vfaixa=''4'' then @vpreco else @vpreco4 end select @ve1=case when @ve1+@vf1 < 0 then 0 else @ve1+@vf1 end,@ve2=case when @ve2+@vf2 < 0 then 0 else @ve2+@vf2 end,@ve3=case when @ve3+@vf3 < 0 then 0 else @ve3+@vf3 end,@ve4=case when @ve4+@vf4 < 0 then 0 else @ve4+@vf4 end,@ve5=case when @ve5+@vf5 < 0 then 0 else @ve5+@vf5 end,@ve6=case when @ve6+@vf6 < 0 then 0 else @ve6+@vf6 end,@ve7=case when @ve7+@vf7 < 0 then 0 else @ve7+@vf7 end,@ve8=case when @ve8+@vf8 < 0 then 0 else @ve8+@vf8 end, @ve9=case when @ve9+@vf9 < 0 then 0 else @ve9+@vf9 end,@ve10=case when @ve10+@vf10 < 0 then 0 else @ve10+@vf10 end,@ve11=case when @ve11+@vf11 < 0 then 0 else @ve11+@vf11 end,@ve12=case when @ve12+@vf12 < 0 then 0 else @ve12+@vf12 end,@ve13=case when @ve13+@vf13 < 0 then 0 else @ve13+@vf13 end,@ve14=case when @ve14+@vf14 < 0 then 0 else @ve14+@vf14 end,@ve15=case when @ve15+@vf15 < 0 then 0 else @ve15+@vf15 end,@ve16=case when @ve16+@vf16 < 0 then 0 else @ve16+@vf16 end, @ve17=case when @ve17+@vf17 < 0 then 0 else @ve17+@vf17 end,@ve18=case when @ve18+@vf18 < 0 then 0 else @ve18+@vf18 end,@ve19=case when @ve19+@vf19 < 0 then 0 else @ve19+@vf19 end,@ve20=case when @ve20+@vf20 < 0 then 0 else @ve20+@vf20 end,@ve21=case when @ve21+@vf21 < 0 then 0 else @ve21+@vf21 end,@ve22=case when @ve22+@vf22 < 0 then 0 else @ve22+@vf22 end,@ve23=case when @ve23+@vf22 < 0 then 0 else @ve23+@vf23 end,@ve24=case when @ve24+@vf24 < 0 then 0 else @ve24+@vf24 end, @ve25=case when @ve25+@vf25 < 0 then 0 else @ve25+@vf25 end,@ve26=case when @ve26+@vf26 < 0 then 0 else @ve26+@vf26 end,@ve27=case when @ve27+@vf27 < 0 then 0 else @ve27+@vf27 end,@ve28=case when @ve28+@vf28 < 0 then 0 else @ve28+@vf28 end,@ve29=case when @ve29+@vf29 < 0 then 0 else @ve29+@vf29 end,@ve30=case when @ve30+@vf30 < 0 then 0 else @ve30+@vf30 end,@ve31=case when @ve31+@vf31 < 0 then 0 else @ve31+@vf31 end,@ve32=case when @ve32+@vf32 < 0 then 0 else @ve32+@vf32 end, @ve33=case when @ve33+@vf33 < 0 then 0 else @ve33+@vf33 end,@ve34=case when @ve34+@vf34 < 0 then 0 else @ve34+@vf34 end,@ve35=case when @ve35+@vf35 < 0 then 0 else @ve35+@vf35 end,@ve36=case when @ve36+@vf36 < 0 then 0 else @ve36+@vf36 end,@ve37=case when @ve37+@vf37 < 0 then 0 else @ve37+@vf37 end,@ve38=case when @ve38+@vf38 < 0 then 0 else @ve38+@vf38 end,@ve39=case when @ve39+@vf39 < 0 then 0 else @ve39+@vf39 end,@ve40=case when @ve40+@vf40 < 0 then 0 else @ve40+@vf40 end, @ve41=case when @ve41+@vf41 < 0 then 0 else @ve41+@vf41 end,@ve42=case when @ve42+@vf42 < 0 then 0 else @ve42+@vf42 end,@ve43=case when @ve43+@vf43 < 0 then 0 else @ve43+@vf43 end,@ve44=case when @ve44+@vf44 < 0 then 0 else @ve44+@vf44 end,@ve45=case when @ve45+@vf45 < 0 then 0 else @ve45+@vf45 end,@ve46=case when @ve46+@vf46 < 0 then 0 else @ve46+@vf46 end,@ve47=case when @ve47+@vf47 < 0 then 0 else @ve47+@vf47 end,@ve48=case when @ve48+@vf48 < 0 then 0 else @ve48+@vf48 end select @vqtde_embalada=@ve1+@ve2+@ve3+@ve4+@ve5+@ve6+@ve7+@ve8+@ve9+@ve10+@ve11+@ve12+@ve13+@ve14+@ve15+@ve16+@ve17+@ve18+@ve19+@ve20+@ve21+@ve22+@ve23+@ve24+ @ve25+@ve26+@ve27+@ve28+@ve29+@ve30+@ve31+@ve32+@ve33+@ve34+@ve35+@ve36+@ve37+@ve38+@ve39+@ve40+@ve41+@ve42+@ve43+@ve44+@ve45+@ve46+@ve47+@ve48, @vvalor_embalado=0 if @vqtde_embalada=0 begin delete from vendas_prod_embalado where nome_clifor=@vnome_clifor and produto=@vproduto and cor_produto=@vcor_produto and (origem = @vorigem_emb or origem is null) and filial=@vfilial and (romaneio=@vromaneio or romaneio is null) and (caixa=@vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount=0 begin select @errno=30002, @errmsg=''Operatpo Cancelada,Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end else begin if @vvaria_preco_tam=1 begin select @xconta=1 while @xconta <=48 begin select @vvalor_embalado=@vvalor_embalado+ convert(numeric(14,2),( case @xconta when 1 then @ve1 when 2 then @ve2 when 3 then @ve3 when 4 then @ve4 when 5 then @ve5 when 6 then @ve6 when 7 then @ve7 when 8 then @ve8 when 9 then @ve9 when 10 then @ve10 when 11 then @ve11 when 12 then @ve12 when 13 then @ve13 when 14 then @ve14 when 15 then @ve15 when 16 then @ve16 when 17 then @ve17 when 18 then @ve18 when 19 then @ve19 when 20 then @ve20 when 21 then @ve21 when 22 then @ve22 when 23 then @ve23 when 24 then @ve24 when 25 then @ve25 when 26 then @ve26 when 27 then @ve27 when 28 then @ve28 when 29 then @ve29 when 30 then @ve30 when 31 then @ve31 when 32 then @ve32 when 33 then @ve33 when 34 then @ve34 when 35 then @ve35 when 36 then @ve36 when 37 then @ve37 when 38 then @ve38 when 39 then @ve39 when 40 then @ve40 when 41 then @ve41 when 42 then @ve42 when 43 then @ve43 when 44 then @ve44 when 45 then @ve45 when 46 then @ve46 when 47 then @ve47 when 48 then @ve48 end)*((case convert(int,substring(@vponteiro_preco_tam ,@xconta,1)) when 1 then @vpreco1 when 2 then @vpreco2 when 3 then @vpreco3 when 4 then @vpreco4 end)-@vdesconto_fat)), @xconta=@xconta+1 end end else select @vvalor_embalado=convert(numeric(14,2),((@vqtde_embalada) * (@vpreco1-@vdesconto_fat))) begin update vendas_prod_embalado set valor_embalado=@vvalor_embalado, qtde_embalada=@vqtde_embalada, e1=@ve1,e2=@ve2,e3=@ve3,e4=@ve4,e5=@ve5,e6=@ve6,e7=@ve7,e8=@ve8,e9=@ve9,e10=@ve10,e11=@ve11,e12=@ve12,e13=@ve13,e14=@ve14,e15=@ve15,e16=@ve16, e17=@ve17,e18=@ve18,e19=@ve19,e20=@ve20,e21=@ve21,e22=@ve22,e23=@ve23,e24=@ve24,e25=@ve25,e26=@ve26,e27=@ve27,e28=@ve28,e29=@ve29,e30=@ve30,e31=@ve31,e32=@ve32, e33=@ve33,e34=@ve34,e35=@ve35,e36=@ve36,e37=@ve37,e38=@ve38,e39=@ve39,e40=@ve40,e41=@ve41,e42=@ve42,e43=@ve43,e44=@ve44,e45=@ve45,e46=@ve46,e47=@ve47,e48=@ve48, preco1=@vpreco1,preco2=@vpreco2,preco3=@vpreco3,preco4=@vpreco4 where nome_clifor=@vnome_clifor and produto=@vproduto and cor_produto=@vcor_produto and filial=@vfilial and (origem = @vorigem_emb or origem is null) and (romaneio=@vromaneio or romaneio is null) and (caixa=@vcaixa or caixa is null) and entrega = @ventrega and pedido = @vpedido and (caixa is not null or origem is not null or (@vorigem_emb is null and @vcaixa is null)) if @@rowcount=0 begin select @errno=30002, @errmsg=''Operatpo Cancelada,Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end end end else begin if @vtabela=''D'' begin select @vsequencial=isnull(right(str(1000+convert(int,max(item))+1),3),''001'') from vendas_prod_embalado where nome_clifor=@vnome_clifor and produto=@vproduto and cor_produto=@vcor_produto and filial=@vfilial select @vpreco1=0,@vpreco2=0,@vpreco3=0,@vpreco4=0 select @vpreco1=@vpreco + @vdesconto_fat where @vfaixa=''1'' select @vpreco2=@vpreco + @vdesconto_fat where @vfaixa=''2'' select @vpreco3=@vpreco + @vdesconto_fat where @vfaixa=''3'' select @vpreco4=@vpreco + @vdesconto_fat where @vfaixa=''4'' select @vvalor_embalado=(@vqtde * @vpreco) insert into vendas_prod_embalado (nome_clifor,produto,cor_produto,filial,item,pedido_cor_produto, romaneio,caixa,pedido,pedido_produto,packs,entrega,caixa_fechada, representante,ipi,preco1,preco2,preco3,preco4,desconto_item, valor_embalado,qtde_embalada,origem,mata_saldo, e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15,e16,e17,e18,e19,e20,e21,e22,e23,e24, e25,e26,e27,e28,e29,e30,e31,e32,e33,e34,e35,e36,e37,e38,e39,e40,e41,e42,e43,e44,e45,e46,e47,e48) values (@vnome_clifor,@vproduto,@vcor_produto,@vfilial,@vsequencial, @vpedido_cor,@vromaneio,@vcaixa,@vpedido,@vpedido_produto, @vpacks,@ventrega,1,@vrepresentante,@vipi,@vpreco1, @vpreco2,@vpreco3,@vpreco4,@vdesconto_item,@vvalor_embalado, @vqtde,@vorigem_emb,@vmata_saldo, @vf1,@vf2,@vf3,@vf4,@vf5,@vf6,@vf7,@vf8,@vf9,@vf10,@vf11,@vf12,@vf13,@vf14,@vf15,@vf16, @vf17,@vf18,@vf19,@vf20,@vf21,@vf22,@vf23,@vf24,@vf25,@vf26,@vf27,@vf28,@vf29,@vf30,@vf31,@vf32, @vf33,@vf34,@vf35,@vf36,@vf37,@vf38,@vf39,@vf40,@vf41,@vf42,@vf43,@vf44,@vf45,@vf46,@vf47,@vf48) if @@rowcount=0 begin select @errno=30002, @errmsg=''Operatpo Cancelada,Npo foi Possfvel Atualizar "VENDAS_PROD_EMBALADO"'' goto error end end end end fetch next from cur_atualiza_vendas_produto_u into @vproduto,@vcor_produto ,@vpedido_produto,@vpedido_cor, @vfilial,@ventrega,@vpedido,@vvalor,@vqtde,@vcambio_na_data,@vorigem,@vorigem_emb,@vromaneio, @vmata_saldo,@vtimestamp,@vponteiro_preco_tam,@vvaria_preco_tam,@vrepresentante,@vnome_clifor, @vpacks,@vcaixa,@vfaixa,@vpreco,@vtabela, @vf1,@vf2,@vf3,@vf4,@vf5,@vf6,@vf7,@vf8,@vf9,@vf10,@vf11,@vf12,@vf13,@vf14,@vf15,@vf16,@vf17,@vf18,@vf19,@vf20,@vf21,@vf22,@vf23,@vf24, @vf25,@vf26,@vf27,@vf28,@vf29,@vf30,@vf31,@vf32,@vf33,@vf34,@vf35,@vf36,@vf37,@vf38,@vf39,@vf40,@vf41,@vf42,@vf43,@vf44,@vf45,@vf46,@vf47,@vf48, @vdesconto_fat end close cur_atualiza_vendas_produto_u deallocate cur_atualiza_vendas_produto_u /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_FATURAMENTO_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAMENTO_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAMENTO_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAMENTO_PROD DEALLOCATE cur_FATURAMENTO_PROD END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FATURAMENTO_PROD SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FATURAMENTO_PROD, INSERTED WHERE FATURAMENTO_PROD.FILIAL = INSERTED.FILIAL and FATURAMENTO_PROD.NF_SAIDA = INSERTED.NF_SAIDA and FATURAMENTO_PROD.SERIE_NF = INSERTED.SERIE_NF and FATURAMENTO_PROD.PRODUTO = INSERTED.PRODUTO and FATURAMENTO_PROD.COR_PRODUTO = INSERTED.COR_PRODUTO and FATURAMENTO_PROD.ITEM = INSERTED.ITEM AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FATURAMENTO_PROD.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_PROD].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[MATA_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[F48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[CUSTO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAMENTO_PROD].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FATURAMENTO_PROD].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[ITEM_IMPRESSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[ITEM_IMPRESSAO_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_PROD].[COMISSAO_LINEA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_ENT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_ENT]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [EMISSAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [NOME_CLIFOR] [varchar](25) NULL, [NF_ENTRADA] [char](7) NULL, [FILIAL_DESTINO] [varchar](25) NULL, [PEDIDO] [char](8) NULL, [ROMANEIO_ORIGEM] [char](8) NULL, [FILIAL_ORIGEM] [varchar](25) NULL, [OBS] [text] NULL, [SEGUNDA_QUALIDADE] [bit] NOT NULL, [ORDEM_SERVICO] [char](8) NULL, CONSTRAINT [XPKESTOQUE_PROD_ENT] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_ENT]') AND name = N'XIE2ESTOQUE_PROD_ENT') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_PROD_ENT] ON [ESTOQUE_PROD_ENT] ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [EMISSAO] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_ENT]') AND name = N'XIE3ESTOQUE_PROD_ENT') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_PROD_ENT] ON [ESTOQUE_PROD_ENT] ( [EMISSAO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_ENT]') AND name = N'XIE4ESTOQUE_PROD_ENT') CREATE NONCLUSTERED INDEX [XIE4ESTOQUE_PROD_ENT] ON [ESTOQUE_PROD_ENT] ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_ENT] on [ESTOQUE_PROD_ENT] for DELETE as /* DELETE trigger on ESTOQUE_PROD_ENT */ /* default body for LXD_ESTOQUE_PROD_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD1_ENT, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD1_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_ENT.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_ENT.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_PROD_ENT ESTOQUE_PROD_ENT ESTOQUE_PROD1_ENT ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD1_ENT from ESTOQUE_PROD1_ENT,deleted where ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and ESTOQUE_PROD1_ENT.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_ENT] on [ESTOQUE_PROD_ENT] for INSERT as /* INSERT trigger on ESTOQUE_PROD_ENT */ /* default body for LXI_ESTOQUE_PROD_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1641 ESTOQUE_PROD_ENT ON CHILD INSERT RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_ENT #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_PROD_ENT ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_ENT #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_ENT] on [ESTOQUE_PROD_ENT] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_ENT */ /* default body for LXU_ESTOQUE_PROD_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD1_ENT, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD1_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_ENT.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_ENT.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD1_ENT, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD1_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_ENT.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_ENT.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1641 ESTOQUE_PROD_ENT ON CHILD UPDATE RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_ENT #porque #FILIAIS #não existe.'' goto error end end /* ESTOQUE_PROD_ENT ESTOQUE_PROD_ENT ESTOQUE_PROD1_ENT ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE ESTOQUE_PROD_ENT718 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE ESTOQUE_PROD_ENT511 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN ESTOQUE_PROD_ENT718 OPEN ESTOQUE_PROD_ENT511 FETCH NEXT FROM ESTOQUE_PROD_ENT718 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM ESTOQUE_PROD_ENT511 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_ENT SET ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, ESTOQUE_PROD1_ENT.FILIAL=@insFILIAL WHERE ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and ESTOQUE_PROD1_ENT.FILIAL = @delFILIAL FETCH NEXT FROM ESTOQUE_PROD_ENT718 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM ESTOQUE_PROD_ENT511 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE ESTOQUE_PROD_ENT718 CLOSE ESTOQUE_PROD_ENT511 DEALLOCATE ESTOQUE_PROD_ENT718 DEALLOCATE ESTOQUE_PROD_ENT511 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_PROD_ENT].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_ENT].[SEGUNDA_QUALIDADE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_CANCELADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_CANCELADO]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [PEDIDO] [char](12) NULL, [PEDIDO_PRODUTO] [char](12) NULL, [PEDIDO_COR] [char](10) NULL, [ENTREGA] [datetime] NULL, [CAIXA] [varchar](8) NULL, [IPI] [real] NULL, [ICMS] [numeric](8, 1) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [QTDE] [int] NULL, [PRECO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [PACKS] [char](24) NULL, [F1] [int] NULL, [F2] [int] NULL, [F3] [int] NULL, [F4] [int] NULL, [F5] [int] NULL, [F6] [int] NULL, [F7] [int] NULL, [F8] [int] NULL, [F9] [int] NULL, [F10] [int] NULL, [F11] [int] NULL, [F12] [int] NULL, [F13] [int] NULL, [F14] [int] NULL, [F15] [int] NULL, [F16] [int] NULL, [F17] [int] NULL, [F18] [int] NULL, [F19] [int] NULL, [F20] [int] NULL, [F21] [int] NULL, [F22] [int] NULL, [F23] [int] NULL, [F24] [int] NULL, [F25] [int] NULL, [F26] [int] NULL, [F27] [int] NULL, [F28] [int] NULL, [F29] [int] NULL, [F30] [int] NULL, [F31] [int] NULL, [F32] [int] NULL, [F33] [int] NULL, [F34] [int] NULL, [F35] [int] NULL, [F36] [int] NULL, [F37] [int] NULL, [F38] [int] NULL, [F39] [int] NULL, [F40] [int] NULL, [F41] [int] NULL, [F42] [int] NULL, [F43] [int] NULL, [F44] [int] NULL, [F45] [int] NULL, [F46] [int] NULL, [F47] [int] NULL, [F48] [int] NULL, [FAIXA] [char](1) NOT NULL, [ORIGEM] [char](1) NOT NULL, [ROMANEIO] [char](8) NULL, [CUSTO_NA_DATA] [numeric](14, 2) NULL, [TIMESTAMP] [varchar](28) NOT NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [ORIGEM_EMB] [char](1) NULL, CONSTRAINT [XPKFATURAMENTO_CANCELADO] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_CANCELADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_CANCELADO] on [FATURAMENTO_CANCELADO] for INSERT as /* INSERT trigger on FATURAMENTO_CANCELADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1999 FATURAMENTO_CANCELADO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CANCELADO #porque #PRODUTO_CORES #não existe.'' goto error end end /* FATURAMENTO R/1998 FATURAMENTO_CANCELADO ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CANCELADO #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_CANCELADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_CANCELADO] on [FATURAMENTO_CANCELADO] for UPDATE as /* UPDATE trigger on FATURAMENTO_CANCELADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(3), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1999 FATURAMENTO_CANCELADO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CANCELADO #porque #PRODUTO_CORES #não existe.'' goto error end end /* FATURAMENTO R/1998 FATURAMENTO_CANCELADO ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CANCELADO #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_CANCELADO].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[F48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CANCELADO].[CUSTO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAMENTO_CANCELADO].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SAI1_MAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SAI1_MAT]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE] [numeric](9, 3) NOT NULL, [QTDE_AUX] [numeric](9, 3) NOT NULL, [CUSTO] [numeric](15, 5) NULL, [DATA_CUSTO] [datetime] NULL, [MATAR_SALDO_RESERVA] [bit] NOT NULL, [FILIAL_FATURAMENTO] [varchar](25) NULL, [SERIE_NF] [char](2) NULL, [NF_SAIDA] [char](7) NULL, [ICMS] [numeric](6, 2) NULL, [IPI] [real] NULL, [DESCONTO_ITEM] [numeric](15, 5) NULL, [PRECO] [numeric](15, 5) NULL, [VALOR] [numeric](15, 5) NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NULL, [UNIDADE_FATURAMENTO] [char](6) NULL, [VALOR_BRUTO] [numeric](15, 5) NULL, [ENTREGA] [datetime] NULL, [PEDIDO] [char](12) NULL, [RESERVA_AUTOMATICA] [tinyint] NULL, [PERDA] [numeric](9, 3) NULL, [TRANSF_ORDEM_PRODUCAO] [varchar](8) NULL, CONSTRAINT [XPKESTOQUE_SAI1_MAT] PRIMARY KEY NONCLUSTERED ( [REQ_MATERIAL] ASC, [FILIAL] ASC, [MATERIAL] ASC, [ITEM] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI1_MAT]') AND name = N'XIE1ESTOQUE_SAI1_MAT') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_SAI1_MAT] ON [ESTOQUE_SAI1_MAT] ( [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI1_MAT]') AND name = N'XIE2ESTOQUE_SAI1_MAT') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_SAI1_MAT] ON [ESTOQUE_SAI1_MAT] ( [ORDEM_PRODUCAO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI1_MAT]') AND name = N'XIE3ESTOQUE_SAI1_MAT') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_SAI1_MAT] ON [ESTOQUE_SAI1_MAT] ( [MATERIAL] ASC, [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_SAI1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_SAI1_MAT] on [ESTOQUE_SAI1_MAT] for DELETE as /* DELETE trigger on ESTOQUE_SAI1_MAT */ /* default body for LXD_ESTOQUE_SAI1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delMATERIAL char(11), @delITEM char(3), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ DELETE D FROM (DELETED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) INNER JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL DELETE C FROM (DELETED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) LEFT JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL AND D.FILIAL IS NULL /*--------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_SAI1_MAT ESTOQUE_SAI1_MAT ESTOQUE_SAI_PECA ON PARENT DELETE CASCADE */ delete ESTOQUE_SAI_PECA from ESTOQUE_SAI_PECA,deleted where ESTOQUE_SAI_PECA.REQ_MATERIAL = deleted.REQ_MATERIAL and ESTOQUE_SAI_PECA.FILIAL = deleted.FILIAL and ESTOQUE_SAI_PECA.MATERIAL = deleted.MATERIAL and ESTOQUE_SAI_PECA.ITEM = deleted.ITEM and ESTOQUE_SAI_PECA.COR_MATERIAL = deleted.COR_MATERIAL /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- LINX ---------------------------------------------------------------------------------------------------------*/ DECLARE @Status Int,@xPedido Char(12),@xMaterial Char(11),@xCor_Material Char(10),@xQtde Numeric(9,3), @xValor Numeric(15,5),@xNF_Saida Char(7),@xEntrega DateTime, @xMata_Saldo SMALLINT, @xFator SmallInt DECLARE Cur_LXD_Estoque_Sai1_Mat SCROLL CURSOR FOR SELECT Pedido,Material,Cor_Material,Entrega,-Qtde,-Valor,NF_Saida,CONVERT(SMALLINT,MATAR_SALDO_RESERVA) FROM Deleted OPEN Cur_LXD_Estoque_Sai1_Mat SELECT @Status=0 WHILE @Status !=-1 BEGIN FETCH NEXT FROM Cur_LXD_Estoque_Sai1_Mat INTO @xPedido,@xMaterial,@xCor_Material,@xEntrega,@xQtde,@xValor,@xNF_Saida, @xMata_Saldo SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @xFator=CASE WHEN @xMata_Saldo = 1 THEN 0 ELSE 1 END WHERE @XQTDE >= 0 SELECT @xFator= 1, @xMata_Saldo= 0 WHERE @XQTDE < 0 IF EXISTS ( SELECT * FROM Vendas_Material WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega) BEGIN IF @xNF_Saida IS NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada+@xQtde, Valor_Reservado=(Qtde_Reservada+@xQtde)*(Preco-Desconto_Item) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega UPDATE VENDAS_MATERIAL SET Qtde_Entregar = Qtde_original - qtde_entregue - Qtde_Cancelada, valor_entregar = (qtde_original - qtde_entregue - Qtde_Cancelada) * (preco - desconto_item) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) > 0 UPDATE VENDAS_MATERIAL SET Qtde_Entregar = 0, valor_entregar = 0 WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) <= 0 END IF @xNF_Saida IS NOT NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada+@xQtde, Valor_Reservado=(Qtde_Reservada+@xQtde)*(Preco-Desconto_Item), Qtde_Entregue=Qtde_Entregue+@xQtde, Valor_Entregue=(Qtde_Entregue+@xQtde)*(Preco-Desconto_Item), QTDE_ENTREGAR=(Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*@xFator, QTDE_CANCELADA=Qtde_Cancelada + ((Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*@xMata_Saldo), Valor_ENTREGAR=(Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*(Preco-Desconto_Item)*@xFator, Valor_CANCELADO=Valor_Cancelado + ((Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*(Preco-Desconto_Item)*@xMata_Saldo) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega UPDATE VENDAS_MATERIAL SET qtde_entregar = (qtde_original - qtde_entregue - Qtde_cancelada)*@xFator, valor_entregar = (qtde_original - qtde_entregue - Qtde_Cancelada) * (preco - desconto_item)*@xFator WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) > 0 UPDATE VENDAS_MATERIAL SET qtde_entregar = 0, valor_entregar = 0 WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) <= 0 END END END CLOSE Cur_LXD_Estoque_Sai1_Mat DEALLOCATE Cur_LXD_Estoque_Sai1_Mat /*-----------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ESTOQUE_SAI1_MAT CURSOR FOR SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_SAI1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI1_MAT DEALLOCATE cur_ESTOQUE_SAI1_MAT /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_SAI1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXI_ESTOQUE_SAI1_MAT] on [ESTOQUE_SAI1_MAT] for INSERT as /* 25/04/2002 */ /* INSERT trigger on ESTOQUE_SAI1_MAT */ /* default body for LXI_ESTOQUE_SAI1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1561 ESTOQUE_SAI1_MAT ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI1_MAT #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_SAI1_MAT ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI1_MAT #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_SAI_MAT ESTOQUE_SAI_MAT ESTOQUE_SAI1_MAT ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI1_MAT #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE* CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- LINX ---------------------------------------------------------------------------------------------------------*/ DECLARE @Status Int,@xPedido Char(12),@xMaterial Char(11),@xCor_Material Char(10),@xQtde Numeric(9,3), @xValor Numeric(15,5),@xNF_Saida Char(7),@xEntrega DateTime, @xMata_Saldo SMALLINT, @xFator SmallInt DECLARE Cur_LXI_Estoque_Sai1_Mat SCROLL CURSOR FOR SELECT Pedido,Material,Cor_Material,Entrega,Qtde,Valor,NF_Saida,CONVERT(SMALLINT,MATAR_SALDO_RESERVA) FROM Inserted OPEN Cur_LXI_Estoque_Sai1_Mat SELECT @Status=0 WHILE @Status !=-1 BEGIN FETCH NEXT FROM Cur_LXI_Estoque_Sai1_Mat INTO @xPedido,@xMaterial,@xCor_Material,@xEntrega,@xQtde,@xValor,@xNF_Saida,@xMata_Saldo SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @xFator=CASE WHEN @xMata_Saldo = 1 THEN 0 ELSE 1 END IF EXISTS ( SELECT * FROM Vendas_Material WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega) BEGIN IF @xNF_Saida IS NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada+@xQtde, Valor_Reservado=(Qtde_Reservada+@xQtde)*(Preco-Desconto_Item) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega END IF @xNF_Saida IS NOT NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada-@xQtde, Valor_Reservado=(Qtde_Reservada-@xQtde)*(Preco-Desconto_Item), Qtde_Entregue=Qtde_Entregue+@xQtde, Valor_Entregue=(Qtde_Entregue+@xQtde)*(Preco-Desconto_Item), QTDE_ENTREGAR=(Qtde_Original-Qtde_Entregue-@xQTDE)*@xFator, QTDE_CANCELADA=(Qtde_Original-Qtde_Entregue-@xQTDE)*@xMata_Saldo, Valor_ENTREGAR=(Qtde_Original-Qtde_Entregue-@xQTDE)*(Preco-Desconto_Item)*@xFator, Valor_CANCELADO=(Qtde_Original-Qtde_Entregue-@xQTDE)*(Preco-Desconto_Item)*@xMata_Saldo WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega END END END CLOSE Cur_LXI_Estoque_Sai1_Mat DEALLOCATE Cur_LXI_Estoque_Sai1_Mat /*-----------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_ESTOQUE_SAI1_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial OPEN cur_ESTOQUE_SAI1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI1_MAT DEALLOCATE cur_ESTOQUE_SAI1_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ IF EXISTS (SELECT * FROM INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.FILIAL=A.FILIAL AND B.REQ_MATERIAL=A.REQ_MATERIAL JOIN FILIAIS C ON C.FILIAL=B.FILIAL JOIN FILIAIS D ON D.FILIAL=B.FILIAL_DESTINO JOIN MATERIAIS E ON E.MATERIAL=A.MATERIAL WHERE (E.CTRL_PECAS = 1 OR E.CTRL_PARTIDAS = 1) AND D.ESTOQUE_CTRL_PECA = 1 AND C.ESTOQUE_CTRL_PECA=0 AND B.FILIAL_DESTINO IS NOT NULL AND B.REQ_MATERIAL_DESTINO IS NOT NULL AND A.ORDEM_PRODUCAO IS NULL) BEGIN select @errno = 30040, @errmsg = ''Nao e possivel gerar entrada Automatica. FILIAL DE DESTINO CONTROLA ESTOQUE POR PECA e Filial de Origem nao controla!!!'' goto error END UPDATE C SET REQ_MATERIAL = B.REQ_MATERIAL_DESTINO, FILIAL = B.FILIAL_DESTINO, REQ_MATERIAL_ORIGEM = B.REQ_MATERIAL, FILIAL_ORIGEM = B.FILIAL, CENTRO_CUSTO = B.CENTRO_CUSTO, EMISSAO = B.EMISSAO, RESPONSAVEL = B.RESPONSAVEL, REQUISITANTE = B.REQUISITANTE FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL INNER JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) WHERE B.REQ_MATERIAL_DESTINO IS NOT NULL AND B.FILIAL_DESTINO IS NOT NULL AND A.ORDEM_PRODUCAO IS NULL INSERT INTO ESTOQUE_RET_MAT (REQ_MATERIAL,FILIAL,TIPO_MOVIMENTACAO,REQ_MATERIAL_ORIGEM,FILIAL_ORIGEM,CENTRO_CUSTO,EMISSAO,RESPONSAVEL,REQUISITANTE) SELECT B.REQ_MATERIAL_DESTINO,B.FILIAL_DESTINO,B.TIPO_MOVIMENTACAO,B.REQ_MATERIAL,B.FILIAL,B.CENTRO_CUSTO,B.EMISSAO,B.RESPONSAVEL,B.REQUISITANTE FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL LEFT JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) WHERE B.REQ_MATERIAL_DESTINO IS NOT NULL AND B.FILIAL_DESTINO IS NOT NULL AND C.FILIAL IS NULL AND A.ORDEM_PRODUCAO IS NULL UPDATE D SET ORDEM_PRODUCAO=A.ORDEM_PRODUCAO, QTDE=A.QTDE, QTDE_AUX=A.QTDE_AUX, CUSTO_ULT_SAIDA=A.CUSTO, DATA_CUSTO=A.DATA_CUSTO FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL INSERT INTO ESTOQUE_RET1_MAT (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,QTDE,QTDE_AUX,CUSTO_ULT_SAIDA,DATA_CUSTO) SELECT C.REQ_MATERIAL,C.FILIAL,A.MATERIAL,A.COR_MATERIAL,A.ITEM,A.ORDEM_PRODUCAO,A.QTDE,A.QTDE_AUX,A.CUSTO,A.DATA_CUSTO FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) LEFT JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE D.FILIAL IS NULL AND A.ORDEM_PRODUCAO IS NULL /*--------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SAI1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ESTOQUE_SAI1_MAT] on [ESTOQUE_SAI1_MAT] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ESTOQUE_SAI1_MAT */ /* default body for LXU_ESTOQUE_SAI1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delMATERIAL char(11), @delITEM char(3), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1561 ESTOQUE_SAI1_MAT ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI1_MAT #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_SAI1_MAT ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI1_MAT #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_SAI_MAT ESTOQUE_SAI_MAT ESTOQUE_SAI1_MAT ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI1_MAT #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /* ESTOQUE_SAI1_MAT ESTOQUE_SAI1_MAT ESTOQUE_SAI_PECA ON PARENT UPDATE CASCADE */ IF update(REQ_MATERIAL) OR update(FILIAL) OR update(MATERIAL) OR update(ITEM) OR update(COR_MATERIAL) BEGIN DECLARE ESTOQUE_SAI1_MAT649 CURSOR FOR SELECT REQ_MATERIAL, FILIAL, MATERIAL, ITEM, COR_MATERIAL FROM INSERTED DECLARE ESTOQUE_SAI1_MAT22 CURSOR FOR SELECT REQ_MATERIAL, FILIAL, MATERIAL, ITEM, COR_MATERIAL FROM DELETED OPEN ESTOQUE_SAI1_MAT649 OPEN ESTOQUE_SAI1_MAT22 FETCH NEXT FROM ESTOQUE_SAI1_MAT649 INTO @insREQ_MATERIAL, @insFILIAL, @insMATERIAL, @insITEM, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_SAI1_MAT22 INTO @delREQ_MATERIAL, @delFILIAL, @delMATERIAL, @delITEM, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI_PECA SET ESTOQUE_SAI_PECA.REQ_MATERIAL=@insREQ_MATERIAL, ESTOQUE_SAI_PECA.FILIAL=@insFILIAL, ESTOQUE_SAI_PECA.MATERIAL=@insMATERIAL, ESTOQUE_SAI_PECA.ITEM=@insITEM, ESTOQUE_SAI_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_SAI_PECA.REQ_MATERIAL = @delREQ_MATERIAL and ESTOQUE_SAI_PECA.FILIAL = @delFILIAL and ESTOQUE_SAI_PECA.MATERIAL = @delMATERIAL and ESTOQUE_SAI_PECA.ITEM = @delITEM and ESTOQUE_SAI_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM ESTOQUE_SAI1_MAT649 INTO @insREQ_MATERIAL, @insFILIAL, @insMATERIAL, @insITEM, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_SAI1_MAT22 INTO @delREQ_MATERIAL, @delFILIAL, @delMATERIAL, @delITEM, @delCOR_MATERIAL END END CLOSE ESTOQUE_SAI1_MAT649 CLOSE ESTOQUE_SAI1_MAT22 DEALLOCATE ESTOQUE_SAI1_MAT649 DEALLOCATE ESTOQUE_SAI1_MAT22 END /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) OR EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE* CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- LINX ---------------------------------------------------------------------------------------------------------*/ DECLARE @Status Int,@xPedido Char(12),@xMaterial Char(11),@xCor_Material Char(10),@xQtde Numeric(9,3), @xValor Numeric(15,5),@xNF_Saida Char(7),@xEntrega DateTime, @DIF_NF SMALLINT, @xMata_Saldo SMALLINT, @xFator SmallInt DECLARE Cur_LXU_Estoque_Sai1_Mat SCROLL CURSOR FOR SELECT Inserted.Pedido,Inserted.Material,Inserted.Cor_Material,Inserted.Entrega,CONVERT(Numeric(9,3),INSERTED.QTDE),CONVERT(Numeric(15,5),INSERTED.Valor),Inserted.NF_Saida,CONVERT(SMALLINT,CASE WHEN ISNULL(Inserted.NF_Saida,''NULO'')<>ISNULL(DELETED.NF_Saida,''NULO'') THEN 1 ELSE 0 END) AS DIF_NF,CONVERT(SMALLINT,INSERTED.MATAR_SALDO_RESERVA) FROM Inserted LEFT JOIN DELETED ON Inserted.REQ_MATERIAL=DELETED.REQ_MATERIAL AND Inserted.FILIAL=DELETED.FILIAL AND Inserted.MATERIAL=Deleted.MATERIAL AND Inserted.COR_MATERIAL=DELETED.COR_MATERIAL AND Inserted.ITEM=DELETED.ITEM UNION SELECT Deleted.Pedido,Deleted.Material,Deleted.Cor_Material,Deleted.Entrega,CONVERT(Numeric(9,3),Deleted.Qtde*-1),CONVERT(Numeric(15,5),Deleted.Valor*-1),Deleted.NF_Saida,CONVERT(SMALLINT,CASE WHEN ISNULL(Inserted.NF_Saida,''NULO'')<>ISNULL(DELETED.NF_Saida,''NULO'') THEN 1 ELSE 0 END) AS DIF_NF,CONVERT(SMALLINT,DELETED.MATAR_SALDO_RESERVA) FROM Inserted RIGHT JOIN DELETED ON Inserted.REQ_MATERIAL=DELETED.REQ_MATERIAL AND Inserted.FILIAL=DELETED.FILIAL AND Inserted.MATERIAL=Deleted.MATERIAL AND Inserted.COR_MATERIAL=DELETED.COR_MATERIAL AND Inserted.ITEM=DELETED.ITEM OPEN Cur_LXU_Estoque_Sai1_Mat SELECT @Status=0 FETCH NEXT FROM Cur_LXU_Estoque_Sai1_Mat INTO @xPedido,@xMaterial,@xCor_Material,@xEntrega,@xQtde,@xValor,@xNF_Saida, @DIF_NF ,@xMata_Saldo WHILE @@fetch_status <> -1 BEGIN SELECT @xFator=CASE WHEN @xMata_Saldo = 1 THEN 0 ELSE 1 END WHERE @XQTDE >= 0 SELECT @xFator= 1, @xMata_Saldo= 0 WHERE @XQTDE < 0 IF EXISTS ( SELECT * FROM Vendas_Material WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega) BEGIN IF @xNF_Saida IS NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada+@xQtde, Valor_Reservado=(Qtde_Reservada+@xQtde)*(Preco-Desconto_Item) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega AND @DIF_NF=0 UPDATE VENDAS_MATERIAL SET Qtde_Entregar = Qtde_original - qtde_entregue - Qtde_Cancelada, valor_entregar = (qtde_original - qtde_entregue - Qtde_Cancelada) * (preco - desconto_item) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) > 0 UPDATE VENDAS_MATERIAL SET Qtde_Entregar = 0, valor_entregar = 0 WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) <= 0 END IF @xNF_Saida IS NOT NULL BEGIN UPDATE VENDAS_MATERIAL SET Qtde_Reservada=Qtde_Reservada-@xQtde, Valor_Reservado=(Qtde_Reservada-@xQtde)*(Preco-Desconto_Item), Qtde_Entregue=Qtde_Entregue+@xQtde, Valor_Entregue=(Qtde_Entregue+@xQtde)*(Preco-Desconto_Item), QTDE_ENTREGAR=(Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*@xFator, QTDE_CANCELADA=Qtde_Cancelada + ((Qtde_Original-Qtde_Cancelada-Qtde_Entregue-@xQTDE)*@xMata_Saldo), Valor_ENTREGAR=(Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*(Preco-Desconto_Item)*@xFator, Valor_CANCELADO=Valor_Cancelado + ((Qtde_Original-Qtde_Entregue-Qtde_Cancelada-@xQTDE)*(Preco-Desconto_Item)*@xMata_Saldo) WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega UPDATE VENDAS_MATERIAL SET qtde_entregar = (qtde_original - qtde_entregue - Qtde_Cancelada)*@xFator, valor_entregar = (qtde_original - qtde_entregue - Qtde_Cancelada) * (preco - desconto_item)*@xFator WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) > 0 UPDATE VENDAS_MATERIAL SET qtde_entregar = 0, valor_entregar = 0 WHERE Pedido=@xPedido AND Material=@xMaterial AND Cor_Material=@xCor_Material AND Entrega=@xEntrega and (qtde_original - qtde_entregue - Qtde_Cancelada) <= 0 END END FETCH NEXT FROM Cur_LXU_Estoque_Sai1_Mat INTO @xPedido,@xMaterial,@xCor_Material,@xEntrega,@xQtde,@xValor,@xNF_Saida, @DIF_NF,@xMata_Saldo END CLOSE Cur_LXU_Estoque_Sai1_Mat DEALLOCATE Cur_LXU_Estoque_Sai1_Mat /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) or update (perda) BEGIN DECLARE cur_ESTOQUE_SAI1_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0)), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial UNION SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_SAI1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_SAI1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI1_MAT DEALLOCATE cur_ESTOQUE_SAI1_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ /* IF EXISTS (SELECT * FROM INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.FILIAL=A.FILIAL AND B.REQ_MATERIAL=A.REQ_MATERIAL WHERE B.FILIAL_DESTINO IS NOT NULL AND B.REQ_MATERIAL_DESTINO IS NOT NULL AND A.ORDEM_PRODUCAO IS NOT NULL AND A.ORDEM_PRODUCAO IS NULL) BEGIN select @errno = 30040, @errmsg = ''Nao e possivel gerar entrada Automatica. Porque ORDEM_PRODUCAO não esta nula !!!'' goto error END */ IF EXISTS (SELECT * FROM INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.FILIAL=A.FILIAL AND B.REQ_MATERIAL=A.REQ_MATERIAL JOIN FILIAIS C ON C.FILIAL=B.FILIAL JOIN FILIAIS D ON D.FILIAL=B.FILIAL_DESTINO JOIN MATERIAIS E ON E.MATERIAL=A.MATERIAL WHERE (E.CTRL_PECAS = 1 OR E.CTRL_PARTIDAS = 1) AND D.ESTOQUE_CTRL_PECA = 1 AND C.ESTOQUE_CTRL_PECA=0 AND B.FILIAL_DESTINO IS NOT NULL AND B.REQ_MATERIAL_DESTINO IS NOT NULL) BEGIN select @errno = 30040, @errmsg = ''Nao e possivel gerar entrada Automatica. FILIAL DE DESTINO CONTROLA ESTOQUE POR PECA e Filial de Origem nao controla!!!'' goto error END IF UPDATE(REQ_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(ITEM) BEGIN DELETE D FROM (DELETED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) LEFT JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE D.FILIAL IS NOT NULL AND A.ORDEM_PRODUCAO IS NULL END UPDATE C SET REQ_MATERIAL = B.REQ_MATERIAL_DESTINO, FILIAL = B.FILIAL_DESTINO, REQ_MATERIAL_ORIGEM = B.REQ_MATERIAL, FILIAL_ORIGEM = B.FILIAL, CENTRO_CUSTO = B.CENTRO_CUSTO, EMISSAO = B.EMISSAO, RESPONSAVEL = B.RESPONSAVEL, REQUISITANTE = B.REQUISITANTE FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL INNER JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) WHERE B.REQ_MATERIAL_DESTINO IS NOT NULL AND B.FILIAL_DESTINO IS NOT NULL AND A.ORDEM_PRODUCAO IS NULL INSERT INTO ESTOQUE_RET_MAT (REQ_MATERIAL,FILIAL,TIPO_MOVIMENTACAO,REQ_MATERIAL_ORIGEM,FILIAL_ORIGEM,CENTRO_CUSTO,EMISSAO,RESPONSAVEL,REQUISITANTE) SELECT B.REQ_MATERIAL_DESTINO,B.FILIAL_DESTINO,B.TIPO_MOVIMENTACAO,B.REQ_MATERIAL,B.FILIAL,B.CENTRO_CUSTO,B.EMISSAO,B.RESPONSAVEL,B.REQUISITANTE FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL LEFT JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) WHERE B.REQ_MATERIAL_DESTINO IS NOT NULL AND B.FILIAL_DESTINO IS NOT NULL AND C.FILIAL IS NULL AND A.ORDEM_PRODUCAO IS NULL UPDATE D SET ORDEM_PRODUCAO=A.ORDEM_PRODUCAO, QTDE=A.QTDE, QTDE_AUX=A.QTDE_AUX, CUSTO_ULT_SAIDA=A.CUSTO, DATA_CUSTO=A.DATA_CUSTO FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE A.ORDEM_PRODUCAO IS NULL INSERT INTO ESTOQUE_RET1_MAT (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,QTDE,QTDE_AUX,CUSTO_ULT_SAIDA,DATA_CUSTO) SELECT C.REQ_MATERIAL,C.FILIAL,A.MATERIAL,A.COR_MATERIAL,A.ITEM,A.ORDEM_PRODUCAO,A.QTDE,A.QTDE_AUX,A.CUSTO,A.DATA_CUSTO FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) LEFT JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM WHERE D.FILIAL IS NULL AND A.ORDEM_PRODUCAO IS NULL /*--------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[MATAR_SALDO_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ESTOQUE_SAI1_MAT].[FATOR_CONVERSAO_UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_SAI1_MAT].[UNIDADE_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[RESERVA_AUTOMATICA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI1_MAT].[PERDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_LAYOUT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_LAYOUT]( [NOME_CAMPO] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [TOPOLOGIA] [char](1) NOT NULL, [POSICAO] [int] NULL, [TAMANHO] [int] NULL, [TIPO_DADO] [char](1) NULL, [TIPO_CONTEUDO] [char](1) NULL, [CAMPO] [varchar](250) NULL, [DECIMAIS] [int] NULL, CONSTRAINT [XPKBANCOS_LAYOUT] PRIMARY KEY NONCLUSTERED ( [NOME_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS_LAYOUT] on [BANCOS_LAYOUT] for DELETE as /* DELETE trigger on BANCOS_LAYOUT */ begin declare @errno int, @errmsg varchar(255) /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_PARCELAS where BANCOS_PARCELAS.NOME_CAMPO = deleted.NOME_CAMPO and BANCOS_PARCELAS.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS_LAYOUT #porque existem registros em #BANCOS_PARCELAS#.'' goto error end /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_TAB_CAMPOS ON PARENT DELETE CASCADE */ delete BANCOS_TAB_CAMPOS from BANCOS_TAB_CAMPOS,deleted where BANCOS_TAB_CAMPOS.NOME_CAMPO = deleted.NOME_CAMPO and BANCOS_TAB_CAMPOS.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_LAYOUT] on [BANCOS_LAYOUT] for INSERT as /* INSERT trigger on BANCOS_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS BANCOS BANCOS_LAYOUT ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_LAYOUT #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_LAYOUT] on [BANCOS_LAYOUT] for UPDATE as /* UPDATE trigger on BANCOS_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CAMPO varchar(25), @insBANCO char(4), @delNOME_CAMPO varchar(25), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_PARCELAS ON PARENT UPDATE CASCADE */ IF update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE BANCOS_LAYOUT944 CURSOR FOR SELECT NOME_CAMPO, BANCO FROM INSERTED DECLARE BANCOS_LAYOUT616 CURSOR FOR SELECT NOME_CAMPO, BANCO FROM DELETED OPEN BANCOS_LAYOUT944 OPEN BANCOS_LAYOUT616 FETCH NEXT FROM BANCOS_LAYOUT944 INTO @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_LAYOUT616 INTO @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_PARCELAS SET BANCOS_PARCELAS.NOME_CAMPO=@insNOME_CAMPO, BANCOS_PARCELAS.BANCO=@insBANCO WHERE BANCOS_PARCELAS.NOME_CAMPO = @delNOME_CAMPO and BANCOS_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_LAYOUT944 INTO @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_LAYOUT616 INTO @delNOME_CAMPO, @delBANCO END END CLOSE BANCOS_LAYOUT944 CLOSE BANCOS_LAYOUT616 DEALLOCATE BANCOS_LAYOUT944 DEALLOCATE BANCOS_LAYOUT616 END /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_TAB_CAMPOS ON PARENT UPDATE CASCADE */ IF update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE BANCOS_LAYOUT941 CURSOR FOR SELECT NOME_CAMPO, BANCO FROM INSERTED DECLARE BANCOS_LAYOUT616 CURSOR FOR SELECT NOME_CAMPO, BANCO FROM DELETED OPEN BANCOS_LAYOUT941 OPEN BANCOS_LAYOUT616 FETCH NEXT FROM BANCOS_LAYOUT941 INTO @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_LAYOUT616 INTO @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_TAB_CAMPOS SET BANCOS_TAB_CAMPOS.NOME_CAMPO=@insNOME_CAMPO, BANCOS_TAB_CAMPOS.BANCO=@insBANCO WHERE BANCOS_TAB_CAMPOS.NOME_CAMPO = @delNOME_CAMPO and BANCOS_TAB_CAMPOS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_LAYOUT941 INTO @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_LAYOUT616 INTO @delNOME_CAMPO, @delBANCO END END CLOSE BANCOS_LAYOUT941 CLOSE BANCOS_LAYOUT616 DEALLOCATE BANCOS_LAYOUT941 DEALLOCATE BANCOS_LAYOUT616 END /* BANCOS BANCOS BANCOS_LAYOUT ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_LAYOUT #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_LAYOUT].[TOPOLOGIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_LAYOUT].[POSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_LAYOUT].[TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_LAYOUT].[CAMPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_LAYOUT].[DECIMAIS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_LANCAMENTOS]( [LANCAMENTO] [char](8) NOT NULL, [CONTA_CONTABIL] [char](20) NOT NULL, [TIPO_LANCAMENTO] [varchar](25) NOT NULL, [DOCUMENTO] [varchar](20) NULL, [FAVORECIDO_CHEQUE] [varchar](50) NULL, [DATA_DIGITACAO] [datetime] NOT NULL, [DATA_LANCAMENTO] [datetime] NULL, [CREDITO_TOTAL] [numeric](14, 2) NULL, [DEBITO_TOTAL] [numeric](14, 2) NULL, [CHEQUE] [bit] NOT NULL, [CONCILIADO] [bit] NOT NULL, [EMISSAO_PRE] [datetime] NULL, [EMITIDO] [bit] NOT NULL, [PRE_DATADO] [bit] NOT NULL, [EMITE_RECIBO] [bit] NOT NULL, [RECIBO_IMPRESSO] [bit] NOT NULL, [FILIAL] [varchar](25) NULL, [ATUALIZACAO_EXPORTAR] [datetime] NULL, [DATA_EXPORTACAO] [datetime] NULL, [GUIA_ENVIO] [varchar](20) NULL, [TAXA_DESCONTOS] [numeric](6, 3) NULL, [CARTEIRA] [varchar](25) NULL, [NUMERO_CONTRATO] [varchar](20) NULL, [CODIGO_HISTORICO] [char](4) NULL, [HISTORICO] [varchar](50) NULL, CONSTRAINT [XPKCONTAS_LANCAMENTOS] PRIMARY KEY NONCLUSTERED ( [LANCAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CONTAS_LANCAMENTOS]') AND name = N'XIE1CONTAS_LANCAMENTOS') CREATE NONCLUSTERED INDEX [XIE1CONTAS_LANCAMENTOS] ON [CONTAS_LANCAMENTOS] ( [CONTA_CONTABIL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_LANCAMENTOS] on [CONTAS_LANCAMENTOS] for DELETE as /* DELETE trigger on CONTAS_LANCAMENTOS */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_LANCAMENTOS R/1335 A_RECEBER_CHEQUES_MOV ON PARENT DELETE CASCADE */ delete A_RECEBER_CHEQUES_MOV from A_RECEBER_CHEQUES_MOV,deleted where A_RECEBER_CHEQUES_MOV.LANCAMENTO = deleted.LANCAMENTO /* CONTAS_LANCAMENTOS LANC_CONTABIL_FATURA FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.LANCAMENTO = deleted.LANCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_LANCAMENTOS #porque existem registros em #FATURAMENTO#.'' goto error end /* CONTAS_LANCAMENTOS LANC_CONTABIL ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.LANCAMENTO = deleted.LANCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_LANCAMENTOS #porque existem registros em #ENTRADAS#.'' goto error end /* CONTAS_LANCAMENTOS CONTAS_LANCAMENTOS CONTAS_LANC_ITENS ON PARENT DELETE CASCADE */ delete CONTAS_LANC_ITENS from CONTAS_LANC_ITENS,deleted where CONTAS_LANC_ITENS.LANCAMENTO = deleted.LANCAMENTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTAS_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTAS_LANCAMENTOS] on [CONTAS_LANCAMENTOS] for INSERT as /* INSERT trigger on CONTAS_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO CONTRATOS CONTAS_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANCAMENTOS #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS CONTAS_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA select @nullcnt = count(*) from inserted where inserted.CARTEIRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANCAMENTOS #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* FILIAIS FILIAL CONTAS_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANCAMENTOS #porque #FILIAIS #não existe.'' goto error end end /* CONTAS_TIPO_LANC CONTAS_TIPO_LANC CONTAS_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(TIPO_LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_TIPO_LANC where inserted.TIPO_LANCAMENTO = CONTAS_TIPO_LANC.TIPO_LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANCAMENTOS #porque #CONTAS_TIPO_LANC #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANCAMENTOS #porque #CONTAS_PLANO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_LANCAMENTOS] on [CONTAS_LANCAMENTOS] for UPDATE as /* UPDATE trigger on CONTAS_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLANCAMENTO char(8), @delLANCAMENTO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_LANCAMENTOS R/1335 A_RECEBER_CHEQUES_MOV ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) BEGIN DECLARE CONTAS_LANCAMENTOS1335 CURSOR FOR SELECT LANCAMENTO FROM INSERTED DECLARE CONTAS_LANCAMENTOS194 CURSOR FOR SELECT LANCAMENTO FROM DELETED OPEN CONTAS_LANCAMENTOS1335 OPEN CONTAS_LANCAMENTOS194 FETCH NEXT FROM CONTAS_LANCAMENTOS1335 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES_MOV SET A_RECEBER_CHEQUES_MOV.LANCAMENTO=@insLANCAMENTO WHERE A_RECEBER_CHEQUES_MOV.LANCAMENTO = @delLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS1335 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO END END CLOSE CONTAS_LANCAMENTOS1335 CLOSE CONTAS_LANCAMENTOS194 DEALLOCATE CONTAS_LANCAMENTOS1335 DEALLOCATE CONTAS_LANCAMENTOS194 END /* CONTAS_LANCAMENTOS LANC_CONTABIL_FATURA FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) BEGIN DECLARE CONTAS_LANCAMENTOS1301 CURSOR FOR SELECT LANCAMENTO FROM INSERTED DECLARE CONTAS_LANCAMENTOS194 CURSOR FOR SELECT LANCAMENTO FROM DELETED OPEN CONTAS_LANCAMENTOS1301 OPEN CONTAS_LANCAMENTOS194 FETCH NEXT FROM CONTAS_LANCAMENTOS1301 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.LANCAMENTO=@insLANCAMENTO WHERE FATURAMENTO.LANCAMENTO = @delLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS1301 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO END END CLOSE CONTAS_LANCAMENTOS1301 CLOSE CONTAS_LANCAMENTOS194 DEALLOCATE CONTAS_LANCAMENTOS1301 DEALLOCATE CONTAS_LANCAMENTOS194 END /* CONTAS_LANCAMENTOS LANC_CONTABIL ENTRADAS ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) BEGIN DECLARE CONTAS_LANCAMENTOS1300 CURSOR FOR SELECT LANCAMENTO FROM INSERTED DECLARE CONTAS_LANCAMENTOS194 CURSOR FOR SELECT LANCAMENTO FROM DELETED OPEN CONTAS_LANCAMENTOS1300 OPEN CONTAS_LANCAMENTOS194 FETCH NEXT FROM CONTAS_LANCAMENTOS1300 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.LANCAMENTO=@insLANCAMENTO WHERE ENTRADAS.LANCAMENTO = @delLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS1300 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO END END CLOSE CONTAS_LANCAMENTOS1300 CLOSE CONTAS_LANCAMENTOS194 DEALLOCATE CONTAS_LANCAMENTOS1300 DEALLOCATE CONTAS_LANCAMENTOS194 END /* CONTAS_LANCAMENTOS CONTAS_LANCAMENTOS CONTAS_LANC_ITENS ON PARENT UPDATE CASCADE */ IF update(LANCAMENTO) BEGIN DECLARE CONTAS_LANCAMENTOS773 CURSOR FOR SELECT LANCAMENTO FROM INSERTED DECLARE CONTAS_LANCAMENTOS194 CURSOR FOR SELECT LANCAMENTO FROM DELETED OPEN CONTAS_LANCAMENTOS773 OPEN CONTAS_LANCAMENTOS194 FETCH NEXT FROM CONTAS_LANCAMENTOS773 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANC_ITENS SET CONTAS_LANC_ITENS.LANCAMENTO=@insLANCAMENTO WHERE CONTAS_LANC_ITENS.LANCAMENTO = @delLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS773 INTO @insLANCAMENTO FETCH NEXT FROM CONTAS_LANCAMENTOS194 INTO @delLANCAMENTO END END CLOSE CONTAS_LANCAMENTOS773 CLOSE CONTAS_LANCAMENTOS194 DEALLOCATE CONTAS_LANCAMENTOS773 DEALLOCATE CONTAS_LANCAMENTOS194 END /* CONTRATOS_DESCONTO CONTRATOS CONTAS_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANCAMENTOS #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS CONTAS_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA select @nullcnt = count(*) from inserted where inserted.CARTEIRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANCAMENTOS #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* FILIAIS FILIAL CONTAS_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANCAMENTOS #porque #FILIAIS #não existe.'' goto error end end /* CONTAS_TIPO_LANC CONTAS_TIPO_LANC CONTAS_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(TIPO_LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_TIPO_LANC where inserted.TIPO_LANCAMENTO = CONTAS_TIPO_LANC.TIPO_LANCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANCAMENTOS #porque #CONTAS_TIPO_LANC #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANCAMENTOS #porque #CONTAS_PLANO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CONTAS_LANCAMENTOS].[DOCUMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CONTAS_LANCAMENTOS].[FAVORECIDO_CHEQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[CREDITO_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[DEBITO_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[CHEQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[CONCILIADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[EMITIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[PRE_DATADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[EMITE_RECIBO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANCAMENTOS].[RECIBO_IMPRESSO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERS]( [USUARIO] [varchar](25) NOT NULL, [NOME_COMPLETO] [varchar](40) NOT NULL, [DEPTO] [varchar](25) NULL, [RAMAL] [char](5) NULL, [NUMERO_FUNCIONAL] [char](5) NULL, [ENDERECO] [varchar](40) NULL, [CIDADE] [varchar](35) NULL, [UF] [char](2) NULL, [CEP] [varchar](9) NULL, [TELEFONE] [varchar](15) NULL, [ACESSO_TOTAL] [bit] NOT NULL, [ACESSO_ESP_1] [bit] NOT NULL, [ACESSO_ESP_2] [bit] NOT NULL, [INCLUIR] [bit] NOT NULL, [ALTERAR] [bit] NOT NULL, [EXCLUIR] [bit] NOT NULL, [PESQUISAR] [bit] NOT NULL, [PESQUISA_ESPECIAL] [bit] NOT NULL, [IMPRIMIR] [bit] NOT NULL, [CRIAR_RELATORIO] [bit] NOT NULL, [PASSW] [varchar](10) NOT NULL, [GRUPO] [varchar](30) NOT NULL, [NIVEL_ACESSO] [int] NULL, [AUDITORIA_GERAL] [bit] NOT NULL, [AUDITORIA] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [EMPRESA_MULTI_ACESSO] [bit] NOT NULL, [EMPRESA] [tinyint] NULL, [EMAIL] [varchar](40) NULL, CONSTRAINT [XPKUSERS] PRIMARY KEY NONCLUSTERED ( [USUARIO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_USERS] on [USERS] for DELETE as /* DELETE trigger on USERS */ begin declare @errno int, @errmsg varchar(255) /* USERS R/1380 NATUREZAS_ENTRADAS_BLOQUEADAS ON PARENT DELETE CASCADE */ delete NATUREZAS_ENTRADAS_BLOQUEADAS from NATUREZAS_ENTRADAS_BLOQUEADAS,deleted where NATUREZAS_ENTRADAS_BLOQUEADAS.USUARIO = deleted.USUARIO /* USERS R/29 NATUREZAS_BLOQUEADAS ON PARENT DELETE CASCADE */ delete NATUREZAS_BLOQUEADAS from NATUREZAS_BLOQUEADAS,deleted where NATUREZAS_BLOQUEADAS.USUARIO = deleted.USUARIO /* USERS R/2152 USERS_CUBOS_PERMITIDOS ON PARENT DELETE CASCADE */ delete USERS_CUBOS_PERMITIDOS from USERS_CUBOS_PERMITIDOS,deleted where USERS_CUBOS_PERMITIDOS.USUARIO = deleted.USUARIO /* USERS R/1949 PARAMETROS_EMPRESA_USERS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PARAMETROS_EMPRESA_USERS where PARAMETROS_EMPRESA_USERS.USUARIO = deleted.USUARIO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #USERS #porque existem registros em #PARAMETROS_EMPRESA_USERS#.'' goto error end /* USERS PARAMETROS PARAMETROS_USERS ON PARENT DELETE CASCADE */ delete PARAMETROS_USERS from PARAMETROS_USERS,deleted where PARAMETROS_USERS.USUARIO = deleted.USUARIO /* USERS USUARIOS TRANSACOES_USR_REL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSACOES_USR_REL where TRANSACOES_USR_REL.USUARIO = deleted.USUARIO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #USERS #porque existem registros em #TRANSACOES_USR_REL#.'' goto error end /* USERS USERS USERS_TRANSACOES ON PARENT DELETE CASCADE */ delete USERS_TRANSACOES from USERS_TRANSACOES,deleted where USERS_TRANSACOES.USUARIO = deleted.USUARIO /* USERS USERS USERS_MODULOS ON PARENT DELETE CASCADE */ delete USERS_MODULOS from USERS_MODULOS,deleted where USERS_MODULOS.USUARIO = deleted.USUARIO /* USERS USERS TRANSACOES_REPORT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSACOES_REPORT where TRANSACOES_REPORT.USUARIO = deleted.USUARIO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #USERS #porque existem registros em #TRANSACOES_REPORT#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_USERS] on [USERS] for INSERT as /* INSERT trigger on USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1950 USERS ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA select @nullcnt = count(*) from inserted where inserted.EMPRESA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS #porque #EMPRESA #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE USERS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM USERS, INSERTED WHERE USERS.USUARIO = INSERTED.USUARIO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_USERS] on [USERS] for UPDATE as /* UPDATE trigger on USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @delUSUARIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS R/1380 NATUREZAS_ENTRADAS_BLOQUEADAS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS35fa CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS38c6 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS35fa OPEN USERS38c6 FETCH NEXT FROM USERS35fa INTO @insUSUARIO FETCH NEXT FROM USERS38c6 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE NATUREZAS_ENTRADAS_BLOQUEADAS SET NATUREZAS_ENTRADAS_BLOQUEADAS.USUARIO=@insUSUARIO WHERE NATUREZAS_ENTRADAS_BLOQUEADAS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS35fa INTO @insUSUARIO FETCH NEXT FROM USERS38c6 INTO @delUSUARIO END END CLOSE USERS35fa CLOSE USERS38c6 DEALLOCATE USERS35fa DEALLOCATE USERS38c6 END /* USERS R/29 NATUREZAS_BLOQUEADAS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS198f CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS38c6 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS198f OPEN USERS38c6 FETCH NEXT FROM USERS198f INTO @insUSUARIO FETCH NEXT FROM USERS38c6 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE NATUREZAS_BLOQUEADAS SET NATUREZAS_BLOQUEADAS.USUARIO=@insUSUARIO WHERE NATUREZAS_BLOQUEADAS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS198f INTO @insUSUARIO FETCH NEXT FROM USERS38c6 INTO @delUSUARIO END END CLOSE USERS198f CLOSE USERS38c6 DEALLOCATE USERS198f DEALLOCATE USERS38c6 END /* USERS R/2152 USERS_CUBOS_PERMITIDOS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS2152 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS2152 OPEN USERS130 FETCH NEXT FROM USERS2152 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_CUBOS_PERMITIDOS SET USERS_CUBOS_PERMITIDOS.USUARIO=@insUSUARIO WHERE USERS_CUBOS_PERMITIDOS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS2152 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS2152 CLOSE USERS130 DEALLOCATE USERS2152 DEALLOCATE USERS130 END /* USERS R/1949 PARAMETROS_EMPRESA_USERS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS1949 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS1949 OPEN USERS130 FETCH NEXT FROM USERS1949 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_EMPRESA_USERS SET PARAMETROS_EMPRESA_USERS.USUARIO=@insUSUARIO WHERE PARAMETROS_EMPRESA_USERS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS1949 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS1949 CLOSE USERS130 DEALLOCATE USERS1949 DEALLOCATE USERS130 END /* USERS PARAMETROS PARAMETROS_USERS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS1217 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS1217 OPEN USERS130 FETCH NEXT FROM USERS1217 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_USERS SET PARAMETROS_USERS.USUARIO=@insUSUARIO WHERE PARAMETROS_USERS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS1217 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS1217 CLOSE USERS130 DEALLOCATE USERS1217 DEALLOCATE USERS130 END /* USERS USUARIOS TRANSACOES_USR_REL ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS834 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS834 OPEN USERS130 FETCH NEXT FROM USERS834 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_USR_REL SET TRANSACOES_USR_REL.USUARIO=@insUSUARIO WHERE TRANSACOES_USR_REL.USUARIO = @delUSUARIO FETCH NEXT FROM USERS834 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS834 CLOSE USERS130 DEALLOCATE USERS834 DEALLOCATE USERS130 END /* USERS USERS USERS_TRANSACOES ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS764 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS764 OPEN USERS130 FETCH NEXT FROM USERS764 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_TRANSACOES SET USERS_TRANSACOES.USUARIO=@insUSUARIO WHERE USERS_TRANSACOES.USUARIO = @delUSUARIO FETCH NEXT FROM USERS764 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS764 CLOSE USERS130 DEALLOCATE USERS764 DEALLOCATE USERS130 END /* USERS USERS USERS_MODULOS ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS761 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS761 OPEN USERS130 FETCH NEXT FROM USERS761 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_MODULOS SET USERS_MODULOS.USUARIO=@insUSUARIO WHERE USERS_MODULOS.USUARIO = @delUSUARIO FETCH NEXT FROM USERS761 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS761 CLOSE USERS130 DEALLOCATE USERS761 DEALLOCATE USERS130 END /* USERS USERS TRANSACOES_REPORT ON PARENT UPDATE CASCADE */ IF update(USUARIO) BEGIN DECLARE USERS588 CURSOR FOR SELECT USUARIO FROM INSERTED DECLARE USERS130 CURSOR FOR SELECT USUARIO FROM DELETED OPEN USERS588 OPEN USERS130 FETCH NEXT FROM USERS588 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_REPORT SET TRANSACOES_REPORT.USUARIO=@insUSUARIO WHERE TRANSACOES_REPORT.USUARIO = @delUSUARIO FETCH NEXT FROM USERS588 INTO @insUSUARIO FETCH NEXT FROM USERS130 INTO @delUSUARIO END END CLOSE USERS588 CLOSE USERS130 DEALLOCATE USERS588 DEALLOCATE USERS130 END /* EMPRESA R/1950 USERS ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA select @nullcnt = count(*) from inserted where inserted.EMPRESA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS #porque #EMPRESA #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE USERS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM USERS, INSERTED WHERE USERS.USUARIO = INSERTED.USUARIO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR USERS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[DEPTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[RAMAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[NUMERO_FUNCIONAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[ENDERECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[CIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[UF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[CEP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[USERS].[TELEFONE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[ACESSO_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[ACESSO_ESP_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[ACESSO_ESP_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[INCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[ALTERAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[EXCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[PESQUISAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[PESQUISA_ESPECIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[IMPRIMIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[CRIAR_RELATORIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_9]', @objname=N'[USERS].[NIVEL_ACESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[AUDITORIA_GERAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[AUDITORIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[USERS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS].[EMPRESA_MULTI_ACESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[USERS].[EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FICHA_LOG]( [PRODUTO] [char](12) NOT NULL, [MATERIAL] [char](11) NOT NULL, [ITEM] [char](4) NOT NULL, [DATA_ALTERACAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](40) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [DESC_USO_MATERIAL] [varchar](40) NULL, [CONSUMO_P_TAMANHO] [bit] NOT NULL, [MATERIAL_PRINCIPAL] [bit] NOT NULL, [C1] [numeric](9, 3) NULL, [C2] [numeric](9, 3) NULL, [C3] [numeric](9, 3) NULL, [C4] [numeric](9, 3) NULL, [C5] [numeric](9, 3) NULL, [C6] [numeric](9, 3) NULL, [C7] [numeric](9, 3) NULL, [C8] [numeric](9, 3) NULL, [C9] [numeric](9, 3) NULL, [C10] [numeric](9, 3) NULL, [C11] [numeric](9, 3) NULL, [C12] [numeric](9, 3) NULL, [C13] [numeric](9, 3) NULL, [C14] [numeric](9, 3) NULL, [C15] [numeric](9, 3) NULL, [C16] [numeric](9, 3) NULL, [C17] [numeric](9, 3) NULL, [C18] [numeric](9, 3) NULL, [C19] [numeric](9, 3) NULL, [C20] [numeric](9, 3) NULL, [C21] [numeric](9, 3) NULL, [C22] [numeric](9, 3) NULL, [C23] [numeric](9, 3) NULL, [C24] [numeric](9, 3) NULL, [C25] [numeric](9, 3) NULL, [C26] [numeric](9, 3) NULL, [C27] [numeric](9, 3) NULL, [C28] [numeric](9, 3) NULL, [C29] [numeric](9, 3) NULL, [C30] [numeric](9, 3) NULL, [C31] [numeric](9, 3) NULL, [C32] [numeric](9, 3) NULL, [C33] [numeric](9, 3) NULL, [C34] [numeric](9, 3) NULL, [C35] [numeric](9, 3) NULL, [C36] [numeric](9, 3) NULL, [C37] [numeric](9, 3) NULL, [C38] [numeric](9, 3) NULL, [C39] [numeric](9, 3) NULL, [C40] [numeric](9, 3) NULL, [C41] [numeric](9, 3) NULL, [C42] [numeric](9, 3) NULL, [C43] [numeric](9, 3) NULL, [C44] [numeric](9, 3) NULL, [C45] [numeric](9, 3) NULL, [C46] [numeric](9, 3) NULL, [C47] [numeric](9, 3) NULL, [C48] [numeric](9, 3) NULL, [PARTE_APLICADO_MATERIAL] [varchar](10) NULL, CONSTRAINT [XPKPRODUTOS_FICHA_LOG] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [MATERIAL] ASC, [ITEM] ASC, [DATA_ALTERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_FICHA_LOG].[DESC_USO_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[CONSUMO_P_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[MATERIAL_PRINCIPAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_LOG].[C48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [EMISSAO] [datetime] NULL, [INICIO_LIBERADO] [datetime] NULL, [INICIO_PREVISTO] [datetime] NULL, [INICIO_REAL] [datetime] NULL, [PRIORIDADE] [int] NULL, [PREVISAO_FIM] [datetime] NULL, [PREVISAO_FIM_NA_EMISSAO] [datetime] NULL, [ENCERRAMENTO] [datetime] NULL, [QTDE_TOTAL] [int] NOT NULL, [PROGRAMACAO] [varchar](25) NULL, [CLIENTE_ATACADO] [varchar](25) NULL, [PEDIDO] [char](12) NULL, [TIPO_ORDEM_PRODUCAO] [varchar](25) NULL, [FILIAL] [varchar](25) NOT NULL, [QTDE_EM_PRODUCAO] [int] NULL, [MP_RESERVADA] [bit] NOT NULL, [STATUS] [char](1) NULL, [ORDEM_CORTE] [char](8) NULL, [DROP_DE_TAMANHOS] [smallint] NULL, [ESTOQUE_EM_PROCESSO_MATERIAL] [varchar](25) NULL, [REQ_MATERIAL_SAIDA] [char](8) NULL, [OBS] [text] NULL, CONSTRAINT [XPKPRODUCAO_ORDEM] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM]') AND name = N'XIE1PRODUCAO_ORDEM') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_ORDEM] ON [PRODUCAO_ORDEM] ( [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM]') AND name = N'XIE2PRODUCAO_ORDEM') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_ORDEM] ON [PRODUCAO_ORDEM] ( [QTDE_EM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_ORDEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_ORDEM] on [PRODUCAO_ORDEM] for DELETE as /* DELETE trigger on PRODUCAO_ORDEM */ /* default body for LXD_PRODUCAO_ORDEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM R/1988 M_ORDEM_FABRICACAO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO where M_ORDEM_FABRICACAO.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM #porque existem registros em #M_ORDEM_FABRICACAO#.'' goto error end /* PRODUCAO_ORDEM R/1905 M_OP_POR_OF ON PARENT DELETE CASCADE */ delete M_OP_POR_OF from M_OP_POR_OF,deleted where M_OP_POR_OF.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO /* PRODUCAO_ORDEM R/1654 ESTOQUE_PROD1_ENT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD1_ENT where ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM #porque existem registros em #ESTOQUE_PROD1_ENT#.'' goto error end /* PRODUCAO_ORDEM R/1590 PRODUCAO_TAREFAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_TAREFAS where PRODUCAO_TAREFAS.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM #porque existem registros em #PRODUCAO_TAREFAS#.'' goto error end /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUTIV_PRODUCAO_DIARIA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_PRODUCAO_DIARIA where PRODUTIV_PRODUCAO_DIARIA.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM #porque existem registros em #PRODUTIV_PRODUCAO_DIARIA#.'' goto error end /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUCAO_ORDEM_COR ON PARENT DELETE CASCADE */ delete PRODUCAO_ORDEM_COR from PRODUCAO_ORDEM_COR,deleted where PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO /* PRODUCAO_ORDEM PRODUCAO_ORDEM ROMANEIOS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ROMANEIOS_PRODUTO where ROMANEIOS_PRODUTO.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_ORDEM #porque existem registros em #ROMANEIOS_PRODUTO#.'' goto error end /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) DECLARE CUR_SALDO_D_PRODUCAO_ORDEM CURSOR FOR SELECT DISTINCT PROGRAMACAO FROM DELETED OPEN CUR_SALDO_D_PRODUCAO_ORDEM FETCH NEXT FROM CUR_SALDO_D_PRODUCAO_ORDEM INTO @sProg WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_PROGRAMA SET TIPO_PROGRAMACAO=2 WHERE PROGRAMACAO=@sPROG AND TIPO_PROGRAMACAO=4 EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG FETCH NEXT FROM CUR_SALDO_D_PRODUCAO_ORDEM INTO @sProg END CLOSE CUR_SALDO_D_PRODUCAO_ORDEM DEALLOCATE CUR_SALDO_D_PRODUCAO_ORDEM /*--------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------*/ IF NOT EXISTS (SELECT * FROM DELETED A JOIN ESTOQUE_SAI1_MAT B ON A.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL AND A.REQ_MATERIAL_SAIDA=B.REQ_MATERIAL) DELETE B FROM DELETED A JOIN ESTOQUE_SAI_MAT B ON A.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL AND A.REQ_MATERIAL_SAIDA=B.REQ_MATERIAL ELSE BEGIN SELECT @ERRNO = 30001, @ERRMSG = ''IMPOSSíVEL EXCLUIR "PRODUCAO_ORDEM" PORQUE EXISTEM REGISTROS EM "ESTOQUE_SAI1_MAT".'' GOTO ERROR END /*-------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM] on [PRODUCAO_ORDEM] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1810 PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(ESTOQUE_EM_PROCESSO_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.ESTOQUE_EM_PROCESSO_MATERIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.ESTOQUE_EM_PROCESSO_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/1543 PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /* CLIENTES_ATACADO R/1487 PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/1481 PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #VENDAS #não existe.'' goto error end end /* PRODUCAO_TIPO TIPO_PRODUCAO PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(TIPO_ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TIPO where inserted.TIPO_ORDEM_PRODUCAO = PRODUCAO_TIPO.TIPO_ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.TIPO_ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #PRODUCAO_TIPO #não existe.'' goto error end end /* FILIAIS FILIAIS PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #FILIAIS #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUCAO_ORDEM ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM #porque #PRODUTOS #não existe.'' goto error end end /*-------------------------------------------------------------------------------------------------------------------------*/ BEGIN DECLARE @NewESTOQUE_EM_PROCESSO_MAT VarChar(25), @NewREQ_MATERIAL_SAIDA Char(8), @NewEMISSAO DateTime, @NewORDEM_PRODUCAO Char(8) DECLARE OP_SAIDA_INS CURSOR FOR SELECT ESTOQUE_EM_PROCESSO_MATERIAL,REQ_MATERIAL_SAIDA,EMISSAO,ORDEM_PRODUCAO FROM INSERTED WHERE STATUS <> ''S'' OPEN OP_SAIDA_INS FETCH NEXT FROM OP_SAIDA_INS INTO @NewESTOQUE_EM_PROCESSO_MAT, @NewREQ_MATERIAL_SAIDA, @NewEMISSAO, @NewORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN IF @NewESTOQUE_EM_PROCESSO_MAT IS NOT NULL AND @NewREQ_MATERIAL_SAIDA IS NULL BEGIN SELECT @NewREQ_MATERIAL_SAIDA=''A''+RIGHT(SEQUENCIA,7) FROM SEQUENCIAIS WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE SEQUENCIAIS SET SEQUENCIA=RIGHT(RTRIM(''00000000''+CONVERT(CHAR(8),CONVERT(INT,SEQUENCIA)+1)),TAMANHO) WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE PRODUCAO_ORDEM SET REQ_MATERIAL_SAIDA=@NewREQ_MATERIAL_SAIDA WHERE ORDEM_PRODUCAO=@NewORDEM_PRODUCAO END IF @NewESTOQUE_EM_PROCESSO_MAT IS NOT NULL AND @NewREQ_MATERIAL_SAIDA IS NOT NULL BEGIN IF NOT EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE FILIAL=@NewESTOQUE_EM_PROCESSO_MAT AND REQ_MATERIAL=@NewREQ_MATERIAL_SAIDA) INSERT INTO ESTOQUE_SAI_MAT (REQ_MATERIAL,FILIAL,EMISSAO) VALUES (@NewREQ_MATERIAL_SAIDA,@NewESTOQUE_EM_PROCESSO_MAT,@NewEMISSAO) END FETCH NEXT FROM OP_SAIDA_INS INTO @NewESTOQUE_EM_PROCESSO_MAT, @NewREQ_MATERIAL_SAIDA, @NewEMISSAO, @NewORDEM_PRODUCAO END END CLOSE OP_SAIDA_INS DEALLOCATE OP_SAIDA_INS END /*-------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM] on [PRODUCAO_ORDEM] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM */ /* default body for LXU_PRODUCAO_ORDEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO char(8), @delPROGRAMACAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1810 PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(ESTOQUE_EM_PROCESSO_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.ESTOQUE_EM_PROCESSO_MATERIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.ESTOQUE_EM_PROCESSO_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #FILIAIS #não existe.'' goto error end end /* PRODUCAO_PROGRAMA R/1543 PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO select @nullcnt = count(*) from inserted where inserted.PROGRAMACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /* CLIENTES_ATACADO R/1487 PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* VENDAS R/1481 PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #VENDAS #não existe.'' goto error end end /* PRODUCAO_TIPO TIPO_PRODUCAO PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(TIPO_ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TIPO where inserted.TIPO_ORDEM_PRODUCAO = PRODUCAO_TIPO.TIPO_ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.TIPO_ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #PRODUCAO_TIPO #não existe.'' goto error end end /* FILIAIS FILIAIS PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #FILIAIS #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUCAO_ORDEM ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque #PRODUTOS #não existe.'' goto error end end /* PRODUCAO_ORDEM R/1988 M_ORDEM_FABRICACAO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1988 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1988 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1988 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO SET M_ORDEM_FABRICACAO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE M_ORDEM_FABRICACAO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1988 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1988 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1988 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM R/1905 M_OP_POR_OF ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1905 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1905 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1905 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_OP_POR_OF SET M_OP_POR_OF.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE M_OP_POR_OF.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1905 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1905 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1905 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM R/1654 ESTOQUE_PROD1_ENT ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1654 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1654 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1654 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_ENT SET ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1654 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1654 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1654 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM R/1590 PRODUCAO_TAREFAS ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1590 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1590 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1590 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET PRODUCAO_TAREFAS.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1590 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1590 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1590 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM R/1488 VENDAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1488 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1488 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1488 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO SET VENDAS_PRODUTO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE VENDAS_PRODUTO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1488 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1488 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1488 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUTIV_PRODUCAO_DIARIA ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM1146 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM1146 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM1146 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_PRODUCAO_DIARIA SET PRODUTIV_PRODUCAO_DIARIA.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE PRODUTIV_PRODUCAO_DIARIA.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM1146 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM1146 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM1146 DEALLOCATE PRODUCAO_ORDEM222 END /* PRODUCAO_ORDEM PRODUCAO_ORDEM PRODUCAO_ORDEM_COR ON PARENT UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin if exists ( select * from deleted,PRODUCAO_ORDEM_COR where PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM #porque existem registros em #PRODUCAO_ORDEM_COR#.'' goto error end end /* PRODUCAO_ORDEM PRODUCAO_ORDEM ROMANEIOS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_ORDEM721 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_ORDEM222 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_ORDEM721 OPEN PRODUCAO_ORDEM222 FETCH NEXT FROM PRODUCAO_ORDEM721 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS_PRODUTO SET ROMANEIOS_PRODUTO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE ROMANEIOS_PRODUTO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM721 INTO @insORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_ORDEM222 INTO @delORDEM_PRODUCAO END END CLOSE PRODUCAO_ORDEM721 CLOSE PRODUCAO_ORDEM222 DEALLOCATE PRODUCAO_ORDEM721 DEALLOCATE PRODUCAO_ORDEM222 END /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ IF UPDATE(PROGRAMACAO) BEGIN DECLARE @sProg Varchar(25) DECLARE CUR_SALDO_U_PRODUCAO_ORDEM CURSOR FOR SELECT DISTINCT PROGRAMACAO FROM INSERTED UNION SELECT DISTINCT PROGRAMACAO FROM DELETED OPEN CUR_SALDO_U_PRODUCAO_ORDEM FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_ORDEM INTO @sProg WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_ORDEM INTO @sProg END CLOSE CUR_SALDO_U_PRODUCAO_ORDEM DEALLOCATE CUR_SALDO_U_PRODUCAO_ORDEM END /*--------------------------------------------------------------------------------------------------------------------*/ /*-------------------------------------------------------------------------------------------------------------------------*/ IF UPDATE(ESTOQUE_EM_PROCESSO_MATERIAL) OR UPDATE(STATUS) BEGIN DECLARE @OldESTOQUE_EM_PROCESSO_MAT VarChar(25), @OldREQ_MATERIAL_SAIDA Char(8), @NewORDEM_PRODUCAO CHAR(8), @NewESTOQUE_EM_PROCESSO_MAT VarChar(25), @NewREQ_MATERIAL_SAIDA Char(8), @NewEMISSAO DateTime DECLARE OP_SAIDA_INS CURSOR FOR SELECT ESTOQUE_EM_PROCESSO_MATERIAL,REQ_MATERIAL_SAIDA,EMISSAO,ORDEM_PRODUCAO FROM INSERTED DECLARE OP_SAIDA_DEL CURSOR FOR SELECT ESTOQUE_EM_PROCESSO_MATERIAL,REQ_MATERIAL_SAIDA FROM DELETED OPEN OP_SAIDA_INS OPEN OP_SAIDA_DEL FETCH NEXT FROM OP_SAIDA_INS INTO @NewESTOQUE_EM_PROCESSO_MAT, @NewREQ_MATERIAL_SAIDA, @NewEMISSAO, @NewORDEM_PRODUCAO FETCH NEXT FROM OP_SAIDA_DEL INTO @OldESTOQUE_EM_PROCESSO_MAT, @OldREQ_MATERIAL_SAIDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN IF @NewESTOQUE_EM_PROCESSO_MAT IS NOT NULL AND @NewREQ_MATERIAL_SAIDA IS NULL BEGIN SELECT @NewREQ_MATERIAL_SAIDA=''A''+RIGHT(SEQUENCIA,7) FROM SEQUENCIAIS WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE SEQUENCIAIS SET SEQUENCIA=RIGHT(RTRIM(''00000000''+CONVERT(CHAR(8),CONVERT(INT,SEQUENCIA)+1)),TAMANHO) WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE PRODUCAO_ORDEM SET REQ_MATERIAL_SAIDA=@NewREQ_MATERIAL_SAIDA WHERE ORDEM_PRODUCAO=@NewORDEM_PRODUCAO END IF @NewESTOQUE_EM_PROCESSO_MAT IS NOT NULL AND @NewREQ_MATERIAL_SAIDA IS NOT NULL BEGIN IF @OldESTOQUE_EM_PROCESSO_MAT IS NOT NULL AND @OldREQ_MATERIAL_SAIDA IS NOT NULL AND EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE FILIAL=@OldESTOQUE_EM_PROCESSO_MAT AND REQ_MATERIAL=@OldREQ_MATERIAL_SAIDA) UPDATE ESTOQUE_SAI_MAT SET FILIAL = @NewESTOQUE_EM_PROCESSO_MAT, REQ_MATERIAL = @NewREQ_MATERIAL_SAIDA, EMISSAO = @NewEMISSAO WHERE FILIAL=@OldESTOQUE_EM_PROCESSO_MAT AND REQ_MATERIAL=@OldREQ_MATERIAL_SAIDA ELSE INSERT INTO ESTOQUE_SAI_MAT (REQ_MATERIAL,FILIAL,EMISSAO) VALUES (@NewREQ_MATERIAL_SAIDA,@NewESTOQUE_EM_PROCESSO_MAT,@NewEMISSAO) UPDATE PRODUCAO_RESERVA SET MATERIAL=MATERIAL WHERE ORDEM_PRODUCAO=@NewORDEM_PRODUCAO END ELSE BEGIN IF @OldESTOQUE_EM_PROCESSO_MAT IS NOT NULL IF NOT EXISTS (SELECT * FROM DELETED A JOIN ESTOQUE_SAI1_MAT B ON A.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL AND A.REQ_MATERIAL_SAIDA=B.REQ_MATERIAL) DELETE B FROM DELETED A JOIN ESTOQUE_SAI_MAT B ON A.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL AND A.REQ_MATERIAL_SAIDA=B.REQ_MATERIAL ELSE BEGIN SELECT @ERRNO = 30001, @ERRMSG = ''IMPOSSíVEL EXCLUIR "PRODUCAO_ORDEM" PORQUE EXISTEM REGISTROS EM "ESTOQUE_SAI1_MAT".'' CLOSE OP_SAIDA_INS CLOSE OP_SAIDA_DEL DEALLOCATE OP_SAIDA_INS DEALLOCATE OP_SAIDA_DEL GOTO ERROR END END FETCH NEXT FROM OP_SAIDA_INS INTO @NewESTOQUE_EM_PROCESSO_MAT, @NewREQ_MATERIAL_SAIDA, @NewEMISSAO, @NewORDEM_PRODUCAO FETCH NEXT FROM OP_SAIDA_DEL INTO @OldESTOQUE_EM_PROCESSO_MAT, @OldREQ_MATERIAL_SAIDA END END CLOSE OP_SAIDA_INS CLOSE OP_SAIDA_DEL DEALLOCATE OP_SAIDA_INS DEALLOCATE OP_SAIDA_DEL END /*-------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM].[QTDE_EM_PRODUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM].[MP_RESERVADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_ORDEM].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM].[DROP_DE_TAMANHOS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_CONSUMO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_CONSUMO]( [NF_SAIDA] [char](7) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CONSUMIVEL_ITEM] [varchar](40) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [CLASSIF_FISCAL] [char](10) NULL, [DESC_CONSUMIVEL] [varchar](250) NOT NULL, [QTDE] [numeric](9, 3) NULL, [UNIDADE] [varchar](5) NULL, [CUSTO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [ICMS] [real] NULL, [IRRF] [real] NULL, [VALOR] [numeric](14, 2) NULL, [TRIBUT_ICMS] [char](3) NULL, [TRIBUT_ORIGEM] [char](3) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [MOEDA] [char](6) NULL, [PESO] [numeric](7, 3) NULL, [ORDEM_SERVICO] [char](8) NULL, CONSTRAINT [XPKFATURAMENTO_CONSUMO] PRIMARY KEY NONCLUSTERED ( [NF_SAIDA] ASC, [FILIAL] ASC, [CONSUMIVEL_ITEM] ASC, [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_CONSUMO] on [FATURAMENTO_CONSUMO] for INSERT as /* INSERT trigger on FATURAMENTO_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRIBUT_ICMS R/1775 FATURAMENTO_CONSUMO ON CHILD INSERT RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS select @nullcnt = count(*) from inserted where inserted.TRIBUT_ICMS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CONSUMO #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM R/1774 FATURAMENTO_CONSUMO ON CHILD INSERT RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM select @nullcnt = count(*) from inserted where inserted.TRIBUT_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CONSUMO #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF FATURAMENTO_CONSUMO ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL select @nullcnt = count(*) from inserted where inserted.CLASSIF_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CONSUMO #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAMENTO_CONSUMO ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CONSUMO #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_CONSUMO] on [FATURAMENTO_CONSUMO] for UPDATE as /* UPDATE trigger on FATURAMENTO_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNF_SAIDA char(7), @insFILIAL varchar(25), @insCONSUMIVEL_ITEM varchar(40), @insSERIE_NF char(2), @delNF_SAIDA char(7), @delFILIAL varchar(25), @delCONSUMIVEL_ITEM varchar(40), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRIBUT_ICMS R/1775 FATURAMENTO_CONSUMO ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS select @nullcnt = count(*) from inserted where inserted.TRIBUT_ICMS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CONSUMO #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM R/1774 FATURAMENTO_CONSUMO ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM select @nullcnt = count(*) from inserted where inserted.TRIBUT_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CONSUMO #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL CLASSIF FATURAMENTO_CONSUMO ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL select @nullcnt = count(*) from inserted where inserted.CLASSIF_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CONSUMO #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAMENTO_CONSUMO ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CONSUMO #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FATURAMENTO_CONSUMO].[DESC_CONSUMIVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CONSUMO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAMENTO_CONSUMO].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_PAGAR_PARCELA]( [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [PARCELA] [char](2) NOT NULL, [CARTEIRA] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_PAGO] [numeric](14, 2) NULL, [VALOR_COMPLEMENTO] [numeric](14, 2) NULL, [VALOR_DEVOLUCAO] [numeric](14, 2) NULL, [VALOR_JUROS] [numeric](14, 2) NULL, [VALOR_PAGO_JUROS] [numeric](14, 2) NULL, [VALOR_DESCONTO] [numeric](14, 2) NULL, [VALOR_A_PAGAR] [numeric](14, 2) NULL, [DATA_DESCONTO_VENC] [datetime] NULL, [DESCONTO_VENC] [real] NULL, [NUMERO_BANCARIO] [char](20) NULL, [VENCIMENTO] [datetime] NULL, [DIAS_PRORROGADOS] [int] NULL, [PARCELA_TRANSMITIDA] [bit] NOT NULL, [PAGAMENTO_APROVADO] [bit] NOT NULL, [VALOR_PG_MOEDA_PADRAO] [numeric](14, 2) NULL, [PG_JUROS_MOEDA_PADRAO] [numeric](14, 2) NULL, [COMPETENCIA_MES] [datetime] NULL, [CODIGO_BARRA] [varchar](50) NULL, [BANCO_CC] [varchar](4) NULL, [AGENCIA_CC] [varchar](8) NULL, [DIGITO_CONTROL_CC] [varchar](4) NULL, [CODIGO_CUENTA_CC] [varchar](12) NULL, CONSTRAINT [XPKA_PAGAR_PARCELA] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [NOME_CLIFOR] ASC, [PARCELA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA]') AND name = N'XIE1A_PAGAR_PARCELA') CREATE NONCLUSTERED INDEX [XIE1A_PAGAR_PARCELA] ON [A_PAGAR_PARCELA] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA]') AND name = N'XIE2A_PAGAR_PARCELA') CREATE NONCLUSTERED INDEX [XIE2A_PAGAR_PARCELA] ON [A_PAGAR_PARCELA] ( [VALOR_A_PAGAR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA]') AND name = N'XIE3A_PAGAR_PARCELA') CREATE NONCLUSTERED INDEX [XIE3A_PAGAR_PARCELA] ON [A_PAGAR_PARCELA] ( [VENCIMENTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_A_PAGAR_PARCELA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_A_PAGAR_PARCELA] on [A_PAGAR_PARCELA] for DELETE as /* DELETE trigger on A_PAGAR_PARCELA */ begin declare @errno int, @errmsg varchar(255) /* A_PAGAR_PARCELA ACERTO_DEVOLUCAO FATURAMENTO_DEVOLUCAO_ACERTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_DEVOLUCAO_ACERTO where FATURAMENTO_DEVOLUCAO_ACERTO.FATURA = deleted.FATURA and FATURAMENTO_DEVOLUCAO_ACERTO.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAMENTO_DEVOLUCAO_ACERTO.PARCELA = deleted.PARCELA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_PAGAR_PARCELA #porque existem registros em #FATURAMENTO_DEVOLUCAO_ACERTO#.'' goto error end /* A_PAGAR_PARCELA A_PAGAR_PARCELA RETORNO_A_PAGAR_PARCELAS ON PARENT DELETE CASCADE */ delete RETORNO_A_PAGAR_PARCELAS from RETORNO_A_PAGAR_PARCELAS,deleted where RETORNO_A_PAGAR_PARCELAS.FATURA = deleted.FATURA and RETORNO_A_PAGAR_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR and RETORNO_A_PAGAR_PARCELAS.PARCELA = deleted.PARCELA /* A_PAGAR_PARCELA A_PAGAR_PARCELA BANCOS_A_PAGAR_PARCELAS ON PARENT DELETE CASCADE */ delete BANCOS_A_PAGAR_PARCELAS from BANCOS_A_PAGAR_PARCELAS,deleted where BANCOS_A_PAGAR_PARCELAS.FATURA = deleted.FATURA and BANCOS_A_PAGAR_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR and BANCOS_A_PAGAR_PARCELAS.PARCELA = deleted.PARCELA /* A_PAGAR_PARCELA A_PAGAR_PARCELA A_PAGAR_PARCELA_PG ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_PARCELA_PG where A_PAGAR_PARCELA_PG.FATURA = deleted.FATURA and A_PAGAR_PARCELA_PG.NOME_CLIFOR = deleted.NOME_CLIFOR and A_PAGAR_PARCELA_PG.PARCELA = deleted.PARCELA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_PAGAR_PARCELA #porque existem registros em #A_PAGAR_PARCELA_PG#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_PAGAR_PARCELA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_PAGAR_PARCELA] on [A_PAGAR_PARCELA] for INSERT as /* INSERT trigger on A_PAGAR_PARCELA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_PAGAR_PARCELA ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_PARCELA #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* A_PAGAR_FATURA A_PAGAR_FATURA A_PAGAR_PARCELA ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_FATURA where inserted.FATURA = A_PAGAR_FATURA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_FATURA.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_PARCELA #porque #A_PAGAR_FATURA #não existe.'' goto error end end /* BANCOS BANCOS A_PAGAR_PARCELA ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_PARCELA #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_PAGAR_PARCELA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_PAGAR_PARCELA] on [A_PAGAR_PARCELA] for UPDATE as /* UPDATE trigger on A_PAGAR_PARCELA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insNOME_CLIFOR varchar(25), @insPARCELA char(2), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @delPARCELA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_PARCELA ACERTO_DEVOLUCAO FATURAMENTO_DEVOLUCAO_ACERTO ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) OR update(PARCELA) BEGIN DECLARE A_PAGAR_PARCELA1026 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM INSERTED DECLARE A_PAGAR_PARCELA15 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM DELETED OPEN A_PAGAR_PARCELA1026 OPEN A_PAGAR_PARCELA15 FETCH NEXT FROM A_PAGAR_PARCELA1026 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_DEVOLUCAO_ACERTO SET FATURAMENTO_DEVOLUCAO_ACERTO.FATURA=@insFATURA, FATURAMENTO_DEVOLUCAO_ACERTO.NOME_CLIFOR=@insNOME_CLIFOR, FATURAMENTO_DEVOLUCAO_ACERTO.PARCELA=@insPARCELA WHERE FATURAMENTO_DEVOLUCAO_ACERTO.FATURA = @delFATURA and FATURAMENTO_DEVOLUCAO_ACERTO.NOME_CLIFOR = @delNOME_CLIFOR and FATURAMENTO_DEVOLUCAO_ACERTO.PARCELA = @delPARCELA FETCH NEXT FROM A_PAGAR_PARCELA1026 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA END END CLOSE A_PAGAR_PARCELA1026 CLOSE A_PAGAR_PARCELA15 DEALLOCATE A_PAGAR_PARCELA1026 DEALLOCATE A_PAGAR_PARCELA15 END /* A_PAGAR_PARCELA A_PAGAR_PARCELA RETORNO_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) OR update(PARCELA) BEGIN DECLARE A_PAGAR_PARCELA983 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM INSERTED DECLARE A_PAGAR_PARCELA15 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM DELETED OPEN A_PAGAR_PARCELA983 OPEN A_PAGAR_PARCELA15 FETCH NEXT FROM A_PAGAR_PARCELA983 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_PARCELAS SET RETORNO_A_PAGAR_PARCELAS.FATURA=@insFATURA, RETORNO_A_PAGAR_PARCELAS.NOME_CLIFOR=@insNOME_CLIFOR, RETORNO_A_PAGAR_PARCELAS.PARCELA=@insPARCELA WHERE RETORNO_A_PAGAR_PARCELAS.FATURA = @delFATURA and RETORNO_A_PAGAR_PARCELAS.NOME_CLIFOR = @delNOME_CLIFOR and RETORNO_A_PAGAR_PARCELAS.PARCELA = @delPARCELA FETCH NEXT FROM A_PAGAR_PARCELA983 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA END END CLOSE A_PAGAR_PARCELA983 CLOSE A_PAGAR_PARCELA15 DEALLOCATE A_PAGAR_PARCELA983 DEALLOCATE A_PAGAR_PARCELA15 END /* A_PAGAR_PARCELA A_PAGAR_PARCELA BANCOS_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) OR update(PARCELA) BEGIN DECLARE A_PAGAR_PARCELA970 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM INSERTED DECLARE A_PAGAR_PARCELA15 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM DELETED OPEN A_PAGAR_PARCELA970 OPEN A_PAGAR_PARCELA15 FETCH NEXT FROM A_PAGAR_PARCELA970 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_PARCELAS SET BANCOS_A_PAGAR_PARCELAS.FATURA=@insFATURA, BANCOS_A_PAGAR_PARCELAS.NOME_CLIFOR=@insNOME_CLIFOR, BANCOS_A_PAGAR_PARCELAS.PARCELA=@insPARCELA WHERE BANCOS_A_PAGAR_PARCELAS.FATURA = @delFATURA and BANCOS_A_PAGAR_PARCELAS.NOME_CLIFOR = @delNOME_CLIFOR and BANCOS_A_PAGAR_PARCELAS.PARCELA = @delPARCELA FETCH NEXT FROM A_PAGAR_PARCELA970 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA END END CLOSE A_PAGAR_PARCELA970 CLOSE A_PAGAR_PARCELA15 DEALLOCATE A_PAGAR_PARCELA970 DEALLOCATE A_PAGAR_PARCELA15 END /* A_PAGAR_PARCELA A_PAGAR_PARCELA A_PAGAR_PARCELA_PG ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) OR update(PARCELA) BEGIN DECLARE A_PAGAR_PARCELA739 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM INSERTED DECLARE A_PAGAR_PARCELA15 CURSOR FOR SELECT FATURA, NOME_CLIFOR, PARCELA FROM DELETED OPEN A_PAGAR_PARCELA739 OPEN A_PAGAR_PARCELA15 FETCH NEXT FROM A_PAGAR_PARCELA739 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_PARCELA_PG SET A_PAGAR_PARCELA_PG.FATURA=@insFATURA, A_PAGAR_PARCELA_PG.NOME_CLIFOR=@insNOME_CLIFOR, A_PAGAR_PARCELA_PG.PARCELA=@insPARCELA WHERE A_PAGAR_PARCELA_PG.FATURA = @delFATURA and A_PAGAR_PARCELA_PG.NOME_CLIFOR = @delNOME_CLIFOR and A_PAGAR_PARCELA_PG.PARCELA = @delPARCELA FETCH NEXT FROM A_PAGAR_PARCELA739 INTO @insFATURA, @insNOME_CLIFOR, @insPARCELA FETCH NEXT FROM A_PAGAR_PARCELA15 INTO @delFATURA, @delNOME_CLIFOR, @delPARCELA END END CLOSE A_PAGAR_PARCELA739 CLOSE A_PAGAR_PARCELA15 DEALLOCATE A_PAGAR_PARCELA739 DEALLOCATE A_PAGAR_PARCELA15 END /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_PAGAR_PARCELA ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_PARCELA #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* A_PAGAR_FATURA A_PAGAR_FATURA A_PAGAR_PARCELA ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_FATURA where inserted.FATURA = A_PAGAR_FATURA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_FATURA.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_PARCELA #porque #A_PAGAR_FATURA #não existe.'' goto error end end /* BANCOS BANCOS A_PAGAR_PARCELA ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_PARCELA #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_PAGO_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[DESCONTO_VENC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[A_PAGAR_PARCELA].[NUMERO_BANCARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[DIAS_PRORROGADOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[PARCELA_TRANSMITIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[PAGAMENTO_APROVADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[VALOR_PG_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA].[PG_JUROS_MOEDA_PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_STATUS_LOG]( [PEDIDO] [char](12) NOT NULL, [STATUS] [char](1) NOT NULL, [DATA_ALTERACAO_STATUS] [datetime] NOT NULL, [STATUS_ANTIGO] [char](1) NULL, [USUARIO] [varchar](25) NOT NULL, CONSTRAINT [XPKVENDAS_STATUS_LOG] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [STATUS] ASC, [DATA_ALTERACAO_STATUS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_STATUS_LOG] on [VENDAS_STATUS_LOG] for INSERT as /* INSERT trigger on VENDAS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_STATUS R/1713 VENDAS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(STATUS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_STATUS where inserted.STATUS = VENDAS_STATUS.STATUS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_STATUS_LOG #porque #VENDAS_STATUS #não existe.'' goto error end end /* VENDAS R/1711 VENDAS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_STATUS_LOG #porque #VENDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_STATUS_LOG] on [VENDAS_STATUS_LOG] for UPDATE as /* UPDATE trigger on VENDAS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insSTATUS char(1), @insDATA_ALTERACAO_STATUS datetime, @delPEDIDO char(12), @delSTATUS char(1), @delDATA_ALTERACAO_STATUS datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_STATUS R/1713 VENDAS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(STATUS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_STATUS where inserted.STATUS = VENDAS_STATUS.STATUS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_STATUS_LOG #porque #VENDAS_STATUS #não existe.'' goto error end end /* VENDAS R/1711 VENDAS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_STATUS_LOG #porque #VENDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_STATUS_LOG].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_MODELO_CONJUNTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_MODELO_CONJUNTO]( [MODELAGEM] [char](10) NOT NULL, [MODELAGEM_SUBCONJUNTO] [char](10) NOT NULL, [PARTE_PRODUTO_COM_DROP] [bit] NOT NULL, [NUMERO_PARTE] [int] NULL, [DESC_PARTE_APLICADA] [varchar](10) NULL, CONSTRAINT [XPKPRODUTOS_MODELO_CONJUNTO] PRIMARY KEY NONCLUSTERED ( [MODELAGEM] ASC, [MODELAGEM_SUBCONJUNTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_MODELO_CONJUNTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_MODELO_CONJUNTO] on [PRODUTOS_MODELO_CONJUNTO] for INSERT as /* INSERT trigger on PRODUTOS_MODELO_CONJUNTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_MODELO R/1978 PRODUTOS_MODELO_CONJUNTO ON CHILD INSERT RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_CONJUNTO #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* PRODUTOS_MODELO R/1977 PRODUTOS_MODELO_CONJUNTO ON CHILD INSERT RESTRICT */ if update(MODELAGEM_SUBCONJUNTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM_SUBCONJUNTO = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_CONJUNTO #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_MODELO_CONJUNTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_MODELO_CONJUNTO] on [PRODUTOS_MODELO_CONJUNTO] for UPDATE as /* UPDATE trigger on PRODUTOS_MODELO_CONJUNTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODELAGEM char(10), @insMODELAGEM_SUBCONJUNTO char(10), @delMODELAGEM char(10), @delMODELAGEM_SUBCONJUNTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_MODELO R/1978 PRODUTOS_MODELO_CONJUNTO ON CHILD UPDATE RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_CONJUNTO #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* PRODUTOS_MODELO R/1977 PRODUTOS_MODELO_CONJUNTO ON CHILD UPDATE RESTRICT */ if update(MODELAGEM_SUBCONJUNTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM_SUBCONJUNTO = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_CONJUNTO #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_CONJUNTO].[MODELAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_CONJUNTO].[MODELAGEM_SUBCONJUNTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_CONJUNTO].[PARTE_PRODUTO_COM_DROP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_CONJUNTO].[NUMERO_PARTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_CONJUNTO].[DESC_PARTE_APLICADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_STATUS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_STATUS]( [STATUS] [char](1) NOT NULL, [DESC_STATUS] [varchar](40) NOT NULL, [APROVACAO] [char](1) NULL, [DEPARTAMENTO] [varchar](25) NULL, CONSTRAINT [XPKVENDAS_STATUS] PRIMARY KEY NONCLUSTERED ( [STATUS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_STATUS] on [VENDAS_STATUS] for DELETE as /* DELETE trigger on VENDAS_STATUS */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_STATUS R/1713 VENDAS_STATUS_LOG ON PARENT DELETE CASCADE */ delete VENDAS_STATUS_LOG from VENDAS_STATUS_LOG,deleted where VENDAS_STATUS_LOG.STATUS = deleted.STATUS /* VENDAS_STATUS R/1712 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.STATUS = deleted.STATUS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_STATUS #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_STATUS] on [VENDAS_STATUS] for UPDATE as /* UPDATE trigger on VENDAS_STATUS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSTATUS char(1), @delSTATUS char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_STATUS R/1713 VENDAS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(STATUS) BEGIN DECLARE VENDAS_STATUS1713 CURSOR FOR SELECT STATUS FROM INSERTED DECLARE VENDAS_STATUS984 CURSOR FOR SELECT STATUS FROM DELETED OPEN VENDAS_STATUS1713 OPEN VENDAS_STATUS984 FETCH NEXT FROM VENDAS_STATUS1713 INTO @insSTATUS FETCH NEXT FROM VENDAS_STATUS984 INTO @delSTATUS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_STATUS_LOG SET VENDAS_STATUS_LOG.STATUS=@insSTATUS WHERE VENDAS_STATUS_LOG.STATUS = @delSTATUS FETCH NEXT FROM VENDAS_STATUS1713 INTO @insSTATUS FETCH NEXT FROM VENDAS_STATUS984 INTO @delSTATUS END END CLOSE VENDAS_STATUS1713 CLOSE VENDAS_STATUS984 DEALLOCATE VENDAS_STATUS1713 DEALLOCATE VENDAS_STATUS984 END /* VENDAS_STATUS R/1712 VENDAS ON PARENT UPDATE CASCADE */ IF update(STATUS) BEGIN DECLARE VENDAS_STATUS1712 CURSOR FOR SELECT STATUS FROM INSERTED DECLARE VENDAS_STATUS984 CURSOR FOR SELECT STATUS FROM DELETED OPEN VENDAS_STATUS1712 OPEN VENDAS_STATUS984 FETCH NEXT FROM VENDAS_STATUS1712 INTO @insSTATUS FETCH NEXT FROM VENDAS_STATUS984 INTO @delSTATUS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.STATUS=@insSTATUS WHERE VENDAS.STATUS = @delSTATUS FETCH NEXT FROM VENDAS_STATUS1712 INTO @insSTATUS FETCH NEXT FROM VENDAS_STATUS984 INTO @delSTATUS END END CLOSE VENDAS_STATUS1712 CLOSE VENDAS_STATUS984 DEALLOCATE VENDAS_STATUS1712 DEALLOCATE VENDAS_STATUS984 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_STATUS].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE_DIMENSAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE_DIMENSAO]( [MEDIDA_TEAR] [int] NOT NULL, [TRATAMENTO] [char](5) NOT NULL, [REFERENCIA_BASE] [char](11) NOT NULL, [LARGURA] [numeric](7, 2) NULL, CONSTRAINT [XPKMATERIAIS_BASE_DIMENSAO] PRIMARY KEY NONCLUSTERED ( [MEDIDA_TEAR] ASC, [TRATAMENTO] ASC, [REFERENCIA_BASE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_BASE_DIMENSAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_BASE_DIMENSAO] on [MATERIAIS_BASE_DIMENSAO] for INSERT as /* INSERT trigger on MATERIAIS_BASE_DIMENSAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) or update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_BASE_TRATAMENTO.TRATAMENTO and inserted.REFERENCIA_BASE = MATERIAIS_BASE_TRATAMENTO.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_DIMENSAO #porque #MATERIAIS_BASE_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_BASE_DIMENSAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_BASE_DIMENSAO] on [MATERIAIS_BASE_DIMENSAO] for UPDATE as /* UPDATE trigger on MATERIAIS_BASE_DIMENSAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMEDIDA_TEAR int, @insTRATAMENTO char(5), @insREFERENCIA_BASE char(11), @delMEDIDA_TEAR int, @delTRATAMENTO char(5), @delREFERENCIA_BASE char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) or update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_BASE_TRATAMENTO.TRATAMENTO and inserted.REFERENCIA_BASE = MATERIAIS_BASE_TRATAMENTO.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_DIMENSAO #porque #MATERIAIS_BASE_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_DIMENSAO].[MEDIDA_TEAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_BASE_DIMENSAO].[LARGURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_FASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM_FASE]( [ORDEM_SERVICO] [char](8) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [PARTICAO] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [DATA_PREVISTA] [datetime] NULL, [CUSTO_PROCESSO] [numeric](14, 2) NULL, [QTDE_S] [int] NULL, [S1] [int] NULL, [S2] [int] NULL, [S3] [int] NULL, [S4] [int] NULL, [S5] [int] NULL, [S6] [int] NULL, [S7] [int] NULL, [S8] [int] NULL, [S9] [int] NULL, [S10] [int] NULL, [S11] [int] NULL, [S12] [int] NULL, [S13] [int] NULL, [S14] [int] NULL, [S15] [int] NULL, [S16] [int] NULL, [S17] [int] NULL, [S18] [int] NULL, [S19] [int] NULL, [S20] [int] NULL, [S21] [int] NULL, [S22] [int] NULL, [S23] [int] NULL, [S24] [int] NULL, [S25] [int] NULL, [S26] [int] NULL, [S27] [int] NULL, [S28] [int] NULL, [S29] [int] NULL, [S30] [int] NULL, [S31] [int] NULL, [S32] [int] NULL, [S33] [int] NULL, [S34] [int] NULL, [S35] [int] NULL, [S36] [int] NULL, [S37] [int] NULL, [S38] [int] NULL, [S39] [int] NULL, [S40] [int] NULL, [S41] [int] NULL, [S42] [int] NULL, [S43] [int] NULL, [S44] [int] NULL, [S45] [int] NULL, [S46] [int] NULL, [S47] [int] NULL, [S48] [int] NULL, CONSTRAINT [XPKPRODUCAO_ORDEM_FASE] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [FASE_PRODUCAO] ASC, [FORNECEDOR] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [PARTICAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_FASE]') AND name = N'XIE1PRODUCAO_ORDEM_FASE') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_ORDEM_FASE] ON [PRODUCAO_ORDEM_FASE] ( [PARTICAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_FASE]') AND name = N'XIE2PRODUCAO_ORDEM_FASE') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_ORDEM_FASE] ON [PRODUCAO_ORDEM_FASE] ( [PARTICAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM_FASE] on [PRODUCAO_ORDEM_FASE] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1787 PRODUCAO_ORDEM_FASE ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_FASE #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_OS os_fase PRODUCAO_ORDEM_FASE ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM_FASE] on [PRODUCAO_ORDEM_FASE] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insFASE_PRODUCAO varchar(25), @insFORNECEDOR varchar(25), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insPARTICAO varchar(25), @delORDEM_SERVICO char(8), @delFASE_PRODUCAO varchar(25), @delFORNECEDOR varchar(25), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delPARTICAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1787 PRODUCAO_ORDEM_FASE ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_FASE #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_OS os_fase PRODUCAO_ORDEM_FASE ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_ORDEM_FASE].[PARTICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[CUSTO_PROCESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[QTDE_S]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_FASE].[S48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_TAMANHOS_PAISES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_TAMANHOS_PAISES]( [GRADE] [varchar](25) NOT NULL, [PAIS] [varchar](35) NOT NULL, [QUEBRA_1] [char](1) NULL, [QUEBRA_2] [char](1) NULL, [QUEBRA_3] [char](1) NULL, [QUEBRA_4] [char](1) NULL, [QUEBRA_5] [char](1) NULL, [TAMANHO_1] [varchar](8) NULL, [TAMANHO_2] [varchar](8) NULL, [TAMANHO_3] [varchar](8) NULL, [TAMANHO_4] [varchar](8) NULL, [TAMANHO_5] [varchar](8) NULL, [TAMANHO_6] [varchar](8) NULL, [TAMANHO_7] [varchar](8) NULL, [TAMANHO_8] [varchar](8) NULL, [TAMANHO_9] [varchar](8) NULL, [TAMANHO_10] [varchar](8) NULL, [TAMANHO_11] [varchar](8) NULL, [TAMANHO_12] [varchar](8) NULL, [TAMANHO_13] [varchar](8) NULL, [TAMANHO_14] [varchar](8) NULL, [TAMANHO_15] [varchar](8) NULL, [TAMANHO_16] [varchar](8) NULL, [TAMANHO_17] [varchar](8) NULL, [TAMANHO_18] [varchar](8) NULL, [TAMANHO_19] [varchar](8) NULL, [TAMANHO_20] [varchar](8) NULL, [TAMANHO_21] [varchar](8) NULL, [TAMANHO_22] [varchar](8) NULL, [TAMANHO_23] [varchar](8) NULL, [TAMANHO_24] [varchar](8) NULL, [TAMANHO_25] [varchar](8) NULL, [TAMANHO_26] [varchar](8) NULL, [TAMANHO_27] [varchar](8) NULL, [TAMANHO_28] [varchar](8) NULL, [TAMANHO_29] [varchar](8) NULL, [TAMANHO_30] [varchar](8) NULL, [TAMANHO_31] [varchar](8) NULL, [TAMANHO_32] [varchar](8) NULL, [TAMANHO_33] [varchar](8) NULL, [TAMANHO_34] [varchar](8) NULL, [TAMANHO_35] [varchar](8) NULL, [TAMANHO_36] [varchar](8) NULL, [TAMANHO_37] [varchar](8) NULL, [TAMANHO_38] [varchar](8) NULL, [TAMANHO_39] [varchar](8) NULL, [TAMANHO_40] [varchar](8) NULL, [TAMANHO_41] [varchar](8) NULL, [TAMANHO_42] [varchar](8) NULL, [TAMANHO_43] [varchar](8) NULL, [TAMANHO_44] [varchar](8) NULL, [TAMANHO_45] [varchar](8) NULL, [TAMANHO_46] [varchar](8) NULL, [TAMANHO_47] [varchar](8) NULL, [TAMANHO_48] [varchar](8) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_TAMANHOS_PAISES] PRIMARY KEY NONCLUSTERED ( [GRADE] ASC, [PAIS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_TAMANHOS_PAISES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_TAMANHOS_PAISES] on [PRODUTOS_TAMANHOS_PAISES] for INSERT as /* INSERT trigger on PRODUTOS_TAMANHOS_PAISES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/2107 PRODUTOS_TAMANHOS_PAISES ON CHILD INSERT RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAMANHOS_PAISES #porque #PAISES #não existe.'' goto error end end /* PRODUTOS_TAMANHOS R/2106 PRODUTOS_TAMANHOS_PAISES ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAMANHOS_PAISES #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_TAMANHOS_PAISES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAMANHOS_PAISES, INSERTED WHERE PRODUTOS_TAMANHOS_PAISES.GRADE = INSERTED.GRADE and PRODUTOS_TAMANHOS_PAISES.PAIS = INSERTED.PAIS AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_TAMANHOS_PAISES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_TAMANHOS_PAISES] on [PRODUTOS_TAMANHOS_PAISES] for UPDATE as /* UPDATE trigger on PRODUTOS_TAMANHOS_PAISES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRADE varchar(25), @insPAIS varchar(35), @delGRADE varchar(25), @delPAIS varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/2107 PRODUTOS_TAMANHOS_PAISES ON CHILD UPDATE RESTRICT */ if update(PAIS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PAISES where inserted.PAIS = PAISES.PAIS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAMANHOS_PAISES #porque #PAISES #não existe.'' goto error end end /* PRODUTOS_TAMANHOS R/2106 PRODUTOS_TAMANHOS_PAISES ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAMANHOS_PAISES #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_TAMANHOS_PAISES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAMANHOS_PAISES, INSERTED WHERE PRODUTOS_TAMANHOS_PAISES.GRADE = INSERTED.GRADE and PRODUTOS_TAMANHOS_PAISES.PAIS = INSERTED.PAIS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_TAMANHOS_PAISES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[PAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[QUEBRA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[QUEBRA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[QUEBRA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[QUEBRA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[QUEBRA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS_PAISES].[TAMANHO_48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_RET_MAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_RET_MAT]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CENTRO_CUSTO] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [REQUISITANTE] [varchar](25) NULL, [NOME_CLIFOR] [varchar](25) NULL, [NF_ENTRADA] [char](7) NULL, [PEDIDO] [char](8) NULL, [TIPO_MOVIMENTACAO] [char](1) NULL, [REQ_MATERIAL_ORIGEM] [char](8) NULL, [FILIAL_ORIGEM] [varchar](25) NULL, [OBS] [text] NULL, [ACERTO_ENTRADA] [bit] NOT NULL, [RECURSO_PRODUTIVO] [char](5) NULL, CONSTRAINT [XPKESTOQUE_RET_MAT] PRIMARY KEY NONCLUSTERED ( [REQ_MATERIAL] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_RET_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_RET_MAT] on [ESTOQUE_RET_MAT] for DELETE as /* DELETE trigger on ESTOQUE_RET_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED A JOIN ESTOQUE_RET1_MAT ON A.REQ_MATERIAL = ESTOQUE_RET1_MAT.REQ_MATERIAL and A.FILIAL = ESTOQUE_RET1_MAT.FILIAL WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /* ESTOQUE_RET_MAT R/1924 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.REQ_MATERIAL = deleted.REQ_MATERIAL and ENTRADAS_CONSUMO.FILIAL_REQ_MATERIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ESTOQUE_RET_MAT #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* ESTOQUE_RET_MAT ESTOQUE_RET_MAT ESTOQUE_RET1_MAT ON PARENT DELETE CASCADE */ delete ESTOQUE_RET1_MAT from ESTOQUE_RET1_MAT,deleted where ESTOQUE_RET1_MAT.REQ_MATERIAL = deleted.REQ_MATERIAL and ESTOQUE_RET1_MAT.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_RET_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_RET_MAT] on [ESTOQUE_RET_MAT] for INSERT as /* INSERT trigger on ESTOQUE_RET_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/2031 ESTOQUE_RET_MAT ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_MAT #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* ESTOQUE_SAI_MAT R/1809 ESTOQUE_RET_MAT ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL_ORIGEM) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL_ORIGEM = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL_ORIGEM = ESTOQUE_SAI_MAT.FILIAL select @nullcnt = count(*) from inserted where inserted.REQ_MATERIAL_ORIGEM is null or inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_MAT #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /* CENTROS_CUSTO CENTRO_CUSTO ESTOQUE_RET_MAT ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_MAT #porque #CENTROS_CUSTO #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_RET_MAT ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_MAT #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_RET_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_RET_MAT] on [ESTOQUE_RET_MAT] for UPDATE as /* UPDATE trigger on ESTOQUE_RET_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_RET_MAT R/1924 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(REQ_MATERIAL) OR update(FILIAL) BEGIN DECLARE ESTOQUE_RET_MAT1924 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM INSERTED DECLARE ESTOQUE_RET_MAT66 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM DELETED OPEN ESTOQUE_RET_MAT1924 OPEN ESTOQUE_RET_MAT66 FETCH NEXT FROM ESTOQUE_RET_MAT1924 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT66 INTO @delREQ_MATERIAL, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.REQ_MATERIAL=@insREQ_MATERIAL, ENTRADAS_CONSUMO.FILIAL_REQ_MATERIAL=@insFILIAL WHERE ENTRADAS_CONSUMO.REQ_MATERIAL = @delREQ_MATERIAL and ENTRADAS_CONSUMO.FILIAL_REQ_MATERIAL = @delFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT1924 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT66 INTO @delREQ_MATERIAL, @delFILIAL END END CLOSE ESTOQUE_RET_MAT1924 CLOSE ESTOQUE_RET_MAT66 DEALLOCATE ESTOQUE_RET_MAT1924 DEALLOCATE ESTOQUE_RET_MAT66 END /* ESTOQUE_RET_MAT ESTOQUE_RET_MAT ESTOQUE_RET1_MAT ON PARENT UPDATE CASCADE */ IF update(REQ_MATERIAL) OR update(FILIAL) BEGIN DECLARE ESTOQUE_RET_MAT677 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM INSERTED DECLARE ESTOQUE_RET_MAT66 CURSOR FOR SELECT REQ_MATERIAL, FILIAL FROM DELETED OPEN ESTOQUE_RET_MAT677 OPEN ESTOQUE_RET_MAT66 FETCH NEXT FROM ESTOQUE_RET_MAT677 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT66 INTO @delREQ_MATERIAL, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET1_MAT SET ESTOQUE_RET1_MAT.REQ_MATERIAL=@insREQ_MATERIAL, ESTOQUE_RET1_MAT.FILIAL=@insFILIAL WHERE ESTOQUE_RET1_MAT.REQ_MATERIAL = @delREQ_MATERIAL and ESTOQUE_RET1_MAT.FILIAL = @delFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT677 INTO @insREQ_MATERIAL, @insFILIAL FETCH NEXT FROM ESTOQUE_RET_MAT66 INTO @delREQ_MATERIAL, @delFILIAL END END CLOSE ESTOQUE_RET_MAT677 CLOSE ESTOQUE_RET_MAT66 DEALLOCATE ESTOQUE_RET_MAT677 DEALLOCATE ESTOQUE_RET_MAT66 END /* PRODUCAO_RECURSOS R/2031 ESTOQUE_RET_MAT ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_MAT #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* ESTOQUE_SAI_MAT R/1809 ESTOQUE_RET_MAT ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL_ORIGEM) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL_ORIGEM = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL_ORIGEM = ESTOQUE_SAI_MAT.FILIAL select @nullcnt = count(*) from inserted where inserted.REQ_MATERIAL_ORIGEM is null and inserted.FILIAL_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_MAT #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /* CENTROS_CUSTO CENTRO_CUSTO ESTOQUE_RET_MAT ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO select @nullcnt = count(*) from inserted where inserted.CENTRO_CUSTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_MAT #porque #CENTROS_CUSTO #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_RET_MAT ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_MAT #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_RET_MAT].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_RET_MAT].[REQUISITANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET_MAT].[ACERTO_ENTRADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_SAI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_SAI]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [EMISSAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [ROMANEIO_DESTINO] [char](8) NULL, [FILIAL_DESTINO] [varchar](25) NULL, [OBS] [text] NULL, CONSTRAINT [XPKESTOQUE_PROD_SAI] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_SAI]') AND name = N'XIE1ESTOQUE_PROD_SAI') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PROD_SAI] ON [ESTOQUE_PROD_SAI] ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [EMISSAO] ASC, [FILIAL_DESTINO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_SAI] on [ESTOQUE_PROD_SAI] for DELETE as /* DELETE trigger on ESTOQUE_PROD_SAI */ /* default body for LXD_ESTOQUE_PROD_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD1_SAI, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD1_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_SAI.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_SAI.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_PROD_SAI ESTOQUE_PROD_SAI ESTOQUE_PROD1_SAI ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD1_SAI from ESTOQUE_PROD1_SAI,deleted where ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and ESTOQUE_PROD1_SAI.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_SAI] on [ESTOQUE_PROD_SAI] for INSERT as /* INSERT trigger on ESTOQUE_PROD_SAI */ /* default body for LXI_ESTOQUE_PROD_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1640 ESTOQUE_PROD_SAI ON CHILD INSERT RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DESTINO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_SAI #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_PROD_SAI ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_SAI #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_SAI] on [ESTOQUE_PROD_SAI] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_SAI */ /* default body for LXU_ESTOQUE_PROD_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD1_SAI, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD1_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_SAI.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_SAI.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD1_SAI, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD1_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD1_SAI.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD1_SAI.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1640 ESTOQUE_PROD_SAI ON CHILD UPDATE RESTRICT */ if update(FILIAL_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_DESTINO = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_DESTINO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_SAI #porque #FILIAIS #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_PROD_SAI ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_SAI #porque #FILIAIS #não existe.'' goto error end end /* ESTOQUE_PROD_SAI ESTOQUE_PROD_SAI ESTOQUE_PROD1_SAI ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE ESTOQUE_PROD_SAI639 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE ESTOQUE_PROD_SAI367 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN ESTOQUE_PROD_SAI639 OPEN ESTOQUE_PROD_SAI367 FETCH NEXT FROM ESTOQUE_PROD_SAI639 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM ESTOQUE_PROD_SAI367 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_SAI SET ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, ESTOQUE_PROD1_SAI.FILIAL=@insFILIAL WHERE ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and ESTOQUE_PROD1_SAI.FILIAL = @delFILIAL FETCH NEXT FROM ESTOQUE_PROD_SAI639 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM ESTOQUE_PROD_SAI367 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE ESTOQUE_PROD_SAI639 CLOSE ESTOQUE_PROD_SAI367 DEALLOCATE ESTOQUE_PROD_SAI639 DEALLOCATE ESTOQUE_PROD_SAI367 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_PROD_SAI].[RESPONSAVEL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PACKS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PACKS_PERMITIDOS]( [PRODUTO] [char](12) NOT NULL, [PACK] [char](2) NOT NULL, [QTDE] [int] NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COR_PRODUTO] [char](10) NOT NULL, [INDICA_PACK_COR] [bit] NOT NULL, CONSTRAINT [XPKPRODUTOS_PACKS_PERMITIDOS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [PACK] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PACKS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PACKS_PERMITIDOS] on [PRODUTOS_PACKS_PERMITIDOS] for INSERT as /* INSERT trigger on PRODUTOS_PACKS_PERMITIDOS */ /* default body for LXI_PRODUTOS_PACKS_PERMITIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insPACK char(2), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1074 PRODUTOS_PACKS_PERMITIDOS ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PACKS_PERMITIDOS #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PACKS_PERMITIDOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PACKS_PERMITIDOS, INSERTED WHERE PRODUTOS_PACKS_PERMITIDOS.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PACKS_PERMITIDOS.PACK = INSERTED.PACK and PRODUTOS_PACKS_PERMITIDOS.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PACKS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PACKS_PERMITIDOS] on [PRODUTOS_PACKS_PERMITIDOS] for UPDATE as /* UPDATE trigger on PRODUTOS_PACKS_PERMITIDOS */ /* default body for LXU_PRODUTOS_PACKS_PERMITIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insPACK char(2), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delPACK char(2), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1074 PRODUTOS_PACKS_PERMITIDOS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PACKS_PERMITIDOS #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PACKS_PERMITIDOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PACKS_PERMITIDOS, INSERTED WHERE PRODUTOS_PACKS_PERMITIDOS.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PACKS_PERMITIDOS.PACK = INSERTED.PACK and PRODUTOS_PACKS_PERMITIDOS.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PACKS_PERMITIDOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[Q48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[COR_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS_PERMITIDOS].[INDICA_PACK_COR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PARAMETROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PARAMETROS]( [PARAMETRO] [varchar](25) NOT NULL, [PENULT_ATUALIZACAO] [datetime] NOT NULL, [VALOR_DEFAULT] [varchar](100) NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [VALOR_ATUAL] [varchar](100) NOT NULL, [DESC_PARAMETRO] [varchar](100) NULL, [TIPO_DADO] [char](1) NULL, [RANGE_VALOR_ATUAL] [varchar](100) NULL, [GLOBAL] [bit] NOT NULL, [ESCOPO] [int] NULL, [POR_USUARIO_OK] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [NOTA_PROGRAMADOR] [text] NULL, [PERMITE_POR_EMPRESA] [bit] NOT NULL, CONSTRAINT [XPKPARAMETROS] PRIMARY KEY NONCLUSTERED ( [PARAMETRO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PARAMETROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PARAMETROS] on [PARAMETROS] for DELETE as /* DELETE trigger on PARAMETROS */ begin declare @errno int, @errmsg varchar(255) /* PARAMETROS R/1948 PARAMETROS_EMPRESA_USERS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PARAMETROS_EMPRESA_USERS where PARAMETROS_EMPRESA_USERS.PARAMETRO = deleted.PARAMETRO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PARAMETROS #porque existem registros em #PARAMETROS_EMPRESA_USERS#.'' goto error end /* PARAMETROS R/1945 PARAMETROS_EMPRESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PARAMETROS_EMPRESA where PARAMETROS_EMPRESA.PARAMETRO = deleted.PARAMETRO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PARAMETROS #porque existem registros em #PARAMETROS_EMPRESA#.'' goto error end /* PARAMETROS USERS PARAMETROS_USERS ON PARENT DELETE CASCADE */ delete PARAMETROS_USERS from PARAMETROS_USERS,deleted where PARAMETROS_USERS.PARAMETRO = deleted.PARAMETRO /* PARAMETROS PARAMETROS TRANSACOES_PARAM ON PARENT DELETE CASCADE */ delete TRANSACOES_PARAM from TRANSACOES_PARAM,deleted where TRANSACOES_PARAM.PARAMETRO = deleted.PARAMETRO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PARAMETROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PARAMETROS] on [PARAMETROS] for UPDATE as /* UPDATE trigger on PARAMETROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPARAMETRO varchar(25), @delPARAMETRO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PARAMETROS R/1948 PARAMETROS_EMPRESA_USERS ON PARENT UPDATE CASCADE */ IF update(PARAMETRO) BEGIN DECLARE PARAMETROS1948 CURSOR FOR SELECT PARAMETRO FROM INSERTED DECLARE PARAMETROS112 CURSOR FOR SELECT PARAMETRO FROM DELETED OPEN PARAMETROS1948 OPEN PARAMETROS112 FETCH NEXT FROM PARAMETROS1948 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_EMPRESA_USERS SET PARAMETROS_EMPRESA_USERS.PARAMETRO=@insPARAMETRO WHERE PARAMETROS_EMPRESA_USERS.PARAMETRO = @delPARAMETRO FETCH NEXT FROM PARAMETROS1948 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO END END CLOSE PARAMETROS1948 CLOSE PARAMETROS112 DEALLOCATE PARAMETROS1948 DEALLOCATE PARAMETROS112 END /* PARAMETROS R/1945 PARAMETROS_EMPRESA ON PARENT UPDATE CASCADE */ IF update(PARAMETRO) BEGIN DECLARE PARAMETROS1945 CURSOR FOR SELECT PARAMETRO FROM INSERTED DECLARE PARAMETROS112 CURSOR FOR SELECT PARAMETRO FROM DELETED OPEN PARAMETROS1945 OPEN PARAMETROS112 FETCH NEXT FROM PARAMETROS1945 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_EMPRESA SET PARAMETROS_EMPRESA.PARAMETRO=@insPARAMETRO WHERE PARAMETROS_EMPRESA.PARAMETRO = @delPARAMETRO FETCH NEXT FROM PARAMETROS1945 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO END END CLOSE PARAMETROS1945 CLOSE PARAMETROS112 DEALLOCATE PARAMETROS1945 DEALLOCATE PARAMETROS112 END /* PARAMETROS USERS PARAMETROS_USERS ON PARENT UPDATE CASCADE */ IF update(PARAMETRO) BEGIN DECLARE PARAMETROS1218 CURSOR FOR SELECT PARAMETRO FROM INSERTED DECLARE PARAMETROS112 CURSOR FOR SELECT PARAMETRO FROM DELETED OPEN PARAMETROS1218 OPEN PARAMETROS112 FETCH NEXT FROM PARAMETROS1218 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_USERS SET PARAMETROS_USERS.PARAMETRO=@insPARAMETRO WHERE PARAMETROS_USERS.PARAMETRO = @delPARAMETRO FETCH NEXT FROM PARAMETROS1218 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO END END CLOSE PARAMETROS1218 CLOSE PARAMETROS112 DEALLOCATE PARAMETROS1218 DEALLOCATE PARAMETROS112 END /* PARAMETROS PARAMETROS TRANSACOES_PARAM ON PARENT UPDATE CASCADE */ IF update(PARAMETRO) BEGIN DECLARE PARAMETROS128 CURSOR FOR SELECT PARAMETRO FROM INSERTED DECLARE PARAMETROS112 CURSOR FOR SELECT PARAMETRO FROM DELETED OPEN PARAMETROS128 OPEN PARAMETROS112 FETCH NEXT FROM PARAMETROS128 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_PARAM SET TRANSACOES_PARAM.PARAMETRO=@insPARAMETRO WHERE TRANSACOES_PARAM.PARAMETRO = @delPARAMETRO FETCH NEXT FROM PARAMETROS128 INTO @insPARAMETRO FETCH NEXT FROM PARAMETROS112 INTO @delPARAMETRO END END CLOSE PARAMETROS128 CLOSE PARAMETROS112 DEALLOCATE PARAMETROS128 DEALLOCATE PARAMETROS112 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PARAMETROS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PARAMETROS, INSERTED WHERE PARAMETROS.PARAMETRO = INSERTED.PARAMETRO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PARAMETROS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PARAMETROS].[VALOR_DEFAULT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PARAMETROS].[DESC_PARAMETRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_TIPO_DADO]', @objname=N'[PARAMETROS].[TIPO_DADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PARAMETROS].[RANGE_VALOR_ATUAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PARAMETROS].[GLOBAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PARAMETROS].[ESCOPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PARAMETROS].[POR_USUARIO_OK]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PARAMETROS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PARAMETROS].[PERMITE_POR_EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_FASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_FASE]( [ORDEM_SERVICO] [char](8) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [PARTICAO] [varchar](25) NOT NULL, [ITEM] [char](3) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ORDEM_SERVICO_ANTERIOR] [char](8) NULL, [FORNECEDOR_ANTERIOR] [varchar](25) NULL, [FASE_ANTERIOR] [varchar](25) NULL, [PARTICAO_ANTERIOR] [varchar](25) NULL, [ORDEM_CORTE] [char](8) NULL, [DATA_PREVISTA] [datetime] NULL, [DATA_FIM_PROCESSO] [datetime] NULL, [CUSTO_PROCESSO] [numeric](14, 2) NULL, [DATA_ALTERACAO] [datetime] NULL, [INDICA_PERDA] [bit] NOT NULL, [INDICA_ALTERACAO_PCP] [bit] NOT NULL, [QTDE_O] [int] NULL, [O1] [int] NULL, [O2] [int] NULL, [O3] [int] NULL, [O4] [int] NULL, [O5] [int] NULL, [O6] [int] NULL, [O7] [int] NULL, [O8] [int] NULL, [O9] [int] NULL, [O10] [int] NULL, [O11] [int] NULL, [O12] [int] NULL, [O13] [int] NULL, [O14] [int] NULL, [O15] [int] NULL, [O16] [int] NULL, [O17] [int] NULL, [O18] [int] NULL, [O19] [int] NULL, [O20] [int] NULL, [O21] [int] NULL, [O22] [int] NULL, [O23] [int] NULL, [O24] [int] NULL, [O25] [int] NULL, [O26] [int] NULL, [O27] [int] NULL, [O28] [int] NULL, [O29] [int] NULL, [O30] [int] NULL, [O31] [int] NULL, [O32] [int] NULL, [O33] [int] NULL, [O34] [int] NULL, [O35] [int] NULL, [O36] [int] NULL, [O37] [int] NULL, [O38] [int] NULL, [O39] [int] NULL, [O40] [int] NULL, [O41] [int] NULL, [O42] [int] NULL, [O43] [int] NULL, [O44] [int] NULL, [O45] [int] NULL, [O46] [int] NULL, [O47] [int] NULL, [O48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [OBSERVACAO] [text] NULL, CONSTRAINT [XPKPRODUCAO_OS_FASE] PRIMARY KEY NONCLUSTERED ( [ITEM] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [PARTICAO] ASC, [ORDEM_SERVICO] ASC, [FORNECEDOR] ASC, [FASE_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_OS_FASE]') AND name = N'XIE4PRODUCAO_OS_FASE') CREATE NONCLUSTERED INDEX [XIE4PRODUCAO_OS_FASE] ON [PRODUCAO_OS_FASE] ( [PARTICAO_ANTERIOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS_FASE] on [PRODUCAO_OS_FASE] for INSERT as /* INSERT trigger on PRODUCAO_OS_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1786 PRODUCAO_OS_FASE ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_FASE #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_OS R/1756 PRODUCAO_OS_FASE ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO_ANTERIOR) or update(FORNECEDOR_ANTERIOR) or update(FASE_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO_ANTERIOR = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR_ANTERIOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_ANTERIOR = PRODUCAO_OS.FASE_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO_ANTERIOR is null or inserted.FORNECEDOR_ANTERIOR is null or inserted.FASE_ANTERIOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end /* PRODUCAO_OS R/1755 PRODUCAO_OS_FASE ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS_FASE] on [PRODUCAO_OS_FASE] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insITEM char(3), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insPARTICAO varchar(25), @insORDEM_SERVICO char(8), @insFORNECEDOR varchar(25), @insFASE_PRODUCAO varchar(25), @delITEM char(3), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delPARTICAO varchar(25), @delORDEM_SERVICO char(8), @delFORNECEDOR varchar(25), @delFASE_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1786 PRODUCAO_OS_FASE ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_FASE #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_OS R/1756 PRODUCAO_OS_FASE ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO_ANTERIOR) or update(FORNECEDOR_ANTERIOR) or update(FASE_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO_ANTERIOR = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR_ANTERIOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_ANTERIOR = PRODUCAO_OS.FASE_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_SERVICO_ANTERIOR is null and inserted.FORNECEDOR_ANTERIOR is null and inserted.FASE_ANTERIOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end /* PRODUCAO_OS R/1755 PRODUCAO_OS_FASE ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_FASE #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_OS_FASE].[PARTICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_OS_FASE].[ORDEM_CORTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[CUSTO_PROCESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[INDICA_PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[INDICA_ALTERACAO_PCP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_FASE].[O48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS]( [BANCO] [char](4) NOT NULL, [NOME_BANCO] [varchar](40) NOT NULL, [DIRETORIO_REMESSA] [varchar](100) NULL, [MASCARA_REMESSA] [varchar](12) NULL, [SEQUENCIAL_REMESSA] [char](8) NULL, [DIRETORIO_RETORNO] [varchar](100) NULL, [MASCARA_RETORNO] [varchar](12) NULL, [SEQUENCIAL_RETORNO] [char](8) NULL, [TAMANHO_REGISTRO] [int] NULL, [LISTA_CODIGO_LIQUIDACAO] [varchar](40) NULL, [TIMESTAMP] [timestamp] NULL, [SEQUENCIAL_NUMERO_BOLETA] [varchar](15) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [SEQUENCIAL_NUMERO_BOLETA_FINAL] [varchar](15) NULL, CONSTRAINT [XPKBANCOS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS] on [BANCOS] for DELETE as /* DELETE trigger on BANCOS */ begin declare @errno int, @errmsg varchar(255) /* BANCOS BANCOS CONTRATOS_DESCONTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTRATOS_DESCONTO where CONTRATOS_DESCONTO.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #CONTRATOS_DESCONTO#.'' goto error end /* BANCOS BANCOS A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end /* BANCOS R/1305 BANCOS_CEP ON PARENT DELETE CASCADE */ delete BANCOS_CEP from BANCOS_CEP,deleted where BANCOS_CEP.BANCO = deleted.BANCO /* BANCOS BANCOS RETORNO_A_RECEBER_LAYOUT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_RECEBER_LAYOUT where RETORNO_A_RECEBER_LAYOUT.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #RETORNO_A_RECEBER_LAYOUT#.'' goto error end /* BANCOS BANCOS RETORNO_A_RECEBER ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_RECEBER where RETORNO_A_RECEBER.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #RETORNO_A_RECEBER#.'' goto error end /* BANCOS BANCOS RETORNO_A_PAGAR_TIPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_PAGAR_TIPO where RETORNO_A_PAGAR_TIPO.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #RETORNO_A_PAGAR_TIPO#.'' goto error end /* BANCOS BANCOS CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* BANCOS BANCOS BANCOS_A_PAGAR_ENVIOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_A_PAGAR_ENVIOS where BANCOS_A_PAGAR_ENVIOS.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #BANCOS_A_PAGAR_ENVIOS#.'' goto error end /* BANCOS BANCOS BANCOS_BORDERO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_BORDERO where BANCOS_BORDERO.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #BANCOS_BORDERO#.'' goto error end /* BANCOS BANCOS BANCOS_LAYOUT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_LAYOUT where BANCOS_LAYOUT.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #BANCOS_LAYOUT#.'' goto error end /* BANCOS BANCOS A_RECEBER_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PARCELAS where A_RECEBER_PARCELAS.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #A_RECEBER_PARCELAS#.'' goto error end /* BANCOS BANCOS A_PAGAR_PARCELA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_PARCELA where A_PAGAR_PARCELA.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS #porque existem registros em #A_PAGAR_PARCELA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS] on [BANCOS] for INSERT as /* INSERT trigger on BANCOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE BANCOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM BANCOS, INSERTED WHERE BANCOS.BANCO = INSERTED.BANCO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS] on [BANCOS] for UPDATE as /* UPDATE trigger on BANCOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS BANCOS CONTRATOS_DESCONTO ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS1314 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS1314 OPEN BANCOS39 FETCH NEXT FROM BANCOS1314 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTRATOS_DESCONTO SET CONTRATOS_DESCONTO.BANCO=@insBANCO WHERE CONTRATOS_DESCONTO.BANCO = @delBANCO FETCH NEXT FROM BANCOS1314 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS1314 CLOSE BANCOS39 DEALLOCATE BANCOS1314 DEALLOCATE BANCOS39 END /* BANCOS BANCOS A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS1312 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS1312 OPEN BANCOS39 FETCH NEXT FROM BANCOS1312 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.BANCO=@insBANCO WHERE A_RECEBER_CHEQUES.BANCO = @delBANCO FETCH NEXT FROM BANCOS1312 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS1312 CLOSE BANCOS39 DEALLOCATE BANCOS1312 DEALLOCATE BANCOS39 END /* BANCOS R/1305 BANCOS_CEP ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS1305 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS1305 OPEN BANCOS39 FETCH NEXT FROM BANCOS1305 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_CEP SET BANCOS_CEP.BANCO=@insBANCO WHERE BANCOS_CEP.BANCO = @delBANCO FETCH NEXT FROM BANCOS1305 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS1305 CLOSE BANCOS39 DEALLOCATE BANCOS1305 DEALLOCATE BANCOS39 END /* BANCOS BANCOS RETORNO_A_RECEBER_LAYOUT ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS1018 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS1018 OPEN BANCOS39 FETCH NEXT FROM BANCOS1018 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_RECEBER_LAYOUT SET RETORNO_A_RECEBER_LAYOUT.BANCO=@insBANCO WHERE RETORNO_A_RECEBER_LAYOUT.BANCO = @delBANCO FETCH NEXT FROM BANCOS1018 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS1018 CLOSE BANCOS39 DEALLOCATE BANCOS1018 DEALLOCATE BANCOS39 END /* BANCOS BANCOS RETORNO_A_RECEBER ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS1017 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS1017 OPEN BANCOS39 FETCH NEXT FROM BANCOS1017 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_RECEBER SET RETORNO_A_RECEBER.BANCO=@insBANCO WHERE RETORNO_A_RECEBER.BANCO = @delBANCO FETCH NEXT FROM BANCOS1017 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS1017 CLOSE BANCOS39 DEALLOCATE BANCOS1017 DEALLOCATE BANCOS39 END /* BANCOS BANCOS RETORNO_A_PAGAR_TIPO ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS978 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS978 OPEN BANCOS39 FETCH NEXT FROM BANCOS978 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_TIPO SET RETORNO_A_PAGAR_TIPO.BANCO=@insBANCO WHERE RETORNO_A_PAGAR_TIPO.BANCO = @delBANCO FETCH NEXT FROM BANCOS978 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS978 CLOSE BANCOS39 DEALLOCATE BANCOS978 DEALLOCATE BANCOS39 END /* BANCOS BANCOS CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS974 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS974 OPEN BANCOS39 FETCH NEXT FROM BANCOS974 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.BANCO=@insBANCO WHERE CADASTRO_CLI_FOR.BANCO = @delBANCO FETCH NEXT FROM BANCOS974 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS974 CLOSE BANCOS39 DEALLOCATE BANCOS974 DEALLOCATE BANCOS39 END /* BANCOS BANCOS BANCOS_A_PAGAR_ENVIOS ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS966 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS966 OPEN BANCOS39 FETCH NEXT FROM BANCOS966 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_ENVIOS SET BANCOS_A_PAGAR_ENVIOS.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_ENVIOS.BANCO = @delBANCO FETCH NEXT FROM BANCOS966 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS966 CLOSE BANCOS39 DEALLOCATE BANCOS966 DEALLOCATE BANCOS39 END /* BANCOS BANCOS BANCOS_BORDERO ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS945 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS945 OPEN BANCOS39 FETCH NEXT FROM BANCOS945 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_BORDERO SET BANCOS_BORDERO.BANCO=@insBANCO WHERE BANCOS_BORDERO.BANCO = @delBANCO FETCH NEXT FROM BANCOS945 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS945 CLOSE BANCOS39 DEALLOCATE BANCOS945 DEALLOCATE BANCOS39 END /* BANCOS BANCOS BANCOS_LAYOUT ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS940 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS940 OPEN BANCOS39 FETCH NEXT FROM BANCOS940 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_LAYOUT SET BANCOS_LAYOUT.BANCO=@insBANCO WHERE BANCOS_LAYOUT.BANCO = @delBANCO FETCH NEXT FROM BANCOS940 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS940 CLOSE BANCOS39 DEALLOCATE BANCOS940 DEALLOCATE BANCOS39 END /* BANCOS BANCOS A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS367 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS367 OPEN BANCOS39 FETCH NEXT FROM BANCOS367 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PARCELAS SET A_RECEBER_PARCELAS.BANCO=@insBANCO WHERE A_RECEBER_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM BANCOS367 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS367 CLOSE BANCOS39 DEALLOCATE BANCOS367 DEALLOCATE BANCOS39 END /* BANCOS BANCOS A_PAGAR_PARCELA ON PARENT UPDATE CASCADE */ IF update(BANCO) BEGIN DECLARE BANCOS38 CURSOR FOR SELECT BANCO FROM INSERTED DECLARE BANCOS39 CURSOR FOR SELECT BANCO FROM DELETED OPEN BANCOS38 OPEN BANCOS39 FETCH NEXT FROM BANCOS38 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_PARCELA SET A_PAGAR_PARCELA.BANCO=@insBANCO WHERE A_PAGAR_PARCELA.BANCO = @delBANCO FETCH NEXT FROM BANCOS38 INTO @insBANCO FETCH NEXT FROM BANCOS39 INTO @delBANCO END END CLOSE BANCOS38 CLOSE BANCOS39 DEALLOCATE BANCOS38 DEALLOCATE BANCOS39 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE BANCOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM BANCOS, INSERTED WHERE BANCOS.BANCO = INSERTED.BANCO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR BANCOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS].[DIRETORIO_REMESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS].[SEQUENCIAL_REMESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS].[TAMANHO_REGISTRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[BANCOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_MODELO_MAT_PRI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_MODELO_MAT_PRI]( [MODELAGEM] [char](10) NOT NULL, [MATERIAL] [char](11) NOT NULL, [DESC_USO_MATERIAL] [varchar](40) NULL, [CONSUMO_P_TAMANHO] [bit] NOT NULL, [C1] [numeric](9, 3) NULL, [C2] [numeric](9, 3) NULL, [C3] [numeric](9, 3) NULL, [C4] [numeric](9, 3) NULL, [C5] [numeric](9, 3) NULL, [C6] [numeric](9, 3) NULL, [C7] [numeric](9, 3) NULL, [C8] [numeric](9, 3) NULL, [C9] [numeric](9, 3) NULL, [C10] [numeric](9, 3) NULL, [C11] [numeric](9, 3) NULL, [C12] [numeric](9, 3) NULL, [C13] [numeric](9, 3) NULL, [C14] [numeric](9, 3) NULL, [C15] [numeric](9, 3) NULL, [C16] [numeric](9, 3) NULL, [C17] [numeric](9, 3) NULL, [C18] [numeric](9, 3) NULL, [C19] [numeric](9, 3) NULL, [C20] [numeric](9, 3) NULL, [C21] [numeric](9, 3) NULL, [C22] [numeric](9, 3) NULL, [C23] [numeric](9, 3) NULL, [C24] [numeric](9, 3) NULL, [C25] [numeric](9, 3) NULL, [C26] [numeric](9, 3) NULL, [C27] [numeric](9, 3) NULL, [C28] [numeric](9, 3) NULL, [C29] [numeric](9, 3) NULL, [C30] [numeric](9, 3) NULL, [C31] [numeric](9, 3) NULL, [C32] [numeric](9, 3) NULL, [C33] [numeric](9, 3) NULL, [C34] [numeric](9, 3) NULL, [C35] [numeric](9, 3) NULL, [C36] [numeric](9, 3) NULL, [C37] [numeric](9, 3) NULL, [C38] [numeric](9, 3) NULL, [C39] [numeric](9, 3) NULL, [C40] [numeric](9, 3) NULL, [C41] [numeric](9, 3) NULL, [C42] [numeric](9, 3) NULL, [C43] [numeric](9, 3) NULL, [C44] [numeric](9, 3) NULL, [C45] [numeric](9, 3) NULL, [C46] [numeric](9, 3) NULL, [C47] [numeric](9, 3) NULL, [C48] [numeric](9, 3) NULL, CONSTRAINT [XPKPRODUTOS_MODELO_MAT_PRI] PRIMARY KEY NONCLUSTERED ( [MODELAGEM] ASC, [MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_MODELO_MAT_PRI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_MODELO_MAT_PRI] on [PRODUTOS_MODELO_MAT_PRI] for INSERT as /* INSERT trigger on PRODUTOS_MODELO_MAT_PRI */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS R/1972 PRODUTOS_MODELO_MAT_PRI ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_MAT_PRI #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_MODELO R/1971 PRODUTOS_MODELO_MAT_PRI ON CHILD INSERT RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_MAT_PRI #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_MODELO_MAT_PRI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_MODELO_MAT_PRI] on [PRODUTOS_MODELO_MAT_PRI] for UPDATE as /* UPDATE trigger on PRODUTOS_MODELO_MAT_PRI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODELAGEM char(10), @insMATERIAL char(11), @delMODELAGEM char(10), @delMATERIAL char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS R/1972 PRODUTOS_MODELO_MAT_PRI ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_MAT_PRI #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_MODELO R/1971 PRODUTOS_MODELO_MAT_PRI ON CHILD UPDATE RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_MAT_PRI #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[MODELAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[DESC_USO_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[CONSUMO_P_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MAT_PRI].[C48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_MODELO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_MODELO_MATERIAL]( [MODELAGEM] [char](10) NOT NULL, [MATERIAL] [char](11) NOT NULL, [ITEM] [char](4) NOT NULL, [MODELAGEM_SUBCONJUNTO] [char](10) NULL, [DESC_USO_MATERIAL] [varchar](40) NULL, [CONSUMO_P_TAMANHO] [bit] NOT NULL, [C1] [numeric](9, 3) NULL, [C2] [numeric](9, 3) NULL, [C3] [numeric](9, 3) NULL, [C4] [numeric](9, 3) NULL, [C5] [numeric](9, 3) NULL, [C6] [numeric](9, 3) NULL, [C7] [numeric](9, 3) NULL, [C8] [numeric](9, 3) NULL, [C9] [numeric](9, 3) NULL, [C10] [numeric](9, 3) NULL, [C11] [numeric](9, 3) NULL, [C12] [numeric](9, 3) NULL, [C13] [numeric](9, 3) NULL, [C14] [numeric](9, 3) NULL, [C15] [numeric](9, 3) NULL, [C16] [numeric](9, 3) NULL, [C17] [numeric](9, 3) NULL, [C18] [numeric](9, 3) NULL, [C19] [numeric](9, 3) NULL, [C20] [numeric](9, 3) NULL, [C21] [numeric](9, 3) NULL, [C22] [numeric](9, 3) NULL, [C23] [numeric](9, 3) NULL, [C24] [numeric](9, 3) NULL, [C25] [numeric](9, 3) NULL, [C26] [numeric](9, 3) NULL, [C27] [numeric](9, 3) NULL, [C28] [numeric](9, 3) NULL, [C29] [numeric](9, 3) NULL, [C30] [numeric](9, 3) NULL, [C31] [numeric](9, 3) NULL, [C32] [numeric](9, 3) NULL, [C33] [numeric](9, 3) NULL, [C34] [numeric](9, 3) NULL, [C35] [numeric](9, 3) NULL, [C36] [numeric](9, 3) NULL, [C37] [numeric](9, 3) NULL, [C38] [numeric](9, 3) NULL, [C39] [numeric](9, 3) NULL, [C40] [numeric](9, 3) NULL, [C41] [numeric](9, 3) NULL, [C42] [numeric](9, 3) NULL, [C43] [numeric](9, 3) NULL, [C44] [numeric](9, 3) NULL, [C45] [numeric](9, 3) NULL, [C46] [numeric](9, 3) NULL, [C47] [numeric](9, 3) NULL, [C48] [numeric](9, 3) NULL, [PARTE_APLICADA_MATERIAL] [varchar](10) NULL, CONSTRAINT [XPKPRODUTOS_MODELO_MATERIAL] PRIMARY KEY NONCLUSTERED ( [MODELAGEM] ASC, [MATERIAL] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_MODELO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_MODELO_MATERIAL] on [PRODUTOS_MODELO_MATERIAL] for INSERT as /* INSERT trigger on PRODUTOS_MODELO_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_MODELO R/2042 PRODUTOS_MODELO_MATERIAL ON CHILD INSERT RESTRICT */ if update(MODELAGEM_SUBCONJUNTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM_SUBCONJUNTO = PRODUTOS_MODELO.MODELAGEM select @nullcnt = count(*) from inserted where inserted.MODELAGEM_SUBCONJUNTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_MATERIAL #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* MATERIAIS R/1969 PRODUTOS_MODELO_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_MATERIAL #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_MODELO R/1967 PRODUTOS_MODELO_MATERIAL ON CHILD INSERT RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO_MATERIAL #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_MODELO_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_MODELO_MATERIAL] on [PRODUTOS_MODELO_MATERIAL] for UPDATE as /* UPDATE trigger on PRODUTOS_MODELO_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODELAGEM char(10), @insMATERIAL char(11), @insITEM char(4), @delMODELAGEM char(10), @delMATERIAL char(11), @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_MODELO R/2042 PRODUTOS_MODELO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MODELAGEM_SUBCONJUNTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM_SUBCONJUNTO = PRODUTOS_MODELO.MODELAGEM select @nullcnt = count(*) from inserted where inserted.MODELAGEM_SUBCONJUNTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_MATERIAL #porque #PRODUTOS_MODELO #não existe.'' goto error end end /* MATERIAIS R/1969 PRODUTOS_MODELO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_MATERIAL #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_MODELO R/1967 PRODUTOS_MODELO_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MODELAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_MODELO where inserted.MODELAGEM = PRODUTOS_MODELO.MODELAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO_MATERIAL #porque #PRODUTOS_MODELO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[MODELAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[MODELAGEM_SUBCONJUNTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[DESC_USO_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[CONSUMO_P_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO_MATERIAL].[C48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS]( [ORDEM_SERVICO] [char](8) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [DATA] [datetime] NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [OBS] [text] NULL, CONSTRAINT [XPKPRODUCAO_OS] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [FORNECEDOR] ASC, [FASE_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_OS]') AND name = N'XAK1PRODUCAO_OS') CREATE UNIQUE NONCLUSTERED INDEX [XAK1PRODUCAO_OS] ON [PRODUCAO_OS] ( [ORDEM_SERVICO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_OS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_OS] on [PRODUCAO_OS] for DELETE as /* DELETE trigger on PRODUCAO_OS */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_OS R/1756 PRODUCAO_OS_FASE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_OS_FASE where PRODUCAO_OS_FASE.ORDEM_SERVICO_ANTERIOR = deleted.ORDEM_SERVICO and PRODUCAO_OS_FASE.FORNECEDOR_ANTERIOR = deleted.FORNECEDOR and PRODUCAO_OS_FASE.FASE_ANTERIOR = deleted.FASE_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_OS #porque existem registros em #PRODUCAO_OS_FASE#.'' goto error end /* PRODUCAO_OS R/1755 PRODUCAO_OS_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_FASE from PRODUCAO_OS_FASE,deleted where PRODUCAO_OS_FASE.ORDEM_SERVICO = deleted.ORDEM_SERVICO and PRODUCAO_OS_FASE.FORNECEDOR = deleted.FORNECEDOR and PRODUCAO_OS_FASE.FASE_PRODUCAO = deleted.FASE_PRODUCAO /* PRODUCAO_OS os_fase PRODUCAO_ORDEM_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_ORDEM_FASE from PRODUCAO_ORDEM_FASE,deleted where PRODUCAO_ORDEM_FASE.ORDEM_SERVICO = deleted.ORDEM_SERVICO and PRODUCAO_ORDEM_FASE.FORNECEDOR = deleted.FORNECEDOR and PRODUCAO_ORDEM_FASE.FASE_PRODUCAO = deleted.FASE_PRODUCAO /* PRODUCAO_OS PRODUCAO_OS PRODUCAO_OS_MATERIAIS ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_MATERIAIS from PRODUCAO_OS_MATERIAIS,deleted where PRODUCAO_OS_MATERIAIS.ORDEM_SERVICO = deleted.ORDEM_SERVICO and PRODUCAO_OS_MATERIAIS.FORNECEDOR = deleted.FORNECEDOR and PRODUCAO_OS_MATERIAIS.FASE_PRODUCAO = deleted.FASE_PRODUCAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS] on [PRODUCAO_OS] for INSERT as /* INSERT trigger on PRODUCAO_OS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_FASE R/1785 PRODUCAO_OS ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS #porque #PRODUCAO_FASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS] on [PRODUCAO_OS] for UPDATE as /* UPDATE trigger on PRODUCAO_OS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insFORNECEDOR varchar(25), @insFASE_PRODUCAO varchar(25), @delORDEM_SERVICO char(8), @delFORNECEDOR varchar(25), @delFASE_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_OS R/1756 PRODUCAO_OS_FASE ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) OR update(FORNECEDOR) OR update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_OS1756 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_OS521 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_OS1756 OPEN PRODUCAO_OS521 FETCH NEXT FROM PRODUCAO_OS1756 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_FASE SET PRODUCAO_OS_FASE.ORDEM_SERVICO_ANTERIOR=@insORDEM_SERVICO, PRODUCAO_OS_FASE.FORNECEDOR_ANTERIOR=@insFORNECEDOR, PRODUCAO_OS_FASE.FASE_ANTERIOR=@insFASE_PRODUCAO WHERE PRODUCAO_OS_FASE.ORDEM_SERVICO_ANTERIOR = @delORDEM_SERVICO and PRODUCAO_OS_FASE.FORNECEDOR_ANTERIOR = @delFORNECEDOR and PRODUCAO_OS_FASE.FASE_ANTERIOR = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS1756 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO END END CLOSE PRODUCAO_OS1756 CLOSE PRODUCAO_OS521 DEALLOCATE PRODUCAO_OS1756 DEALLOCATE PRODUCAO_OS521 END /* PRODUCAO_OS R/1755 PRODUCAO_OS_FASE ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) OR update(FORNECEDOR) OR update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_OS1755 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_OS521 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_OS1755 OPEN PRODUCAO_OS521 FETCH NEXT FROM PRODUCAO_OS1755 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_FASE SET PRODUCAO_OS_FASE.ORDEM_SERVICO=@insORDEM_SERVICO, PRODUCAO_OS_FASE.FORNECEDOR=@insFORNECEDOR, PRODUCAO_OS_FASE.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_OS_FASE.ORDEM_SERVICO = @delORDEM_SERVICO and PRODUCAO_OS_FASE.FORNECEDOR = @delFORNECEDOR and PRODUCAO_OS_FASE.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS1755 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO END END CLOSE PRODUCAO_OS1755 CLOSE PRODUCAO_OS521 DEALLOCATE PRODUCAO_OS1755 DEALLOCATE PRODUCAO_OS521 END /* PRODUCAO_OS os_fase PRODUCAO_ORDEM_FASE ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) OR update(FORNECEDOR) OR update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_OS1012 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_OS521 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_OS1012 OPEN PRODUCAO_OS521 FETCH NEXT FROM PRODUCAO_OS1012 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_FASE SET PRODUCAO_ORDEM_FASE.ORDEM_SERVICO=@insORDEM_SERVICO, PRODUCAO_ORDEM_FASE.FORNECEDOR=@insFORNECEDOR, PRODUCAO_ORDEM_FASE.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_ORDEM_FASE.ORDEM_SERVICO = @delORDEM_SERVICO and PRODUCAO_ORDEM_FASE.FORNECEDOR = @delFORNECEDOR and PRODUCAO_ORDEM_FASE.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS1012 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO END END CLOSE PRODUCAO_OS1012 CLOSE PRODUCAO_OS521 DEALLOCATE PRODUCAO_OS1012 DEALLOCATE PRODUCAO_OS521 END /* PRODUCAO_OS PRODUCAO_OS PRODUCAO_OS_MATERIAIS ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) OR update(FORNECEDOR) OR update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_OS955 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_OS521 CURSOR FOR SELECT ORDEM_SERVICO, FORNECEDOR, FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_OS955 OPEN PRODUCAO_OS521 FETCH NEXT FROM PRODUCAO_OS955 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_MATERIAIS SET PRODUCAO_OS_MATERIAIS.ORDEM_SERVICO=@insORDEM_SERVICO, PRODUCAO_OS_MATERIAIS.FORNECEDOR=@insFORNECEDOR, PRODUCAO_OS_MATERIAIS.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_OS_MATERIAIS.ORDEM_SERVICO = @delORDEM_SERVICO and PRODUCAO_OS_MATERIAIS.FORNECEDOR = @delFORNECEDOR and PRODUCAO_OS_MATERIAIS.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS955 INTO @insORDEM_SERVICO, @insFORNECEDOR, @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_OS521 INTO @delORDEM_SERVICO, @delFORNECEDOR, @delFASE_PRODUCAO END END CLOSE PRODUCAO_OS955 CLOSE PRODUCAO_OS521 DEALLOCATE PRODUCAO_OS955 DEALLOCATE PRODUCAO_OS521 END /* PRODUCAO_FASE R/1785 PRODUCAO_OS ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS #porque #PRODUCAO_FASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_OS].[CONFERIDO_POR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_A_PAGAR_LAYOUT]( [TIPO_ENVIO] [varchar](25) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [TOPOLOGIA] [char](1) NULL, [POSICAO] [int] NULL, [TAMANHO] [int] NULL, [TIPO_DADO] [char](1) NULL, [TIPO_CONTEUDO] [char](1) NULL, [CAMPO] [varchar](250) NULL, [DECIMAIS] [int] NULL, CONSTRAINT [XPKBANCOS_A_PAGAR_LAYOUT] PRIMARY KEY NONCLUSTERED ( [TIPO_ENVIO] ASC, [NOME_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS_A_PAGAR_LAYOUT] on [BANCOS_A_PAGAR_LAYOUT] for DELETE as /* DELETE trigger on BANCOS_A_PAGAR_LAYOUT */ begin declare @errno int, @errmsg varchar(255) /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_CAMPOS ON PARENT DELETE CASCADE */ delete BANCOS_A_PAGAR_CAMPOS from BANCOS_A_PAGAR_CAMPOS,deleted where BANCOS_A_PAGAR_CAMPOS.TIPO_ENVIO = deleted.TIPO_ENVIO and BANCOS_A_PAGAR_CAMPOS.NOME_CAMPO = deleted.NOME_CAMPO and BANCOS_A_PAGAR_CAMPOS.BANCO = deleted.BANCO /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_A_PAGAR_PARCELAS where BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO = deleted.TIPO_ENVIO and BANCOS_A_PAGAR_PARCELAS.NOME_CAMPO = deleted.NOME_CAMPO and BANCOS_A_PAGAR_PARCELAS.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS_A_PAGAR_LAYOUT #porque existem registros em #BANCOS_A_PAGAR_PARCELAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_A_PAGAR_LAYOUT] on [BANCOS_A_PAGAR_LAYOUT] for INSERT as /* INSERT trigger on BANCOS_A_PAGAR_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_LAYOUT ON CHILD INSERT RESTRICT */ if update(TIPO_ENVIO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_ENVIOS where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_ENVIOS.TIPO_ENVIO and inserted.BANCO = BANCOS_A_PAGAR_ENVIOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_LAYOUT #porque #BANCOS_A_PAGAR_ENVIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_A_PAGAR_LAYOUT] on [BANCOS_A_PAGAR_LAYOUT] for UPDATE as /* UPDATE trigger on BANCOS_A_PAGAR_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENVIO varchar(25), @insNOME_CAMPO varchar(25), @insBANCO char(4), @delTIPO_ENVIO varchar(25), @delNOME_CAMPO varchar(25), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_CAMPOS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENVIO) OR update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE BANCOS_A_PAGAR_LAYOUT973 CURSOR FOR SELECT TIPO_ENVIO, NOME_CAMPO, BANCO FROM INSERTED DECLARE BANCOS_A_PAGAR_LAYOUT629 CURSOR FOR SELECT TIPO_ENVIO, NOME_CAMPO, BANCO FROM DELETED OPEN BANCOS_A_PAGAR_LAYOUT973 OPEN BANCOS_A_PAGAR_LAYOUT629 FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT973 INTO @insTIPO_ENVIO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT629 INTO @delTIPO_ENVIO, @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_CAMPOS SET BANCOS_A_PAGAR_CAMPOS.TIPO_ENVIO=@insTIPO_ENVIO, BANCOS_A_PAGAR_CAMPOS.NOME_CAMPO=@insNOME_CAMPO, BANCOS_A_PAGAR_CAMPOS.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_CAMPOS.TIPO_ENVIO = @delTIPO_ENVIO and BANCOS_A_PAGAR_CAMPOS.NOME_CAMPO = @delNOME_CAMPO and BANCOS_A_PAGAR_CAMPOS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT973 INTO @insTIPO_ENVIO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT629 INTO @delTIPO_ENVIO, @delNOME_CAMPO, @delBANCO END END CLOSE BANCOS_A_PAGAR_LAYOUT973 CLOSE BANCOS_A_PAGAR_LAYOUT629 DEALLOCATE BANCOS_A_PAGAR_LAYOUT973 DEALLOCATE BANCOS_A_PAGAR_LAYOUT629 END /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENVIO) OR update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE BANCOS_A_PAGAR_LAYOUT972 CURSOR FOR SELECT TIPO_ENVIO, NOME_CAMPO, BANCO FROM INSERTED DECLARE BANCOS_A_PAGAR_LAYOUT629 CURSOR FOR SELECT TIPO_ENVIO, NOME_CAMPO, BANCO FROM DELETED OPEN BANCOS_A_PAGAR_LAYOUT972 OPEN BANCOS_A_PAGAR_LAYOUT629 FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT972 INTO @insTIPO_ENVIO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT629 INTO @delTIPO_ENVIO, @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_PARCELAS SET BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO=@insTIPO_ENVIO, BANCOS_A_PAGAR_PARCELAS.NOME_CAMPO=@insNOME_CAMPO, BANCOS_A_PAGAR_PARCELAS.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_PARCELAS.TIPO_ENVIO = @delTIPO_ENVIO and BANCOS_A_PAGAR_PARCELAS.NOME_CAMPO = @delNOME_CAMPO and BANCOS_A_PAGAR_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT972 INTO @insTIPO_ENVIO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_LAYOUT629 INTO @delTIPO_ENVIO, @delNOME_CAMPO, @delBANCO END END CLOSE BANCOS_A_PAGAR_LAYOUT972 CLOSE BANCOS_A_PAGAR_LAYOUT629 DEALLOCATE BANCOS_A_PAGAR_LAYOUT972 DEALLOCATE BANCOS_A_PAGAR_LAYOUT629 END /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_LAYOUT ON CHILD UPDATE RESTRICT */ if update(TIPO_ENVIO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_ENVIOS where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_ENVIOS.TIPO_ENVIO and inserted.BANCO = BANCOS_A_PAGAR_ENVIOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_LAYOUT #porque #BANCOS_A_PAGAR_ENVIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_A_PAGAR_LAYOUT].[TOPOLOGIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_A_PAGAR_LAYOUT].[CAMPO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_A_PAGAR_ENVIOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_A_PAGAR_ENVIOS]( [TIPO_ENVIO] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [TAMANHO_REGISTRO] [int] NULL, [DIRETORIO_REMESSA] [varchar](100) NULL, [MASCARA_REMESSA] [varchar](12) NULL, [SEQUENCIAL_REMESSA] [char](8) NULL, CONSTRAINT [XPKBANCOS_A_PAGAR_ENVIOS] PRIMARY KEY NONCLUSTERED ( [TIPO_ENVIO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_BANCOS_A_PAGAR_ENVIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_BANCOS_A_PAGAR_ENVIOS] on [BANCOS_A_PAGAR_ENVIOS] for DELETE as /* DELETE trigger on BANCOS_A_PAGAR_ENVIOS */ begin declare @errno int, @errmsg varchar(255) /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_LAYOUT ON PARENT DELETE CASCADE */ delete BANCOS_A_PAGAR_LAYOUT from BANCOS_A_PAGAR_LAYOUT,deleted where BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO = deleted.TIPO_ENVIO and BANCOS_A_PAGAR_LAYOUT.BANCO = deleted.BANCO /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_BORDERO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_A_PAGAR_BORDERO where BANCOS_A_PAGAR_BORDERO.TIPO_ENVIO = deleted.TIPO_ENVIO and BANCOS_A_PAGAR_BORDERO.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #BANCOS_A_PAGAR_ENVIOS #porque existem registros em #BANCOS_A_PAGAR_BORDERO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_A_PAGAR_ENVIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_A_PAGAR_ENVIOS] on [BANCOS_A_PAGAR_ENVIOS] for INSERT as /* INSERT trigger on BANCOS_A_PAGAR_ENVIOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS BANCOS BANCOS_A_PAGAR_ENVIOS ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_ENVIOS #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_A_PAGAR_ENVIOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_A_PAGAR_ENVIOS] on [BANCOS_A_PAGAR_ENVIOS] for UPDATE as /* UPDATE trigger on BANCOS_A_PAGAR_ENVIOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENVIO varchar(25), @insBANCO char(4), @delTIPO_ENVIO varchar(25), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_LAYOUT ON PARENT UPDATE CASCADE */ IF update(TIPO_ENVIO) OR update(BANCO) BEGIN DECLARE BANCOS_A_PAGAR_ENVIOS969 CURSOR FOR SELECT TIPO_ENVIO, BANCO FROM INSERTED DECLARE BANCOS_A_PAGAR_ENVIOS627 CURSOR FOR SELECT TIPO_ENVIO, BANCO FROM DELETED OPEN BANCOS_A_PAGAR_ENVIOS969 OPEN BANCOS_A_PAGAR_ENVIOS627 FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS969 INTO @insTIPO_ENVIO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS627 INTO @delTIPO_ENVIO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_LAYOUT SET BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO=@insTIPO_ENVIO, BANCOS_A_PAGAR_LAYOUT.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO = @delTIPO_ENVIO and BANCOS_A_PAGAR_LAYOUT.BANCO = @delBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS969 INTO @insTIPO_ENVIO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS627 INTO @delTIPO_ENVIO, @delBANCO END END CLOSE BANCOS_A_PAGAR_ENVIOS969 CLOSE BANCOS_A_PAGAR_ENVIOS627 DEALLOCATE BANCOS_A_PAGAR_ENVIOS969 DEALLOCATE BANCOS_A_PAGAR_ENVIOS627 END /* BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_ENVIOS BANCOS_A_PAGAR_BORDERO ON PARENT UPDATE CASCADE */ IF update(TIPO_ENVIO) OR update(BANCO) BEGIN DECLARE BANCOS_A_PAGAR_ENVIOS968 CURSOR FOR SELECT TIPO_ENVIO, BANCO FROM INSERTED DECLARE BANCOS_A_PAGAR_ENVIOS627 CURSOR FOR SELECT TIPO_ENVIO, BANCO FROM DELETED OPEN BANCOS_A_PAGAR_ENVIOS968 OPEN BANCOS_A_PAGAR_ENVIOS627 FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS968 INTO @insTIPO_ENVIO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS627 INTO @delTIPO_ENVIO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_A_PAGAR_BORDERO SET BANCOS_A_PAGAR_BORDERO.TIPO_ENVIO=@insTIPO_ENVIO, BANCOS_A_PAGAR_BORDERO.BANCO=@insBANCO WHERE BANCOS_A_PAGAR_BORDERO.TIPO_ENVIO = @delTIPO_ENVIO and BANCOS_A_PAGAR_BORDERO.BANCO = @delBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS968 INTO @insTIPO_ENVIO, @insBANCO FETCH NEXT FROM BANCOS_A_PAGAR_ENVIOS627 INTO @delTIPO_ENVIO, @delBANCO END END CLOSE BANCOS_A_PAGAR_ENVIOS968 CLOSE BANCOS_A_PAGAR_ENVIOS627 DEALLOCATE BANCOS_A_PAGAR_ENVIOS968 DEALLOCATE BANCOS_A_PAGAR_ENVIOS627 END /* BANCOS BANCOS BANCOS_A_PAGAR_ENVIOS ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_ENVIOS #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_A_PAGAR_ENVIOS].[TAMANHO_REGISTRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_A_PAGAR_ENVIOS].[DIRETORIO_REMESSA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_A_PAGAR_ENVIOS].[SEQUENCIAL_REMESSA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_PARCELAS]( [BANCO] [char](4) NOT NULL, [BORDERO] [char](8) NOT NULL, [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [CAMPO_DETALHE] [varchar](50) NULL, CONSTRAINT [XPKBANCOS_PARCELAS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [BORDERO] ASC, [FATURA] ASC, [PARCELA] ASC, [NOME_CLIFOR] ASC, [NOME_CAMPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_BANCOS_PARCELAS] on [BANCOS_PARCELAS] for INSERT as /* INSERT trigger on BANCOS_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_PARCELAS ON CHILD INSERT RESTRICT */ if update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_LAYOUT where inserted.NOME_CAMPO = BANCOS_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_PARCELAS #porque #BANCOS_LAYOUT #não existe.'' goto error end end /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS BANCOS_PARCELAS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_PARCELAS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* BANCOS_BORDERO BANCOS_BORDERO BANCOS_PARCELAS ON CHILD INSERT RESTRICT */ if update(BORDERO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_BORDERO where inserted.BORDERO = BANCOS_BORDERO.BORDERO and inserted.BANCO = BANCOS_BORDERO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_PARCELAS #porque #BANCOS_BORDERO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_BANCOS_PARCELAS] on [BANCOS_PARCELAS] for UPDATE as /* UPDATE trigger on BANCOS_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insBORDERO char(8), @insFATURA char(11), @insPARCELA char(2), @insNOME_CLIFOR varchar(25), @insNOME_CAMPO varchar(25), @delBANCO char(4), @delBORDERO char(8), @delFATURA char(11), @delPARCELA char(2), @delNOME_CLIFOR varchar(25), @delNOME_CAMPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_PARCELAS ON CHILD UPDATE RESTRICT */ if update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_LAYOUT where inserted.NOME_CAMPO = BANCOS_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_PARCELAS #porque #BANCOS_LAYOUT #não existe.'' goto error end end /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS BANCOS_PARCELAS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_PARCELAS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* BANCOS_BORDERO BANCOS_BORDERO BANCOS_PARCELAS ON CHILD UPDATE RESTRICT */ if update(BORDERO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_BORDERO where inserted.BORDERO = BANCOS_BORDERO.BORDERO and inserted.BANCO = BANCOS_BORDERO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_PARCELAS #porque #BANCOS_BORDERO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[BANCOS_PARCELAS].[CAMPO_DETALHE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_LOCALIZA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_LOCALIZA]( [LOCALIZACAO] [char](8) NOT NULL, [DESCRICAO] [varchar](40) NOT NULL, [DEPTO] [varchar](25) NULL, [FILIAL] [varchar](25) NULL, CONSTRAINT [XPKMATERIAIS_LOCALIZA] PRIMARY KEY NONCLUSTERED ( [LOCALIZACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 10 2001 12:20AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_LOC] ON [MATERIAIS_LOCALIZA] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MATERIAIS_LOC'')))=1) RETURN ELSE DECLARE @LOCALIZACAO CHAR(8) DECLARE LOCALIZACAO CURSOR FOR SELECT LOCALIZACAO FROM DELETED OPEN LOCALIZACAO FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_LOCALIZACAO FROM GF_MATERIAIS_LOC WHERE GF_LOCALIZACAO=@LOCALIZACAO) DELETE FROM GF_MATERIAIS_LOC WHERE GF_LOCALIZACAO=@LOCALIZACAO ELSE BEGIN FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END CLOSE LOCALIZACAO DEALLOCATE LOCALIZACAO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 7 2001 13:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_LOC] ON [MATERIAIS_LOCALIZA] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_LOC'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @LOCALIZACAO CHAR(8) DECLARE LOCALIZACAO CURSOR FOR SELECT LOCALIZACAO FROM INSERTED OPEN LOCALIZACAO FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_LOCALIZACAO FROM GF_MATERIAIS_LOC WHERE GF_LOCALIZACAO=@LOCALIZACAO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_LOC (ID,GF_LOCALIZACAO,GF_DESCRICAO,GF_DEPTO,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,LOCALIZACAO,DESCRICAO,DEPTO,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_LOCALIZA A, GF_MATERIAIS_LOCCNT B WHERE LOCALIZACAO=@LOCALIZACAO UPDATE GF_MATERIAIS_LOCCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END CLOSE LOCALIZACAO DEALLOCATE LOCALIZACAO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_LOC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_LOC fecha de la secuencia de comandos: Sep 7 2001 15:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_LOC] ON [MATERIAIS_LOCALIZA] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_LOC'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_LOC'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_LOC'')) ) < 2 ) BEGIN DECLARE @LOCALIZACAO CHAR(8), @LOCALIZACAOD CHAR(8) DECLARE LOCALIZACAOD CURSOR FOR SELECT LOCALIZACAO FROM DELETED DECLARE LOCALIZACAO CURSOR FOR SELECT LOCALIZACAO FROM INSERTED OPEN LOCALIZACAOD OPEN LOCALIZACAO FETCH NEXT FROM LOCALIZACAOD INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_LOCALIZACAO FROM GF_MATERIAIS_LOC WHERE GF_LOCALIZACAO=@LOCALIZACAOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_LOC SET GF_LOCALIZACAO=@LOCALIZACAO, GF_DESCRICAO=(SELECT DESCRICAO FROM INSERTED WHERE LOCALIZACAO=@LOCALIZACAO), GF_DEPTO=(SELECT DEPTO FROM INSERTED WHERE LOCALIZACAO=@LOCALIZACAO), USERM=@USER, FECHAM=GETDATE() WHERE GF_LOCALIZACAO=@LOCALIZACAOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LOCALIZACAOD INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END FETCH NEXT FROM LOCALIZACAOD INTO @LOCALIZACAOD FETCH NEXT FROM LOCALIZACAO INTO @LOCALIZACAO END CLOSE LOCALIZACAOD DEALLOCATE LOCALIZACAOD CLOSE LOCALIZACAO DEALLOCATE LOCALIZACAO END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_LOCALIZA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_LOCALIZA] on [MATERIAIS_LOCALIZA] for DELETE as /* DELETE trigger on MATERIAIS_LOCALIZA */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_LOCALIZA R/1414 MATERIAIS_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_CORES where MATERIAIS_CORES.LOCALIZACAO = deleted.LOCALIZACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_LOCALIZA #porque existem registros em #MATERIAIS_CORES#.'' goto error end /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_RET_PECA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_RET_PECA where ESTOQUE_RET_PECA.LOCALIZACAO = deleted.LOCALIZACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_LOCALIZA #porque existem registros em #ESTOQUE_RET_PECA#.'' goto error end /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_MAT_PECA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_MAT_PECA where ESTOQUE_MAT_PECA.LOCALIZACAO = deleted.LOCALIZACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_LOCALIZA #porque existem registros em #ESTOQUE_MAT_PECA#.'' goto error end /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ENTRADAS_MAT_PECA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MAT_PECA where ENTRADAS_MAT_PECA.LOCALIZACAO = deleted.LOCALIZACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_LOCALIZA #porque existem registros em #ENTRADAS_MAT_PECA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_LOCALIZA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_LOCALIZA] on [MATERIAIS_LOCALIZA] for INSERT as /* INSERT trigger on MATERIAIS_LOCALIZA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2117 MATERIAIS_LOCALIZA ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_LOCALIZA #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_LOCALIZA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_LOCALIZA] on [MATERIAIS_LOCALIZA] for UPDATE as /* UPDATE trigger on MATERIAIS_LOCALIZA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLOCALIZACAO char(8), @delLOCALIZACAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA R/1414 MATERIAIS_CORES ON PARENT UPDATE CASCADE */ IF update(LOCALIZACAO) BEGIN DECLARE MATERIAIS_LOCALIZA1414 CURSOR FOR SELECT LOCALIZACAO FROM INSERTED DECLARE MATERIAIS_LOCALIZA358 CURSOR FOR SELECT LOCALIZACAO FROM DELETED OPEN MATERIAIS_LOCALIZA1414 OPEN MATERIAIS_LOCALIZA358 FETCH NEXT FROM MATERIAIS_LOCALIZA1414 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_CORES SET MATERIAIS_CORES.LOCALIZACAO=@insLOCALIZACAO WHERE MATERIAIS_CORES.LOCALIZACAO = @delLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA1414 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO END END CLOSE MATERIAIS_LOCALIZA1414 CLOSE MATERIAIS_LOCALIZA358 DEALLOCATE MATERIAIS_LOCALIZA1414 DEALLOCATE MATERIAIS_LOCALIZA358 END /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_RET_PECA ON PARENT UPDATE CASCADE */ IF update(LOCALIZACAO) BEGIN DECLARE MATERIAIS_LOCALIZA846 CURSOR FOR SELECT LOCALIZACAO FROM INSERTED DECLARE MATERIAIS_LOCALIZA358 CURSOR FOR SELECT LOCALIZACAO FROM DELETED OPEN MATERIAIS_LOCALIZA846 OPEN MATERIAIS_LOCALIZA358 FETCH NEXT FROM MATERIAIS_LOCALIZA846 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET_PECA SET ESTOQUE_RET_PECA.LOCALIZACAO=@insLOCALIZACAO WHERE ESTOQUE_RET_PECA.LOCALIZACAO = @delLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA846 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO END END CLOSE MATERIAIS_LOCALIZA846 CLOSE MATERIAIS_LOCALIZA358 DEALLOCATE MATERIAIS_LOCALIZA846 DEALLOCATE MATERIAIS_LOCALIZA358 END /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(LOCALIZACAO) BEGIN DECLARE MATERIAIS_LOCALIZA618 CURSOR FOR SELECT LOCALIZACAO FROM INSERTED DECLARE MATERIAIS_LOCALIZA358 CURSOR FOR SELECT LOCALIZACAO FROM DELETED OPEN MATERIAIS_LOCALIZA618 OPEN MATERIAIS_LOCALIZA358 FETCH NEXT FROM MATERIAIS_LOCALIZA618 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_PECA SET ESTOQUE_MAT_PECA.LOCALIZACAO=@insLOCALIZACAO WHERE ESTOQUE_MAT_PECA.LOCALIZACAO = @delLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA618 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO END END CLOSE MATERIAIS_LOCALIZA618 CLOSE MATERIAIS_LOCALIZA358 DEALLOCATE MATERIAIS_LOCALIZA618 DEALLOCATE MATERIAIS_LOCALIZA358 END /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ENTRADAS_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(LOCALIZACAO) BEGIN DECLARE MATERIAIS_LOCALIZA615 CURSOR FOR SELECT LOCALIZACAO FROM INSERTED DECLARE MATERIAIS_LOCALIZA358 CURSOR FOR SELECT LOCALIZACAO FROM DELETED OPEN MATERIAIS_LOCALIZA615 OPEN MATERIAIS_LOCALIZA358 FETCH NEXT FROM MATERIAIS_LOCALIZA615 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MAT_PECA SET ENTRADAS_MAT_PECA.LOCALIZACAO=@insLOCALIZACAO WHERE ENTRADAS_MAT_PECA.LOCALIZACAO = @delLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA615 INTO @insLOCALIZACAO FETCH NEXT FROM MATERIAIS_LOCALIZA358 INTO @delLOCALIZACAO END END CLOSE MATERIAIS_LOCALIZA615 CLOSE MATERIAIS_LOCALIZA358 DEALLOCATE MATERIAIS_LOCALIZA615 DEALLOCATE MATERIAIS_LOCALIZA358 END /* FILIAIS R/2117 MATERIAIS_LOCALIZA ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_LOCALIZA #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_LOCALIZA].[DEPTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_RECEBER_PARCELAS]( [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [CARTEIRA] [varchar](25) NOT NULL, [BANCO] [char](4) NOT NULL, [FATURA_JUROS] [char](11) NULL, [PARCELA_TRANSMITIDA] [bit] NOT NULL, [VENCIMENTO] [datetime] NULL, [NUMERO_BANCARIO] [char](20) NULL, [VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_COMPLEMENTO] [numeric](14, 2) NULL, [VALOR_DESCONTO] [numeric](14, 2) NULL, [VALOR_DEVOLUCAO] [numeric](14, 2) NULL, [VALOR_JUROS] [numeric](14, 2) NULL, [VALOR_RECEBIDO] [numeric](14, 2) NULL, [VALOR_RECEBIDO_JUROS] [numeric](14, 2) NULL, [VALOR_A_RECEBER] [numeric](14, 2) NULL, [DIAS_PRORROGADOS] [int] NULL, [DESCONTO_VENC] [real] NULL, [DATA_DESCONTO_VENC] [datetime] NULL, [VALOR_FATURA_JUROS] [numeric](14, 2) NULL, [VALOR_PG_MOEDA_PADRAO] [numeric](14, 2) NULL, [PG_JUROS_MOEDA_PADRAO] [numeric](14, 2) NULL, [NUMERO_CONTRATO] [varchar](20) NULL, [AGENCIA] [char](4) NULL, [BANCO_CC] [varchar](4) NULL, [AGENCIA_CC] [varchar](8) NULL, [DIGITO_CONTROL_CC] [varchar](4) NULL, [CODIGO_CUENTA_CC] [varchar](12) NULL, CONSTRAINT [XPKA_RECEBER_PARCELAS] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [PARCELA] ASC, [NOME_CLIFOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PARCELAS]') AND name = N'XIE1A_RECEBER_PARCELAS') CREATE NONCLUSTERED INDEX [XIE1A_RECEBER_PARCELAS] ON [A_RECEBER_PARCELAS] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PARCELAS]') AND name = N'XIE3A_RECEBER_PARCELAS') CREATE NONCLUSTERED INDEX [XIE3A_RECEBER_PARCELAS] ON [A_RECEBER_PARCELAS] ( [VALOR_A_RECEBER] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PARCELAS]') AND name = N'XIE4A_RECEBER_PARCELAS') CREATE NONCLUSTERED INDEX [XIE4A_RECEBER_PARCELAS] ON [A_RECEBER_PARCELAS] ( [FATURA_JUROS] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PARCELAS]') AND name = N'XIE5A_RECEBER_PARCELAS') CREATE NONCLUSTERED INDEX [XIE5A_RECEBER_PARCELAS] ON [A_RECEBER_PARCELAS] ( [FATURA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_A_RECEBER_PARCELAS] on [A_RECEBER_PARCELAS] for DELETE as /* DELETE trigger on A_RECEBER_PARCELAS */ begin declare @errno int, @errmsg varchar(255) /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS ENTRADA_DEVOLUCAO_ACERTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADA_DEVOLUCAO_ACERTO where ENTRADA_DEVOLUCAO_ACERTO.FATURA = deleted.FATURA and ENTRADA_DEVOLUCAO_ACERTO.PARCELA = deleted.PARCELA and ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_RECEBER_PARCELAS #porque existem registros em #ENTRADA_DEVOLUCAO_ACERTO#.'' goto error end /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS RETORNO_A_RECEBER_PARCELAS ON PARENT DELETE CASCADE */ delete RETORNO_A_RECEBER_PARCELAS from RETORNO_A_RECEBER_PARCELAS,deleted where RETORNO_A_RECEBER_PARCELAS.FATURA = deleted.FATURA and RETORNO_A_RECEBER_PARCELAS.PARCELA = deleted.PARCELA and RETORNO_A_RECEBER_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS BANCOS_PARCELAS ON PARENT DELETE CASCADE */ delete BANCOS_PARCELAS from BANCOS_PARCELAS,deleted where BANCOS_PARCELAS.FATURA = deleted.FATURA and BANCOS_PARCELAS.PARCELA = deleted.PARCELA and BANCOS_PARCELAS.NOME_CLIFOR = deleted.NOME_CLIFOR /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS A_RECEBER_PGTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PGTOS where A_RECEBER_PGTOS.FATURA = deleted.FATURA and A_RECEBER_PGTOS.PARCELA = deleted.PARCELA and A_RECEBER_PGTOS.NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_RECEBER_PARCELAS #porque existem registros em #A_RECEBER_PGTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_A_RECEBER_PARCELAS] on [A_RECEBER_PARCELAS] for INSERT as /* INSERT trigger on A_RECEBER_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO R/1577 A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PARCELAS #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PARCELAS #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* BANCOS BANCOS A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PARCELAS #porque #BANCOS #não existe.'' goto error end end /* A_RECEBER_FATURA A_RECEBER_FATURA A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(FATURA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_FATURA where inserted.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR and inserted.FATURA = A_RECEBER_FATURA.FATURA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PARCELAS #porque #A_RECEBER_FATURA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_A_RECEBER_PARCELAS] on [A_RECEBER_PARCELAS] for UPDATE as /* UPDATE trigger on A_RECEBER_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insPARCELA char(2), @insNOME_CLIFOR varchar(25), @delFATURA char(11), @delPARCELA char(2), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS ENTRADA_DEVOLUCAO_ACERTO ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(PARCELA) OR update(NOME_CLIFOR) BEGIN DECLARE A_RECEBER_PARCELAS1045 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM INSERTED DECLARE A_RECEBER_PARCELAS198 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM DELETED OPEN A_RECEBER_PARCELAS1045 OPEN A_RECEBER_PARCELAS198 FETCH NEXT FROM A_RECEBER_PARCELAS1045 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADA_DEVOLUCAO_ACERTO SET ENTRADA_DEVOLUCAO_ACERTO.FATURA=@insFATURA, ENTRADA_DEVOLUCAO_ACERTO.PARCELA=@insPARCELA, ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR=@insNOME_CLIFOR WHERE ENTRADA_DEVOLUCAO_ACERTO.FATURA = @delFATURA and ENTRADA_DEVOLUCAO_ACERTO.PARCELA = @delPARCELA and ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS1045 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR END END CLOSE A_RECEBER_PARCELAS1045 CLOSE A_RECEBER_PARCELAS198 DEALLOCATE A_RECEBER_PARCELAS1045 DEALLOCATE A_RECEBER_PARCELAS198 END /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS RETORNO_A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(PARCELA) OR update(NOME_CLIFOR) BEGIN DECLARE A_RECEBER_PARCELAS1025 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM INSERTED DECLARE A_RECEBER_PARCELAS198 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM DELETED OPEN A_RECEBER_PARCELAS1025 OPEN A_RECEBER_PARCELAS198 FETCH NEXT FROM A_RECEBER_PARCELAS1025 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_RECEBER_PARCELAS SET RETORNO_A_RECEBER_PARCELAS.FATURA=@insFATURA, RETORNO_A_RECEBER_PARCELAS.PARCELA=@insPARCELA, RETORNO_A_RECEBER_PARCELAS.NOME_CLIFOR=@insNOME_CLIFOR WHERE RETORNO_A_RECEBER_PARCELAS.FATURA = @delFATURA and RETORNO_A_RECEBER_PARCELAS.PARCELA = @delPARCELA and RETORNO_A_RECEBER_PARCELAS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS1025 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR END END CLOSE A_RECEBER_PARCELAS1025 CLOSE A_RECEBER_PARCELAS198 DEALLOCATE A_RECEBER_PARCELAS1025 DEALLOCATE A_RECEBER_PARCELAS198 END /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS BANCOS_PARCELAS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(PARCELA) OR update(NOME_CLIFOR) BEGIN DECLARE A_RECEBER_PARCELAS943 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM INSERTED DECLARE A_RECEBER_PARCELAS198 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM DELETED OPEN A_RECEBER_PARCELAS943 OPEN A_RECEBER_PARCELAS198 FETCH NEXT FROM A_RECEBER_PARCELAS943 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_PARCELAS SET BANCOS_PARCELAS.FATURA=@insFATURA, BANCOS_PARCELAS.PARCELA=@insPARCELA, BANCOS_PARCELAS.NOME_CLIFOR=@insNOME_CLIFOR WHERE BANCOS_PARCELAS.FATURA = @delFATURA and BANCOS_PARCELAS.PARCELA = @delPARCELA and BANCOS_PARCELAS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS943 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR END END CLOSE A_RECEBER_PARCELAS943 CLOSE A_RECEBER_PARCELAS198 DEALLOCATE A_RECEBER_PARCELAS943 DEALLOCATE A_RECEBER_PARCELAS198 END /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS A_RECEBER_PGTOS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(PARCELA) OR update(NOME_CLIFOR) BEGIN DECLARE A_RECEBER_PARCELAS776 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM INSERTED DECLARE A_RECEBER_PARCELAS198 CURSOR FOR SELECT FATURA, PARCELA, NOME_CLIFOR FROM DELETED OPEN A_RECEBER_PARCELAS776 OPEN A_RECEBER_PARCELAS198 FETCH NEXT FROM A_RECEBER_PARCELAS776 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PGTOS SET A_RECEBER_PGTOS.FATURA=@insFATURA, A_RECEBER_PGTOS.PARCELA=@insPARCELA, A_RECEBER_PGTOS.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_RECEBER_PGTOS.FATURA = @delFATURA and A_RECEBER_PGTOS.PARCELA = @delPARCELA and A_RECEBER_PGTOS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS776 INTO @insFATURA, @insPARCELA, @insNOME_CLIFOR FETCH NEXT FROM A_RECEBER_PARCELAS198 INTO @delFATURA, @delPARCELA, @delNOME_CLIFOR END END CLOSE A_RECEBER_PARCELAS776 CLOSE A_RECEBER_PARCELAS198 DEALLOCATE A_RECEBER_PARCELAS776 DEALLOCATE A_RECEBER_PARCELAS198 END /* CONTRATOS_DESCONTO R/1577 A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PARCELAS #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PARCELAS #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* BANCOS BANCOS A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PARCELAS #porque #BANCOS #não existe.'' goto error end end /* A_RECEBER_FATURA A_RECEBER_FATURA A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(FATURA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_FATURA where inserted.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR and inserted.FATURA = A_RECEBER_FATURA.FATURA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PARCELAS #porque #A_RECEBER_FATURA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[PARCELA_TRANSMITIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[A_RECEBER_PARCELAS].[NUMERO_BANCARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_COMPLEMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_RECEBIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_RECEBIDO_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_A_RECEBER]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[DIAS_PRORROGADOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[DESCONTO_VENC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_FATURA_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[VALOR_PG_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PARCELAS].[PG_JUROS_MOEDA_PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_GRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_GRUPO]( [GRUPO] [varchar](25) NOT NULL, [CODIGO_GRUPO] [char](2) NOT NULL, [CLASSE] [char](2) NULL, CONSTRAINT [XPKMATERIAIS_GRUPO] PRIMARY KEY NONCLUSTERED ( [GRUPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIAIS_GRUPO]') AND name = N'XAKMATERIAIS_GRUPO') CREATE UNIQUE NONCLUSTERED INDEX [XAKMATERIAIS_GRUPO] ON [MATERIAIS_GRUPO] ( [CODIGO_GRUPO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_GRU fecha de la secuencia de comandos: Sep 17 2001 17:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_GRU] ON [MATERIAIS_GRUPO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MATERIAIS_GRU'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25) DECLARE GRUPO CURSOR FOR SELECT GRUPO FROM DELETED OPEN GRUPO FETCH NEXT FROM GRUPO INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS ( SELECT GF_GRUPO FROM GF_MATERIAIS_GRU WHERE GF_GRUPO=@GRUPO) BEGIN DELETE FROM GF_MATERIAIS_GRU WHERE GF_GRUPO=@GRUPO END ELSE BEGIN FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPO DEALLOCATE GRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_GRU fecha de la secuencia de comandos: Sep 17 2001 16:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_GRU] ON [MATERIAIS_GRUPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_GRU'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) BEGIN DECLARE @GRUPO VARCHAR(25) DECLARE GRUPO CURSOR FOR SELECT GRUPO FROM INSERTED OPEN GRUPO FETCH NEXT FROM GRUPO INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS ( SELECT GF_GRUPO FROM GF_MATERIAIS_GRU WHERE GF_GRUPO=@GRUPO) BEGIN INSERT INTO GF_MATERIAIS_GRU (ID, GF_GRUPO, GF_CODIGO_GRUPO, GF_CLASSE, USERC, FECHAC, USERM, FECHAM, EMP, ACCESO) SELECT B.IDMAX, GRUPO, CODIGO_GRUPO, CLASSE, @USER, GETDATE(), @USER, GETDATE(),1, 28983 FROM INSERTED A, GF_MATERIAIS_GRUCNT B WHERE GRUPO=@GRUPO UPDATE GF_MATERIAIS_GRUCNT SET IDMAX=IDMAX+1 END ELSE BEGIN FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPO DEALLOCATE GRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_GRU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_GRU fecha de la secuencia de comandos: Ago 9 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_GRU] ON [MATERIAIS_GRUPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_GRU'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_GRU'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_GRU'')) ) < 2 ) BEGIN DECLARE @GRUPO VARCHAR(25), @GRUPOD VARCHAR(25) DECLARE GRUPOD CURSOR FOR SELECT GRUPO FROM DELETED DECLARE GRUPO CURSOR FOR SELECT GRUPO FROM INSERTED OPEN GRUPOD OPEN GRUPO FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRUPO FROM GF_MATERIAIS_GRU A WHERE GF_GRUPO=@GRUPOD) BEGIN UPDATE GF_MATERIAIS_GRU SET GF_GRUPO=@GRUPO, GF_CODIGO_GRUPO=(SELECT CODIGO_GRUPO FROM INSERTED WHERE GRUPO=@GRUPO), GF_CLASSE=(SELECT CLASSE FROM INSERTED WHERE GRUPO=@GRUPO), USERM=@USER, FECHAM=GETDATE(), EMP=@EMPRESA FROM INSERTED A, DELETED B WHERE GF_GRUPO=@GRUPOD UPDATE GF_MATERIAIS_SUB SET GF_GRUPO=@GRUPO WHERE GF_GRUPO=@GRUPOD END FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPOD DEALLOCATE GRUPOD CLOSE GRUPO DEALLOCATE GRUPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_GRUPO] on [MATERIAIS_GRUPO] for DELETE as /* DELETE trigger on MATERIAIS_GRUPO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_GRUPO R/1856 MATERIAIS_TIPO_GRUPO ON PARENT DELETE CASCADE */ delete MATERIAIS_TIPO_GRUPO from MATERIAIS_TIPO_GRUPO,deleted where MATERIAIS_TIPO_GRUPO.GRUPO = deleted.GRUPO /* MATERIAIS_GRUPO MATERIAIS_GRUPO MATERIAIS_SUBGRUPO ON PARENT DELETE CASCADE */ delete MATERIAIS_SUBGRUPO from MATERIAIS_SUBGRUPO,deleted where MATERIAIS_SUBGRUPO.GRUPO = deleted.GRUPO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_GRUPO] on [MATERIAIS_GRUPO] for UPDATE as /* UPDATE trigger on MATERIAIS_GRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRUPO varchar(25), @delGRUPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_GRUPO R/1856 MATERIAIS_TIPO_GRUPO ON PARENT UPDATE CASCADE */ IF update(GRUPO) BEGIN DECLARE MATERIAIS_GRUPO1840 CURSOR FOR SELECT GRUPO FROM INSERTED DECLARE MATERIAIS_GRUPO149 CURSOR FOR SELECT GRUPO FROM DELETED OPEN MATERIAIS_GRUPO1840 OPEN MATERIAIS_GRUPO149 FETCH NEXT FROM MATERIAIS_GRUPO1840 INTO @insGRUPO FETCH NEXT FROM MATERIAIS_GRUPO149 INTO @delGRUPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_TIPO_GRUPO SET MATERIAIS_TIPO_GRUPO.GRUPO=@insGRUPO WHERE MATERIAIS_TIPO_GRUPO.GRUPO = @delGRUPO FETCH NEXT FROM MATERIAIS_GRUPO1840 INTO @insGRUPO FETCH NEXT FROM MATERIAIS_GRUPO149 INTO @delGRUPO END END CLOSE MATERIAIS_GRUPO1840 CLOSE MATERIAIS_GRUPO149 DEALLOCATE MATERIAIS_GRUPO1840 DEALLOCATE MATERIAIS_GRUPO149 END /* MATERIAIS_GRUPO MATERIAIS_GRUPO MATERIAIS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(GRUPO) BEGIN DECLARE MATERIAIS_GRUPO206 CURSOR FOR SELECT GRUPO FROM INSERTED DECLARE MATERIAIS_GRUPO149 CURSOR FOR SELECT GRUPO FROM DELETED OPEN MATERIAIS_GRUPO206 OPEN MATERIAIS_GRUPO149 FETCH NEXT FROM MATERIAIS_GRUPO206 INTO @insGRUPO FETCH NEXT FROM MATERIAIS_GRUPO149 INTO @delGRUPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_SUBGRUPO SET MATERIAIS_SUBGRUPO.GRUPO=@insGRUPO WHERE MATERIAIS_SUBGRUPO.GRUPO = @delGRUPO FETCH NEXT FROM MATERIAIS_GRUPO206 INTO @insGRUPO FETCH NEXT FROM MATERIAIS_GRUPO149 INTO @delGRUPO END END CLOSE MATERIAIS_GRUPO206 CLOSE MATERIAIS_GRUPO149 DEALLOCATE MATERIAIS_GRUPO206 DEALLOCATE MATERIAIS_GRUPO149 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[MATERIAIS_GRUPO].[CLASSE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CORES_BASICAS]( [COR] [char](10) NOT NULL, [DESC_COR] [varchar](25) NOT NULL, [USO_PRODUTOS] [bit] NOT NULL, [USO_MATERIAIS] [bit] NOT NULL, [GRUPO_CORES] [char](5) NOT NULL, [COR_SORTIDA] [bit] NOT NULL, [COR_RGB] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCORES_BASICAS] PRIMARY KEY NONCLUSTERED ( [COR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CORES_BASICAS] ON [CORES_BASICAS] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_COR FROM GF_CORES_BASICAS A, DELETED B WHERE A.GF_COR=B.COR) DELETE FROM GF_CORES_BASICAS WHERE GF_COR=(SELECT COR FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CORES_BASICAS] ON [CORES_BASICAS] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CORES_BASICAS'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_COR FROM GF_CORES_BASICAS A, INSERTED B WHERE A.GF_COR=B.COR) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CORES_BASICAS (ID,GF_COR,GF_DESC_COR,GF_USO_PRODUTOS,GF_USO_MATERIAIS,GF_GRUPO_CORES,GF_COR_SORTIDA,GF_COR_RGB, DATA_PARA_TRANSFERENCIA,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,COR,DESC_COR,USO_PRODUTOS,USO_MATERIAIS,GRUPO_CORES,COR_SORTIDA,COR_RGB, DATA_PARA_TRANSFERENCIA,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM CORES_BASICAS A, GF_CORES_BASICASCNT B WHERE COR=(SELECT COR FROM INSERTED) UPDATE GF_CORES_BASICASCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_CORES_BASICAS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_CORES_BASICAS] ON [CORES_BASICAS] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''LXI_CORES_BASICAS''))) =1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''LXU_CORES_BASICAS''))) =1) RETURN -- PROBAR SIN ESTO ??? ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CORES_BASICAS''))) =1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CORES_BASICAS'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CORES_BASICAS'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_COR FROM GF_CORES_BASICAS A, DELETED B WHERE A.GF_COR=B.COR) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_CORES_BASICAS SET GF_GRUPO_CORES=(SELECT GRUPO_CORES FROM INSERTED), GF_COR=(SELECT COR FROM INSERTED), GF_DESC_COR=(SELECT DESC_COR FROM INSERTED), GF_USO_PRODUTOS=(SELECT USO_PRODUTOS FROM INSERTED), GF_USO_MATERIAIS=(SELECT USO_MATERIAIS FROM INSERTED), GF_COR_SORTIDA=(SELECT COR_SORTIDA FROM INSERTED), GF_COR_RGB=(SELECT COR_RGB FROM INSERTED), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_COR=(SELECT COR FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_CORES_BASICAS] on [CORES_BASICAS] for DELETE as /* DELETE trigger on CORES_BASICAS */ begin declare @errno int, @errmsg varchar(255) /* CORES_BASICAS R/2103 MATERIAIS_DESENHO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_DESENHO_CORES where MATERIAIS_DESENHO_CORES.COR = deleted.COR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CORES_BASICAS #porque existem registros em #MATERIAIS_DESENHO_CORES#.'' goto error end /* CORES_BASICAS COR PRODUTO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_CORES where PRODUTO_CORES.COR = deleted.COR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CORES_BASICAS #porque existem registros em #PRODUTO_CORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_CORES_BASICAS] on [CORES_BASICAS] for INSERT as /* INSERT trigger on CORES_BASICAS */ /* default body for LXI_CORES_BASICAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOR char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CORES_BASICAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CORES_BASICAS, INSERTED WHERE CORES_BASICAS.COR = INSERTED.COR AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CORES_BASICAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_CORES_BASICAS] on [CORES_BASICAS] for UPDATE as /* UPDATE trigger on CORES_BASICAS */ /* default body for LXU_CORES_BASICAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOR char(10), @delCOR char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CORES_BASICAS R/2103 MATERIAIS_DESENHO_CORES ON PARENT UPDATE CASCADE */ IF update(COR) BEGIN DECLARE CORES_BASICAS2103 CURSOR FOR SELECT COR FROM INSERTED DECLARE CORES_BASICAS37 CURSOR FOR SELECT COR FROM DELETED OPEN CORES_BASICAS2103 OPEN CORES_BASICAS37 FETCH NEXT FROM CORES_BASICAS2103 INTO @insCOR FETCH NEXT FROM CORES_BASICAS37 INTO @delCOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_DESENHO_CORES SET MATERIAIS_DESENHO_CORES.COR=@insCOR WHERE MATERIAIS_DESENHO_CORES.COR = @delCOR FETCH NEXT FROM CORES_BASICAS2103 INTO @insCOR FETCH NEXT FROM CORES_BASICAS37 INTO @delCOR END END CLOSE CORES_BASICAS2103 CLOSE CORES_BASICAS37 DEALLOCATE CORES_BASICAS2103 DEALLOCATE CORES_BASICAS37 END /* CORES_BASICAS COR PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(COR) BEGIN DECLARE CORES_BASICAS1259 CURSOR FOR SELECT COR FROM INSERTED DECLARE CORES_BASICAS37 CURSOR FOR SELECT COR FROM DELETED OPEN CORES_BASICAS1259 OPEN CORES_BASICAS37 FETCH NEXT FROM CORES_BASICAS1259 INTO @insCOR FETCH NEXT FROM CORES_BASICAS37 INTO @delCOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.COR=@insCOR WHERE PRODUTO_CORES.COR = @delCOR FETCH NEXT FROM CORES_BASICAS1259 INTO @insCOR FETCH NEXT FROM CORES_BASICAS37 INTO @delCOR END END CLOSE CORES_BASICAS1259 CLOSE CORES_BASICAS37 DEALLOCATE CORES_BASICAS1259 DEALLOCATE CORES_BASICAS37 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CORES_BASICAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CORES_BASICAS, INSERTED WHERE CORES_BASICAS.COR = INSERTED.COR AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CORES_BASICAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CORES_BASICAS].[USO_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CORES_BASICAS].[USO_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[CORES_BASICAS].[GRUPO_CORES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CORES_BASICAS].[COR_SORTIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CORES_BASICAS].[COR_RGB]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CORES_BASICAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NATUREZAS_SAIDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NATUREZAS_SAIDAS]( [NATUREZA_SAIDA] [char](7) NOT NULL, [DESC_NATUREZA] [varchar](40) NOT NULL, [DESC_NF] [varchar](40) NOT NULL, [ACERTO_CONTAS] [char](1) NULL, [IRRF] [real] NULL, [POSSUI_ICMS] [bit] NOT NULL, [TIPO_OPERACAO] [char](1) NOT NULL, [INATIVO] [bit] NOT NULL, [OBS1] [varchar](250) NULL, [OBS2] [varchar](250) NULL, [CLASSIF_CONTABIL] [char](16) NULL, [CLASIF_CONTABLE] [char](16) NULL, CONSTRAINT [XPKNATUREZAS_SAIDAS] PRIMARY KEY NONCLUSTERED ( [NATUREZA_SAIDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_NATUREZAS_SAIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_NATUREZAS_SAIDAS] on [NATUREZAS_SAIDAS] for DELETE as /* DELETE trigger on NATUREZAS_SAIDAS */ begin declare @errno int, @errmsg varchar(255) /* NATUREZAS_SAIDAS R/1327 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where /* CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = deleted.NATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = deleted.NATUREZA_SAIDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #DELETE NATUREZAS_SAIDAS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* ERwin Builtin Thu Jan 16 12:40:15 2003 */ /* NATUREZAS_SAIDAS R/1326 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where /* CLIENTES_ATACADO.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #DELETE NATUREZAS_SAIDAS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* NATUREZAS_SAIDAS NATUREZAS_SAIDAS FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_SAIDAS #porque existem registros em #FATURAMENTO#.'' goto error end /* ERwin Builtin Thu Jan 16 11:09:27 2003 */ /* NATUREZAS_SAIDAS R/30 NATUREZAS_SERIES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,NATUREZAS_SERIES where /* NATUREZAS_SERIES.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ NATUREZAS_SERIES.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA ) begin select @errno = 30001, @errmsg = ''Cannot DELETE NATUREZAS_SAIDAS because NATUREZAS_SERIES exists.'' goto error end /* ERwin Builtin Thu Jan 16 11:09:27 2003 */ /* NATUREZAS_SAIDAS R/28 NATUREZAS_BLOQUEADAS ON PARENT DELETE CASCADE */ delete NATUREZAS_BLOQUEADAS from NATUREZAS_BLOQUEADAS,deleted where /* NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_NATUREZAS_SAIDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_NATUREZAS_SAIDAS] on [NATUREZAS_SAIDAS] for UPDATE as /* UPDATE trigger on NATUREZAS_SAIDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA_SAIDA char(7), @delNATUREZA_SAIDA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_SAIDAS R/1327 CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin if @numrows = 1 begin select @insNATUREZA_SAIDA = inserted.NATUREZA_SAIDA from inserted update CLIENTES_ATACADO set /* CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = @insNATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = @insNATUREZA_SAIDA from CLIENTES_ATACADO,inserted,deleted where /* CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = deleted.NATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA_FATURA = deleted.NATUREZA_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade NATUREZAS_SAIDAS UPDATE because more than one row has been affected.'' goto error end end /* ERwin Builtin Thu Jan 16 12:40:15 2003 */ /* NATUREZAS_SAIDAS R/1326 CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin if @numrows = 1 begin select @insNATUREZA_SAIDA = inserted.NATUREZA_SAIDA from inserted update CLIENTES_ATACADO set /* CLIENTES_ATACADO.NATUREZA_SAIDA = @insNATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA = @insNATUREZA_SAIDA from CLIENTES_ATACADO,inserted,deleted where /* CLIENTES_ATACADO.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ CLIENTES_ATACADO.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade NATUREZAS_SAIDAS UPDATE because more than one row has been affected.'' goto error end end /* NATUREZAS_SAIDAS NATUREZAS_SAIDAS FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(NATUREZA_SAIDA) BEGIN DECLARE NATUREZAS_SAIDAS644 CURSOR FOR SELECT NATUREZA_SAIDA FROM INSERTED DECLARE NATUREZAS_SAIDAS363 CURSOR FOR SELECT NATUREZA_SAIDA FROM DELETED OPEN NATUREZAS_SAIDAS644 OPEN NATUREZAS_SAIDAS363 FETCH NEXT FROM NATUREZAS_SAIDAS644 INTO @insNATUREZA_SAIDA FETCH NEXT FROM NATUREZAS_SAIDAS363 INTO @delNATUREZA_SAIDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.NATUREZA_SAIDA=@insNATUREZA_SAIDA WHERE FATURAMENTO.NATUREZA_SAIDA = @delNATUREZA_SAIDA FETCH NEXT FROM NATUREZAS_SAIDAS644 INTO @insNATUREZA_SAIDA FETCH NEXT FROM NATUREZAS_SAIDAS363 INTO @delNATUREZA_SAIDA END END CLOSE NATUREZAS_SAIDAS644 CLOSE NATUREZAS_SAIDAS363 DEALLOCATE NATUREZAS_SAIDAS644 DEALLOCATE NATUREZAS_SAIDAS363 END /* ERwin Builtin Thu Jan 16 11:09:27 2003 */ /* NATUREZAS_SAIDAS R/30 NATUREZAS_SERIES ON PARENT UPDATE CASCADE */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin if @numrows = 1 begin select @insNATUREZA_SAIDA = inserted.NATUREZA_SAIDA from inserted update NATUREZAS_SERIES set /* NATUREZAS_SERIES.NATUREZA_SAIDA = @insNATUREZA_SAIDA */ NATUREZAS_SERIES.NATUREZA_SAIDA = @insNATUREZA_SAIDA from NATUREZAS_SERIES,inserted,deleted where /* NATUREZAS_SERIES.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ NATUREZAS_SERIES.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade NATUREZAS_SAIDAS UPDATE because more than one row has been affected.'' goto error end end /* ERwin Builtin Thu Jan 16 11:09:27 2003 */ /* NATUREZAS_SAIDAS R/28 NATUREZAS_BLOQUEADAS ON PARENT UPDATE CASCADE */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin if @numrows = 1 begin select @insNATUREZA_SAIDA = inserted.NATUREZA_SAIDA from inserted update NATUREZAS_BLOQUEADAS set /* NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = @insNATUREZA_SAIDA */ NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = @insNATUREZA_SAIDA from NATUREZAS_BLOQUEADAS,inserted,deleted where /* NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA */ NATUREZAS_BLOQUEADAS.NATUREZA_SAIDA = deleted.NATUREZA_SAIDA end else begin select @errno = 30006, @errmsg = ''Cannot cascade NATUREZAS_SAIDAS UPDATE because more than one row has been affected.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[NATUREZAS_SAIDAS].[ACERTO_CONTAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[NATUREZAS_SAIDAS].[IRRF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[NATUREZAS_SAIDAS].[POSSUI_ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[NATUREZAS_SAIDAS].[INATIVO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTACOES_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTACOES_CONSUMIVEL]( [COTACAO] [char](7) NOT NULL, [CONSUMIVEL] [varchar](40) NOT NULL, [UNIDADE] [char](5) NOT NULL, [DATA_APROVACAO] [datetime] NULL, [APROVADO_POR] [varchar](25) NULL, [QTDE_COTAR] [numeric](9, 3) NULL, [DESC_ITEM] [text] NULL, [OBS] [text] NULL, CONSTRAINT [XPKCOTACOES_CONSUMIVEL] PRIMARY KEY NONCLUSTERED ( [COTACAO] ASC, [CONSUMIVEL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COTACOES_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COTACOES_CONSUMIVEL] on [COTACOES_CONSUMIVEL] for DELETE as /* DELETE trigger on COTACOES_CONSUMIVEL */ begin declare @errno int, @errmsg varchar(255) /* COTACOES_CONSUMIVEL COT_CONS COTACOES_CONS_FORNECEDOR ON PARENT DELETE CASCADE */ delete COTACOES_CONS_FORNECEDOR from COTACOES_CONS_FORNECEDOR,deleted where COTACOES_CONS_FORNECEDOR.COTACAO = deleted.COTACAO and COTACOES_CONS_FORNECEDOR.CONSUMIVEL = deleted.CONSUMIVEL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COTACOES_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COTACOES_CONSUMIVEL] on [COTACOES_CONSUMIVEL] for INSERT as /* INSERT trigger on COTACOES_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES UNIDADES COTACOES_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONSUMIVEL #porque #UNIDADES #não existe.'' goto error end end /* COTACOES COTACOES COTACOES_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COTACOES_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COTACOES_CONSUMIVEL] on [COTACOES_CONSUMIVEL] for UPDATE as /* UPDATE trigger on COTACOES_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTACAO char(7), @insCONSUMIVEL varchar(40), @delCOTACAO char(7), @delCONSUMIVEL varchar(40), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES_CONSUMIVEL COT_CONS COTACOES_CONS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(COTACAO) OR update(CONSUMIVEL) BEGIN DECLARE COTACOES_CONSUMIVEL1204 CURSOR FOR SELECT COTACAO, CONSUMIVEL FROM INSERTED DECLARE COTACOES_CONSUMIVEL737 CURSOR FOR SELECT COTACAO, CONSUMIVEL FROM DELETED OPEN COTACOES_CONSUMIVEL1204 OPEN COTACOES_CONSUMIVEL737 FETCH NEXT FROM COTACOES_CONSUMIVEL1204 INTO @insCOTACAO, @insCONSUMIVEL FETCH NEXT FROM COTACOES_CONSUMIVEL737 INTO @delCOTACAO, @delCONSUMIVEL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONS_FORNECEDOR SET COTACOES_CONS_FORNECEDOR.COTACAO=@insCOTACAO, COTACOES_CONS_FORNECEDOR.CONSUMIVEL=@insCONSUMIVEL WHERE COTACOES_CONS_FORNECEDOR.COTACAO = @delCOTACAO and COTACOES_CONS_FORNECEDOR.CONSUMIVEL = @delCONSUMIVEL FETCH NEXT FROM COTACOES_CONSUMIVEL1204 INTO @insCOTACAO, @insCONSUMIVEL FETCH NEXT FROM COTACOES_CONSUMIVEL737 INTO @delCOTACAO, @delCONSUMIVEL END END CLOSE COTACOES_CONSUMIVEL1204 CLOSE COTACOES_CONSUMIVEL737 DEALLOCATE COTACOES_CONSUMIVEL1204 DEALLOCATE COTACOES_CONSUMIVEL737 END /* UNIDADES UNIDADES COTACOES_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(UNIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONSUMIVEL #porque #UNIDADES #não existe.'' goto error end end /* COTACOES COTACOES COTACOES_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COTACOES_CONSUMIVEL].[APROVADO_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_CONSUMIVEL].[QTDE_COTAR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[NATUREZAS_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [NATUREZAS_ENTRADAS]( [NATUREZA] [char](15) NOT NULL, [DESC_NATUREZA] [varchar](50) NULL, [DESC_NF] [varchar](40) NULL, [TIPO_OPERACAO] [char](1) NOT NULL, [NATUREZA_CONTABILIZAR] [char](15) NULL, [INATIVO] [bit] NOT NULL, [OBS1] [varchar](250) NULL, [OBS2] [varchar](250) NULL, [CLASSIF_CONTABIL] [char](16) NULL, [CLASIF_CONTABLE] [char](16) NULL, CONSTRAINT [XPKNATUREZAS_ENTRADAS] PRIMARY KEY NONCLUSTERED ( [NATUREZA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_NATUREZAS_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_NATUREZAS_ENTRADAS] on [NATUREZAS_ENTRADAS] for DELETE as /* DELETE trigger on NATUREZAS_ENTRADAS */ begin declare @errno int, @errmsg varchar(255) /* NATUREZAS_ENTRADAS R/1379 NATUREZAS_ENTRADAS_BLOQUEADAS ON PARENT DELETE CASCADE */ delete NATUREZAS_ENTRADAS_BLOQUEADAS from NATUREZAS_ENTRADAS_BLOQUEADAS,deleted where NATUREZAS_ENTRADAS_BLOQUEADAS.NATUREZA = deleted.NATUREZA /* NATUREZAS_ENTRADAS R/1615 ENTRADAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_PRODUTO where ENTRADAS_PRODUTO.NATUREZA_CONTABILIZAR = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_PRODUTO#.'' goto error end /* NATUREZAS_ENTRADAS R/1614 ENTRADAS_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_PRODUTO where ENTRADAS_PRODUTO.NATUREZA = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_PRODUTO#.'' goto error end /* NATUREZAS_ENTRADAS R/1612 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.NATUREZA = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* NATUREZAS_ENTRADAS R/1611 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.NATUREZA_CONTABILIZAR = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* NATUREZAS_ENTRADAS R/1610 ENTRADAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MATERIAL where ENTRADAS_MATERIAL.NATUREZA = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_MATERIAL#.'' goto error end /* NATUREZAS_ENTRADAS R/1609 ENTRADAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MATERIAL where ENTRADAS_MATERIAL.NATUREZA_CONTABILIZAR = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS_MATERIAL#.'' goto error end /* NATUREZAS_ENTRADAS NATUREZA_CONTABILIZAR ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.NATUREZA_CONTABILIZAR = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS#.'' goto error end /* NATUREZAS_ENTRADAS NATUREZA_CONTABIL NATUREZAS_ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,NATUREZAS_ENTRADAS where NATUREZAS_ENTRADAS.NATUREZA_CONTABILIZAR = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #NATUREZAS_ENTRADAS#.'' goto error end /* NATUREZAS_ENTRADAS NATUREZAS_ENTRADAS ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.NATUREZA = deleted.NATUREZA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #NATUREZAS_ENTRADAS #porque existem registros em #ENTRADAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_NATUREZAS_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_NATUREZAS_ENTRADAS] on [NATUREZAS_ENTRADAS] for INSERT as /* INSERT trigger on NATUREZAS_ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_ENTRADAS NATUREZA_CONTABIL NATUREZAS_ENTRADAS ON CHILD INSERT RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #NATUREZAS_ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_NATUREZAS_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_NATUREZAS_ENTRADAS] on [NATUREZAS_ENTRADAS] for UPDATE as /* UPDATE trigger on NATUREZAS_ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA char(15), @delNATUREZA char(15), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_ENTRADAS R/1379 NATUREZAS_ENTRADAS_BLOQUEADAS ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADASf5fd CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS102b CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADASf5fd OPEN NATUREZAS_ENTRADAS102b FETCH NEXT FROM NATUREZAS_ENTRADASf5fd INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS102b INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE NATUREZAS_ENTRADAS_BLOQUEADAS SET NATUREZAS_ENTRADAS_BLOQUEADAS.NATUREZA=@insNATUREZA WHERE NATUREZAS_ENTRADAS_BLOQUEADAS.NATUREZA = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADASf5fd INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS102b INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADASf5fd CLOSE NATUREZAS_ENTRADAS102b DEALLOCATE NATUREZAS_ENTRADASf5fd DEALLOCATE NATUREZAS_ENTRADAS102b END /* NATUREZAS_ENTRADAS R/1615 ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1615 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1615 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1615 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRODUTO SET ENTRADAS_PRODUTO.NATUREZA_CONTABILIZAR=@insNATUREZA WHERE ENTRADAS_PRODUTO.NATUREZA_CONTABILIZAR = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1615 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1615 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1615 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS R/1614 ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1614 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1614 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1614 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRODUTO SET ENTRADAS_PRODUTO.NATUREZA=@insNATUREZA WHERE ENTRADAS_PRODUTO.NATUREZA = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1614 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1614 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1614 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS R/1612 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1612 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1612 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1612 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.NATUREZA=@insNATUREZA WHERE ENTRADAS_CONSUMO.NATUREZA = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1612 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1612 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1612 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS R/1611 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1611 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1611 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1611 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.NATUREZA_CONTABILIZAR=@insNATUREZA WHERE ENTRADAS_CONSUMO.NATUREZA_CONTABILIZAR = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1611 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1611 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1611 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS R/1610 ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1610 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1610 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1610 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.NATUREZA=@insNATUREZA WHERE ENTRADAS_MATERIAL.NATUREZA = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1610 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1610 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1610 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS R/1609 ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1609 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1609 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1609 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.NATUREZA_CONTABILIZAR=@insNATUREZA WHERE ENTRADAS_MATERIAL.NATUREZA_CONTABILIZAR = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1609 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1609 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1609 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS NATUREZA_CONTABILIZAR ENTRADAS ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1304 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1304 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1304 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.NATUREZA_CONTABILIZAR=@insNATUREZA WHERE ENTRADAS.NATUREZA_CONTABILIZAR = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1304 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1304 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1304 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS NATUREZA_CONTABIL NATUREZAS_ENTRADAS ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS1303 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS1303 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS1303 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE NATUREZAS_ENTRADAS SET NATUREZAS_ENTRADAS.NATUREZA_CONTABILIZAR=@insNATUREZA WHERE NATUREZAS_ENTRADAS.NATUREZA_CONTABILIZAR = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS1303 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS1303 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS1303 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS NATUREZAS_ENTRADAS ENTRADAS ON PARENT UPDATE CASCADE */ IF update(NATUREZA) BEGIN DECLARE NATUREZAS_ENTRADAS18 CURSOR FOR SELECT NATUREZA FROM INSERTED DECLARE NATUREZAS_ENTRADAS20 CURSOR FOR SELECT NATUREZA FROM DELETED OPEN NATUREZAS_ENTRADAS18 OPEN NATUREZAS_ENTRADAS20 FETCH NEXT FROM NATUREZAS_ENTRADAS18 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.NATUREZA=@insNATUREZA WHERE ENTRADAS.NATUREZA = @delNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS18 INTO @insNATUREZA FETCH NEXT FROM NATUREZAS_ENTRADAS20 INTO @delNATUREZA END END CLOSE NATUREZAS_ENTRADAS18 CLOSE NATUREZAS_ENTRADAS20 DEALLOCATE NATUREZAS_ENTRADAS18 DEALLOCATE NATUREZAS_ENTRADAS20 END /* NATUREZAS_ENTRADAS NATUREZA_CONTABIL NATUREZAS_ENTRADAS ON CHILD UPDATE RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #NATUREZAS_ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[NATUREZAS_ENTRADAS].[DESC_NATUREZA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[NATUREZAS_ENTRADAS].[DESC_NF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[NATUREZAS_ENTRADAS].[INATIVO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_USR_REL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_USR_REL]( [COD_TRANSACAO] [char](23) NOT NULL, [COD_REPORT] [char](4) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [DESC_REPORT] [varchar](80) NULL, [PADRAO_USUARIO] [bit] NOT NULL, [PUBLICO] [bit] NOT NULL, [CRIACAO] [datetime] NOT NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, CONSTRAINT [XPKTRANSACOES_USR_REL] PRIMARY KEY NONCLUSTERED ( [COD_TRANSACAO] ASC, [COD_REPORT] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_USR_REL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_USR_REL] on [TRANSACOES_USR_REL] for INSERT as /* INSERT trigger on TRANSACOES_USR_REL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS USUARIOS TRANSACOES_USR_REL ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_USR_REL #porque #USERS #não existe.'' goto error end end /* TRANSACOES TRANSACOES TRANSACOES_USR_REL ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_USR_REL #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_USR_REL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_USR_REL] on [TRANSACOES_USR_REL] for UPDATE as /* UPDATE trigger on TRANSACOES_USR_REL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSACAO char(23), @insCOD_REPORT char(4), @delCOD_TRANSACAO char(23), @delCOD_REPORT char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS USUARIOS TRANSACOES_USR_REL ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_USR_REL #porque #USERS #não existe.'' goto error end end /* TRANSACOES TRANSACOES TRANSACOES_USR_REL ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_USR_REL #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[TRANSACOES_USR_REL].[DESC_REPORT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_USR_REL].[PADRAO_USUARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_USR_REL].[PUBLICO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_CONSUMIVEL]( [CONSUMIVEL] [varchar](40) NOT NULL, [ENTREGA] [datetime] NOT NULL, [PEDIDO] [char](8) NOT NULL, [COTACAO] [char](7) NULL, [DESC_CONSUMIVEL] [varchar](250) NULL, [REQUISICAO] [char](8) NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [CUSTO] [numeric](15, 5) NULL, [CUSTO_MOEDA] [numeric](15, 5) NULL, [DESCONTO_ITEM] [numeric](15, 5) NULL, [IPI] [real] NULL, [UNIDADE] [varchar](5) NULL, [QTDE_ORIGINAL] [numeric](9, 3) NULL, [QTDE_ENTREGUE] [numeric](9, 3) NULL, [QTDE_CANCEL_PEDIDO] [numeric](9, 3) NULL, [QTDE_ENTREGAR] [numeric](9, 3) NULL, [VALOR_ORIGINAL] [numeric](15, 5) NULL, [VALOR_ENTREGUE] [numeric](15, 5) NULL, [VALOR_ENTREGAR] [numeric](14, 2) NULL, [ENTREGUE_MOEDA_PADRAO] [numeric](15, 5) NULL, [CHEGADA_PREVISTA] [datetime] NULL, [OBS_ITEM] [varchar](250) NULL, CONSTRAINT [XPKCOMPRAS_CONSUMIVEL] PRIMARY KEY NONCLUSTERED ( [CONSUMIVEL] ASC, [ENTREGA] ASC, [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_CONSUMIVEL]') AND name = N'XIE1COMPRAS_CONSUMIVEL') CREATE NONCLUSTERED INDEX [XIE1COMPRAS_CONSUMIVEL] ON [COMPRAS_CONSUMIVEL] ( [QTDE_ORIGINAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_CONSUMIVEL]') AND name = N'XIE2COMPRAS_CONSUMIVEL') CREATE NONCLUSTERED INDEX [XIE2COMPRAS_CONSUMIVEL] ON [COMPRAS_CONSUMIVEL] ( [QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_CONSUMIVEL]') AND name = N'XIE3COMPRAS_CONSUMIVEL') CREATE NONCLUSTERED INDEX [XIE3COMPRAS_CONSUMIVEL] ON [COMPRAS_CONSUMIVEL] ( [VALOR_ORIGINAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_CONSUMIVEL]') AND name = N'XIE4COMPRAS_CONSUMIVEL') CREATE NONCLUSTERED INDEX [XIE4COMPRAS_CONSUMIVEL] ON [COMPRAS_CONSUMIVEL] ( [VALOR_ENTREGAR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_CONSUMIVEL] on [COMPRAS_CONSUMIVEL] for DELETE as /* DELETE trigger on COMPRAS_CONSUMIVEL */ begin declare @errno int, @errmsg varchar(255) /* COMPRAS_CONSUMIVEL COMPRAS_CONSUMIVEL ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.PEDIDO_CONSUMIVEL = deleted.CONSUMIVEL and ENTRADAS_CONSUMO.PEDIDO_ENTREGA = deleted.ENTREGA and ENTRADAS_CONSUMO.PEDIDO = deleted.PEDIDO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_CONSUMIVEL #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_CONSUMIVEL] on [COMPRAS_CONSUMIVEL] for INSERT as /* INSERT trigger on COMPRAS_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES R/1291 COMPRAS_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end /* COMPRAS COMPRAS COMPRAS_CONSUMIVEL ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_CONSUMIVEL #porque #COMPRAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_CONSUMIVEL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_CONSUMIVEL] on [COMPRAS_CONSUMIVEL] for UPDATE as /* UPDATE trigger on COMPRAS_CONSUMIVEL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONSUMIVEL varchar(40), @insENTREGA datetime, @insPEDIDO char(8), @delCONSUMIVEL varchar(40), @delENTREGA datetime, @delPEDIDO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_CONSUMIVEL COMPRAS_CONSUMIVEL ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(CONSUMIVEL) OR update(ENTREGA) OR update(PEDIDO) BEGIN DECLARE COMPRAS_CONSUMIVEL781 CURSOR FOR SELECT CONSUMIVEL, ENTREGA, PEDIDO FROM INSERTED DECLARE COMPRAS_CONSUMIVEL75 CURSOR FOR SELECT CONSUMIVEL, ENTREGA, PEDIDO FROM DELETED OPEN COMPRAS_CONSUMIVEL781 OPEN COMPRAS_CONSUMIVEL75 FETCH NEXT FROM COMPRAS_CONSUMIVEL781 INTO @insCONSUMIVEL, @insENTREGA, @insPEDIDO FETCH NEXT FROM COMPRAS_CONSUMIVEL75 INTO @delCONSUMIVEL, @delENTREGA, @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.PEDIDO_CONSUMIVEL=@insCONSUMIVEL, ENTRADAS_CONSUMO.PEDIDO_ENTREGA=@insENTREGA, ENTRADAS_CONSUMO.PEDIDO=@insPEDIDO WHERE ENTRADAS_CONSUMO.PEDIDO_CONSUMIVEL = @delCONSUMIVEL and ENTRADAS_CONSUMO.PEDIDO_ENTREGA = @delENTREGA and ENTRADAS_CONSUMO.PEDIDO = @delPEDIDO FETCH NEXT FROM COMPRAS_CONSUMIVEL781 INTO @insCONSUMIVEL, @insENTREGA, @insPEDIDO FETCH NEXT FROM COMPRAS_CONSUMIVEL75 INTO @delCONSUMIVEL, @delENTREGA, @delPEDIDO END END CLOSE COMPRAS_CONSUMIVEL781 CLOSE COMPRAS_CONSUMIVEL75 DEALLOCATE COMPRAS_CONSUMIVEL781 DEALLOCATE COMPRAS_CONSUMIVEL75 END /* COTACOES R/1291 COMPRAS_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_CONSUMIVEL #porque #COTACOES #não existe.'' goto error end end /* COMPRAS COMPRAS COMPRAS_CONSUMIVEL ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_CONSUMIVEL #porque #COMPRAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_CONSUMIVEL].[REQUISICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_CONSUMIVEL].[UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[QTDE_CANCEL_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_CONSUMIVEL].[ENTREGUE_MOEDA_PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_SERVICO]( [ORDEM_SERVICO] [char](8) NOT NULL, [EMISSAO] [datetime] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CONFERIDO_POR] [varchar](25) NULL, [RECURSO_PRODUTIVO] [char](5) NOT NULL, [OBSERVACAO] [text] NULL, CONSTRAINT [XPKM_ORDEM_SERVICO] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_M_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_M_ORDEM_SERVICO] on [M_ORDEM_SERVICO] for DELETE as /* DELETE trigger on M_ORDEM_SERVICO */ begin declare @errno int, @errmsg varchar(255) /* M_ORDEM_SERVICO R/2025 M_ORDEM_SERVICO_ITEM ON PARENT DELETE CASCADE */ delete M_ORDEM_SERVICO_ITEM from M_ORDEM_SERVICO_ITEM,deleted where M_ORDEM_SERVICO_ITEM.ORDEM_SERVICO = deleted.ORDEM_SERVICO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_SERVICO] on [M_ORDEM_SERVICO] for INSERT as /* INSERT trigger on M_ORDEM_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/2023 M_ORDEM_SERVICO ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_SERVICO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_SERVICO] on [M_ORDEM_SERVICO] for UPDATE as /* UPDATE trigger on M_ORDEM_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @delORDEM_SERVICO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_SERVICO R/2025 M_ORDEM_SERVICO_ITEM ON PARENT UPDATE CASCADE */ IF update(ORDEM_SERVICO) BEGIN DECLARE M_ORDEM_SERVICO2025 CURSOR FOR SELECT ORDEM_SERVICO FROM INSERTED DECLARE M_ORDEM_SERVICO1129 CURSOR FOR SELECT ORDEM_SERVICO FROM DELETED OPEN M_ORDEM_SERVICO2025 OPEN M_ORDEM_SERVICO1129 FETCH NEXT FROM M_ORDEM_SERVICO2025 INTO @insORDEM_SERVICO FETCH NEXT FROM M_ORDEM_SERVICO1129 INTO @delORDEM_SERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_SERVICO_ITEM SET M_ORDEM_SERVICO_ITEM.ORDEM_SERVICO=@insORDEM_SERVICO WHERE M_ORDEM_SERVICO_ITEM.ORDEM_SERVICO = @delORDEM_SERVICO FETCH NEXT FROM M_ORDEM_SERVICO2025 INTO @insORDEM_SERVICO FETCH NEXT FROM M_ORDEM_SERVICO1129 INTO @delORDEM_SERVICO END END CLOSE M_ORDEM_SERVICO2025 CLOSE M_ORDEM_SERVICO1129 DEALLOCATE M_ORDEM_SERVICO2025 DEALLOCATE M_ORDEM_SERVICO1129 END /* PRODUCAO_RECURSOS R/2023 M_ORDEM_SERVICO ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_SERVICO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[M_ORDEM_SERVICO].[CONFERIDO_POR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TRANSITO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TRANSITO]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [FILIAL_ORIGEM] [varchar](25) NULL, [TIPO_ENTRADA_SAIDA] [char](2) NULL, [NUMERO_NF_TRANSFERENCIA] [char](8) NOT NULL, [FORNECEDOR] [varchar](40) NULL, [RESPONSAVEL] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [OBS] [text] NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [FATOR_PRECO] [numeric](5, 2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [LANCADO_LOJA] [bit] NOT NULL, CONSTRAINT [XPKLOJA_TRANSITO] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_TRANSITO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_TRANSITO] on [LOJA_TRANSITO] for DELETE as /* DELETE trigger on LOJA_TRANSITO */ begin declare @errno int, @errmsg varchar(255) /* LOJA_TRANSITO R/1327 LOJA_TRANSITO_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_TRANSITO_PRODUTO from LOJA_TRANSITO_PRODUTO,deleted where LOJA_TRANSITO_PRODUTO.ROMANEIO_PRODUTO = deleted.ROMANEIO_PRODUTO and LOJA_TRANSITO_PRODUTO.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_TRANSITO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_TRANSITO] on [LOJA_TRANSITO] for INSERT as /* INSERT trigger on LOJA_TRANSITO */ /* default body for LXI_LOJA_TRANSITO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_TRANSITO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TRANSITO, INSERTED WHERE LOJA_TRANSITO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_TRANSITO.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TRANSITO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TRANSITO] on [LOJA_TRANSITO] for UPDATE as /* UPDATE trigger on LOJA_TRANSITO */ /* default body for LXU_LOJA_TRANSITO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TRANSITO R/1327 LOJA_TRANSITO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(ROMANEIO_PRODUTO) OR update(FILIAL) BEGIN DECLARE LOJA_TRANSITO1327 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM INSERTED DECLARE LOJA_TRANSITO797 CURSOR FOR SELECT ROMANEIO_PRODUTO, FILIAL FROM DELETED OPEN LOJA_TRANSITO1327 OPEN LOJA_TRANSITO797 FETCH NEXT FROM LOJA_TRANSITO1327 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_TRANSITO797 INTO @delROMANEIO_PRODUTO, @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_TRANSITO_PRODUTO SET LOJA_TRANSITO_PRODUTO.ROMANEIO_PRODUTO=@insROMANEIO_PRODUTO, LOJA_TRANSITO_PRODUTO.FILIAL=@insFILIAL WHERE LOJA_TRANSITO_PRODUTO.ROMANEIO_PRODUTO = @delROMANEIO_PRODUTO and LOJA_TRANSITO_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM LOJA_TRANSITO1327 INTO @insROMANEIO_PRODUTO, @insFILIAL FETCH NEXT FROM LOJA_TRANSITO797 INTO @delROMANEIO_PRODUTO, @delFILIAL END END CLOSE LOJA_TRANSITO1327 CLOSE LOJA_TRANSITO797 DEALLOCATE LOJA_TRANSITO1327 DEALLOCATE LOJA_TRANSITO797 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_TRANSITO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TRANSITO, INSERTED WHERE LOJA_TRANSITO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_TRANSITO.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_TRANSITO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[LOJA_TRANSITO].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_TRANSITO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO].[LANCADO_LOJA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_MAT_PECA]( [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [ITEM] [char](4) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [LARGURA] [real] NULL, [LOCALIZACAO] [char](8) NOT NULL, [CONTROLE_QUALIDADE] [smallint] NULL, [PERDA] [numeric](9, 3) NULL, [GRAMATURA] [numeric](9, 3) NULL, [RECEITA] [varchar](20) NULL, [DI] [varchar](20) NULL, [NCM] [varchar](20) NULL, CONSTRAINT [XPKENTRADAS_MAT_PECA] PRIMARY KEY NONCLUSTERED ( [PECA] ASC, [PARTIDA] ASC, [NOME_CLIFOR] ASC, [ITEM] ASC, [MATERIAL] ASC, [NF_ENTRADA] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_MAT_PECA]') AND name = N'XIE1ENTRADAS_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS_MAT_PECA] ON [ENTRADAS_MAT_PECA] ( [QTDE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_MAT_PECA]') AND name = N'XIE2ENTRADAS_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS_MAT_PECA] ON [ENTRADAS_MAT_PECA] ( [MATERIAL] ASC, [ITEM] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ENTRADAS_MAT_PECA] on [ENTRADAS_MAT_PECA] for DELETE as /* DELETE trigger on ENTRADAS_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPECA char(6), @insPARTIDA char(6), @insNOME_CLIFOR varchar(25), @insITEM CHAR(4), @insMATERIAL char(11), @insNF_ENTRADA char(7), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MAT_PECA ENTRADAS_MAT_PECA FATURAM_DEV_MAT_PECA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAM_DEV_MAT_PECA where FATURAM_DEV_MAT_PECA.PECA = deleted.PECA and FATURAM_DEV_MAT_PECA.PARTIDA = deleted.PARTIDA and FATURAM_DEV_MAT_PECA.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAM_DEV_MAT_PECA.ITEM = deleted.ITEM and FATURAM_DEV_MAT_PECA.MATERIAL = deleted.MATERIAL and FATURAM_DEV_MAT_PECA.NF_ENTRADA = deleted.NF_ENTRADA and FATURAM_DEV_MAT_PECA.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS_MAT_PECA #porque existem registros em #FATURAM_DEV_MAT_PECA#.'' goto error end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_ENTRADAS_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Deleted ,ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ENTRADAS_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ENTRADAS_MAT_PECA DEALLOCATE cur_ENTRADAS_MAT_PECA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_MAT_PECA] on [ENTRADAS_MAT_PECA] for INSERT as /* INSERT trigger on ENTRADAS_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPECA char(6), @insPARTIDA char(6), @insNOME_CLIFOR varchar(25), @insITEM CHAR(4), @insMATERIAL char(11), @insNF_ENTRADA char(7), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ENTRADAS_MAT_PECA ON CHILD INSERT RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MAT_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL ENTRADAS_MAT_PECA ON CHILD INSERT RESTRICT */ if update(COR_MATERIAL) or update(ITEM) or update(MATERIAL) or update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MATERIAL where inserted.COR_MATERIAL = ENTRADAS_MATERIAL.COR_MATERIAL and inserted.ITEM = ENTRADAS_MATERIAL.ITEM and inserted.MATERIAL = ENTRADAS_MATERIAL.MATERIAL and inserted.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MAT_PECA #porque #ENTRADAS_MATERIAL #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(LARGURA) OR UPDATE(LOCALIZACAO) BEGIN DECLARE cur_ENTRADAS_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Inserted ,ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ENTRADAS_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ENTRADAS_MAT_PECA DEALLOCATE cur_ENTRADAS_MAT_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ENTRADAS_MAT_PECA] on [ENTRADAS_MAT_PECA] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ENTRADAS_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPECA char(6), @insPARTIDA char(6), @insNOME_CLIFOR varchar(25), @insITEM CHAR(4), @insMATERIAL char(11), @insNF_ENTRADA char(7), @insCOR_MATERIAL char(10), @delPECA char(6), @delPARTIDA char(6), @delNOME_CLIFOR varchar(25), @delITEM CHAR(4), @delMATERIAL char(11), @delNF_ENTRADA char(7), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ENTRADAS_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MAT_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL ENTRADAS_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(COR_MATERIAL) or update(ITEM) or update(MATERIAL) or update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MATERIAL where inserted.COR_MATERIAL = ENTRADAS_MATERIAL.COR_MATERIAL and inserted.ITEM = ENTRADAS_MATERIAL.ITEM and inserted.MATERIAL = ENTRADAS_MATERIAL.MATERIAL and inserted.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MAT_PECA #porque #ENTRADAS_MATERIAL #não existe.'' goto error end end /* ENTRADAS_MAT_PECA ENTRADAS_MAT_PECA FATURAM_DEV_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(PECA) OR update(PARTIDA) OR update(NOME_CLIFOR) OR update(ITEM) OR update(MATERIAL) OR update(NF_ENTRADA) OR update(COR_MATERIAL) BEGIN DECLARE ENTRADAS_MAT_PECA964 CURSOR FOR SELECT PECA, PARTIDA, NOME_CLIFOR, ITEM, MATERIAL, NF_ENTRADA, COR_MATERIAL FROM INSERTED DECLARE ENTRADAS_MAT_PECA357 CURSOR FOR SELECT PECA, PARTIDA, NOME_CLIFOR, ITEM, MATERIAL, NF_ENTRADA, COR_MATERIAL FROM DELETED OPEN ENTRADAS_MAT_PECA964 OPEN ENTRADAS_MAT_PECA357 FETCH NEXT FROM ENTRADAS_MAT_PECA964 INTO @insPECA, @insPARTIDA, @insNOME_CLIFOR, @insITEM, @insMATERIAL, @insNF_ENTRADA, @insCOR_MATERIAL FETCH NEXT FROM ENTRADAS_MAT_PECA357 INTO @delPECA, @delPARTIDA, @delNOME_CLIFOR, @delITEM, @delMATERIAL, @delNF_ENTRADA, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_MAT_PECA SET FATURAM_DEV_MAT_PECA.PECA=@insPECA, FATURAM_DEV_MAT_PECA.PARTIDA=@insPARTIDA, FATURAM_DEV_MAT_PECA.NOME_CLIFOR=@insNOME_CLIFOR, FATURAM_DEV_MAT_PECA.ITEM=@insITEM, FATURAM_DEV_MAT_PECA.MATERIAL=@insMATERIAL, FATURAM_DEV_MAT_PECA.NF_ENTRADA=@insNF_ENTRADA, FATURAM_DEV_MAT_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE FATURAM_DEV_MAT_PECA.PECA = @delPECA and FATURAM_DEV_MAT_PECA.PARTIDA = @delPARTIDA and FATURAM_DEV_MAT_PECA.NOME_CLIFOR = @delNOME_CLIFOR and FATURAM_DEV_MAT_PECA.ITEM = @delITEM and FATURAM_DEV_MAT_PECA.MATERIAL = @delMATERIAL and FATURAM_DEV_MAT_PECA.NF_ENTRADA = @delNF_ENTRADA and FATURAM_DEV_MAT_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM ENTRADAS_MAT_PECA964 INTO @insPECA, @insPARTIDA, @insNOME_CLIFOR, @insITEM, @insMATERIAL, @insNF_ENTRADA, @insCOR_MATERIAL FETCH NEXT FROM ENTRADAS_MAT_PECA357 INTO @delPECA, @delPARTIDA, @delNOME_CLIFOR, @delITEM, @delMATERIAL, @delNF_ENTRADA, @delCOR_MATERIAL END END CLOSE ENTRADAS_MAT_PECA964 CLOSE ENTRADAS_MAT_PECA357 DEALLOCATE ENTRADAS_MAT_PECA964 DEALLOCATE ENTRADAS_MAT_PECA357 END /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(LARGURA) OR UPDATE(LOCALIZACAO) OR UPDATE(PERDA) BEGIN DECLARE cur_ENTRADAS_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0)), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Inserted ,ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA UNION SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Deleted ,ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ENTRADAS_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ENTRADAS_MAT_PECA DEALLOCATE cur_ENTRADAS_MAT_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENTRADAS_MAT_PECA].[PARTIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MAT_PECA].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MAT_PECA].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MAT_PECA].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MAT_PECA].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS_MAT_PECA].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADA_IMPORTACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADA_IMPORTACAO]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [ITEM] [int] NOT NULL, [NCM] [varchar](25) NOT NULL, [DESC_NCM] [text] NULL, [CLASSIF_FISCAL] [char](10) NULL, [TRIBUTACAO] [char](3) NULL, [QTDE] [numeric](9, 3) NULL, [CUSTO] [numeric](15, 5) NULL, [UNIDADE] [char](6) NULL, [DI] [varchar](20) NULL, [IPI] [numeric](9, 3) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_IMPORTACAO].[ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_IMPORTACAO].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_IMPORTACAO].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENTRADA_IMPORTACAO].[UNIDADE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_ITENS]( [ORCAMENTO] [varchar](25) NOT NULL, [COMPONENTE] [varchar](50) NOT NULL, [GRUPO_COMPONENTE] [varchar](25) NOT NULL, [MATERIAL] [char](11) NULL, [COR_MATERIAL] [char](10) NULL, [CONSUMO] [numeric](9, 3) NOT NULL, [CUSTO_UNITARIO] [numeric](14, 2) NOT NULL, [VALOR] [numeric](14, 2) NOT NULL, [UNIDADE] [char](5) NULL, [CODIGO_GRUPO] [char](2) NOT NULL, [ITEM_NUMERO] [smallint] NULL, [FABRICANTE_COMPONENTE] [varchar](25) NULL, [REF_FABRICANTE_COMPONENTE] [varchar](20) NULL, CONSTRAINT [XPKORCAMENTOS_ITENS] PRIMARY KEY NONCLUSTERED ( [ORCAMENTO] ASC, [COMPONENTE] ASC, [GRUPO_COMPONENTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ORCAMENTOS_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ORCAMENTOS_ITENS] on [ORCAMENTOS_ITENS] for INSERT as /* INSERT trigger on ORCAMENTOS_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1347 ORCAMENTOS_ITENS ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null or inserted.COR_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_ITENS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ORCAMENTOS_COMPONENTES R/1346 ORCAMENTOS_ITENS ON CHILD INSERT RESTRICT */ if update(COMPONENTE) or update(GRUPO_COMPONENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_COMPONENTES where inserted.COMPONENTE = ORCAMENTOS_COMPONENTES.COMPONENTE and inserted.GRUPO_COMPONENTE = ORCAMENTOS_COMPONENTES.GRUPO_COMPONENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_ITENS #porque #ORCAMENTOS_COMPONENTES #não existe.'' goto error end end /* ORCAMENTOS R/1337 ORCAMENTOS_ITENS ON CHILD INSERT RESTRICT */ if update(ORCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS where inserted.ORCAMENTO = ORCAMENTOS.ORCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_ITENS #porque #ORCAMENTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS_ITENS] on [ORCAMENTOS_ITENS] for UPDATE as /* UPDATE trigger on ORCAMENTOS_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORCAMENTO varchar(25), @insCOMPONENTE varchar(50), @insGRUPO_COMPONENTE varchar(25), @delORCAMENTO varchar(25), @delCOMPONENTE varchar(50), @delGRUPO_COMPONENTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1347 ORCAMENTOS_ITENS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null and inserted.COR_MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_ITENS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ORCAMENTOS_COMPONENTES R/1346 ORCAMENTOS_ITENS ON CHILD UPDATE RESTRICT */ if update(COMPONENTE) or update(GRUPO_COMPONENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_COMPONENTES where inserted.COMPONENTE = ORCAMENTOS_COMPONENTES.COMPONENTE and inserted.GRUPO_COMPONENTE = ORCAMENTOS_COMPONENTES.GRUPO_COMPONENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_ITENS #porque #ORCAMENTOS_COMPONENTES #não existe.'' goto error end end /* ORCAMENTOS R/1337 ORCAMENTOS_ITENS ON CHILD UPDATE RESTRICT */ if update(ORCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS where inserted.ORCAMENTO = ORCAMENTOS.ORCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_ITENS #porque #ORCAMENTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_ITENS].[CONSUMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_ITENS].[CUSTO_UNITARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_ITENS].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ORCAMENTOS_ITENS].[UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_ITENS].[ITEM_NUMERO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_HISTORICO]( [PEDIDO] [varchar](20) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NULL, [DATA_ELIMINACAO] [datetime] NULL, [EMISSAO] [datetime] NULL, [CADASTRAMENTO] [datetime] NULL, [PEDIDO_CLIENTE] [varchar](20) NULL, [MOEDA] [char](6) NULL, [COLECAO] [char](6) NULL, [TIPO] [char](25) NULL, [GERENTE] [varchar](25) NULL, [REPRESENTANTE] [varchar](25) NULL, [TOT_QTDE_ORIGINAL] [int] NULL, [TOT_QTDE_ENTREGUE] [int] NULL, [TOT_QTDE_EMBALADA] [int] NULL, [TOT_QTDE_DEVOLVIDA] [int] NULL, [TOT_QTDE_CANCELADA] [int] NULL, [TOT_QTDE_ENTREGAR] [int] NULL, [TOT_VALOR_ORIGINAL] [numeric](14, 2) NULL, [TOT_VALOR_ENTREGUE] [numeric](14, 2) NULL, [TOT_VALOR_CANCELADO] [numeric](14, 2) NULL, [TOT_VALOR_DEVOLVIDO] [numeric](14, 2) NULL, [TOT_VALOR_ENTREGAR] [numeric](14, 2) NULL, [TOT_BRUTO_ENTREGUE] [numeric](14, 2) NULL, [DESCONTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [VALOR_IPI] [numeric](14, 2) NULL, [OBS] [text] NULL, [TOT_ENTREGUE_MOEDA_PADRAO] [numeric](17, 5) NULL, [RECARGO] [numeric](14, 2) NULL, [ROMANEIO] [char](8) NOT NULL, [NOME_CLIFOR_ENTREGA] [varchar](25) NOT NULL, [APROVACAO] [char](1) NOT NULL, [APROVADO_POR] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [FATOR_VENDA_LIQUIDA] [real] NULL, CONSTRAINT [XPKVENDAS_HISTORICO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_HISTORICO] on [VENDAS_HISTORICO] for DELETE as /* DELETE trigger on VENDAS_HISTORICO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_HISTORICO R/1383 VENDAS_HISTORICO_PROD ON PARENT DELETE CASCADE */ delete VENDAS_HISTORICO_PROD from VENDAS_HISTORICO_PROD,deleted where VENDAS_HISTORICO_PROD.PEDIDO = deleted.PEDIDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_HISTORICO] on [VENDAS_HISTORICO] for INSERT as /* INSERT trigger on VENDAS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS R/1388 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #MOEDAS #não existe.'' goto error end end /* COLECOES R/1387 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #COLECOES #não existe.'' goto error end end /* VENDAS_TIPO R/1382 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #VENDAS_TIPO #não existe.'' goto error end end /* REPRESENTANTES R/1380 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #REPRESENTANTES #não existe.'' goto error end end /* REPRESENTANTES R/1379 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.GERENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #REPRESENTANTES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1378 VENDAS_HISTORICO ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO #porque #CLIENTES_ATACADO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_HISTORICO] on [VENDAS_HISTORICO] for UPDATE as /* UPDATE trigger on VENDAS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO varchar(20), @delPEDIDO varchar(20), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_HISTORICO R/1383 VENDAS_HISTORICO_PROD ON PARENT UPDATE CASCADE */ IF update(PEDIDO) BEGIN DECLARE VENDAS_HISTORICO1383 CURSOR FOR SELECT PEDIDO FROM INSERTED DECLARE VENDAS_HISTORICO819 CURSOR FOR SELECT PEDIDO FROM DELETED OPEN VENDAS_HISTORICO1383 OPEN VENDAS_HISTORICO819 FETCH NEXT FROM VENDAS_HISTORICO1383 INTO @insPEDIDO FETCH NEXT FROM VENDAS_HISTORICO819 INTO @delPEDIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO_PROD SET VENDAS_HISTORICO_PROD.PEDIDO=@insPEDIDO WHERE VENDAS_HISTORICO_PROD.PEDIDO = @delPEDIDO FETCH NEXT FROM VENDAS_HISTORICO1383 INTO @insPEDIDO FETCH NEXT FROM VENDAS_HISTORICO819 INTO @delPEDIDO END END CLOSE VENDAS_HISTORICO1383 CLOSE VENDAS_HISTORICO819 DEALLOCATE VENDAS_HISTORICO1383 DEALLOCATE VENDAS_HISTORICO819 END /* MOEDAS R/1388 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #MOEDAS #não existe.'' goto error end end /* COLECOES R/1387 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #COLECOES #não existe.'' goto error end end /* VENDAS_TIPO R/1382 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO where inserted.TIPO = VENDAS_TIPO.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #VENDAS_TIPO #não existe.'' goto error end end /* REPRESENTANTES R/1380 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #REPRESENTANTES #não existe.'' goto error end end /* REPRESENTANTES R/1379 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(GERENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.GERENTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.GERENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #REPRESENTANTES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1378 VENDAS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO #porque #CLIENTES_ATACADO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_HISTORICO].[PEDIDO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_EMBALADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_DEVOLVIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_VALOR_DEVOLVIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[TOT_BRUTO_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[VALOR_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO].[FATOR_VENDA_LIQUIDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PAISES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PAISES]( [PAIS] [varchar](35) NOT NULL, [MOEDA] [char](6) NOT NULL, [DDI] [char](5) NULL, [COD_PAIS] [char](3) NULL, [BLOCO_ECONOMICO] [varchar](25) NULL, CONSTRAINT [XPKPAISES] PRIMARY KEY NONCLUSTERED ( [PAIS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PAISES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PAISES] on [PAISES] for DELETE as /* DELETE trigger on PAISES */ begin declare @errno int, @errmsg varchar(255) /* PAISES R/2170 REGIOES_CEP ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REGIOES_CEP where REGIOES_CEP.PAIS = deleted.PAIS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PAISES #porque existem registros em #REGIOES_CEP#.'' goto error end /* PAISES R/2107 PRODUTOS_TAMANHOS_PAISES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAMANHOS_PAISES where PRODUTOS_TAMANHOS_PAISES.PAIS = deleted.PAIS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PAISES #porque existem registros em #PRODUTOS_TAMANHOS_PAISES#.'' goto error end /* PAISES R/1900 CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.ENTREGA_PAIS = deleted.PAIS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* PAISES R/1899 CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.COBRANCA_PAIS = deleted.PAIS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* PAISES R/1898 CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.PAIS = deleted.PAIS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PAISES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PAISES] on [PAISES] for UPDATE as /* UPDATE trigger on PAISES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPAIS varchar(35), @delPAIS varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PAISES R/2170 REGIOES_CEP ON PARENT UPDATE CASCADE */ IF update(PAIS) BEGIN DECLARE PAISES2170 CURSOR FOR SELECT PAIS FROM INSERTED DECLARE PAISES1062 CURSOR FOR SELECT PAIS FROM DELETED OPEN PAISES2170 OPEN PAISES1062 FETCH NEXT FROM PAISES2170 INTO @insPAIS FETCH NEXT FROM PAISES1062 INTO @delPAIS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REGIOES_CEP SET REGIOES_CEP.PAIS=@insPAIS WHERE REGIOES_CEP.PAIS = @delPAIS FETCH NEXT FROM PAISES2170 INTO @insPAIS FETCH NEXT FROM PAISES1062 INTO @delPAIS END END CLOSE PAISES2170 CLOSE PAISES1062 DEALLOCATE PAISES2170 DEALLOCATE PAISES1062 END /* PAISES R/2107 PRODUTOS_TAMANHOS_PAISES ON PARENT UPDATE CASCADE */ IF update(PAIS) BEGIN DECLARE PAISES2107 CURSOR FOR SELECT PAIS FROM INSERTED DECLARE PAISES1062 CURSOR FOR SELECT PAIS FROM DELETED OPEN PAISES2107 OPEN PAISES1062 FETCH NEXT FROM PAISES2107 INTO @insPAIS FETCH NEXT FROM PAISES1062 INTO @delPAIS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAMANHOS_PAISES SET PRODUTOS_TAMANHOS_PAISES.PAIS=@insPAIS WHERE PRODUTOS_TAMANHOS_PAISES.PAIS = @delPAIS FETCH NEXT FROM PAISES2107 INTO @insPAIS FETCH NEXT FROM PAISES1062 INTO @delPAIS END END CLOSE PAISES2107 CLOSE PAISES1062 DEALLOCATE PAISES2107 DEALLOCATE PAISES1062 END /* PAISES R/1900 CADASTRO_CLI_FOR ON PARENT UPDATE RESTRICT */ if update(PAIS) begin if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.ENTREGA_PAIS = deleted.PAIS ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end end /* PAISES R/1899 CADASTRO_CLI_FOR ON PARENT UPDATE RESTRICT */ if update(PAIS) begin if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.COBRANCA_PAIS = deleted.PAIS ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end end /* PAISES R/1898 CADASTRO_CLI_FOR ON PARENT UPDATE RESTRICT */ if update(PAIS) begin if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.PAIS = deleted.PAIS ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PAISES #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PAISES].[PAIS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_MODELO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_MODELO]( [MODELAGEM] [char](10) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NULL, [ORCAMENTO] [varchar](25) NULL, [DESC_MODELO] [varchar](40) NOT NULL, [GRADE] [varchar](25) NOT NULL, [LINHA] [varchar](25) NULL, [GRIFFE] [varchar](25) NULL, [TIPO_PRODUTO] [varchar](25) NULL, [TABELA_OPERACOES] [varchar](25) NULL, [TABELA_MEDIDAS] [varchar](25) NULL, [GRUPO_PRODUTO] [varchar](25) NOT NULL, [SUBGRUPO_PRODUTO] [varchar](25) NOT NULL, [CONSUMO_TECIDO_LISO] [numeric](9, 3) NULL, [CONSUMO_TECIDO_LISTRA] [numeric](9, 3) NULL, [CONSUMO_TECIDO_XADREZ] [numeric](9, 3) NULL, [FOTO_DIANTEIRO] [varchar](100) NULL, [FOTO_TRASEIRO] [varchar](100) NULL, [DATA] [smalldatetime] NULL, [DATA_CONCLUSAO] [smalldatetime] NULL, [DATA_APROVACAO_CLIENTE] [smalldatetime] NULL, CONSTRAINT [XPKPRODUTOS_MODELO] PRIMARY KEY NONCLUSTERED ( [MODELAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_MODELO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_MODELO] on [PRODUTOS_MODELO] for DELETE as /* DELETE trigger on PRODUTOS_MODELO */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_MODELO R/2042 PRODUTOS_MODELO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_MATERIAL where PRODUTOS_MODELO_MATERIAL.MODELAGEM_SUBCONJUNTO = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_MATERIAL#.'' goto error end /* PRODUTOS_MODELO R/1967 PRODUTOS_MODELO_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_MATERIAL where PRODUTOS_MODELO_MATERIAL.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_MATERIAL#.'' goto error end /* PRODUTOS_MODELO R/1971 PRODUTOS_MODELO_MAT_PRI ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_MAT_PRI where PRODUTOS_MODELO_MAT_PRI.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_MAT_PRI#.'' goto error end /* PRODUTOS_MODELO R/1978 PRODUTOS_MODELO_CONJUNTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_CONJUNTO where PRODUTOS_MODELO_CONJUNTO.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_CONJUNTO#.'' goto error end /* PRODUTOS_MODELO R/1977 PRODUTOS_MODELO_CONJUNTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO_CONJUNTO where PRODUTOS_MODELO_CONJUNTO.MODELAGEM_SUBCONJUNTO = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_CONJUNTO#.'' goto error end /* PRODUTOS_MODELO R/1984 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_MODELO #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_MODELO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_MODELO] on [PRODUTOS_MODELO] for INSERT as /* INSERT trigger on PRODUTOS_MODELO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1963 PRODUTOS_MODELO ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES select @nullcnt = count(*) from inserted where inserted.TABELA_OPERACOES is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTOS_TAB_MEDIDAS R/1962 PRODUTOS_MODELO ON CHILD INSERT RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS select @nullcnt = count(*) from inserted where inserted.TABELA_MEDIDAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO R/1961 PRODUTOS_MODELO ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_MODELO #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_MODELO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_MODELO] on [PRODUTOS_MODELO] for UPDATE as /* UPDATE trigger on PRODUTOS_MODELO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODELAGEM char(10), @delMODELAGEM char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_MODELO R/2042 PRODUTOS_MODELO_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MODELAGEM) BEGIN DECLARE PRODUTOS_MODELO2042 CURSOR FOR SELECT MODELAGEM FROM INSERTED DECLARE PRODUTOS_MODELO1111 CURSOR FOR SELECT MODELAGEM FROM DELETED OPEN PRODUTOS_MODELO2042 OPEN PRODUTOS_MODELO1111 FETCH NEXT FROM PRODUTOS_MODELO2042 INTO @insMODELAGEM FETCH NEXT FROM PRODUTOS_MODELO1111 INTO @delMODELAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_MODELO_MATERIAL SET PRODUTOS_MODELO_MATERIAL.MODELAGEM_SUBCONJUNTO=@insMODELAGEM WHERE PRODUTOS_MODELO_MATERIAL.MODELAGEM_SUBCONJUNTO = @delMODELAGEM FETCH NEXT FROM PRODUTOS_MODELO2042 INTO @insMODELAGEM FETCH NEXT FROM PRODUTOS_MODELO1111 INTO @delMODELAGEM END END CLOSE PRODUTOS_MODELO2042 CLOSE PRODUTOS_MODELO1111 DEALLOCATE PRODUTOS_MODELO2042 DEALLOCATE PRODUTOS_MODELO1111 END /* PRODUTOS_MODELO R/1967 PRODUTOS_MODELO_MATERIAL ON PARENT UPDATE RESTRICT */ if update(MODELAGEM) begin if exists ( select * from deleted,PRODUTOS_MODELO_MATERIAL where PRODUTOS_MODELO_MATERIAL.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_MATERIAL#.'' goto error end end /* PRODUTOS_MODELO R/1971 PRODUTOS_MODELO_MAT_PRI ON PARENT UPDATE RESTRICT */ if update(MODELAGEM) begin if exists ( select * from deleted,PRODUTOS_MODELO_MAT_PRI where PRODUTOS_MODELO_MAT_PRI.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_MAT_PRI#.'' goto error end end /* PRODUTOS_MODELO R/1978 PRODUTOS_MODELO_CONJUNTO ON PARENT UPDATE RESTRICT */ if update(MODELAGEM) begin if exists ( select * from deleted,PRODUTOS_MODELO_CONJUNTO where PRODUTOS_MODELO_CONJUNTO.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_CONJUNTO#.'' goto error end end /* PRODUTOS_MODELO R/1977 PRODUTOS_MODELO_CONJUNTO ON PARENT UPDATE RESTRICT */ if update(MODELAGEM) begin if exists ( select * from deleted,PRODUTOS_MODELO_CONJUNTO where PRODUTOS_MODELO_CONJUNTO.MODELAGEM_SUBCONJUNTO = deleted.MODELAGEM ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque existem registros em #PRODUTOS_MODELO_CONJUNTO#.'' goto error end end /* PRODUTOS_MODELO R/1984 PRODUTOS ON PARENT UPDATE RESTRICT */ if update(MODELAGEM) begin if exists ( select * from deleted,PRODUTOS where PRODUTOS.MODELAGEM = deleted.MODELAGEM ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque existem registros em #PRODUTOS#.'' goto error end end /* PRODUTOS_TAB_OPERACOES R/1963 PRODUTOS_MODELO ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES select @nullcnt = count(*) from inserted where inserted.TABELA_OPERACOES is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTOS_TAB_MEDIDAS R/1962 PRODUTOS_MODELO ON CHILD UPDATE RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS select @nullcnt = count(*) from inserted where inserted.TABELA_MEDIDAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO R/1961 PRODUTOS_MODELO ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_MODELO #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_MODELO].[MODELAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO].[CONSUMO_TECIDO_LISO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO].[CONSUMO_TECIDO_LISTRA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_MODELO].[CONSUMO_TECIDO_XADREZ]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FILIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FILIAIS]( [FILIAL] [varchar](25) NOT NULL, [EMPRESA] [tinyint] NOT NULL, [CONTA_CONTABIL] [char](20) NULL, [TIPO_ESTOQUE_IDEAL] [char](6) NULL, [COD_FILIAL] [char](6) NULL, [TIPO_FILIAL] [varchar](25) NULL, [CLIFOR] [char](6) NOT NULL, [FILIAL_PROPRIA] [bit] NOT NULL, [CGC_CPF] [varchar](19) NOT NULL, [MATRIZ] [varchar](25) NULL, [REGIAO] [varchar](25) NOT NULL, [ESTOQUE_CTRL_PECA_UNICA] [bit] NOT NULL, [ESTOQUE_CTRL_PECA] [bit] NOT NULL, [SEQUENCIA_PECAS] [char](7) NULL, [TIMESTAMP] [timestamp] NULL, [TEMPO_ATENDIMENTO] [smallint] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [REDE_LOJAS] [char](2) NULL, [NAO_GERA_ENTRADA_LOJA_AUTO] [smallint] NULL, [FATOR_CUSTO_LOJA] [numeric](8, 3) NULL, [PERMITE_EST_NEGATIVO] [bit] NOT NULL, [CTRL_ESTOQUE_MATERIAL] [bit] NOT NULL, [CTRL_ESTOQUE_PRODUTO] [bit] NOT NULL, [CTRL_LOJA_VAREJO] [bit] NOT NULL, [CTRL_PRODUCAO_PRODUTO] [bit] NOT NULL, [CTRL_VENDA_PRODUTO] [bit] NOT NULL, [CTRL_VENDA_MATERIAL] [bit] NOT NULL, [CTRL_PRODUCAO_MATERIAL] [bit] NOT NULL, [AREA_M2] [int] NULL, [EMPRESA_FISCAL] [tinyint] NULL, CONSTRAINT [XPKFILIAIS] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FILIAIS]') AND name = N'XAK1FILIAIS') CREATE UNIQUE NONCLUSTERED INDEX [XAK1FILIAIS] ON [FILIAIS] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FILIAIS]') AND name = N'XIE1FILIAIS') CREATE NONCLUSTERED INDEX [XIE1FILIAIS] ON [FILIAIS] ( [CGC_CPF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FILIAIS] on [FILIAIS] for DELETE as /* DELETE trigger on FILIAIS */ begin declare @errno int, @errmsg varchar(255) /* FILIAIS R/2168 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSPORTADORA_FRETE_LOCALIDADE where TRANSPORTADORA_FRETE_LOCALIDADE.FILIAL_ORIGEM = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #TRANSPORTADORA_FRETE_LOCALIDADE#.'' goto error end /* FILIAIS R/2156 DATAS_FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,DATAS_FILIAIS where DATAS_FILIAIS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #DATAS_FILIAIS#.'' goto error end /* FILIAIS R/2122 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.FILIAL_DIGITACAO = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #VENDAS#.'' goto error end /* FILIAIS R/2117 MATERIAIS_LOCALIZA ON PARENT DELETE CASCADE */ delete MATERIAIS_LOCALIZA from MATERIAIS_LOCALIZA,deleted where MATERIAIS_LOCALIZA.FILIAL = deleted.FILIAL /* FILIAIS R/2114 DISTRIBUICAO_META_AGRUPAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,DISTRIBUICAO_META_AGRUPAMENTO where DISTRIBUICAO_META_AGRUPAMENTO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #DISTRIBUICAO_META_AGRUPAMENTO#.'' goto error end /* FILIAIS R/1901 ESTOQUE_SUGESTAO_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SUGESTAO_PRODUTO where ESTOQUE_SUGESTAO_PRODUTO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_SUGESTAO_PRODUTO#.'' goto error end /* FILIAIS R/1900 ESTOQUE_SUGESTAO_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SUGESTAO_PRODUTO where ESTOQUE_SUGESTAO_PRODUTO.FILIAL_DESTINO = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_SUGESTAO_PRODUTO#.'' goto error end /* FILIAIS R/1859 M_ORDEM_FABRICACAO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO where M_ORDEM_FABRICACAO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #M_ORDEM_FABRICACAO#.'' goto error end /* FILIAIS R/1852 DISTRIBUICAO_PORCENTAGEM ON PARENT DELETE CASCADE */ delete DISTRIBUICAO_PORCENTAGEM from DISTRIBUICAO_PORCENTAGEM,deleted where DISTRIBUICAO_PORCENTAGEM.FILIAL = deleted.FILIAL /* FILIAIS R/1810 PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.ESTOQUE_EM_PROCESSO_MATERIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end /* FILIAIS R/1805 LOCALIZACOES_PRODUTO ON PARENT DELETE CASCADE */ delete LOCALIZACOES_PRODUTO from LOCALIZACOES_PRODUTO,deleted where LOCALIZACOES_PRODUTO.FILIAL = deleted.FILIAL /* FILIAIS R/1693 PRODUCAO_ORDEM_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_SERVICO where PRODUCAO_ORDEM_SERVICO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #PRODUCAO_ORDEM_SERVICO#.'' goto error end /* FILIAIS R/1641 ESTOQUE_PROD_ENT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD_ENT where ESTOQUE_PROD_ENT.FILIAL_ORIGEM = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_PROD_ENT#.'' goto error end /* FILIAIS R/1640 ESTOQUE_PROD_SAI ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD_SAI where ESTOQUE_PROD_SAI.FILIAL_DESTINO = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_PROD_SAI#.'' goto error end /* FILIAIS R/1639 ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.FILIAL_ENTRADA = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ENTRADAS#.'' goto error end /* FILIAIS R/1638 FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.FILIAL_FATURADA = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #FATURAMENTO#.'' goto error end /* FILIAIS R/1601 LOJAS_PREVISAO_VENDAS ON PARENT DELETE CASCADE */ delete LOJAS_PREVISAO_VENDAS from LOJAS_PREVISAO_VENDAS,deleted where LOJAS_PREVISAO_VENDAS.FILIAL = deleted.FILIAL /* FILIAIS R/1599 ESTOQUE_PRODUTOS_HISTORICO ON PARENT DELETE CASCADE */ delete ESTOQUE_PRODUTOS_HISTORICO from ESTOQUE_PRODUTOS_HISTORICO,deleted where ESTOQUE_PRODUTOS_HISTORICO.FILIAL = deleted.FILIAL /* FILIAIS R/1557 CLIENTE_VAR_SAC ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_SAC where CLIENTE_VAR_SAC.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #CLIENTE_VAR_SAC#.'' goto error end /* FILIAIS R/1396 LOJA_RESERVA ON PARENT DELETE CASCADE */ delete LOJA_RESERVA from LOJA_RESERVA,deleted where LOJA_RESERVA.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS ESTOQUE_MATERIAIS_HISTORICO ON PARENT DELETE CASCADE */ delete ESTOQUE_MATERIAIS_HISTORICO from ESTOQUE_MATERIAIS_HISTORICO,deleted where ESTOQUE_MATERIAIS_HISTORICO.FILIAL = deleted.FILIAL /* FILIAIS FILIAL_DESTINO LOJA_SAIDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_SAIDAS where LOJA_SAIDAS.FILIAL_DESTINO = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #LOJA_SAIDAS#.'' goto error end /* FILIAIS R/1174 LOJA_SAIDAS ON PARENT DELETE CASCADE */ delete LOJA_SAIDAS from LOJA_SAIDAS,deleted where LOJA_SAIDAS.FILIAL = deleted.FILIAL /* FILIAIS FILIAL_ORIGEM LOJA_ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_ENTRADAS where LOJA_ENTRADAS.FILIAL_ORIGEM = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #LOJA_ENTRADAS#.'' goto error end /* FILIAIS R/1170 LOJA_ENTRADAS ON PARENT DELETE CASCADE */ delete LOJA_ENTRADAS from LOJA_ENTRADAS,deleted where LOJA_ENTRADAS.FILIAL = deleted.FILIAL /* FILIAIS FILIAL CONTAS_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANCAMENTOS where CONTAS_LANCAMENTOS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #CONTAS_LANCAMENTOS#.'' goto error end /* FILIAIS FILIAIS LOJAS_VAREJO ON PARENT DELETE CASCADE */ delete LOJAS_VAREJO from LOJAS_VAREJO,deleted where LOJAS_VAREJO.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS ESTOQUE_PROD_CONTAGEM ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CONTAGEM from ESTOQUE_PROD_CONTAGEM,deleted where ESTOQUE_PROD_CONTAGEM.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS A_RECEBER_CHEQUES ON PARENT DELETE CASCADE */ delete A_RECEBER_CHEQUES from A_RECEBER_CHEQUES,deleted where A_RECEBER_CHEQUES.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS ESTOQUE_MAT_CONTAGEM ON PARENT DELETE CASCADE */ delete ESTOQUE_MAT_CONTAGEM from ESTOQUE_MAT_CONTAGEM,deleted where ESTOQUE_MAT_CONTAGEM.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS FATURAMENTO_SEQUENCIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_SEQUENCIAIS where FATURAMENTO_SEQUENCIAIS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #FATURAMENTO_SEQUENCIAIS#.'' goto error end /* FILIAIS FILIAIS VENDAS_PROD_EMBALADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PROD_EMBALADO where VENDAS_PROD_EMBALADO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #VENDAS_PROD_EMBALADO#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_PROD_SAI ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD_SAI where ESTOQUE_PROD_SAI.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_PROD_SAI#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_PROD_ENT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD_ENT where ESTOQUE_PROD_ENT.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_PROD_ENT#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_SAI_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI_MAT where ESTOQUE_SAI_MAT.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_SAI_MAT#.'' goto error end /* FILIAIS FILIAIS ROMANEIOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ROMANEIOS where ROMANEIOS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ROMANEIOS#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PRODUTOS where ESTOQUE_PRODUTOS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_PRODUTOS#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_MATERIAIS where ESTOQUE_MATERIAIS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_MATERIAIS#.'' goto error end /* FILIAIS FILIAIS CLIENTES_VAREJO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_VAREJO where CLIENTES_VAREJO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #CLIENTES_VAREJO#.'' goto error end /* FILIAIS FILIAL_A_COBRAR COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.FILIAL_COBRANCA = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #COMPRAS#.'' goto error end /* FILIAIS FILIAL_A_FATURAR COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.FILIAL_A_FATURAR = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #COMPRAS#.'' goto error end /* FILIAIS FILIAL_A_ENTREGAR COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.FILIAL_A_ENTREGAR = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #COMPRAS#.'' goto error end /* FILIAIS FILIAIS A_PAGAR_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_FATURA where A_PAGAR_FATURA.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #A_PAGAR_FATURA#.'' goto error end /* FILIAIS FILIAIS ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ENTRADAS#.'' goto error end /* FILIAIS FILIAIS FATURAMENTO ON PARENT DELETE CASCADE */ delete FATURAMENTO from FATURAMENTO,deleted where FATURAMENTO.FILIAL = deleted.FILIAL /* FILIAIS FILIAIS A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #A_RECEBER_FATURA#.'' goto error end /* FILIAIS FILIAIS VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #VENDAS#.'' goto error end /* FILIAIS FILIAIS ESTOQUE_RET_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_RET_MAT where ESTOQUE_RET_MAT.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #ESTOQUE_RET_MAT#.'' goto error end /* FILIAIS FILIAIS PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end /* FILIAIS FILIAIS CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.FILIAL = deleted.FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAIS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* FILIAIS MATRIZ FILIAIS ON PARENT DELETE CASCADE */ delete FILIAIS from FILIAIS,deleted where FILIAIS.MATRIZ = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FILIAIS] on [FILIAIS] for INSERT as /* INSERT trigger on FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1953 FILIAIS ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #EMPRESA #não existe.'' goto error end end /* DISTRIBUICAO_LOJA_IDEAL R/1854 FILIAIS ON CHILD INSERT RESTRICT */ if update(TIPO_ESTOQUE_IDEAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_LOJA_IDEAL where inserted.TIPO_ESTOQUE_IDEAL = DISTRIBUICAO_LOJA_IDEAL.TIPO_ESTOQUE_IDEAL select @nullcnt = count(*) from inserted where inserted.TIPO_ESTOQUE_IDEAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #DISTRIBUICAO_LOJA_IDEAL #não existe.'' goto error end end /* LOJAS_REDE R/1634 FILIAIS ON CHILD INSERT RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS select @nullcnt = count(*) from inserted where inserted.REDE_LOJAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #LOJAS_REDE #não existe.'' goto error end end /* FILIAL_TIPOS R/1480 FILIAIS ON CHILD INSERT RESTRICT */ if update(TIPO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAL_TIPOS where inserted.TIPO_FILIAL = FILIAL_TIPOS.TIPO_FILIAL select @nullcnt = count(*) from inserted where inserted.TIPO_FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #FILIAL_TIPOS #não existe.'' goto error end end /* EMPRESA_FISCAL R/1480 FILIAIS ON CHILD INSERT RESTRICT */ if update(EMPRESA_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA_FISCAL where inserted.EMPRESA_FISCAL = EMPRESA_FISCAL.EMPRESA_FISCAL select @nullcnt = count(*) from inserted where inserted.EMPRESA_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #EMPRESA_FISCAL #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA FILIAIS ON CHILD INSERT RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #REGIOES_VENDA #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FILIAIS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FILIAL = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FILIAIS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /*--- UPDATE COD_FILIAL -------------------------------------------------------------------------------*/ UPDATE FILIAIS SET COD_FILIAL=INSERTED.CLIFOR FROM INSERTED JOIN FILIAIS ON INSERTED.FILIAL=FILIAIS.FILIAL WHERE INSERTED.COD_FILIAL IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE FILIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FILIAIS, INSERTED WHERE FILIAIS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FILIAIS] on [FILIAIS] for UPDATE as /* UPDATE trigger on FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1953 FILIAIS ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #EMPRESA #não existe.'' goto error end end /* DISTRIBUICAO_LOJA_IDEAL R/1854 FILIAIS ON CHILD UPDATE RESTRICT */ if update(TIPO_ESTOQUE_IDEAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_LOJA_IDEAL where inserted.TIPO_ESTOQUE_IDEAL = DISTRIBUICAO_LOJA_IDEAL.TIPO_ESTOQUE_IDEAL select @nullcnt = count(*) from inserted where inserted.TIPO_ESTOQUE_IDEAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #DISTRIBUICAO_LOJA_IDEAL #não existe.'' goto error end end /* LOJAS_REDE R/1634 FILIAIS ON CHILD UPDATE RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS select @nullcnt = count(*) from inserted where inserted.REDE_LOJAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #LOJAS_REDE #não existe.'' goto error end end /* FILIAL_TIPOS R/1480 FILIAIS ON CHILD UPDATE RESTRICT */ if update(TIPO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAL_TIPOS where inserted.TIPO_FILIAL = FILIAL_TIPOS.TIPO_FILIAL select @nullcnt = count(*) from inserted where inserted.TIPO_FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #FILIAL_TIPOS #não existe.'' goto error end end /* EMPRESA_FISCAL R/1480 FILIAIS ON CHILD INSERT RESTRICT */ if update(EMPRESA_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA_FISCAL where inserted.EMPRESA_FISCAL = EMPRESA_FISCAL.EMPRESA_FISCAL select @nullcnt = count(*) from inserted where inserted.EMPRESA_FISCAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Atualizar #FILIAIS #porque #EMPRESA_FISCAL #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA FILIAIS ON CHILD UPDATE RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #REGIOES_VENDA #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FILIAIS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FILIAL = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FILIAIS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* FILIAIS R/2168 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS2168 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS2168 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS2168 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORA_FRETE_LOCALIDADE SET TRANSPORTADORA_FRETE_LOCALIDADE.FILIAL_ORIGEM=@insFILIAL WHERE TRANSPORTADORA_FRETE_LOCALIDADE.FILIAL_ORIGEM = @delFILIAL FETCH NEXT FROM FILIAIS2168 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS2168 CLOSE FILIAIS26 DEALLOCATE FILIAIS2168 DEALLOCATE FILIAIS26 END /* FILIAIS R/2156 DATAS_FILIAIS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS2156 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS2156 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS2156 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DATAS_FILIAIS SET DATAS_FILIAIS.FILIAL=@insFILIAL WHERE DATAS_FILIAIS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS2156 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS2156 CLOSE FILIAIS26 DEALLOCATE FILIAIS2156 DEALLOCATE FILIAIS26 END /* FILIAIS R/2122 VENDAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS2122 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS2122 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS2122 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.FILIAL_DIGITACAO=@insFILIAL WHERE VENDAS.FILIAL_DIGITACAO = @delFILIAL FETCH NEXT FROM FILIAIS2122 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS2122 CLOSE FILIAIS26 DEALLOCATE FILIAIS2122 DEALLOCATE FILIAIS26 END /* FILIAIS R/2117 MATERIAIS_LOCALIZA ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS2117 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS2117 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS2117 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_LOCALIZA SET MATERIAIS_LOCALIZA.FILIAL=@insFILIAL WHERE MATERIAIS_LOCALIZA.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS2117 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS2117 CLOSE FILIAIS26 DEALLOCATE FILIAIS2117 DEALLOCATE FILIAIS26 END /* FILIAIS R/2114 DISTRIBUICAO_META_AGRUPAMENTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS2114 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS2114 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS2114 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DISTRIBUICAO_META_AGRUPAMENTO SET DISTRIBUICAO_META_AGRUPAMENTO.FILIAL=@insFILIAL WHERE DISTRIBUICAO_META_AGRUPAMENTO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS2114 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS2114 CLOSE FILIAIS26 DEALLOCATE FILIAIS2114 DEALLOCATE FILIAIS26 END /* FILIAIS R/1901 ESTOQUE_SUGESTAO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1901 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1901 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1901 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SUGESTAO_PRODUTO SET ESTOQUE_SUGESTAO_PRODUTO.FILIAL=@insFILIAL WHERE ESTOQUE_SUGESTAO_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1901 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1901 CLOSE FILIAIS26 DEALLOCATE FILIAIS1901 DEALLOCATE FILIAIS26 END /* FILIAIS R/1900 ESTOQUE_SUGESTAO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1900 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1900 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1900 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SUGESTAO_PRODUTO SET ESTOQUE_SUGESTAO_PRODUTO.FILIAL_DESTINO=@insFILIAL WHERE ESTOQUE_SUGESTAO_PRODUTO.FILIAL_DESTINO = @delFILIAL FETCH NEXT FROM FILIAIS1900 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1900 CLOSE FILIAIS26 DEALLOCATE FILIAIS1900 DEALLOCATE FILIAIS26 END /* FILIAIS R/1852 DISTRIBUICAO_PORCENTAGEM ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1852 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1852 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1852 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DISTRIBUICAO_PORCENTAGEM SET DISTRIBUICAO_PORCENTAGEM.FILIAL=@insFILIAL WHERE DISTRIBUICAO_PORCENTAGEM.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1852 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1852 CLOSE FILIAIS26 DEALLOCATE FILIAIS1852 DEALLOCATE FILIAIS26 END /* FILIAIS R/1810 PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1810 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1810 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1810 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.ESTOQUE_EM_PROCESSO_MATERIAL=@insFILIAL WHERE PRODUCAO_ORDEM.ESTOQUE_EM_PROCESSO_MATERIAL = @delFILIAL FETCH NEXT FROM FILIAIS1810 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1810 CLOSE FILIAIS26 DEALLOCATE FILIAIS1810 DEALLOCATE FILIAIS26 END /* FILIAIS R/1805 LOCALIZACOES_PRODUTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1805 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1805 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1805 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOCALIZACOES_PRODUTO SET LOCALIZACOES_PRODUTO.FILIAL=@insFILIAL WHERE LOCALIZACOES_PRODUTO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1805 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1805 CLOSE FILIAIS26 DEALLOCATE FILIAIS1805 DEALLOCATE FILIAIS26 END /* FILIAIS R/1693 PRODUCAO_ORDEM_SERVICO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1693 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1693 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1693 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERVICO SET PRODUCAO_ORDEM_SERVICO.FILIAL=@insFILIAL WHERE PRODUCAO_ORDEM_SERVICO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1693 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1693 CLOSE FILIAIS26 DEALLOCATE FILIAIS1693 DEALLOCATE FILIAIS26 END /* FILIAIS R/1641 ESTOQUE_PROD_ENT ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1641 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1641 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1641 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_ENT SET ESTOQUE_PROD_ENT.FILIAL_ORIGEM=@insFILIAL WHERE ESTOQUE_PROD_ENT.FILIAL_ORIGEM = @delFILIAL FETCH NEXT FROM FILIAIS1641 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1641 CLOSE FILIAIS26 DEALLOCATE FILIAIS1641 DEALLOCATE FILIAIS26 END /* FILIAIS R/1640 ESTOQUE_PROD_SAI ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1640 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1640 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1640 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_SAI SET ESTOQUE_PROD_SAI.FILIAL_DESTINO=@insFILIAL WHERE ESTOQUE_PROD_SAI.FILIAL_DESTINO = @delFILIAL FETCH NEXT FROM FILIAIS1640 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1640 CLOSE FILIAIS26 DEALLOCATE FILIAIS1640 DEALLOCATE FILIAIS26 END /* FILIAIS R/1639 ENTRADAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1639 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1639 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1639 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.FILIAL_ENTRADA=@insFILIAL WHERE ENTRADAS.FILIAL_ENTRADA = @delFILIAL FETCH NEXT FROM FILIAIS1639 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1639 CLOSE FILIAIS26 DEALLOCATE FILIAIS1639 DEALLOCATE FILIAIS26 END /* FILIAIS R/1638 FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1638 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1638 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1638 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.FILIAL_FATURADA=@insFILIAL WHERE FATURAMENTO.FILIAL_FATURADA = @delFILIAL FETCH NEXT FROM FILIAIS1638 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1638 CLOSE FILIAIS26 DEALLOCATE FILIAIS1638 DEALLOCATE FILIAIS26 END /* FILIAIS R/1601 LOJAS_PREVISAO_VENDAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1601 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1601 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1601 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJAS_PREVISAO_VENDAS SET LOJAS_PREVISAO_VENDAS.FILIAL=@insFILIAL WHERE LOJAS_PREVISAO_VENDAS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1601 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1601 CLOSE FILIAIS26 DEALLOCATE FILIAIS1601 DEALLOCATE FILIAIS26 END /* FILIAIS R/1599 ESTOQUE_PRODUTOS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1599 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1599 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1599 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PRODUTOS_HISTORICO SET ESTOQUE_PRODUTOS_HISTORICO.FILIAL=@insFILIAL WHERE ESTOQUE_PRODUTOS_HISTORICO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1599 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1599 CLOSE FILIAIS26 DEALLOCATE FILIAIS1599 DEALLOCATE FILIAIS26 END /* FILIAIS R/1557 CLIENTE_VAR_SAC ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1557 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1557 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1557 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_SAC SET CLIENTE_VAR_SAC.FILIAL=@insFILIAL WHERE CLIENTE_VAR_SAC.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1557 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1557 CLOSE FILIAIS26 DEALLOCATE FILIAIS1557 DEALLOCATE FILIAIS26 END /* FILIAIS R/1396 LOJA_RESERVA ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1396 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1396 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1396 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA SET LOJA_RESERVA.FILIAL=@insFILIAL WHERE LOJA_RESERVA.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1396 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1396 CLOSE FILIAIS26 DEALLOCATE FILIAIS1396 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_MATERIAIS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1323 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1323 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1323 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MATERIAIS_HISTORICO SET ESTOQUE_MATERIAIS_HISTORICO.FILIAL=@insFILIAL WHERE ESTOQUE_MATERIAIS_HISTORICO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1323 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1323 CLOSE FILIAIS26 DEALLOCATE FILIAIS1323 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL_DESTINO LOJA_SAIDAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1175 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1175 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1175 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_SAIDAS SET LOJA_SAIDAS.FILIAL_DESTINO=@insFILIAL WHERE LOJA_SAIDAS.FILIAL_DESTINO = @delFILIAL FETCH NEXT FROM FILIAIS1175 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1175 CLOSE FILIAIS26 DEALLOCATE FILIAIS1175 DEALLOCATE FILIAIS26 END /* FILIAIS R/1174 LOJA_SAIDAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1174 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1174 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1174 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_SAIDAS SET LOJA_SAIDAS.FILIAL=@insFILIAL WHERE LOJA_SAIDAS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1174 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1174 CLOSE FILIAIS26 DEALLOCATE FILIAIS1174 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL_ORIGEM LOJA_ENTRADAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1171 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1171 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1171 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS SET LOJA_ENTRADAS.FILIAL_ORIGEM=@insFILIAL WHERE LOJA_ENTRADAS.FILIAL_ORIGEM = @delFILIAL FETCH NEXT FROM FILIAIS1171 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1171 CLOSE FILIAIS26 DEALLOCATE FILIAIS1171 DEALLOCATE FILIAIS26 END /* FILIAIS R/1170 LOJA_ENTRADAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1170 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1170 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1170 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS SET LOJA_ENTRADAS.FILIAL=@insFILIAL WHERE LOJA_ENTRADAS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1170 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1170 CLOSE FILIAIS26 DEALLOCATE FILIAIS1170 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL CONTAS_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1159 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1159 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1159 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANCAMENTOS SET CONTAS_LANCAMENTOS.FILIAL=@insFILIAL WHERE CONTAS_LANCAMENTOS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1159 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1159 CLOSE FILIAIS26 DEALLOCATE FILIAIS1159 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS LOJAS_VAREJO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1112 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1112 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1112 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJAS_VAREJO SET LOJAS_VAREJO.FILIAL=@insFILIAL WHERE LOJAS_VAREJO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1112 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1112 CLOSE FILIAIS26 DEALLOCATE FILIAIS1112 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_PROD_CONTAGEM ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1052 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1052 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1052 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CONTAGEM SET ESTOQUE_PROD_CONTAGEM.FILIAL=@insFILIAL WHERE ESTOQUE_PROD_CONTAGEM.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1052 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1052 CLOSE FILIAIS26 DEALLOCATE FILIAIS1052 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS1029 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS1029 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS1029 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.FILIAL=@insFILIAL WHERE A_RECEBER_CHEQUES.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS1029 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS1029 CLOSE FILIAIS26 DEALLOCATE FILIAIS1029 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_MAT_CONTAGEM ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS960 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS960 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS960 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_CONTAGEM SET ESTOQUE_MAT_CONTAGEM.FILIAL=@insFILIAL WHERE ESTOQUE_MAT_CONTAGEM.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS960 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS960 CLOSE FILIAIS26 DEALLOCATE FILIAIS960 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS FATURAMENTO_SEQUENCIAIS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS954 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS954 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS954 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_SEQUENCIAIS SET FATURAMENTO_SEQUENCIAIS.FILIAL=@insFILIAL WHERE FATURAMENTO_SEQUENCIAIS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS954 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS954 CLOSE FILIAIS26 DEALLOCATE FILIAIS954 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS VENDAS_PROD_EMBALADO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS931 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS931 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS931 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PROD_EMBALADO SET VENDAS_PROD_EMBALADO.FILIAL=@insFILIAL WHERE VENDAS_PROD_EMBALADO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS931 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS931 CLOSE FILIAIS26 DEALLOCATE FILIAIS931 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_PROD_SAI ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS872 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS872 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS872 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_SAI SET ESTOQUE_PROD_SAI.FILIAL=@insFILIAL WHERE ESTOQUE_PROD_SAI.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS872 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS872 CLOSE FILIAIS26 DEALLOCATE FILIAIS872 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_PROD_ENT ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS871 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS871 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS871 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_ENT SET ESTOQUE_PROD_ENT.FILIAL=@insFILIAL WHERE ESTOQUE_PROD_ENT.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS871 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS871 CLOSE FILIAIS26 DEALLOCATE FILIAIS871 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_SAI_MAT ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS814 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS814 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS814 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI_MAT SET ESTOQUE_SAI_MAT.FILIAL=@insFILIAL WHERE ESTOQUE_SAI_MAT.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS814 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS814 CLOSE FILIAIS26 DEALLOCATE FILIAIS814 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ROMANEIOS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS767 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS767 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS767 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ROMANEIOS SET ROMANEIOS.FILIAL=@insFILIAL WHERE ROMANEIOS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS767 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS767 CLOSE FILIAIS26 DEALLOCATE FILIAIS767 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_PRODUTOS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS397 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS397 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS397 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PRODUTOS SET ESTOQUE_PRODUTOS.FILIAL=@insFILIAL WHERE ESTOQUE_PRODUTOS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS397 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS397 CLOSE FILIAIS26 DEALLOCATE FILIAIS397 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_MATERIAIS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS66 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS66 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS66 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MATERIAIS SET ESTOQUE_MATERIAIS.FILIAL=@insFILIAL WHERE ESTOQUE_MATERIAIS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS66 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS66 CLOSE FILIAIS26 DEALLOCATE FILIAIS66 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS CLIENTES_VAREJO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS133 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS133 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS133 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAREJO SET CLIENTES_VAREJO.FILIAL=@insFILIAL WHERE CLIENTES_VAREJO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS133 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS133 CLOSE FILIAIS26 DEALLOCATE FILIAIS133 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL_A_COBRAR COMPRAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS242 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS242 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS242 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.FILIAL_COBRANCA=@insFILIAL WHERE COMPRAS.FILIAL_COBRANCA = @delFILIAL FETCH NEXT FROM FILIAIS242 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS242 CLOSE FILIAIS26 DEALLOCATE FILIAIS242 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL_A_FATURAR COMPRAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS13 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS13 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS13 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.FILIAL_A_FATURAR=@insFILIAL WHERE COMPRAS.FILIAL_A_FATURAR = @delFILIAL FETCH NEXT FROM FILIAIS13 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS13 CLOSE FILIAIS26 DEALLOCATE FILIAIS13 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAL_A_ENTREGAR COMPRAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS11 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS11 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS11 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.FILIAL_A_ENTREGAR=@insFILIAL WHERE COMPRAS.FILIAL_A_ENTREGAR = @delFILIAL FETCH NEXT FROM FILIAIS11 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS11 CLOSE FILIAIS26 DEALLOCATE FILIAIS11 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS A_PAGAR_FATURA ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS59 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS59 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS59 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA SET A_PAGAR_FATURA.FILIAL=@insFILIAL WHERE A_PAGAR_FATURA.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS59 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS59 CLOSE FILIAIS26 DEALLOCATE FILIAIS59 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ENTRADAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS20 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS20 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS20 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.FILIAL=@insFILIAL WHERE ENTRADAS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS20 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS20 CLOSE FILIAIS26 DEALLOCATE FILIAIS20 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS FATURAMENTO ON PARENT UPDATE RESTRICT */ if update(FILIAL) begin if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.FILIAL = deleted.FILIAL ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #FILIAIS #porque existem registros em #FATURAMENTO#.'' goto error end end /* FILIAIS FILIAIS A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS376 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS376 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS376 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.FILIAL=@insFILIAL WHERE A_RECEBER_FATURA.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS376 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS376 CLOSE FILIAIS26 DEALLOCATE FILIAIS376 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS VENDAS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS287 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS287 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS287 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.FILIAL=@insFILIAL WHERE VENDAS.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS287 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS287 CLOSE FILIAIS26 DEALLOCATE FILIAIS287 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS ESTOQUE_RET_MAT ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS70 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS70 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS70 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET_MAT SET ESTOQUE_RET_MAT.FILIAL=@insFILIAL WHERE ESTOQUE_RET_MAT.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS70 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS70 CLOSE FILIAIS26 DEALLOCATE FILIAIS70 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS454 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS454 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS454 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.FILIAL=@insFILIAL WHERE PRODUCAO_ORDEM.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS454 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS454 CLOSE FILIAIS26 DEALLOCATE FILIAIS454 DEALLOCATE FILIAIS26 END /* FILIAIS FILIAIS CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS419 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS419 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS419 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.FILIAL=@insFILIAL WHERE CLIENTES_ATACADO.FILIAL = @delFILIAL FETCH NEXT FROM FILIAIS419 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS419 CLOSE FILIAIS26 DEALLOCATE FILIAIS419 DEALLOCATE FILIAIS26 END /* FILIAIS MATRIZ FILIAIS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE FILIAIS421 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE FILIAIS26 CURSOR FOR SELECT FILIAL FROM DELETED OPEN FILIAIS421 OPEN FILIAIS26 FETCH NEXT FROM FILIAIS421 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.MATRIZ=@insFILIAL WHERE FILIAIS.MATRIZ = @delFILIAL FETCH NEXT FROM FILIAIS421 INTO @insFILIAL FETCH NEXT FROM FILIAIS26 INTO @delFILIAL END END CLOSE FILIAIS421 CLOSE FILIAIS26 DEALLOCATE FILIAIS421 DEALLOCATE FILIAIS26 END /*--- UPDATE COD_FILIAL -------------------------------------------------------------------------------*/ UPDATE FILIAIS SET COD_FILIAL=INSERTED.CLIFOR FROM INSERTED JOIN FILIAIS ON INSERTED.FILIAL=FILIAIS.FILIAL WHERE INSERTED.COD_FILIAL IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FILIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FILIAIS, INSERTED WHERE FILIAIS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FILIAIS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[FILIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[EMPRESA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[CLIFOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[FILIAL_PROPRIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[CGC_CPF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[REGIAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[ESTOQUE_CTRL_PECA_UNICA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[ESTOQUE_CTRL_PECA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[FILIAIS].[SEQUENCIA_PECAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[TEMPO_ATENDIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FILIAIS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FILIAIS].[NAO_GERA_ENTRADA_LOJA_AUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[FATOR_CUSTO_LOJA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[PERMITE_EST_NEGATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_ESTOQUE_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_ESTOQUE_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_LOJA_VAREJO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_PRODUCAO_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_VENDA_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_VENDA_MATERIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FILIAIS].[CTRL_PRODUCAO_MATERIAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_PAGAR_FATURA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_PAGAR_FATURA]( [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [TIPO] [varchar](25) NOT NULL, [DOCUMENTO] [varchar](20) NULL, [EMISSAO] [datetime] NULL, [VALOR_FATURA] [numeric](14, 2) NULL, [VALOR_A_PAGAR] [numeric](14, 2) NULL, [FATURA_OK] [bit] NOT NULL, [POSSUI_ENTRADA] [bit] NOT NULL, [PROVISAO] [bit] NOT NULL, [COMPLEMENTO_NOME] [varchar](40) NULL, [JUROS_POR_ATRASO] [real] NULL, [CAMBIO_NA_DATA_EMISSAO] [numeric](10, 6) NULL, [CENTRO_CUSTO] [varchar](25) NULL, [DATA_ENTRADA] [datetime] NULL, [NUMERO_ENTRADA] [int] NULL, CONSTRAINT [XPKA_PAGAR_FATURA] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [NOME_CLIFOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_FATURA]') AND name = N'XIE1A_PAGAR_FATURA') CREATE NONCLUSTERED INDEX [XIE1A_PAGAR_FATURA] ON [A_PAGAR_FATURA] ( [VALOR_A_PAGAR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_FATURA]') AND name = N'XIE2A_PAGAR_FATURA') CREATE NONCLUSTERED INDEX [XIE2A_PAGAR_FATURA] ON [A_PAGAR_FATURA] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_A_PAGAR_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_A_PAGAR_FATURA] on [A_PAGAR_FATURA] for DELETE as /* DELETE trigger on A_PAGAR_FATURA */ begin declare @errno int, @errmsg varchar(255) /* A_PAGAR_FATURA R/1800 A_PAGAR_FATURA_CENTROS ON PARENT DELETE CASCADE */ delete A_PAGAR_FATURA_CENTROS from A_PAGAR_FATURA_CENTROS,deleted where A_PAGAR_FATURA_CENTROS.FATURA = deleted.FATURA and A_PAGAR_FATURA_CENTROS.NOME_CLIFOR = deleted.NOME_CLIFOR /* A_PAGAR_FATURA A_PAGAR_FATURA A_PAGAR_PARCELA ON PARENT DELETE CASCADE */ delete A_PAGAR_PARCELA from A_PAGAR_PARCELA,deleted where A_PAGAR_PARCELA.FATURA = deleted.FATURA and A_PAGAR_PARCELA.NOME_CLIFOR = deleted.NOME_CLIFOR return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_PAGAR_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_PAGAR_FATURA] on [A_PAGAR_FATURA] for INSERT as /* INSERT trigger on A_PAGAR_FATURA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_TITULO TIPOS_TITULO A_PAGAR_FATURA ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA #porque #TIPOS_TITULO #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_PAGAR_FATURA ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* MOEDAS MOEDAS A_PAGAR_FATURA ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS A_PAGAR_FATURA ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_PAGAR_FATURA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_PAGAR_FATURA] on [A_PAGAR_FATURA] for UPDATE as /* UPDATE trigger on A_PAGAR_FATURA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insNOME_CLIFOR varchar(25), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_FATURA R/1800 A_PAGAR_FATURA_CENTROS ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) BEGIN DECLARE A_PAGAR_FATURA1800 CURSOR FOR SELECT FATURA, NOME_CLIFOR FROM INSERTED DECLARE A_PAGAR_FATURA59 CURSOR FOR SELECT FATURA, NOME_CLIFOR FROM DELETED OPEN A_PAGAR_FATURA1800 OPEN A_PAGAR_FATURA59 FETCH NEXT FROM A_PAGAR_FATURA1800 INTO @insFATURA, @insNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA59 INTO @delFATURA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA_CENTROS SET A_PAGAR_FATURA_CENTROS.FATURA=@insFATURA, A_PAGAR_FATURA_CENTROS.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_PAGAR_FATURA_CENTROS.FATURA = @delFATURA and A_PAGAR_FATURA_CENTROS.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA1800 INTO @insFATURA, @insNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA59 INTO @delFATURA, @delNOME_CLIFOR END END CLOSE A_PAGAR_FATURA1800 CLOSE A_PAGAR_FATURA59 DEALLOCATE A_PAGAR_FATURA1800 DEALLOCATE A_PAGAR_FATURA59 END /* A_PAGAR_FATURA A_PAGAR_FATURA A_PAGAR_PARCELA ON PARENT UPDATE CASCADE */ IF update(FATURA) OR update(NOME_CLIFOR) BEGIN DECLARE A_PAGAR_FATURA57 CURSOR FOR SELECT FATURA, NOME_CLIFOR FROM INSERTED DECLARE A_PAGAR_FATURA59 CURSOR FOR SELECT FATURA, NOME_CLIFOR FROM DELETED OPEN A_PAGAR_FATURA57 OPEN A_PAGAR_FATURA59 FETCH NEXT FROM A_PAGAR_FATURA57 INTO @insFATURA, @insNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA59 INTO @delFATURA, @delNOME_CLIFOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_PARCELA SET A_PAGAR_PARCELA.FATURA=@insFATURA, A_PAGAR_PARCELA.NOME_CLIFOR=@insNOME_CLIFOR WHERE A_PAGAR_PARCELA.FATURA = @delFATURA and A_PAGAR_PARCELA.NOME_CLIFOR = @delNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA57 INTO @insFATURA, @insNOME_CLIFOR FETCH NEXT FROM A_PAGAR_FATURA59 INTO @delFATURA, @delNOME_CLIFOR END END CLOSE A_PAGAR_FATURA57 CLOSE A_PAGAR_FATURA59 DEALLOCATE A_PAGAR_FATURA57 DEALLOCATE A_PAGAR_FATURA59 END /* TIPOS_TITULO TIPOS_TITULO A_PAGAR_FATURA ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA #porque #TIPOS_TITULO #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR A_PAGAR_FATURA ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* MOEDAS MOEDAS A_PAGAR_FATURA ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA #porque #MOEDAS #não existe.'' goto error end end /* FILIAIS FILIAIS A_PAGAR_FATURA ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[A_PAGAR_FATURA].[DOCUMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA].[VALOR_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA].[VALOR_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA].[FATURA_OK]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA].[POSSUI_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA].[PROVISAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[A_PAGAR_FATURA].[COMPLEMENTO_NOME]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[A_PAGAR_FATURA].[CAMBIO_NA_DATA_EMISSAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_LOTE_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_LOTE_PROD]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [PEDIDO_EXTERNO] [char](12) NOT NULL, [SEQUENCIAL_DIGITACAO] [smallint] NOT NULL, [PACKS] [varchar](24) NOT NULL, [NUMERO_CONJUNTO] [smallint] NOT NULL, [NUMERO_ENTREGA] [char](2) NOT NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [STATUS_VENDA_ATUAL] [char](1) NULL, [QTDE_ORIGINAL] [int] NOT NULL, [VALOR_ORIGINAL] [numeric](14, 2) NOT NULL, [PRECO1] [numeric](14, 2) NOT NULL, [PRECO2] [numeric](14, 2) NOT NULL, [PRECO3] [numeric](14, 2) NOT NULL, [PRECO4] [numeric](14, 2) NOT NULL, [DESCONTO_ITEM] [numeric](14, 2) NOT NULL, [IPI] [real] NOT NULL, [VO1] [int] NULL, [VO2] [int] NULL, [VO3] [int] NULL, [VO4] [int] NULL, [VO5] [int] NULL, [VO6] [int] NULL, [VO7] [int] NULL, [VO8] [int] NULL, [VO9] [int] NULL, [VO10] [int] NULL, [VO11] [int] NULL, [VO12] [int] NULL, [VO13] [int] NULL, [VO14] [int] NULL, [VO15] [int] NULL, [VO16] [int] NULL, [VO17] [int] NULL, [VO18] [int] NULL, [VO19] [int] NULL, [VO20] [int] NULL, [VO21] [int] NULL, [VO22] [int] NULL, [VO23] [int] NULL, [VO24] [int] NULL, [VO25] [int] NULL, [VO26] [int] NULL, [VO27] [int] NULL, [VO28] [int] NULL, [VO29] [int] NULL, [VO30] [int] NULL, [VO31] [int] NULL, [VO32] [int] NULL, [VO33] [int] NULL, [VO34] [int] NULL, [VO35] [int] NULL, [VO36] [int] NULL, [VO37] [int] NULL, [VO38] [int] NULL, [VO39] [int] NULL, [VO40] [int] NULL, [VO41] [int] NULL, [VO42] [int] NULL, [VO43] [int] NULL, [VO44] [int] NULL, [VO45] [int] NULL, [VO46] [int] NULL, [VO47] [int] NULL, [VO48] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKVENDAS_LOTE_PROD] PRIMARY KEY NONCLUSTERED ( [PEDIDO_EXTERNO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_LOTE_PROD]') AND name = N'XIE1VENDAS_LOTE_PROD') CREATE NONCLUSTERED INDEX [XIE1VENDAS_LOTE_PROD] ON [VENDAS_LOTE_PROD] ( [PEDIDO_EXTERNO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_LOTE_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_LOTE_PROD] on [VENDAS_LOTE_PROD] for INSERT as /* INSERT trigger on VENDAS_LOTE_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_LOTE R/1412 VENDAS_LOTE_PROD ON CHILD INSERT RESTRICT */ if update(PEDIDO_EXTERNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_LOTE where inserted.PEDIDO_EXTERNO = VENDAS_LOTE.PEDIDO_EXTERNO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE_PROD #porque #VENDAS_LOTE #não existe.'' goto error end end /* PRODUTO_CORES R/1404 VENDAS_LOTE_PROD ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE VENDAS_LOTE_PROD SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE_PROD, INSERTED WHERE VENDAS_LOTE_PROD.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO and VENDAS_LOTE_PROD.PRODUTO = INSERTED.PRODUTO and VENDAS_LOTE_PROD.COR_PRODUTO = INSERTED.COR_PRODUTO and VENDAS_LOTE_PROD.ENTREGA = INSERTED.ENTREGA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_LOTE_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_LOTE_PROD] on [VENDAS_LOTE_PROD] for UPDATE as /* UPDATE trigger on VENDAS_LOTE_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO_EXTERNO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @delPEDIDO_EXTERNO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_LOTE R/1412 VENDAS_LOTE_PROD ON CHILD UPDATE RESTRICT */ if update(PEDIDO_EXTERNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_LOTE where inserted.PEDIDO_EXTERNO = VENDAS_LOTE.PEDIDO_EXTERNO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE_PROD #porque #VENDAS_LOTE #não existe.'' goto error end end /* PRODUTO_CORES R/1404 VENDAS_LOTE_PROD ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_LOTE_PROD SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE_PROD, INSERTED WHERE VENDAS_LOTE_PROD.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO and VENDAS_LOTE_PROD.PRODUTO = INSERTED.PRODUTO and VENDAS_LOTE_PROD.COR_PRODUTO = INSERTED.COR_PRODUTO and VENDAS_LOTE_PROD.ENTREGA = INSERTED.ENTREGA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_LOTE_PROD.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[SEQUENCIAL_DIGITACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE_PROD].[PACKS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[VENDAS_LOTE_PROD].[NUMERO_ENTREGA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_PROD].[VO48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_LOTE_PROD].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_TAMANHOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_TAMANHOS]( [GRADE] [varchar](25) NOT NULL, [NUMERO_TAMANHOS] [tinyint] NOT NULL, [NUMERO_QUEBRAS] [tinyint] NOT NULL, [QUEBRA_1] [char](1) NULL, [QUEBRA_2] [char](1) NULL, [QUEBRA_3] [char](1) NULL, [QUEBRA_4] [char](1) NULL, [QUEBRA_5] [char](1) NULL, [TAMANHO_1] [varchar](8) NULL, [TAMANHO_2] [varchar](8) NULL, [TAMANHO_3] [varchar](8) NULL, [TAMANHO_4] [varchar](8) NULL, [TAMANHO_5] [varchar](8) NULL, [TAMANHO_6] [varchar](8) NULL, [TAMANHO_7] [varchar](8) NULL, [TAMANHO_8] [varchar](8) NULL, [TAMANHO_9] [varchar](8) NULL, [TAMANHO_10] [varchar](8) NULL, [TAMANHO_11] [varchar](8) NULL, [TAMANHO_12] [varchar](8) NULL, [TAMANHO_13] [varchar](8) NULL, [TAMANHO_14] [varchar](8) NULL, [TAMANHO_15] [varchar](8) NULL, [TAMANHO_16] [varchar](8) NULL, [TAMANHO_17] [varchar](8) NULL, [TAMANHO_18] [varchar](8) NULL, [TAMANHO_19] [varchar](8) NULL, [TAMANHO_20] [varchar](8) NULL, [TAMANHO_21] [varchar](8) NULL, [TAMANHO_22] [varchar](8) NULL, [TAMANHO_23] [varchar](8) NULL, [TAMANHO_24] [varchar](8) NULL, [TAMANHO_25] [varchar](8) NULL, [TAMANHO_26] [varchar](8) NULL, [TAMANHO_27] [varchar](8) NULL, [TAMANHO_28] [varchar](8) NULL, [TAMANHO_29] [varchar](8) NULL, [TAMANHO_30] [varchar](8) NULL, [TAMANHO_31] [varchar](8) NULL, [TAMANHO_32] [varchar](8) NULL, [TAMANHO_33] [varchar](8) NULL, [TAMANHO_34] [varchar](8) NULL, [TAMANHO_35] [varchar](8) NULL, [TAMANHO_36] [varchar](8) NULL, [TAMANHO_37] [varchar](8) NULL, [TAMANHO_38] [varchar](8) NULL, [TAMANHO_39] [varchar](8) NULL, [TAMANHO_40] [varchar](8) NULL, [TAMANHO_41] [varchar](8) NULL, [TAMANHO_42] [varchar](8) NULL, [TAMANHO_43] [varchar](8) NULL, [TAMANHO_44] [varchar](8) NULL, [TAMANHO_45] [varchar](8) NULL, [TAMANHO_46] [varchar](8) NULL, [TAMANHO_47] [varchar](8) NULL, [TAMANHO_48] [varchar](8) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [GRADE_BASE] [varchar](25) NULL, [TAMANHOS_DIGITADOS] [tinyint] NULL, CONSTRAINT [XPKPRODUTOS_TAMANHOS] PRIMARY KEY NONCLUSTERED ( [GRADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_TAMANHOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_TAMANHOS] on [PRODUTOS_TAMANHOS] for DELETE as /* DELETE trigger on PRODUTOS_TAMANHOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_TAMANHOS R/2106 PRODUTOS_TAMANHOS_PAISES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAMANHOS_PAISES where PRODUTOS_TAMANHOS_PAISES.GRADE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #PRODUTOS_TAMANHOS_PAISES#.'' goto error end /* PRODUTOS_TAMANHOS R/1970 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.GRADE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_TAMANHOS R/1811 PRODUTOS_TAMANHOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAMANHOS where PRODUTOS_TAMANHOS.GRADE_BASE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #PRODUTOS_TAMANHOS#.'' goto error end /* PRODUTOS_TAMANHOS R/1721 PRODUTOS_DROPS ON PARENT DELETE CASCADE */ delete PRODUTOS_DROPS from PRODUTOS_DROPS,deleted where PRODUTOS_DROPS.GRADE = deleted.GRADE /* PRODUTOS_TAMANHOS R/1345 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.GRADE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS_TAB_MEDIDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAB_MEDIDAS where PRODUTOS_TAB_MEDIDAS.GRADE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #PRODUTOS_TAB_MEDIDAS#.'' goto error end /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHO PRODUTOS_PACKS ON PARENT DELETE CASCADE */ delete PRODUTOS_PACKS from PRODUTOS_PACKS,deleted where PRODUTOS_PACKS.GRADE = deleted.GRADE /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.GRADE = deleted.GRADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TAMANHOS #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_TAMANHOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_TAMANHOS] on [PRODUTOS_TAMANHOS] for INSERT as /* INSERT trigger on PRODUTOS_TAMANHOS */ /* default body for LXI_PRODUTOS_TAMANHOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS R/1811 PRODUTOS_TAMANHOS ON CHILD INSERT RESTRICT */ if update(GRADE_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE_BASE = PRODUTOS_TAMANHOS.GRADE select @nullcnt = count(*) from inserted where inserted.GRADE_BASE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_TAMANHOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_TAMANHOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAMANHOS, INSERTED WHERE PRODUTOS_TAMANHOS.GRADE = INSERTED.GRADE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_TAMANHOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_TAMANHOS] on [PRODUTOS_TAMANHOS] for UPDATE as /* UPDATE trigger on PRODUTOS_TAMANHOS */ /* default body for LXU_PRODUTOS_TAMANHOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRADE varchar(25), @delGRADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS R/1811 PRODUTOS_TAMANHOS ON CHILD UPDATE RESTRICT */ if update(GRADE_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE_BASE = PRODUTOS_TAMANHOS.GRADE select @nullcnt = count(*) from inserted where inserted.GRADE_BASE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_TAMANHOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /* PRODUTOS_TAMANHOS R/2106 PRODUTOS_TAMANHOS_PAISES ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS2106 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS2106 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS2106 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAMANHOS_PAISES SET PRODUTOS_TAMANHOS_PAISES.GRADE=@insGRADE WHERE PRODUTOS_TAMANHOS_PAISES.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS2106 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS2106 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS2106 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS R/1811 PRODUTOS_TAMANHOS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS1811 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS1811 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS1811 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAMANHOS SET PRODUTOS_TAMANHOS.GRADE_BASE=@insGRADE WHERE PRODUTOS_TAMANHOS.GRADE_BASE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS1811 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS1811 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS1811 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS R/1721 PRODUTOS_DROPS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS1721 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS1721 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS1721 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_DROPS SET PRODUTOS_DROPS.GRADE=@insGRADE WHERE PRODUTOS_DROPS.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS1721 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS1721 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS1721 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS R/1345 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS1345 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS1345 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS1345 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.GRADE=@insGRADE WHERE ORCAMENTOS.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS1345 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS1345 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS1345 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS_TAB_MEDIDAS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS936 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS936 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS936 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAB_MEDIDAS SET PRODUTOS_TAB_MEDIDAS.GRADE=@insGRADE WHERE PRODUTOS_TAB_MEDIDAS.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS936 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS936 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS936 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHO PRODUTOS_PACKS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS714 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS714 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS714 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PACKS SET PRODUTOS_PACKS.GRADE=@insGRADE WHERE PRODUTOS_PACKS.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS714 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS714 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS714 DEALLOCATE PRODUTOS_TAMANHOS44 END /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHOS PRODUTOS ON PARENT UPDATE CASCADE */ IF update(GRADE) BEGIN DECLARE PRODUTOS_TAMANHOS47 CURSOR FOR SELECT GRADE FROM INSERTED DECLARE PRODUTOS_TAMANHOS44 CURSOR FOR SELECT GRADE FROM DELETED OPEN PRODUTOS_TAMANHOS47 OPEN PRODUTOS_TAMANHOS44 FETCH NEXT FROM PRODUTOS_TAMANHOS47 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.GRADE=@insGRADE WHERE PRODUTOS.GRADE = @delGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS47 INTO @insGRADE FETCH NEXT FROM PRODUTOS_TAMANHOS44 INTO @delGRADE END END CLOSE PRODUTOS_TAMANHOS47 CLOSE PRODUTOS_TAMANHOS44 DEALLOCATE PRODUTOS_TAMANHOS47 DEALLOCATE PRODUTOS_TAMANHOS44 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_TAMANHOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TAMANHOS, INSERTED WHERE PRODUTOS_TAMANHOS.GRADE = INSERTED.GRADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_TAMANHOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[QUEBRA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[QUEBRA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[QUEBRA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[QUEBRA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[QUEBRA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUTOS_TAMANHOS].[TAMANHO_48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_TAMANHOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_TAREFAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_TAREFAS]( [TAREFA] [char](10) NOT NULL, [SEQUENCIA_PRODUTIVA] [char](5) NOT NULL, [SETOR_PARALELO_NUMERO] [char](1) NOT NULL, [SEQUENCIA_ANTERIOR] [varchar](25) NULL, [RECURSO_PRODUTIVO] [char](5) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [INICIO_LIBERADO] [datetime] NOT NULL, [INICIO_PREVISTO] [datetime] NOT NULL, [INICIO_REAL] [datetime] NULL, [FIM_PREVISTO] [datetime] NULL, [FIM_ATUALIZADO] [datetime] NULL, [ENCERRAMENTO] [datetime] NULL, [TEMPO_PREPARACAO] [numeric](7, 2) NULL, [QTDE_PREVISTA] [int] NOT NULL, [QTDE_A_PRODUZIR] [int] NOT NULL, [QTDE_EM_PROCESSO] [int] NULL, [QTDE_FINALIZADA] [int] NULL, [QTDE_ALTERACAO_OP] [int] NULL, [QTDE_PERDAS] [int] NULL, [QTDE_ALT_OUTRAS_TAREFAS] [int] NULL, [TEMPO_OPERACAO] [numeric](7, 2) NULL, [CUSTO_TAREFA] [numeric](14, 2) NULL, [DESCONTOS_TAREFA] [numeric](14, 2) NULL, [VALOR_TAREFA] [numeric](14, 2) NULL, [STATUS] [char](1) NULL, [UNIDADE_TEMPO] [char](1) NULL, [TIPO_TEMPO_PROCESSO] [char](1) NULL, [METODO_LOTE] [char](1) NOT NULL, [METODO_LOTE_QTDE] [int] NULL, [OBS] [text] NULL, [TIPO_TAREFA] [char](1) NULL, [CONTROLE] [int] NULL, [QTDE_SEGUNDA] [int] NULL, [BAIXA_AUTOMATICA_MATERIAL] [tinyint] NULL, [PARTE_PRODUTO] [varchar](10) NULL, CONSTRAINT [XPKPRODUCAO_TAREFAS] PRIMARY KEY NONCLUSTERED ( [TAREFA] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_TAREFAS]') AND name = N'XAK1PRODUCAO_TAREFAS') CREATE UNIQUE NONCLUSTERED INDEX [XAK1PRODUCAO_TAREFAS] ON [PRODUCAO_TAREFAS] ( [ORDEM_PRODUCAO] ASC, [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC, [RECURSO_PRODUTIVO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_TAREFAS]') AND name = N'XIE1PRODUCAO_TAREFAS') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_TAREFAS] ON [PRODUCAO_TAREFAS] ( [QTDE_A_PRODUZIR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_TAREFAS]') AND name = N'XIE2PRODUCAO_TAREFAS') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_TAREFAS] ON [PRODUCAO_TAREFAS] ( [QTDE_EM_PROCESSO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_TAREFAS] on [PRODUCAO_TAREFAS] for DELETE as /* DELETE trigger on PRODUCAO_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @delTAREFA char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_TAREFAS R/1914 PRODUCAO_OS_SEGUNDA ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_SEGUNDA from PRODUCAO_OS_SEGUNDA,deleted where PRODUCAO_OS_SEGUNDA.TAREFA = deleted.TAREFA /* PRODUCAO_TAREFAS R/1655 PRODUCAO_OS_TAREFAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_OS_TAREFAS where PRODUCAO_OS_TAREFAS.TAREFA_PARALELA = deleted.TAREFA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_TAREFAS #porque existem registros em #PRODUCAO_OS_TAREFAS#.'' goto error end /* PRODUCAO_TAREFAS R/1650 ESTOQUE_PROD1_ENT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_PROD1_ENT where ESTOQUE_PROD1_ENT.TAREFA = deleted.TAREFA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_TAREFAS #porque existem registros em #ESTOQUE_PROD1_ENT#.'' goto error end /* PRODUCAO_TAREFAS R/1535 PRODUCAO_OS_TAREFAS ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_TAREFAS from PRODUCAO_OS_TAREFAS,deleted where PRODUCAO_OS_TAREFAS.TAREFA = deleted.TAREFA /* PRODUCAO_TAREFAS R/1517 PRODUCAO_TAREFAS_SALDO ON PARENT DELETE CASCADE */ delete PRODUCAO_TAREFAS_SALDO from PRODUCAO_TAREFAS_SALDO,deleted where PRODUCAO_TAREFAS_SALDO.TAREFA = deleted.TAREFA /* PRODUCAO_TAREFAS R/1590 PRODUCAO_OS_ANTERIOR ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_ANTERIOR from PRODUCAO_OS_ANTERIOR,deleted where PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR = deleted.TAREFA /* PRODUCAO_TAREFAS R/1594 PRODUCAO_OS_LOTES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_OS_LOTES where PRODUCAO_OS_LOTES.TAREFA = deleted.TAREFA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_TAREFAS #porque existem registros em #PRODUCAO_OS_LOTES#.'' goto error end /*--------------------------------------------------------------------------------------------------------------------*/ UPDATE C SET RESERVA_ORIGINAL=C.RESERVA_ORIGINAL FROM DELETED A JOIN MATERIAIS B ON B.FASE_PRODUCAO=A.FASE_PRODUCAO JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND C.MATERIAL=B.MATERIAL JOIN PRODUCAO_ORDEM D ON D.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO WHERE D.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_TAREFAS] on [PRODUCAO_TAREFAS] for INSERT as /* INSERT trigger on PRODUCAO_TAREFAS */ /* default body for LXI_PRODUCAO_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/1591 PRODUCAO_TAREFAS ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_TAREFAS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* PRODUCAO_ORDEM R/1590 PRODUCAO_TAREFAS ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_TAREFAS #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUCAO_SETOR R/1589 PRODUCAO_TAREFAS ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_TAREFAS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /*--LINX---------------------------------------------------------------------------------*/ IF (select count(*) from PRODUCAO_TAREFAS A,INSERTED B WHERE A.TAREFA = B.tarefa and A.QTDE_EM_PROCESSO > 0 )>0 UPDATE A SET STATUS = ''0'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa ELSE UPDATE A SET STATUS = ''1'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa /*--------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------*/ UPDATE C SET RESERVA_ORIGINAL=C.RESERVA_ORIGINAL FROM INSERTED A JOIN MATERIAIS B ON B.FASE_PRODUCAO=A.FASE_PRODUCAO JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND C.MATERIAL=B.MATERIAL JOIN PRODUCAO_ORDEM D ON D.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO WHERE D.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_TAREFAS] on [PRODUCAO_TAREFAS] for UPDATE as /* UPDATE trigger on PRODUCAO_TAREFAS */ /* default body for LXU_PRODUCAO_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @delTAREFA char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/1591 PRODUCAO_TAREFAS ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* PRODUCAO_ORDEM R/1590 PRODUCAO_TAREFAS ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUCAO_SETOR R/1589 PRODUCAO_TAREFAS ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1655 PRODUCAO_OS_TAREFAS ON PARENT UPDATE CASCADE */ IF update(TAREFA) BEGIN DECLARE PRODUCAO_TAREFAS1655 CURSOR FOR SELECT TAREFA FROM INSERTED DECLARE PRODUCAO_TAREFAS934 CURSOR FOR SELECT TAREFA FROM DELETED OPEN PRODUCAO_TAREFAS1655 OPEN PRODUCAO_TAREFAS934 FETCH NEXT FROM PRODUCAO_TAREFAS1655 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_TAREFAS SET PRODUCAO_OS_TAREFAS.TAREFA_PARALELA=@insTAREFA WHERE PRODUCAO_OS_TAREFAS.TAREFA_PARALELA = @delTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS1655 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA END END CLOSE PRODUCAO_TAREFAS1655 CLOSE PRODUCAO_TAREFAS934 DEALLOCATE PRODUCAO_TAREFAS1655 DEALLOCATE PRODUCAO_TAREFAS934 END /* PRODUCAO_TAREFAS R/1650 ESTOQUE_PROD1_ENT ON PARENT UPDATE CASCADE */ IF update(TAREFA) BEGIN DECLARE PRODUCAO_TAREFAS1650 CURSOR FOR SELECT TAREFA FROM INSERTED DECLARE PRODUCAO_TAREFAS934 CURSOR FOR SELECT TAREFA FROM DELETED OPEN PRODUCAO_TAREFAS1650 OPEN PRODUCAO_TAREFAS934 FETCH NEXT FROM PRODUCAO_TAREFAS1650 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD1_ENT SET ESTOQUE_PROD1_ENT.TAREFA=@insTAREFA WHERE ESTOQUE_PROD1_ENT.TAREFA = @delTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS1650 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA END END CLOSE PRODUCAO_TAREFAS1650 CLOSE PRODUCAO_TAREFAS934 DEALLOCATE PRODUCAO_TAREFAS1650 DEALLOCATE PRODUCAO_TAREFAS934 END /* PRODUCAO_TAREFAS R/1535 PRODUCAO_OS_TAREFAS ON PARENT UPDATE CASCADE */ IF update(TAREFA) BEGIN DECLARE PRODUCAO_TAREFAS1586 CURSOR FOR SELECT TAREFA FROM INSERTED DECLARE PRODUCAO_TAREFAS934 CURSOR FOR SELECT TAREFA FROM DELETED OPEN PRODUCAO_TAREFAS1586 OPEN PRODUCAO_TAREFAS934 FETCH NEXT FROM PRODUCAO_TAREFAS1586 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_TAREFAS SET PRODUCAO_OS_TAREFAS.TAREFA=@insTAREFA WHERE PRODUCAO_OS_TAREFAS.TAREFA = @delTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS1586 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA END END CLOSE PRODUCAO_TAREFAS1586 CLOSE PRODUCAO_TAREFAS934 DEALLOCATE PRODUCAO_TAREFAS1586 DEALLOCATE PRODUCAO_TAREFAS934 END /* PRODUCAO_TAREFAS R/1517 PRODUCAO_TAREFAS_SALDO ON PARENT UPDATE RESTRICT */ if update(TAREFA) begin if exists ( select * from deleted,PRODUCAO_TAREFAS_SALDO where PRODUCAO_TAREFAS_SALDO.TAREFA = deleted.TAREFA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUCAO_TAREFAS #porque existem registros em #PRODUCAO_TAREFAS_SALDO#.'' goto error end end /* PRODUCAO_TAREFAS R/1590 PRODUCAO_OS_ANTERIOR ON PARENT UPDATE CASCADE */ IF update(TAREFA) BEGIN DECLARE PRODUCAO_TAREFAS1583 CURSOR FOR SELECT TAREFA FROM INSERTED DECLARE PRODUCAO_TAREFAS934 CURSOR FOR SELECT TAREFA FROM DELETED OPEN PRODUCAO_TAREFAS1583 OPEN PRODUCAO_TAREFAS934 FETCH NEXT FROM PRODUCAO_TAREFAS1583 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_ANTERIOR SET PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR=@insTAREFA WHERE PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR = @delTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS1583 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA END END CLOSE PRODUCAO_TAREFAS1583 CLOSE PRODUCAO_TAREFAS934 DEALLOCATE PRODUCAO_TAREFAS1583 DEALLOCATE PRODUCAO_TAREFAS934 END /* PRODUCAO_TAREFAS R/1594 PRODUCAO_OS_LOTES ON PARENT UPDATE CASCADE */ IF update(TAREFA) BEGIN DECLARE PRODUCAO_TAREFAS1582 CURSOR FOR SELECT TAREFA FROM INSERTED DECLARE PRODUCAO_TAREFAS934 CURSOR FOR SELECT TAREFA FROM DELETED OPEN PRODUCAO_TAREFAS1582 OPEN PRODUCAO_TAREFAS934 FETCH NEXT FROM PRODUCAO_TAREFAS1582 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_LOTES SET PRODUCAO_OS_LOTES.TAREFA=@insTAREFA WHERE PRODUCAO_OS_LOTES.TAREFA = @delTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS1582 INTO @insTAREFA FETCH NEXT FROM PRODUCAO_TAREFAS934 INTO @delTAREFA END END CLOSE PRODUCAO_TAREFAS1582 CLOSE PRODUCAO_TAREFAS934 DEALLOCATE PRODUCAO_TAREFAS1582 DEALLOCATE PRODUCAO_TAREFAS934 END /*--LINX---------------------------------------------------------------------------------*/ IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA=B.TAREFA AND A.QTDE_EM_PROCESSO = 0 AND A.QTDE_A_PRODUZIR>0)>0 IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS A , INSERTED B WHERE A.TAREFA < B.TAREFA AND A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO) = 0 UPDATE A SET STATUS = ''0'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa ELSE UPDATE A SET STATUS = ''1'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa ELSE IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA=B.TAREFA AND A.QTDE_EM_PROCESSO > 0)>0 IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS A , INSERTED B WHERE A.TAREFA < B.TAREFA AND A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO ) =0 IF (SELECT COUNT(*) FROM INSERTED WHERE QTDE_FINALIZADA = 0) >0 UPDATE A SET STATUS = ''0'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa AND A.QTDE_FINALIZADA = 0 ELSE UPDATE A SET STATUS = ''2'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa AND A.QTDE_FINALIZADA <> 0 ELSE UPDATE A SET STATUS = ''2'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa ELSE UPDATE A SET STATUS = ''3'' FROM PRODUCAO_TAREFAS A, INSERTED B WHERE A.TAREFA = B.tarefa /*--------------------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------------------------------------------------*/ UPDATE C SET RESERVA_ORIGINAL=C.RESERVA_ORIGINAL FROM INSERTED A JOIN MATERIAIS B ON B.FASE_PRODUCAO=A.FASE_PRODUCAO JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND C.MATERIAL=B.MATERIAL JOIN PRODUCAO_ORDEM D ON D.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO WHERE D.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[TEMPO_PREPARACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_PREVISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_A_PRODUZIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_EM_PROCESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_FINALIZADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_ALTERACAO_OP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_PERDAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_ALT_OUTRAS_TAREFAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[TEMPO_OPERACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[CUSTO_TAREFA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[DESCONTOS_TAREFA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[VALOR_TAREFA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_TAREFAS].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[METODO_LOTE_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[CONTROLE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TAREFAS].[QTDE_SEGUNDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_MATERIAL]( [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](4) NOT NULL, [MATERIAL] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [PEDIDO_COR_MAT] [char](10) NULL, [PEDIDO_MATERIAL] [char](11) NULL, [PEDIDO] [char](8) NULL, [PEDIDO_ENTREGA] [datetime] NULL, [USO_UNID_FICHA_TEC] [bit] NOT NULL, [CUSTO] [numeric](15, 5) NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [QTDE_CANCEL_PEDIDO] [numeric](9, 3) NULL, [QTDE_PEDIDO] [numeric](9, 3) NULL, [DESCONTO_ITEM] [numeric](15, 5) NULL, [IPI] [real] NULL, [VALOR] [numeric](15, 5) NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NULL, [UNIDADE_FORNECEDOR] [char](6) NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [NATUREZA_CONTABILIZAR] [char](15) NULL, [NATUREZA] [char](15) NULL, [DEVOLUCAO_REQ_MATERIAL] [char](8) NULL, [DEVOLUCAO_ITEM] [char](3) NULL, [ICMS] [numeric](6, 2) NULL, [PERDA] [numeric](9, 3) NULL, [NCM] [varchar](20) NULL, [DI] [varchar](20) NULL, [QTDE_RETORNAR_BENEF] [numeric](9, 3) NULL, [VALOR_RETORNAR_BENEF] [numeric](14, 2) NULL, [QTDE_DEVOLVIDA] [numeric](9, 3) NULL, [VALOR_DEVOLVIDO] [numeric](14, 2) NULL, CONSTRAINT [XPKENTRADAS_MATERIAL] PRIMARY KEY NONCLUSTERED ( [COR_MATERIAL] ASC, [ITEM] ASC, [MATERIAL] ASC, [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_MATERIAL]') AND name = N'XIE1ENTRADAS_MATERIAL') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS_MATERIAL] ON [ENTRADAS_MATERIAL] ( [MATERIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_MATERIAL]') AND name = N'XIE2ENTRADAS_MATERIAL') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS_MATERIAL] ON [ENTRADAS_MATERIAL] ( [QTDE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_MATERIAL]') AND name = N'XIE3ENTRADAS_MATERIAL') CREATE NONCLUSTERED INDEX [XIE3ENTRADAS_MATERIAL] ON [ENTRADAS_MATERIAL] ( [VALOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ENTRADAS_MATERIAL] on [ENTRADAS_MATERIAL] for DELETE as /* DELETE trigger on ENTRADAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOR_MATERIAL char(10), @insITEM CHAR(4), @insMATERIAL char(11), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL FATURAM_DEV_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAM_DEV_MAT where FATURAM_DEV_MAT.COR_MATERIAL = deleted.COR_MATERIAL and FATURAM_DEV_MAT.ITEM = deleted.ITEM and FATURAM_DEV_MAT.MATERIAL = deleted.MATERIAL and FATURAM_DEV_MAT.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAM_DEV_MAT.NF_ENTRADA = deleted.NF_ENTRADA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS_MATERIAL #porque existem registros em #FATURAM_DEV_MAT#.'' goto error end /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL ENTRADAS_MAT_PECA ON PARENT DELETE CASCADE */ delete ENTRADAS_MAT_PECA from ENTRADAS_MAT_PECA,deleted where ENTRADAS_MAT_PECA.COR_MATERIAL = deleted.COR_MATERIAL and ENTRADAS_MAT_PECA.ITEM = deleted.ITEM and ENTRADAS_MAT_PECA.MATERIAL = deleted.MATERIAL and ENTRADAS_MAT_PECA.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_MAT_PECA.NF_ENTRADA = deleted.NF_ENTRADA /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ENTRADAS_MATERIAL CURSOR FOR SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Deleted JOIN ENTRADAS ON Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ENTRADAS_MATERIAL DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ENTRADAS_MATERIAL DEALLOCATE cur_ENTRADAS_MATERIAL /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_MATERIAL] on [ENTRADAS_MATERIAL] for INSERT as /* INSERT trigger on ENTRADAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOR_MATERIAL char(10), @insITEM CHAR(4), @insMATERIAL char(11), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_ENTRADAS R/1610 ENTRADAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MATERIAL #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1609 ENTRADAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MATERIAL #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* MOEDAS R/1374 ENTRADAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MATERIAL #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MATERIAL #porque #ENTRADAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES ENTRADAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) BEGIN DECLARE cur_ENTRADAS_MATERIAL CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Inserted JOIN ENTRADAS ON Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Inserted.Material, Inserted.Cor_Material, Filial OPEN cur_ENTRADAS_MATERIAL DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ENTRADAS_MATERIAL DEALLOCATE cur_ENTRADAS_MATERIAL END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ENTRADAS_MATERIAL] on [ENTRADAS_MATERIAL] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ENTRADAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOR_MATERIAL char(10), @insITEM CHAR(4), @insMATERIAL char(11), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @delCOR_MATERIAL char(10), @delITEM CHAR(4), @delMATERIAL char(11), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_ENTRADAS R/1610 ENTRADAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MATERIAL #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1609 ENTRADAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MATERIAL #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* MOEDAS R/1374 ENTRADAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MATERIAL #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MATERIAL #porque #ENTRADAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES ENTRADAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL FATURAM_DEV_MAT ON PARENT UPDATE CASCADE */ IF update(COR_MATERIAL) OR update(ITEM) OR update(MATERIAL) OR update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS_MATERIAL962 CURSOR FOR SELECT COR_MATERIAL, ITEM, MATERIAL, NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS_MATERIAL34 CURSOR FOR SELECT COR_MATERIAL, ITEM, MATERIAL, NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS_MATERIAL962 OPEN ENTRADAS_MATERIAL34 FETCH NEXT FROM ENTRADAS_MATERIAL962 INTO @insCOR_MATERIAL, @insITEM, @insMATERIAL, @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL34 INTO @delCOR_MATERIAL, @delITEM, @delMATERIAL, @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_MAT SET FATURAM_DEV_MAT.COR_MATERIAL=@insCOR_MATERIAL, FATURAM_DEV_MAT.ITEM=@insITEM, FATURAM_DEV_MAT.MATERIAL=@insMATERIAL, FATURAM_DEV_MAT.NOME_CLIFOR=@insNOME_CLIFOR, FATURAM_DEV_MAT.NF_ENTRADA=@insNF_ENTRADA WHERE FATURAM_DEV_MAT.COR_MATERIAL = @delCOR_MATERIAL and FATURAM_DEV_MAT.ITEM = @delITEM and FATURAM_DEV_MAT.MATERIAL = @delMATERIAL and FATURAM_DEV_MAT.NOME_CLIFOR = @delNOME_CLIFOR and FATURAM_DEV_MAT.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL962 INTO @insCOR_MATERIAL, @insITEM, @insMATERIAL, @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL34 INTO @delCOR_MATERIAL, @delITEM, @delMATERIAL, @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS_MATERIAL962 CLOSE ENTRADAS_MATERIAL34 DEALLOCATE ENTRADAS_MATERIAL962 DEALLOCATE ENTRADAS_MATERIAL34 END /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL ENTRADAS_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(COR_MATERIAL) OR update(ITEM) OR update(MATERIAL) OR update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS_MATERIAL612 CURSOR FOR SELECT COR_MATERIAL, ITEM, MATERIAL, NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS_MATERIAL34 CURSOR FOR SELECT COR_MATERIAL, ITEM, MATERIAL, NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS_MATERIAL612 OPEN ENTRADAS_MATERIAL34 FETCH NEXT FROM ENTRADAS_MATERIAL612 INTO @insCOR_MATERIAL, @insITEM, @insMATERIAL, @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL34 INTO @delCOR_MATERIAL, @delITEM, @delMATERIAL, @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MAT_PECA SET ENTRADAS_MAT_PECA.COR_MATERIAL=@insCOR_MATERIAL, ENTRADAS_MAT_PECA.ITEM=@insITEM, ENTRADAS_MAT_PECA.MATERIAL=@insMATERIAL, ENTRADAS_MAT_PECA.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_MAT_PECA.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_MAT_PECA.COR_MATERIAL = @delCOR_MATERIAL and ENTRADAS_MAT_PECA.ITEM = @delITEM and ENTRADAS_MAT_PECA.MATERIAL = @delMATERIAL and ENTRADAS_MAT_PECA.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_MAT_PECA.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL612 INTO @insCOR_MATERIAL, @insITEM, @insMATERIAL, @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS_MATERIAL34 INTO @delCOR_MATERIAL, @delITEM, @delMATERIAL, @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS_MATERIAL612 CLOSE ENTRADAS_MATERIAL34 DEALLOCATE ENTRADAS_MATERIAL612 DEALLOCATE ENTRADAS_MATERIAL34 END /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(PERDA) BEGIN DECLARE cur_ENTRADAS_MATERIAL CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0)), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted JOIN ENTRADAS ON Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Inserted.Material, Inserted.Cor_Material, Filial UNION SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted JOIN ENTRADAS ON Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ENTRADAS_MATERIAL DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ENTRADAS_MATERIAL DEALLOCATE cur_ENTRADAS_MATERIAL END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[USO_UNID_FICHA_TEC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[QTDE_CANCEL_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[QTDE_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_MATERIAL].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS_MATERIAL].[FATOR_CONVERSAO_UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ENTRADAS_MATERIAL].[UNIDADE_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS_MATERIAL].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ENCAIXE]( [ORDEM_CORTE] [char](8) NOT NULL, [NUMERO_ENCAIXE] [int] NOT NULL, [ENCAIXE_CAD] [varchar](35) NOT NULL, [MODELAGEM_CAD] [varchar](35) NOT NULL, [LARGURA] [numeric](7, 2) NOT NULL, [EFICIENCIA] [numeric](6, 2) NOT NULL, [EFICIENCIA_PREVISTA] [numeric](6, 2) NULL, [COMPRIMENTO] [numeric](8, 2) NOT NULL, [ENCARADO_TORNASOL_SIMPLES] [int] NULL, [QTDE_O] [int] NULL, [O1] [int] NULL, [O2] [int] NULL, [O3] [int] NULL, [O4] [int] NULL, [O5] [int] NULL, [O6] [int] NULL, [O7] [int] NULL, [O8] [int] NULL, [O9] [int] NULL, [O10] [int] NULL, [O11] [int] NULL, [O12] [int] NULL, [O13] [int] NULL, [O14] [int] NULL, [O15] [int] NULL, [O16] [int] NULL, [O17] [int] NULL, [O18] [int] NULL, [O19] [int] NULL, [O20] [int] NULL, [O21] [int] NULL, [O22] [int] NULL, [O23] [int] NULL, [O24] [int] NULL, [O25] [int] NULL, [O26] [int] NULL, [O27] [int] NULL, [O28] [int] NULL, [O29] [int] NULL, [O30] [int] NULL, [O31] [int] NULL, [O32] [int] NULL, [O33] [int] NULL, [O34] [int] NULL, [O35] [int] NULL, [O36] [int] NULL, [O37] [int] NULL, [O38] [int] NULL, [O39] [int] NULL, [O41] [int] NULL, [O40] [int] NULL, [O42] [int] NULL, [O43] [int] NULL, [O44] [int] NULL, [O45] [int] NULL, [O46] [int] NULL, [O47] [int] NULL, [O48] [int] NULL, CONSTRAINT [XPKPRODUCAO_ENCAIXE] PRIMARY KEY NONCLUSTERED ( [ORDEM_CORTE] ASC, [NUMERO_ENCAIXE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_ENCAIXE] on [PRODUCAO_ENCAIXE] for DELETE as /* DELETE trigger on PRODUCAO_ENCAIXE */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_ENCAIXE R/1754 PRODUCAO_ENCAIXE_PECA ON PARENT DELETE CASCADE */ delete PRODUCAO_ENCAIXE_PECA from PRODUCAO_ENCAIXE_PECA,deleted where PRODUCAO_ENCAIXE_PECA.ORDEM_CORTE = deleted.ORDEM_CORTE and PRODUCAO_ENCAIXE_PECA.NUMERO_ENCAIXE = deleted.NUMERO_ENCAIXE /* PRODUCAO_ENCAIXE R/1750 PRODUCAO_ENCAIXE_TECIDO ON PARENT DELETE CASCADE */ delete PRODUCAO_ENCAIXE_TECIDO from PRODUCAO_ENCAIXE_TECIDO,deleted where PRODUCAO_ENCAIXE_TECIDO.ORDEM_CORTE = deleted.ORDEM_CORTE and PRODUCAO_ENCAIXE_TECIDO.NUMERO_ENCAIXE = deleted.NUMERO_ENCAIXE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ENCAIXE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ENCAIXE] on [PRODUCAO_ENCAIXE] for UPDATE as /* UPDATE trigger on PRODUCAO_ENCAIXE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insNUMERO_ENCAIXE int, @delORDEM_CORTE char(8), @delNUMERO_ENCAIXE int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ENCAIXE R/1754 PRODUCAO_ENCAIXE_PECA ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) OR update(NUMERO_ENCAIXE) BEGIN DECLARE PRODUCAO_ENCAIXE1754 CURSOR FOR SELECT ORDEM_CORTE, NUMERO_ENCAIXE FROM INSERTED DECLARE PRODUCAO_ENCAIXE1015 CURSOR FOR SELECT ORDEM_CORTE, NUMERO_ENCAIXE FROM DELETED OPEN PRODUCAO_ENCAIXE1754 OPEN PRODUCAO_ENCAIXE1015 FETCH NEXT FROM PRODUCAO_ENCAIXE1754 INTO @insORDEM_CORTE, @insNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1015 INTO @delORDEM_CORTE, @delNUMERO_ENCAIXE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ENCAIXE_PECA SET PRODUCAO_ENCAIXE_PECA.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_ENCAIXE_PECA.NUMERO_ENCAIXE=@insNUMERO_ENCAIXE WHERE PRODUCAO_ENCAIXE_PECA.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_ENCAIXE_PECA.NUMERO_ENCAIXE = @delNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1754 INTO @insORDEM_CORTE, @insNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1015 INTO @delORDEM_CORTE, @delNUMERO_ENCAIXE END END CLOSE PRODUCAO_ENCAIXE1754 CLOSE PRODUCAO_ENCAIXE1015 DEALLOCATE PRODUCAO_ENCAIXE1754 DEALLOCATE PRODUCAO_ENCAIXE1015 END /* PRODUCAO_ENCAIXE R/1750 PRODUCAO_ENCAIXE_TECIDO ON PARENT UPDATE CASCADE */ IF update(ORDEM_CORTE) OR update(NUMERO_ENCAIXE) BEGIN DECLARE PRODUCAO_ENCAIXE1750 CURSOR FOR SELECT ORDEM_CORTE, NUMERO_ENCAIXE FROM INSERTED DECLARE PRODUCAO_ENCAIXE1015 CURSOR FOR SELECT ORDEM_CORTE, NUMERO_ENCAIXE FROM DELETED OPEN PRODUCAO_ENCAIXE1750 OPEN PRODUCAO_ENCAIXE1015 FETCH NEXT FROM PRODUCAO_ENCAIXE1750 INTO @insORDEM_CORTE, @insNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1015 INTO @delORDEM_CORTE, @delNUMERO_ENCAIXE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ENCAIXE_TECIDO SET PRODUCAO_ENCAIXE_TECIDO.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_ENCAIXE_TECIDO.NUMERO_ENCAIXE=@insNUMERO_ENCAIXE WHERE PRODUCAO_ENCAIXE_TECIDO.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_ENCAIXE_TECIDO.NUMERO_ENCAIXE = @delNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1750 INTO @insORDEM_CORTE, @insNUMERO_ENCAIXE FETCH NEXT FROM PRODUCAO_ENCAIXE1015 INTO @delORDEM_CORTE, @delNUMERO_ENCAIXE END END CLOSE PRODUCAO_ENCAIXE1750 CLOSE PRODUCAO_ENCAIXE1015 DEALLOCATE PRODUCAO_ENCAIXE1750 DEALLOCATE PRODUCAO_ENCAIXE1015 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[NUMERO_ENCAIXE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_ENCAIXE].[MODELAGEM_CAD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[EFICIENCIA_PREVISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[ENCARADO_TORNASOL_SIMPLES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE].[O48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_LOTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM_LOTES]( [NUMERO_LOTE] [int] NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [TAMANHO] [int] NOT NULL, [GRADE_DO_TAMANHO] [varchar](8) NOT NULL, [QTDE_LOTE] [int] NULL, [STATUS] [char](1) NULL, [ALTERACAO_DE_PROGRAMACAO] [int] NOT NULL, [PERDAS_NO_PROCESSO] [int] NULL, CONSTRAINT [XPKPRODUCAO_ORDEM_LOTES] PRIMARY KEY NONCLUSTERED ( [NUMERO_LOTE] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [TAMANHO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM_LOTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM_LOTES] on [PRODUCAO_ORDEM_LOTES] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM_LOTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1594 PRODUCAO_ORDEM_LOTES ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_LOTES #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM_LOTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM_LOTES] on [PRODUCAO_ORDEM_LOTES] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM_LOTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_LOTE int, @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTAMANHO int, @delNUMERO_LOTE int, @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delTAMANHO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_COR R/1594 PRODUCAO_ORDEM_LOTES ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_LOTES #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_LOTES].[NUMERO_LOTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_LOTES].[TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_LOTES].[QTDE_LOTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRODUCAO_ORDEM_LOTES].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_LOTES].[ALTERACAO_DE_PROGRAMACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_LOTES].[PERDAS_NO_PROCESSO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRECOS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRECOS_LOG]( [DATA_ATIVACAO] [datetime] NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [APROVADOR_POR] [varchar](25) NULL, [RESPONSAVEL] [varchar](25) NULL, [OBS] [text] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRECOS_LOG] PRIMARY KEY NONCLUSTERED ( [DATA_ATIVACAO] ASC, [CODIGO_TAB_PRECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRECOS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRECOS_LOG] on [PRECOS_LOG] for DELETE as /* DELETE trigger on PRECOS_LOG */ begin declare @errno int, @errmsg varchar(255) /* PRECOS_LOG R/1629 PRODUTOS_PRECO_COR_LOG ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_COR_LOG from PRODUTOS_PRECO_COR_LOG,deleted where PRODUTOS_PRECO_COR_LOG.DATA_ATIVACAO = deleted.DATA_ATIVACAO and PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO /* PRECOS_LOG R/1628 PRODUTOS_PRECO_LOG ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_LOG from PRODUTOS_PRECO_LOG,deleted where PRODUTOS_PRECO_LOG.DATA_ATIVACAO = deleted.DATA_ATIVACAO and PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRECOS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRECOS_LOG] on [PRECOS_LOG] for INSERT as /* INSERT trigger on PRECOS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO R/1630 PRECOS_LOG ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRECOS_LOG #porque #TABELAS_PRECO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRECOS_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRECOS_LOG, INSERTED WHERE PRECOS_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRECOS_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRECOS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRECOS_LOG] on [PRECOS_LOG] for UPDATE as /* UPDATE trigger on PRECOS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDATA_ATIVACAO datetime, @insCODIGO_TAB_PRECO char(2), @delDATA_ATIVACAO datetime, @delCODIGO_TAB_PRECO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECOS_LOG R/1629 PRODUTOS_PRECO_COR_LOG ON PARENT UPDATE CASCADE */ IF update(DATA_ATIVACAO) OR update(CODIGO_TAB_PRECO) BEGIN DECLARE PRECOS_LOG1629 CURSOR FOR SELECT DATA_ATIVACAO, CODIGO_TAB_PRECO FROM INSERTED DECLARE PRECOS_LOG953 CURSOR FOR SELECT DATA_ATIVACAO, CODIGO_TAB_PRECO FROM DELETED OPEN PRECOS_LOG1629 OPEN PRECOS_LOG953 FETCH NEXT FROM PRECOS_LOG1629 INTO @insDATA_ATIVACAO, @insCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG953 INTO @delDATA_ATIVACAO, @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_COR_LOG SET PRODUTOS_PRECO_COR_LOG.DATA_ATIVACAO=@insDATA_ATIVACAO, PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE PRODUTOS_PRECO_COR_LOG.DATA_ATIVACAO = @delDATA_ATIVACAO and PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG1629 INTO @insDATA_ATIVACAO, @insCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG953 INTO @delDATA_ATIVACAO, @delCODIGO_TAB_PRECO END END CLOSE PRECOS_LOG1629 CLOSE PRECOS_LOG953 DEALLOCATE PRECOS_LOG1629 DEALLOCATE PRECOS_LOG953 END /* PRECOS_LOG R/1628 PRODUTOS_PRECO_LOG ON PARENT UPDATE CASCADE */ IF update(DATA_ATIVACAO) OR update(CODIGO_TAB_PRECO) BEGIN DECLARE PRECOS_LOG1628 CURSOR FOR SELECT DATA_ATIVACAO, CODIGO_TAB_PRECO FROM INSERTED DECLARE PRECOS_LOG953 CURSOR FOR SELECT DATA_ATIVACAO, CODIGO_TAB_PRECO FROM DELETED OPEN PRECOS_LOG1628 OPEN PRECOS_LOG953 FETCH NEXT FROM PRECOS_LOG1628 INTO @insDATA_ATIVACAO, @insCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG953 INTO @delDATA_ATIVACAO, @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_LOG SET PRODUTOS_PRECO_LOG.DATA_ATIVACAO=@insDATA_ATIVACAO, PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE PRODUTOS_PRECO_LOG.DATA_ATIVACAO = @delDATA_ATIVACAO and PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG1628 INTO @insDATA_ATIVACAO, @insCODIGO_TAB_PRECO FETCH NEXT FROM PRECOS_LOG953 INTO @delDATA_ATIVACAO, @delCODIGO_TAB_PRECO END END CLOSE PRECOS_LOG1628 CLOSE PRECOS_LOG953 DEALLOCATE PRECOS_LOG1628 DEALLOCATE PRECOS_LOG953 END /* TABELAS_PRECO R/1630 PRECOS_LOG ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRECOS_LOG #porque #TABELAS_PRECO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRECOS_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRECOS_LOG, INSERTED WHERE PRECOS_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRECOS_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRECOS_LOG.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRECOS_LOG].[APROVADOR_POR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRECOS_LOG].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRECOS_LOG].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MAT_CONTAGEM]( [NOME_CONTAGEM] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [EMISSAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [ESTOQUE_AJUSTADO] [bit] NOT NULL, [DATA_AJUSTE] [datetime] NULL, [OBS] [text] NULL, [CTG_PECA_PARTIDA] [bit] NOT NULL, CONSTRAINT [XPKESTOQUE_MAT_CONTAGEM] PRIMARY KEY NONCLUSTERED ( [NOME_CONTAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_MAT_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_MAT_CONTAGEM] on [ESTOQUE_MAT_CONTAGEM] for DELETE as /* DELETE trigger on ESTOQUE_MAT_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @delNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ESTOQUE_MAT_CTG_ITENS CURSOR FOR SELECT ESTOQUE_MAT_CTG_ITENS.Material, Cor_Material, Filial,CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)*-1) FROM Deleted JOIN ESTOQUE_MAT_CTG_ITENS ON Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM GROUP BY ESTOQUE_MAT_CTG_ITENS.Material, Cor_Material, Filial OPEN cur_ESTOQUE_MAT_CTG_ITENS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_ITENS DEALLOCATE cur_ESTOQUE_MAT_CTG_ITENS /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ESTOQUE_MAT_CTG_PECAS CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida,CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)*-1) FROM Deleted ,ESTOQUE_MAT_CTG_PECAS WHERE Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CTG_PECAS.NOME_CONTAGEM GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_MAT_CTG_PECAS DECLARE @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_PECAS DEALLOCATE cur_ESTOQUE_MAT_CTG_PECAS /*---------------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CTG_ITENS ON PARENT DELETE CASCADE */ delete ESTOQUE_MAT_CTG_ITENS from ESTOQUE_MAT_CTG_ITENS,deleted where ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM = deleted.NOME_CONTAGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MAT_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MAT_CONTAGEM] on [ESTOQUE_MAT_CONTAGEM] for INSERT as /* INSERT trigger on ESTOQUE_MAT_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ESTOQUE_MAT_CONTAGEM ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_CONTAGEM #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MAT_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MAT_CONTAGEM] on [ESTOQUE_MAT_CONTAGEM] for UPDATE as /* UPDATE trigger on ESTOQUE_MAT_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @delNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CTG_ITENS ON PARENT UPDATE CASCADE */ IF update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_MAT_CONTAGEM958 CURSOR FOR SELECT NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_MAT_CONTAGEM623 CURSOR FOR SELECT NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_MAT_CONTAGEM958 OPEN ESTOQUE_MAT_CONTAGEM623 FETCH NEXT FROM ESTOQUE_MAT_CONTAGEM958 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_MAT_CONTAGEM623 INTO @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_CTG_ITENS SET ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_MAT_CONTAGEM958 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_MAT_CONTAGEM623 INTO @delNOME_CONTAGEM END END CLOSE ESTOQUE_MAT_CONTAGEM958 CLOSE ESTOQUE_MAT_CONTAGEM623 DEALLOCATE ESTOQUE_MAT_CONTAGEM958 DEALLOCATE ESTOQUE_MAT_CONTAGEM623 END /* FILIAIS FILIAIS ESTOQUE_MAT_CONTAGEM ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_CONTAGEM #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[ESTOQUE_MAT_CONTAGEM].[RESPONSAVEL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CONTAGEM].[ESTOQUE_AJUSTADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CONTAGEM].[CTG_PECA_PARTIDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRECO_FATORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRECO_FATORES]( [PRECO_TIPO] [varchar](25) NOT NULL, [SEQUENCIA] [char](2) NOT NULL, [GRUPO_SUBTOTAL] [varchar](25) NOT NULL, [DESC_FATOR_CUSTOS] [varchar](40) NULL, [TIPO_FATOR] [char](1) NULL, [FATOR] [numeric](14, 4) NULL, [CALC_SOBRE_PRECO] [bit] NOT NULL, [VALOR_CALCULO] [numeric](14, 2) NULL, CONSTRAINT [XPKPRECO_FATORES] PRIMARY KEY NONCLUSTERED ( [PRECO_TIPO] ASC, [SEQUENCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRECO_FATORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRECO_FATORES] on [PRECO_FATORES] for INSERT as /* INSERT trigger on PRECO_FATORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECO_TIPOS PRECO_TIPOS PRECO_FATORES ON CHILD INSERT RESTRICT */ if update(PRECO_TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECO_TIPOS where inserted.PRECO_TIPO = PRECO_TIPOS.PRECO_TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRECO_FATORES #porque #PRECO_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRECO_FATORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRECO_FATORES] on [PRECO_FATORES] for UPDATE as /* UPDATE trigger on PRECO_FATORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRECO_TIPO varchar(25), @insSEQUENCIA char(2), @delPRECO_TIPO varchar(25), @delSEQUENCIA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECO_TIPOS PRECO_TIPOS PRECO_FATORES ON CHILD UPDATE RESTRICT */ if update(PRECO_TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECO_TIPOS where inserted.PRECO_TIPO = PRECO_TIPOS.PRECO_TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRECO_FATORES #porque #PRECO_TIPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[PRECO_FATORES].[TIPO_FATOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRECO_FATORES].[CALC_SOBRE_PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRECO_FATORES].[VALOR_CALCULO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COTACOES_CONS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COTACOES_CONS_FORNECEDOR]( [COTACAO] [char](7) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [CONSUMIVEL] [varchar](40) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [MOEDA] [char](6) NOT NULL, [QTDE_COTADA] [numeric](9, 3) NULL, [CUSTO_COTADO] [numeric](15, 5) NULL, [CUSTO_MOEDA] [numeric](15, 5) NULL, [CUSTO_A_VISTA] [numeric](15, 5) NULL, [PRAZO_MEDIO] [int] NULL, [ENTREGA] [datetime] NULL, [LIMITE] [datetime] NOT NULL, [IPI] [real] NULL, [ENCARGOS] [real] NULL, [COTACAO_VENCEDORA] [bit] NOT NULL, [STATUS] [char](1) NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NOT NULL, [UNIDADE_FORNECEDOR] [char](6) NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKCOTACOES_CONS_FORNECEDOR] PRIMARY KEY NONCLUSTERED ( [COTACAO] ASC, [FORNECEDOR] ASC, [CONSUMIVEL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COTACOES_CONS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COTACOES_CONS_FORNECEDOR] on [COTACOES_CONS_FORNECEDOR] for INSERT as /* INSERT trigger on COTACOES_CONS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES_CONSUMIVEL COT_CONS COTACOES_CONS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(COTACAO) or update(CONSUMIVEL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES_CONSUMIVEL where inserted.COTACAO = COTACOES_CONSUMIVEL.COTACAO and inserted.CONSUMIVEL = COTACOES_CONSUMIVEL.CONSUMIVEL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONS_FORNECEDOR #porque #COTACOES_CONSUMIVEL #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_CONS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONS_FORNECEDOR #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* MOEDAS MOEDAS COTACOES_CONS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONS_FORNECEDOR #porque #MOEDAS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COTACOES_CONS_FORNECEDOR ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COTACOES_CONS_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COTACOES_CONS_FORNECEDOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COTACOES_CONS_FORNECEDOR] on [COTACOES_CONS_FORNECEDOR] for UPDATE as /* UPDATE trigger on COTACOES_CONS_FORNECEDOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTACAO char(7), @insFORNECEDOR varchar(25), @insCONSUMIVEL varchar(40), @delCOTACAO char(7), @delFORNECEDOR varchar(25), @delCONSUMIVEL varchar(40), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES_CONSUMIVEL COT_CONS COTACOES_CONS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(COTACAO) or update(CONSUMIVEL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES_CONSUMIVEL where inserted.COTACAO = COTACOES_CONSUMIVEL.COTACAO and inserted.CONSUMIVEL = COTACOES_CONSUMIVEL.CONSUMIVEL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONS_FORNECEDOR #porque #COTACOES_CONSUMIVEL #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_CONS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONS_FORNECEDOR #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* MOEDAS MOEDAS COTACOES_CONS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONS_FORNECEDOR #porque #MOEDAS #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES COTACOES_CONS_FORNECEDOR ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COTACOES_CONS_FORNECEDOR #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_CONS_FORNECEDOR].[QTDE_COTADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_CONS_FORNECEDOR].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_CONS_FORNECEDOR].[ENCARGOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COTACOES_CONS_FORNECEDOR].[COTACAO_VENCEDORA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COTACOES_CONS_FORNECEDOR].[STATUS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_MATERIAL]( [PEDIDO] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [QTDE_ORIGINAL] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [QTDE_ENTREGUE] [numeric](9, 3) NULL, [QTDE_CANCEL_PEDIDO] [numeric](9, 3) NULL, [QTDE_ENTREGAR] [numeric](9, 3) NULL, [VALOR_ORIGINAL] [numeric](15, 5) NULL, [VALOR_ENTREGUE] [numeric](15, 5) NULL, [VALOR_ENTREGAR] [numeric](15, 5) NULL, [CUSTO] [numeric](15, 5) NOT NULL, [CUSTO_MOEDA] [numeric](15, 5) NOT NULL, [DESCONTO_ITEM] [numeric](15, 5) NULL, [IPI] [real] NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [FATOR_CONVERSAO_UNIDADE] [numeric](9, 4) NULL, [UNIDADE_FORNECEDOR] [char](6) NULL, [COTACAO] [char](7) NULL, [ENTREGUE_MOEDA_PADRAO] [numeric](15, 5) NULL, [REQUISICAO] [char](8) NULL, [CHEGADA_PREVISTA] [datetime] NULL, [STATUS] [varchar](4) NULL, [OBS_ITEM] [varchar](250) NULL, CONSTRAINT [XPKCOMPRAS_MATERIAL] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_MATERIAL]') AND name = N'XIE1COMPRAS_MATERIAL') CREATE NONCLUSTERED INDEX [XIE1COMPRAS_MATERIAL] ON [COMPRAS_MATERIAL] ( [MATERIAL] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[COMPRAS_MATERIAL]') AND name = N'XIE2COMPRAS_MATERIAL') CREATE NONCLUSTERED INDEX [XIE2COMPRAS_MATERIAL] ON [COMPRAS_MATERIAL] ( [QTDE_ENTREGAR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_MATERIAL] on [COMPRAS_MATERIAL] for DELETE as /* DELETE trigger on COMPRAS_MATERIAL */ begin declare @errno int, @errmsg varchar(255) /* COMPRAS_MATERIAL COMPRAS_MATERIAL ENTRADAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MATERIAL where ENTRADAS_MATERIAL.PEDIDO = deleted.PEDIDO and ENTRADAS_MATERIAL.PEDIDO_MATERIAL = deleted.MATERIAL and ENTRADAS_MATERIAL.PEDIDO_COR_MAT = deleted.COR_MATERIAL and ENTRADAS_MATERIAL.PEDIDO_ENTREGA = deleted.ENTREGA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_MATERIAL #porque existem registros em #ENTRADAS_MATERIAL#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_MATERIAL] on [COMPRAS_MATERIAL] for INSERT as /* INSERT trigger on COMPRAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COTACOES COTACOES COMPRAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_MATERIAL #porque #COTACOES #não existe.'' goto error end end /* COMPRAS COMPRAS COMPRAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_MATERIAL #porque #COMPRAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES COMPRAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_MATERIAL] on [COMPRAS_MATERIAL] for UPDATE as /* UPDATE trigger on COMPRAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insENTREGA datetime, @delPEDIDO char(8), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_MATERIAL COMPRAS_MATERIAL ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(PEDIDO) OR update(MATERIAL) OR update(COR_MATERIAL) OR update(ENTREGA) BEGIN DECLARE COMPRAS_MATERIAL892 CURSOR FOR SELECT PEDIDO, MATERIAL, COR_MATERIAL, ENTREGA FROM INSERTED DECLARE COMPRAS_MATERIAL109 CURSOR FOR SELECT PEDIDO, MATERIAL, COR_MATERIAL, ENTREGA FROM DELETED OPEN COMPRAS_MATERIAL892 OPEN COMPRAS_MATERIAL109 FETCH NEXT FROM COMPRAS_MATERIAL892 INTO @insPEDIDO, @insMATERIAL, @insCOR_MATERIAL, @insENTREGA FETCH NEXT FROM COMPRAS_MATERIAL109 INTO @delPEDIDO, @delMATERIAL, @delCOR_MATERIAL, @delENTREGA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.PEDIDO=@insPEDIDO, ENTRADAS_MATERIAL.PEDIDO_MATERIAL=@insMATERIAL, ENTRADAS_MATERIAL.PEDIDO_COR_MAT=@insCOR_MATERIAL, ENTRADAS_MATERIAL.PEDIDO_ENTREGA=@insENTREGA WHERE ENTRADAS_MATERIAL.PEDIDO = @delPEDIDO and ENTRADAS_MATERIAL.PEDIDO_MATERIAL = @delMATERIAL and ENTRADAS_MATERIAL.PEDIDO_COR_MAT = @delCOR_MATERIAL and ENTRADAS_MATERIAL.PEDIDO_ENTREGA = @delENTREGA FETCH NEXT FROM COMPRAS_MATERIAL892 INTO @insPEDIDO, @insMATERIAL, @insCOR_MATERIAL, @insENTREGA FETCH NEXT FROM COMPRAS_MATERIAL109 INTO @delPEDIDO, @delMATERIAL, @delCOR_MATERIAL, @delENTREGA END END CLOSE COMPRAS_MATERIAL892 CLOSE COMPRAS_MATERIAL109 DEALLOCATE COMPRAS_MATERIAL892 DEALLOCATE COMPRAS_MATERIAL109 END /* COTACOES COTACOES COMPRAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(COTACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COTACOES where inserted.COTACAO = COTACOES.COTACAO select @nullcnt = count(*) from inserted where inserted.COTACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_MATERIAL #porque #COTACOES #não existe.'' goto error end end /* COMPRAS COMPRAS COMPRAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_MATERIAL #porque #COMPRAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES COMPRAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[QTDE_CANCEL_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[CUSTO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[COMPRAS_MATERIAL].[FATOR_CONVERSAO_UNIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_MATERIAL].[UNIDADE_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_MATERIAL].[ENTREGUE_MOEDA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEF_CHAR_1]', @objname=N'[COMPRAS_MATERIAL].[REQUISICAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_TRASPASO_ENTRADA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_TRASPASO_ENTRADA] AS SELECT CENTRO_ORIGEN = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CENTRO_ORIGEN, FILIAL_ORIGEN = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FILIAL_ORIGEN, CENTRO_DESTINO = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CENTRO, FILIAL_DESTINO = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FILIAL, CODIGO = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CODIGO, PRODUCTO = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.PRODUCTO, COLOR = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.COLOR, FECHA = RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FECHA, /* CANTIDADES ENVIADAS DESDE EL CENTRO*/ T38 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 38 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), T40 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 40 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), T42 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 42 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), T44 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 44 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), T46 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 46 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), T48 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.TALLA = 48 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0) END), TOTAL = SUM(ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CANTIDAD, 0)) FROM RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA GROUP BY RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CENTRO_ORIGEN, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FILIAL_ORIGEN, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CENTRO, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FILIAL, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.CODIGO, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.PRODUCTO, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.COLOR, RDX_V_INVENTARIOEDI_TRASPASO_ENTRADA.FECHA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DATAS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DATAS_FILIAIS]( [DATA] [smalldatetime] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PORCENTAGEM_MES] [real] NULL, [PORCENTAGEM_SEMANA] [real] NULL, [PORCENTAGEM_MES454] [real] NULL, [PORCENTAGEM_SEMANA454] [real] NULL, CONSTRAINT [XPKDATAS_FILIAIS] PRIMARY KEY NONCLUSTERED ( [DATA] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_DATAS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_DATAS_FILIAIS] on [DATAS_FILIAIS] for INSERT as /* INSERT trigger on DATAS_FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2156 DATAS_FILIAIS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DATAS_FILIAIS #porque #FILIAIS #não existe.'' goto error end end /* DATAS R/2155 DATAS_FILIAIS ON CHILD INSERT RESTRICT */ if update(DATA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DATAS where inserted.DATA = DATAS.DATA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DATAS_FILIAIS #porque #DATAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DATAS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DATAS_FILIAIS] on [DATAS_FILIAIS] for UPDATE as /* UPDATE trigger on DATAS_FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDATA smalldatetime, @insFILIAL varchar(25), @delDATA smalldatetime, @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2156 DATAS_FILIAIS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DATAS_FILIAIS #porque #FILIAIS #não existe.'' goto error end end /* DATAS R/2155 DATAS_FILIAIS ON CHILD UPDATE RESTRICT */ if update(DATA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DATAS where inserted.DATA = DATAS.DATA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DATAS_FILIAIS #porque #DATAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS_FILIAIS].[PORCENTAGEM_MES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS_FILIAIS].[PORCENTAGEM_SEMANA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS_FILIAIS].[PORCENTAGEM_MES454]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS_FILIAIS].[PORCENTAGEM_SEMANA454]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNECEDORES]( [FORNECEDOR] [varchar](25) NOT NULL, [CENTRO_CUSTO] [varchar](25) NULL, [TIPO] [varchar](25) NULL, [SUBTIPO_FORNECEDOR] [varchar](40) NULL, [COD_FORNECEDOR] [char](6) NULL, [CLIFOR] [char](6) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [CGC_CPF] [varchar](19) NOT NULL, [FORNECE_MATERIAIS] [bit] NOT NULL, [FORNECE_PROD_ACAB] [bit] NOT NULL, [FORNECE_MAT_CONSUMO] [bit] NOT NULL, [BENEFICIADOR] [bit] NOT NULL, [FORNECE_OUTROS] [bit] NOT NULL, [MOEDA] [char](6) NULL, [INATIVO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [LICENCIADO] [smallint] NULL, [LICENDIADO_ROYALTIES] [real] NULL, [CONTA_CONTABIL] [char](20) NULL, CONSTRAINT [XPKFORNECEDORES] PRIMARY KEY NONCLUSTERED ( [FORNECEDOR] ASC )WITH FILLFACTOR = 90 ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FORNECEDORES]') AND name = N'XAK1FORNECEDORES') CREATE UNIQUE NONCLUSTERED INDEX [XAK1FORNECEDORES] ON [FORNECEDORES] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FORNECEDORES]') AND name = N'XIE1FORNECEDORES') CREATE NONCLUSTERED INDEX [XIE1FORNECEDORES] ON [FORNECEDORES] ( [CGC_CPF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_FORNECEDORES fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_FORNECEDORES] ON [FORNECEDORES] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_CLIFOR FROM GF_FORNECEDORES A, DELETED B WHERE A.GF_CLIFOR=B.CLIFOR) DELETE FROM GF_FORNECEDORES WHERE GF_CLIFOR=(SELECT CLIFOR FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_FORNECEDORES fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_FORNECEDORES] ON [FORNECEDORES] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_CLIFOR FROM GF_FORNECEDORES WHERE GF_CLIFOR= (SELECT CLIFOR FROM INSERTED) AND EMP=@EMPRESA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_FORNECEDORES (ID,GF_FORNECEDOR, GF_CENTRO_CUSTO, GF_TIPO,GF_COD_FORNECEDO, GF_CLIFOR, GF_CONDICAO_PGTO, GF_CGC_CPF, GF_FORNECE_MATER, GF_FORNECE_PROD_,GF_FORNECE_MAT_C, GF_BENEFICIADOR, GF_FORNECE_OUTRO, GF_MOEDA, GF_INATIVO,GF_DATA_PARA_TRANSFERENCIA,GF_SUBTIPO_FORNE, EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,FORNECEDOR, (SELECT ID FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=A.CENTRO_CUSTO), (SELECT ID FROM GF_FORNECEDOR_TI WHERE GF_TIPO=A.TIPO), (SELECT REF_ANTERIOR FROM CADASTRO_CLI_FOR WHERE CLIFOR=A.CLIFOR),CLIFOR, (SELECT ID FROM GF_COND_ENT_PGTO WHERE GF_CONDICAO_PGTO=A.CONDICAO_PGTO), CGC_CPF,FORNECE_MATERIAIS,FORNECE_PROD_ACAB,FORNECE_MAT_CONSUMO,BENEFICIADOR,FORNECE_OUTROS, (SELECT ID FROM GF_MOEDAS WHERE GF_MOEDA=A.MOEDA), (SELECT INATIVO FROM CADASTRO_CLI_FOR WHERE CLIFOR=A.CLIFOR),DATA_PARA_TRANSFERENCIA, (SELECT ID FROM GF_FORNECEDOR_SU WHERE GF_SUBTIPO_FORNE=A.SUBTIPO_FORNECEDOR AND GF_TIPO=A.TIPO), @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM FORNECEDORES A, GF_FORNECEDORESCNT B WHERE CLIFOR=(SELECT CLIFOR FROM INSERTED) UPDATE GF_FORNECEDORESCNT SET IDMAX=IDMAX+1 END --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_FORNECEDORES fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_FORNECEDORES] ON [FORNECEDORES] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_FORNECEDORES'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_CLIFOR FROM GF_FORNECEDORES A, DELETED B WHERE A.GF_CLIFOR=B.CLIFOR) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_FORNECEDORES SET GF_FORNECEDOR=(SELECT FORNECEDOR FROM INSERTED), GF_CENTRO_CUSTO=(SELECT ID FROM GF_CENTROS_CUSTO WHERE GF_DESC_CENTRO_C=(SELECT CENTRO_CUSTO FROM INSERTED)), GF_TIPO=(SELECT ID FROM GF_FORNECEDOR_TI WHERE GF_TIPO=(SELECT TIPO FROM INSERTED)), GF_SUBTIPO_FORNE=(SELECT ID FROM GF_FORNECEDOR_SU WHERE GF_SUBTIPO_FORNE=(SELECT SUBTIPO_FORNECEDOR FROM INSERTED) AND ID_TIPO=(SELECT ID FROM GF_FORNECEDOR_TI WHERE GF_TIPO=(SELECT TIPO FROM INSERTED))), GF_COD_FORNECEDO=(SELECT REF_ANTERIOR FROM CADASTRO_CLI_FOR WHERE CLIFOR=(SELECT CLIFOR FROM INSERTED)), GF_CLIFOR=(SELECT CLIFOR FROM INSERTED), GF_CONDICAO_PGTO=(SELECT ID FROM GF_COND_ENT_PGTO WHERE GF_CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM INSERTED)), GF_CGC_CPF=(SELECT CGC_CPF FROM INSERTED), GF_FORNECE_MATER=(SELECT FORNECE_MATERIAIS FROM INSERTED), GF_FORNECE_PROD_=(SELECT FORNECE_PROD_ACAB FROM INSERTED), GF_FORNECE_MAT_C=(SELECT FORNECE_MAT_CONSUMO FROM INSERTED), GF_FORNECE_OUTRO=(SELECT FORNECE_OUTROS FROM INSERTED), GF_MOEDA=(SELECT ID FROM GF_MOEDAS WHERE GF_MOEDA=(SELECT MOEDA FROM INSERTED)), GF_BENEFICIADOR=(SELECT BENEFICIADOR FROM INSERTED), GF_INATIVO=(SELECT INATIVO FROM CADASTRO_CLI_FOR WHERE CLIFOR=(SELECT CLIFOR FROM INSERTED)), GF_DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_CLIFOR=(SELECT CLIFOR FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Proveedor, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FORNECEDORES] on [FORNECEDORES] for DELETE as /* DELETE trigger on FORNECEDORES */ begin declare @errno int, @errmsg varchar(255) /* FORNECEDORES R/2151 COMPRAS_DESPESA_TIPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA_TIPO where COMPRAS_DESPESA_TIPO.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #COMPRAS_DESPESA_TIPO#.'' goto error end /* FORNECEDORES R/2150 ENTRADAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_DESPESA where ENTRADAS_DESPESA.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #ENTRADAS_DESPESA#.'' goto error end /* FORNECEDORES R/2140 COMPRAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA where COMPRAS_DESPESA.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #COMPRAS_DESPESA#.'' goto error end /* FORNECEDORES R/1863 PRODUTOS_FORNECEDOR ON PARENT DELETE CASCADE */ delete PRODUTOS_FORNECEDOR from PRODUTOS_FORNECEDOR,deleted where PRODUTOS_FORNECEDOR.FORNECEDOR = deleted.FORNECEDOR /* FORNECEDORES R/1832 VENDAS_TERCEIRO_FATURAMENTO ON PARENT DELETE CASCADE */ delete VENDAS_TERCEIRO_FATURAMENTO from VENDAS_TERCEIRO_FATURAMENTO,deleted where VENDAS_TERCEIRO_FATURAMENTO.FORNECEDOR = deleted.FORNECEDOR /* FORNECEDORES R/1798 FORNECEDOR_CENTRO_CUSTO ON PARENT DELETE CASCADE */ delete FORNECEDOR_CENTRO_CUSTO from FORNECEDOR_CENTRO_CUSTO,deleted where FORNECEDOR_CENTRO_CUSTO.FORNECEDOR = deleted.FORNECEDOR /* FORNECEDORES FORNECEDORES VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.FORNECEDOR = deleted.FORNECEDOR /* FORNECEDORES FORNECEDORES COTACOES_CONS_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_CONS_FORNECEDOR where COTACOES_CONS_FORNECEDOR.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #COTACOES_CONS_FORNECEDOR#.'' goto error end /* FORNECEDORES FORNECEDORES COTACOES_MAT_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_MAT_FORNECEDOR where COTACOES_MAT_FORNECEDOR.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #COTACOES_MAT_FORNECEDOR#.'' goto error end /* FORNECEDORES FORNECEDORES COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.FORNECEDOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #COMPRAS#.'' goto error end /* FORNECEDORES FORNECEDORES MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.FABRICANTE = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #MATERIAIS#.'' goto error end /* FORNECEDORES FORNECEDORES PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.FABRICANTE = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #PRODUTOS#.'' goto error end /* FORNECEDORES FORNECEDORES PRODUTOS_GRIFFES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_GRIFFES where PRODUTOS_GRIFFES.LICENCIADOR = deleted.FORNECEDOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FORNECEDORES #porque existem registros em #PRODUTOS_GRIFFES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FORNECEDORES] on [FORNECEDORES] for INSERT as /* INSERT trigger on FORNECEDORES */ /* default body for LXI_FORNECEDORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDOR_TIPOS R/1794 FORNECEDORES ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_TIPOS where inserted.TIPO = FORNECEDOR_TIPOS.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDORES #porque #FORNECEDOR_TIPOS #não existe.'' goto error end end /* FORNECEDOR_SUBTIPO R/1652 FORNECEDORES ON CHILD INSERT RESTRICT */ if update(SUBTIPO_FORNECEDOR) or update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_SUBTIPO where inserted.SUBTIPO_FORNECEDOR = FORNECEDOR_SUBTIPO.SUBTIPO_FORNECEDOR and inserted.TIPO = FORNECEDOR_SUBTIPO.TIPO select @nullcnt = count(*) from inserted where inserted.SUBTIPO_FORNECEDOR is null or inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDORES #porque #FORNECEDOR_SUBTIPO #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FORNECEDORES ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FORNECEDOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDORES #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS FORNECEDORES ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDORES #porque #COND_ENT_PGTOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE FORNECEDORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FORNECEDORES, INSERTED WHERE FORNECEDORES.FORNECEDOR = INSERTED.FORNECEDOR AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FORNECEDORES] on [FORNECEDORES] for UPDATE as /* UPDATE trigger on FORNECEDORES */ /* default body for LXU_FORNECEDORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFORNECEDOR varchar(25), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDOR_TIPOS R/1794 FORNECEDORES ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_TIPOS where inserted.TIPO = FORNECEDOR_TIPOS.TIPO select @nullcnt = count(*) from inserted where inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDORES #porque #FORNECEDOR_TIPOS #não existe.'' goto error end end /* FORNECEDOR_SUBTIPO R/1652 FORNECEDORES ON CHILD UPDATE RESTRICT */ if update(SUBTIPO_FORNECEDOR) or update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDOR_SUBTIPO where inserted.SUBTIPO_FORNECEDOR = FORNECEDOR_SUBTIPO.SUBTIPO_FORNECEDOR and inserted.TIPO = FORNECEDOR_SUBTIPO.TIPO select @nullcnt = count(*) from inserted where inserted.SUBTIPO_FORNECEDOR is null and inserted.TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDORES #porque #FORNECEDOR_SUBTIPO #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR FORNECEDORES ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.FORNECEDOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDORES #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS FORNECEDORES ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDORES #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FORNECEDORES R/2151 COMPRAS_DESPESA_TIPO ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES2151 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES2151 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES2151 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA_TIPO SET COMPRAS_DESPESA_TIPO.FORNECEDOR=@insFORNECEDOR WHERE COMPRAS_DESPESA_TIPO.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES2151 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES2151 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES2151 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES R/2150 ENTRADAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES2150 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES2150 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES2150 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_DESPESA SET ENTRADAS_DESPESA.FORNECEDOR=@insFORNECEDOR WHERE ENTRADAS_DESPESA.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES2150 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES2150 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES2150 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES R/2140 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES2140 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES2140 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES2140 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.FORNECEDOR=@insFORNECEDOR WHERE COMPRAS_DESPESA.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES2140 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES2140 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES2140 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES R/1863 PRODUTOS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES1863 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES1863 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES1863 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_FORNECEDOR SET PRODUTOS_FORNECEDOR.FORNECEDOR=@insFORNECEDOR WHERE PRODUTOS_FORNECEDOR.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES1863 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES1863 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES1863 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES R/1832 VENDAS_TERCEIRO_FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES1832 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES1832 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES1832 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_TERCEIRO_FATURAMENTO SET VENDAS_TERCEIRO_FATURAMENTO.FORNECEDOR=@insFORNECEDOR WHERE VENDAS_TERCEIRO_FATURAMENTO.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES1832 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES1832 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES1832 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES R/1798 FORNECEDOR_CENTRO_CUSTO ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES1798 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES1798 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES1798 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDOR_CENTRO_CUSTO SET FORNECEDOR_CENTRO_CUSTO.FORNECEDOR=@insFORNECEDOR WHERE FORNECEDOR_CENTRO_CUSTO.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES1798 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES1798 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES1798 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES926 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES926 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES926 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.FORNECEDOR=@insFORNECEDOR WHERE VENDAS_COTAS_TIPO_ITENS.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES926 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES926 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES926 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES COTACOES_CONS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES797 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES797 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES797 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONS_FORNECEDOR SET COTACOES_CONS_FORNECEDOR.FORNECEDOR=@insFORNECEDOR WHERE COTACOES_CONS_FORNECEDOR.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES797 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES797 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES797 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES COTACOES_MAT_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES794 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES794 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES794 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_MAT_FORNECEDOR SET COTACOES_MAT_FORNECEDOR.FORNECEDOR=@insFORNECEDOR WHERE COTACOES_MAT_FORNECEDOR.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES794 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES794 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES794 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES COMPRAS ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES8 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES8 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES8 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.FORNECEDOR=@insFORNECEDOR WHERE COMPRAS.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES8 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES8 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES8 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES MATERIAIS ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES29 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES29 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES29 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.FABRICANTE=@insFORNECEDOR WHERE MATERIAIS.FABRICANTE = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES29 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES29 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES29 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES PRODUTOS ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES45 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES45 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES45 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.FABRICANTE=@insFORNECEDOR WHERE PRODUTOS.FABRICANTE = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES45 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES45 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES45 DEALLOCATE FORNECEDORES25 END /* FORNECEDORES FORNECEDORES PRODUTOS_GRIFFES ON PARENT UPDATE CASCADE */ IF update(FORNECEDOR) BEGIN DECLARE FORNECEDORES167 CURSOR FOR SELECT FORNECEDOR FROM INSERTED DECLARE FORNECEDORES25 CURSOR FOR SELECT FORNECEDOR FROM DELETED OPEN FORNECEDORES167 OPEN FORNECEDORES25 FETCH NEXT FROM FORNECEDORES167 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_GRIFFES SET PRODUTOS_GRIFFES.LICENCIADOR=@insFORNECEDOR WHERE PRODUTOS_GRIFFES.LICENCIADOR = @delFORNECEDOR FETCH NEXT FROM FORNECEDORES167 INTO @insFORNECEDOR FETCH NEXT FROM FORNECEDORES25 INTO @delFORNECEDOR END END CLOSE FORNECEDORES167 CLOSE FORNECEDORES25 DEALLOCATE FORNECEDORES167 DEALLOCATE FORNECEDORES25 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FORNECEDORES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FORNECEDORES, INSERTED WHERE FORNECEDORES.FORNECEDOR = INSERTED.FORNECEDOR AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FORNECEDORES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[FORNECE_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[FORNECE_PROD_ACAB]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[FORNECE_MAT_CONSUMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[BENEFICIADOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[FORNECE_OUTROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FORNECEDORES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[LICENCIADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDORES].[LICENDIADO_ROYALTIES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_PAGAR_FATURA_CENTROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_PAGAR_FATURA_CENTROS]( [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [CENTRO_CUSTO] [varchar](25) NOT NULL, [RATEIO] [numeric](5, 2) NOT NULL, CONSTRAINT [XPKA_PAGAR_FATURA_CENTROS] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [NOME_CLIFOR] ASC, [CENTRO_CUSTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_PAGAR_FATURA_CENTROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_PAGAR_FATURA_CENTROS] on [A_PAGAR_FATURA_CENTROS] for INSERT as /* INSERT trigger on A_PAGAR_FATURA_CENTROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_FATURA R/1800 A_PAGAR_FATURA_CENTROS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_FATURA where inserted.FATURA = A_PAGAR_FATURA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_FATURA.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA_CENTROS #porque #A_PAGAR_FATURA #não existe.'' goto error end end /* CENTROS_CUSTO R/1799 A_PAGAR_FATURA_CENTROS ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_FATURA_CENTROS #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_PAGAR_FATURA_CENTROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_PAGAR_FATURA_CENTROS] on [A_PAGAR_FATURA_CENTROS] for UPDATE as /* UPDATE trigger on A_PAGAR_FATURA_CENTROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insNOME_CLIFOR varchar(25), @insCENTRO_CUSTO varchar(25), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @delCENTRO_CUSTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_FATURA R/1800 A_PAGAR_FATURA_CENTROS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_FATURA where inserted.FATURA = A_PAGAR_FATURA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_FATURA.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA_CENTROS #porque #A_PAGAR_FATURA #não existe.'' goto error end end /* CENTROS_CUSTO R/1799 A_PAGAR_FATURA_CENTROS ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_FATURA_CENTROS #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_FATURA_CENTROS].[RATEIO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_DESPESA]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [ITEM] [char](3) NOT NULL, [CADASTRAMENTO_DESPESA] [datetime] NULL, [FORNECEDOR] [varchar](25) NOT NULL, [MOEDA] [char](6) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [DESPESA_COMPRA] [char](18) NOT NULL, [POSSUI_NF_ENTRADA] [bit] NOT NULL, [PORCENTAGEM] [real] NOT NULL, [VALOR_DESPESA] [numeric](14, 2) NULL, [DESC_DESPESA] [varchar](40) NOT NULL, [DOCUMENTO] [varchar](25) NOT NULL, [EMISSAO] [datetime] NOT NULL, [NF_ENTRADA_PENDENTE] [bit] NOT NULL, [NF_ENTRADA_DESPESA] [varchar](7) NULL, CONSTRAINT [XPKENTRADAS_DESPESA] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_DESPESA] on [ENTRADAS_DESPESA] for INSERT as /* INSERT trigger on ENTRADAS_DESPESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/2150 ENTRADAS_DESPESA ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_DESPESA #porque #FORNECEDORES #não existe.'' goto error end end /* MOEDAS R/2149 ENTRADAS_DESPESA ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_DESPESA #porque #MOEDAS #não existe.'' goto error end end /* COND_ENT_PGTOS R/2148 ENTRADAS_DESPESA ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_DESPESA #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* COMPRAS_DESPESA_TIPO R/2147 ENTRADAS_DESPESA ON CHILD INSERT RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_DESPESA #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* ENTRADAS R/2146 ENTRADAS_DESPESA ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_DESPESA #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_DESPESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADAS_DESPESA] on [ENTRADAS_DESPESA] for UPDATE as /* UPDATE trigger on ENTRADAS_DESPESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(3), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/2150 ENTRADAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_DESPESA #porque #FORNECEDORES #não existe.'' goto error end end /* MOEDAS R/2149 ENTRADAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_DESPESA #porque #MOEDAS #não existe.'' goto error end end /* COND_ENT_PGTOS R/2148 ENTRADAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_DESPESA #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* COMPRAS_DESPESA_TIPO R/2147 ENTRADAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(DESPESA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_DESPESA_TIPO where inserted.DESPESA_COMPRA = COMPRAS_DESPESA_TIPO.DESPESA_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_DESPESA #porque #COMPRAS_DESPESA_TIPO #não existe.'' goto error end end /* ENTRADAS R/2146 ENTRADAS_DESPESA ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_DESPESA #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_DESPESA].[NF_ENTRADA_PENDENTE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_TIPO_OCORRENCIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_TIPO_OCORRENCIA]( [OCORRENCIA] [char](3) NOT NULL, [DESC_OCORRENCIA] [varchar](40) NULL, [DESCONTA_MINUTOS] [bit] NOT NULL, CONSTRAINT [XPKPRODUTIV_TIPO_OCORRENCIA] PRIMARY KEY NONCLUSTERED ( [OCORRENCIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_TIPO_OCORRENCIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_TIPO_OCORRENCIA] on [PRODUTIV_TIPO_OCORRENCIA] for DELETE as /* DELETE trigger on PRODUTIV_TIPO_OCORRENCIA */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_TIPO_OCORRENCIA OCORRENCIA PRODUTIV_OCORRENCIAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_OCORRENCIAS where PRODUTIV_OCORRENCIAS.OCORRENCIA = deleted.OCORRENCIA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_TIPO_OCORRENCIA #porque existem registros em #PRODUTIV_OCORRENCIAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_TIPO_OCORRENCIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_TIPO_OCORRENCIA] on [PRODUTIV_TIPO_OCORRENCIA] for UPDATE as /* UPDATE trigger on PRODUTIV_TIPO_OCORRENCIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOCORRENCIA char(3), @delOCORRENCIA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TIPO_OCORRENCIA OCORRENCIA PRODUTIV_OCORRENCIAS ON PARENT UPDATE CASCADE */ IF update(OCORRENCIA) BEGIN DECLARE PRODUTIV_TIPO_OCORRENCIA1037 CURSOR FOR SELECT OCORRENCIA FROM INSERTED DECLARE PRODUTIV_TIPO_OCORRENCIA673 CURSOR FOR SELECT OCORRENCIA FROM DELETED OPEN PRODUTIV_TIPO_OCORRENCIA1037 OPEN PRODUTIV_TIPO_OCORRENCIA673 FETCH NEXT FROM PRODUTIV_TIPO_OCORRENCIA1037 INTO @insOCORRENCIA FETCH NEXT FROM PRODUTIV_TIPO_OCORRENCIA673 INTO @delOCORRENCIA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OCORRENCIAS SET PRODUTIV_OCORRENCIAS.OCORRENCIA=@insOCORRENCIA WHERE PRODUTIV_OCORRENCIAS.OCORRENCIA = @delOCORRENCIA FETCH NEXT FROM PRODUTIV_TIPO_OCORRENCIA1037 INTO @insOCORRENCIA FETCH NEXT FROM PRODUTIV_TIPO_OCORRENCIA673 INTO @delOCORRENCIA END END CLOSE PRODUTIV_TIPO_OCORRENCIA1037 CLOSE PRODUTIV_TIPO_OCORRENCIA673 DEALLOCATE PRODUTIV_TIPO_OCORRENCIA1037 DEALLOCATE PRODUTIV_TIPO_OCORRENCIA673 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_TIPO_OCORRENCIA].[DESCONTA_MINUTOS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_PROCESSOS_ROTAS]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PROCESSO_PRODUTIVO] [char](8) NOT NULL, [OBS] [text] NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, CONSTRAINT [XPKMATERIAIS_TRATAMENTO] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [PROCESSO_PRODUTIVO] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_PROCESSOS_ROTAS] on [MATERIAIS_PROCESSOS_ROTAS] for DELETE as /* DELETE trigger on MATERIAIS_PROCESSOS_ROTAS */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_PROCESSOS_ROTAS R/1919 M_ORDEM_FABRICACAO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO_ITEM where M_ORDEM_FABRICACAO_ITEM.MATERIAL = deleted.MATERIAL and M_ORDEM_FABRICACAO_ITEM.PROCESSO_PRODUTIVO = deleted.PROCESSO_PRODUTIVO and M_ORDEM_FABRICACAO_ITEM.COR_MATERIAL = deleted.COR_MATERIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_PROCESSOS_ROTAS #porque existem registros em #M_ORDEM_FABRICACAO_ITEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_PROCESSOS_ROTAS] on [MATERIAIS_PROCESSOS_ROTAS] for INSERT as /* INSERT trigger on MATERIAIS_PROCESSOS_ROTAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSO R/1910 MATERIAIS_PROCESSOS_ROTAS ON CHILD INSERT RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSOS_ROTAS #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_PROCESSOS_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_PROCESSOS_ROTAS] on [MATERIAIS_PROCESSOS_ROTAS] for UPDATE as /* UPDATE trigger on MATERIAIS_PROCESSOS_ROTAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insPROCESSO_PRODUTIVO char(8), @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delPROCESSO_PRODUTIVO char(8), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSOS_ROTAS R/1919 M_ORDEM_FABRICACAO_ITEM ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(PROCESSO_PRODUTIVO) OR update(COR_MATERIAL) BEGIN DECLARE MATERIAIS_PROCESSOS_ROTAS1919 CURSOR FOR SELECT MATERIAL, PROCESSO_PRODUTIVO, COR_MATERIAL FROM INSERTED DECLARE MATERIAIS_PROCESSOS_ROTAS1060 CURSOR FOR SELECT MATERIAL, PROCESSO_PRODUTIVO, COR_MATERIAL FROM DELETED OPEN MATERIAIS_PROCESSOS_ROTAS1919 OPEN MATERIAIS_PROCESSOS_ROTAS1060 FETCH NEXT FROM MATERIAIS_PROCESSOS_ROTAS1919 INTO @insMATERIAL, @insPROCESSO_PRODUTIVO, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_PROCESSOS_ROTAS1060 INTO @delMATERIAL, @delPROCESSO_PRODUTIVO, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_ITEM SET M_ORDEM_FABRICACAO_ITEM.MATERIAL=@insMATERIAL, M_ORDEM_FABRICACAO_ITEM.PROCESSO_PRODUTIVO=@insPROCESSO_PRODUTIVO, M_ORDEM_FABRICACAO_ITEM.COR_MATERIAL=@insCOR_MATERIAL WHERE M_ORDEM_FABRICACAO_ITEM.MATERIAL = @delMATERIAL and M_ORDEM_FABRICACAO_ITEM.PROCESSO_PRODUTIVO = @delPROCESSO_PRODUTIVO and M_ORDEM_FABRICACAO_ITEM.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM MATERIAIS_PROCESSOS_ROTAS1919 INTO @insMATERIAL, @insPROCESSO_PRODUTIVO, @insCOR_MATERIAL FETCH NEXT FROM MATERIAIS_PROCESSOS_ROTAS1060 INTO @delMATERIAL, @delPROCESSO_PRODUTIVO, @delCOR_MATERIAL END END CLOSE MATERIAIS_PROCESSOS_ROTAS1919 CLOSE MATERIAIS_PROCESSOS_ROTAS1060 DEALLOCATE MATERIAIS_PROCESSOS_ROTAS1919 DEALLOCATE MATERIAIS_PROCESSOS_ROTAS1060 END /* MATERIAIS_PROCESSO R/1910 MATERIAIS_PROCESSOS_ROTAS ON CHILD UPDATE RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSOS_ROTAS #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSOS_ROTAS].[CUSTO_SERVICO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSOS_ROTAS].[CUSTO_MATERIAL_TERCEIRO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VALE_COMPRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VALE_COMPRA]( [CODIGO_FILIAL] [char](6) NULL, [TICKET] [char](8) NULL, [NUMERO_VALE] [int] NULL, [CODIGO_CLIENTE] [char](14) NULL, [CODIGO_VENDEDOR] [char](4) NULL, [DATA_VENDA] [datetime] NULL, [DATA_EMISSAO] [datetime] NULL, [DATA_VENCIMENTO] [datetime] NULL, [VALOR_PAGO] [numeric](14, 2) NULL, [VALOR_VALE] [numeric](14, 2) NULL, [DATA_CANCELAMENTO] [datetime] NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VALE_COMPRA].[VALOR_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VALE_COMPRA].[VALOR_VALE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FORNECEDOR_CENTRO_CUSTO]( [CENTRO_CUSTO] [varchar](25) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [RATEIO] [numeric](5, 2) NOT NULL, CONSTRAINT [XPKFORNECEDOR_CENTRO_CUSTO] PRIMARY KEY NONCLUSTERED ( [CENTRO_CUSTO] ASC, [FORNECEDOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_FORNECEDOR_CENTRO_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_FORNECEDOR_CENTRO_CUSTO] ON [FORNECEDOR_CENTRO_CUSTO] FOR DELETE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) BEGIN DELETE FROM GF_FORNECEDOR_CE WHERE GF_FORNECEDOR=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT FORNECEDOR FROM DELETED) AND EMP=@EMPRESA) AND GF_CENTRO_CUSTO= (SELECT ID FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM DELETED) AND EMP=@EMPRESA) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_FORNECEDOR_CENTRO_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_FORNECEDOR_CENTRO_CUSTO] ON [FORNECEDOR_CENTRO_CUSTO] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) BEGIN INSERT INTO GF_FORNECEDOR_CE (ID,ID_FORNECEDOR,GF_CENTRO_CUSTO,GF_FORNECEDOR,GF_RATEIO) SELECT B.IDMAX, D.ID, C.ID, D.ID, A.RATEIO FROM INSERTED A, GF_FORNECEDOR_CECNT B, GF_CENTROS_CUSTO C, GF_FORNECEDORES D WHERE A.CENTRO_CUSTO=C.GF_CENTRO_CUSTO AND A.FORNECEDOR=D.GF_FORNECEDOR AND @EMPRESA=D.EMP AND A.CENTRO_CUSTO=C.GF_CENTRO_CUSTO AND @EMPRESA=C.EMP UPDATE GF_FORNECEDOR_CECNT SET IDMAX=IDMAX+1 END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_FORNECEDOR_CENTRO_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_FORNECEDOR_CENTRO_CUSTO] ON [FORNECEDOR_CENTRO_CUSTO] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) BEGIN UPDATE GF_FORNECEDOR_CE SET GF_CENTRO_CUSTO=(SELECT ID FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM INSERTED) AND EMP=@EMPRESA), GF_FORNECEDOR=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT FORNECEDOR FROM INSERTED) AND EMP=@EMPRESA), GF_RATEIO=(SELECT RATEIO FROM INSERTED) FROM INSERTED A, DELETED B WHERE GF_FORNECEDOR=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT FORNECEDOR FROM DELETED))AND GF_CENTRO_CUSTO=(SELECT ID FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM DELETED)) END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FORNECEDOR_CENTRO_CUSTO] on [FORNECEDOR_CENTRO_CUSTO] for INSERT as /* INSERT trigger on FORNECEDOR_CENTRO_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/1798 FORNECEDOR_CENTRO_CUSTO ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDOR_CENTRO_CUSTO #porque #FORNECEDORES #não existe.'' goto error end end /* CENTROS_CUSTO R/1796 FORNECEDOR_CENTRO_CUSTO ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FORNECEDOR_CENTRO_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FORNECEDOR_CENTRO_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FORNECEDOR_CENTRO_CUSTO] on [FORNECEDOR_CENTRO_CUSTO] for UPDATE as /* UPDATE trigger on FORNECEDOR_CENTRO_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCENTRO_CUSTO varchar(25), @insFORNECEDOR varchar(25), @delCENTRO_CUSTO varchar(25), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/1798 FORNECEDOR_CENTRO_CUSTO ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDOR_CENTRO_CUSTO #porque #FORNECEDORES #não existe.'' goto error end end /* CENTROS_CUSTO R/1796 FORNECEDOR_CENTRO_CUSTO ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FORNECEDOR_CENTRO_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FORNECEDOR_CENTRO_CUSTO].[RATEIO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_OPERACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_OPERACOES]( [OPERACAO] [char](5) NOT NULL, [LINHA_INDUSTRIAL] [varchar](25) NOT NULL, [GRUPO_PRODUTO] [varchar](25) NOT NULL, [SUBGRUPO_PRODUTO] [varchar](25) NOT NULL, [MAQUINA] [char](5) NOT NULL, [DESC_OPERACAO] [varchar](60) NOT NULL, [TEMPO_FIXO] [numeric](7, 3) NULL, [TEMPO_PREVISTO] [numeric](7, 3) NULL, [TIPO_OPERACAO] [char](5) NOT NULL, [CRONOMETRAGEM_1] [numeric](7, 3) NULL, [CRONOMETRAGEM_2] [numeric](7, 3) NULL, [CRONOMETRAGEM_3] [numeric](7, 3) NULL, [CRONOMETRAGEM_4] [numeric](7, 3) NULL, [CRONOMETRAGEM_5] [numeric](7, 3) NULL, [CRONOMETRAGEM_6] [numeric](7, 3) NULL, [CRONOMETRAGEM_7] [numeric](7, 3) NULL, [CRONOMETRAGEM_8] [numeric](7, 3) NULL, [PONTOS_POLEGADA] [numeric](7, 2) NULL, [CRONOMETRISTA] [varchar](25) NULL, [CRONOMETRADO] [varchar](25) NULL, [FOTO_DESENHO] [varchar](100) NULL, CONSTRAINT [XPKPRODUTIV_OPERACOES] PRIMARY KEY NONCLUSTERED ( [OPERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_OPERACOES] on [PRODUTIV_OPERACOES] for DELETE as /* DELETE trigger on PRODUTIV_OPERACOES */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_OPERACOES PRODUTIV_OPERACOES PRODUTOS_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_OPERACOES where PRODUTOS_OPERACOES.OPERACAO = deleted.OPERACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_OPERACOES #porque existem registros em #PRODUTOS_OPERACOES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_OPERACOES] on [PRODUTIV_OPERACOES] for INSERT as /* INSERT trigger on PRODUTIV_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_OPERACOES ON CHILD INSERT RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OPERACOES #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTIV_OPERACOES ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OPERACOES #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTIV_OPER_TIPO PRODUTIV_OPER_TIPO PRODUTIV_OPERACOES ON CHILD INSERT RESTRICT */ if update(TIPO_OPERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPER_TIPO where inserted.TIPO_OPERACAO = PRODUTIV_OPER_TIPO.TIPO_OPERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OPERACOES #porque #PRODUTIV_OPER_TIPO #não existe.'' goto error end end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERACOES ON CHILD INSERT RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OPERACOES #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_OPERACOES] on [PRODUTIV_OPERACOES] for UPDATE as /* UPDATE trigger on PRODUTIV_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO char(5), @delOPERACAO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERACOES PRODUTIV_OPERACOES PRODUTOS_OPERACOES ON PARENT UPDATE CASCADE */ IF update(OPERACAO) BEGIN DECLARE PRODUTIV_OPERACOES656 CURSOR FOR SELECT OPERACAO FROM INSERTED DECLARE PRODUTIV_OPERACOES417 CURSOR FOR SELECT OPERACAO FROM DELETED OPEN PRODUTIV_OPERACOES656 OPEN PRODUTIV_OPERACOES417 FETCH NEXT FROM PRODUTIV_OPERACOES656 INTO @insOPERACAO FETCH NEXT FROM PRODUTIV_OPERACOES417 INTO @delOPERACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_OPERACOES SET PRODUTOS_OPERACOES.OPERACAO=@insOPERACAO WHERE PRODUTOS_OPERACOES.OPERACAO = @delOPERACAO FETCH NEXT FROM PRODUTIV_OPERACOES656 INTO @insOPERACAO FETCH NEXT FROM PRODUTIV_OPERACOES417 INTO @delOPERACAO END END CLOSE PRODUTIV_OPERACOES656 CLOSE PRODUTIV_OPERACOES417 DEALLOCATE PRODUTIV_OPERACOES656 DEALLOCATE PRODUTIV_OPERACOES417 END /* PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_LINHA_INDUSTRIAL PRODUTIV_OPERACOES ON CHILD UPDATE RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OPERACOES #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO PRODUTIV_OPERACOES ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OPERACOES #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTIV_OPER_TIPO PRODUTIV_OPER_TIPO PRODUTIV_OPERACOES ON CHILD UPDATE RESTRICT */ if update(TIPO_OPERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPER_TIPO where inserted.TIPO_OPERACAO = PRODUTIV_OPER_TIPO.TIPO_OPERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OPERACOES #porque #PRODUTIV_OPER_TIPO #não existe.'' goto error end end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERACOES ON CHILD UPDATE RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OPERACOES #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OPERACOES].[PONTOS_POLEGADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_TERCEIROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_TERCEIROS]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [ITEM] [char](4) NOT NULL, [QTDE_RETORNO] [numeric](9, 3) NULL, [VALOR_RETORNO] [numeric](14, 2) NULL, CONSTRAINT [XPKFATURAMENTO_TERCEIROS] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC, [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_TERCEIROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_TERCEIROS] on [FATURAMENTO_TERCEIROS] for INSERT as /* INSERT trigger on FATURAMENTO_TERCEIROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS R/1749 FATURAMENTO_TERCEIROS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_TERCEIROS #porque #ENTRADAS #não existe.'' goto error end end /* FATURAMENTO R/1748 FATURAMENTO_TERCEIROS ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_TERCEIROS #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_TERCEIROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_TERCEIROS] on [FATURAMENTO_TERCEIROS] for UPDATE as /* UPDATE trigger on FATURAMENTO_TERCEIROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS R/1749 FATURAMENTO_TERCEIROS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_TERCEIROS #porque #ENTRADAS #não existe.'' goto error end end /* FATURAMENTO R/1748 FATURAMENTO_TERCEIROS ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_TERCEIROS #porque #FATURAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_TERCEIROS].[QTDE_RETORNO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_TERCEIROS].[VALOR_RETORNO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CORTE_PECA]( [ENCAIXE] [varchar](8) NOT NULL, [ORDEM_CORTE] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [QTDE_PECA] [decimal](10, 3) NULL, [FILIAL] [varchar](25) NOT NULL, [NUMERO_FOLHAS] [numeric](5, 1) NOT NULL, [GRAMATURA] [numeric](9, 3) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CORTE_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXI_PRODUCAO_CORTE_PECA] on [PRODUCAO_CORTE_PECA] for INSERT as /* INSERT trigger on PRODUCAO_CORTE_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insENCAIXE varchar(8), @insORDEM_CORTE char(8), @insPRODUTO char(12), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insPECA char(6), @insPARTIDA char(6), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_ENFESTO R/182 PRODUCAO_CORTE_PECA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(ORDEM_CORTE) or update(ENCAIXE) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_ENFESTO where inserted.MATERIAL = PRODUCAO_CORTE_ENFESTO.MATERIAL and inserted.COR_MATERIAL = PRODUCAO_CORTE_ENFESTO.COR_MATERIAL and inserted.ORDEM_CORTE = PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_ENFESTO.ENCAIXE and inserted.PRODUTO = PRODUCAO_CORTE_ENFESTO.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_PECA #porque #PRODUCAO_CORTE_ENFESTO #não existe.'' goto error end end /* ESTOQUE_MAT_PECA R/178 PRODUCAO_CORTE_PECA ON CHILD INSERT RESTRICT */ if update(PECA) or update(PARTIDA) or update(MATERIAL) or update(FILIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_PECA where inserted.PECA = ESTOQUE_MAT_PECA.PECA and inserted.PARTIDA = ESTOQUE_MAT_PECA.PARTIDA and inserted.MATERIAL = ESTOQUE_MAT_PECA.MATERIAL and inserted.FILIAL = ESTOQUE_MAT_PECA.FILIAL and inserted.COR_MATERIAL = ESTOQUE_MAT_PECA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_PECA #porque #ESTOQUE_MAT_PECA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CORTE_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_PRODUCAO_CORTE_PECA] on [PRODUCAO_CORTE_PECA] for UPDATE as /* UPDATE trigger on PRODUCAO_CORTE_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insENCAIXE varchar(8), @insORDEM_CORTE char(8), @insPRODUTO char(12), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insPECA char(6), @insPARTIDA char(6), @insFILIAL varchar(25), @delENCAIXE varchar(8), @delORDEM_CORTE char(8), @delPRODUTO char(12), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delPECA char(6), @delPARTIDA char(6), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_ENFESTO R/182 PRODUCAO_CORTE_PECA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) or update(ORDEM_CORTE) or update(ENCAIXE) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_ENFESTO where inserted.MATERIAL = PRODUCAO_CORTE_ENFESTO.MATERIAL and inserted.COR_MATERIAL = PRODUCAO_CORTE_ENFESTO.COR_MATERIAL and inserted.ORDEM_CORTE = PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_ENFESTO.ENCAIXE and inserted.PRODUTO = PRODUCAO_CORTE_ENFESTO.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_PECA #porque #PRODUCAO_CORTE_ENFESTO #não existe.'' goto error end end /* ESTOQUE_MAT_PECA R/178 PRODUCAO_CORTE_PECA ON CHILD UPDATE RESTRICT */ if update(PECA) or update(PARTIDA) or update(MATERIAL) or update(FILIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_PECA where inserted.PECA = ESTOQUE_MAT_PECA.PECA and inserted.PARTIDA = ESTOQUE_MAT_PECA.PARTIDA and inserted.MATERIAL = ESTOQUE_MAT_PECA.MATERIAL and inserted.FILIAL = ESTOQUE_MAT_PECA.FILIAL and inserted.COR_MATERIAL = ESTOQUE_MAT_PECA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_PECA #porque #ESTOQUE_MAT_PECA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CORTE_PECA].[NUMERO_FOLHAS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_OPER_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_OPER_TIPO]( [TIPO_OPERACAO] [char](5) NOT NULL, [DESC_TIPO_OPERACAO] [varchar](40) NOT NULL, [BALANCEAR_OPERACAO] [bit] NOT NULL, CONSTRAINT [XPKPRODUTIV_OPER_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_OPERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_OPER_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_OPER_TIPO] on [PRODUTIV_OPER_TIPO] for DELETE as /* DELETE trigger on PRODUTIV_OPER_TIPO */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_OPER_TIPO PRODUTIV_OPER_TIPO PRODUTIV_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_OPERACOES where PRODUTIV_OPERACOES.TIPO_OPERACAO = deleted.TIPO_OPERACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_OPER_TIPO #porque existem registros em #PRODUTIV_OPERACOES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_OPER_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_OPER_TIPO] on [PRODUTIV_OPER_TIPO] for UPDATE as /* UPDATE trigger on PRODUTIV_OPER_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_OPERACAO char(5), @delTIPO_OPERACAO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPER_TIPO PRODUTIV_OPER_TIPO PRODUTIV_OPERACOES ON PARENT UPDATE CASCADE */ IF update(TIPO_OPERACAO) BEGIN DECLARE PRODUTIV_OPER_TIPO654 CURSOR FOR SELECT TIPO_OPERACAO FROM INSERTED DECLARE PRODUTIV_OPER_TIPO419 CURSOR FOR SELECT TIPO_OPERACAO FROM DELETED OPEN PRODUTIV_OPER_TIPO654 OPEN PRODUTIV_OPER_TIPO419 FETCH NEXT FROM PRODUTIV_OPER_TIPO654 INTO @insTIPO_OPERACAO FETCH NEXT FROM PRODUTIV_OPER_TIPO419 INTO @delTIPO_OPERACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OPERACOES SET PRODUTIV_OPERACOES.TIPO_OPERACAO=@insTIPO_OPERACAO WHERE PRODUTIV_OPERACOES.TIPO_OPERACAO = @delTIPO_OPERACAO FETCH NEXT FROM PRODUTIV_OPER_TIPO654 INTO @insTIPO_OPERACAO FETCH NEXT FROM PRODUTIV_OPER_TIPO419 INTO @delTIPO_OPERACAO END END CLOSE PRODUTIV_OPER_TIPO654 CLOSE PRODUTIV_OPER_TIPO419 DEALLOCATE PRODUTIV_OPER_TIPO654 DEALLOCATE PRODUTIV_OPER_TIPO419 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OPER_TIPO].[BALANCEAR_OPERACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDA_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDA_PARCELAS]( [TERMINAL] [char](3) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [PARCELA] [char](2) NOT NULL, [CODIGO_ADMINISTRADORA] [char](2) NULL, [TIPO_PGTO] [char](1) NOT NULL, [VALOR] [numeric](14, 2) NULL, [VENCIMENTO] [datetime] NULL, [NUMERO_TITULO] [varchar](12) NULL, [MOEDA] [char](6) NOT NULL, [AGENCIA] [char](4) NULL, [BANCO] [char](4) NULL, [CONTA_CORRENTE] [varchar](15) NULL, [NUMERO_APROVACAO_CARTAO] [varchar](12) NULL, [PARCELAS_CARTAO] [int] NOT NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [CHEQUE_CARTAO] [varchar](35) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [NUMERO_LOTE] [varchar](10) NULL, [FINALIZACAO] [varchar](20) NULL, [BAIXA] [smallint] NULL, [REDE_CONTROLADORA] [char](8) NULL, [COTACAO] [numeric](14, 5) NULL, [VALOR_MOEDA] [numeric](14, 2) NULL, CONSTRAINT [XPKLOJA_VENDA_PARCELAS] PRIMARY KEY NONCLUSTERED ( [TERMINAL] ASC, [LANCAMENTO_CAIXA] ASC, [CODIGO_FILIAL] ASC, [PARCELA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_PARCELAS]') AND name = N'XIE1LOJA_VENDA_PARCELAS') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDA_PARCELAS] ON [LOJA_VENDA_PARCELAS] ( [BANCO] ASC, [AGENCIA] ASC, [NUMERO_TITULO] ASC, [CONTA_CORRENTE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDA_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDA_PARCELAS] on [LOJA_VENDA_PARCELAS] for DELETE as /* DELETE trigger on LOJA_VENDA_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCODIGO_FILIAL char(6), @insPARCELA char(2), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCODIGO_FILIAL char(6), @delPARCELA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ BEGIN DECLARE CUR_LOG_DELETE CURSOR FOR SELECT DISTINCT TERMINAL, LANCAMENTO_CAIXA, CODIGO_FILIAL, PARCELA FROM DELETED DECLARE @xDATA DATETIME OPEN CUR_LOG_DELETE FETCH NEXT FROM CUR_LOG_DELETE INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA) VALUES(@insCODIGO_FILIAL,@insTERMINAL,@insLANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''D'',''LOJA_VENDA_PARCELAS''+@insPARCELA) END FETCH NEXT FROM CUR_LOG_DELETE INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA END END CLOSE CUR_LOG_DELETE DEALLOCATE CUR_LOG_DELETE END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDA_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDA_PARCELAS] on [LOJA_VENDA_PARCELAS] for INSERT as /* INSERT trigger on LOJA_VENDA_PARCELAS */ /* default body for LXI_LOJA_VENDA_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCODIGO_FILIAL char(6), @insPARCELA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ADMINISTRADORAS_CARTAO ADMINISTRADORA LOJA_VENDA_PARCELAS ON CHILD INSERT RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PARCELAS #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* TIPOS_PGTO TIPOS_PGTO LOJA_VENDA_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PARCELAS #porque #TIPOS_PGTO #não existe.'' goto error end end /* LOJA_VENDA_PGTO LOJA_PARCELAS LOJA_VENDA_PARCELAS ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA_PGTO where inserted.CODIGO_FILIAL = LOJA_VENDA_PGTO.CODIGO_FILIAL and inserted.TERMINAL = LOJA_VENDA_PGTO.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_VENDA_PGTO.LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PARCELAS #porque #LOJA_VENDA_PGTO #não existe.'' goto error end end /*-- Atualiza Contas a Receber ------------------------------------------------------------------------*/ SET NOCOUNT ON BEGIN IF NOT EXISTS (SELECT * FROM CARTEIRAS_COBRANCA WHERE CARTEIRA = ''CARTEIRA DE LOJA'') INSERT INTO CARTEIRAS_COBRANCA (CARTEIRA, DESCONTADA) VALUES (''CARTEIRA DE LOJA'', 0) DECLARE @sTitulo VARCHAR(35), @bDinheiro BIT, @bIndicaCartao BIT, @iCounter INTEGER DECLARE @sCodigoFilial VARCHAR(6), @sTerminal VARCHAR(3), @sLancamentoCaixa VARCHAR(7) DECLARE @sParcela VARCHAR(2), @sCodigoAdministradora VARCHAR(2), @sTipoPgto VARCHAR(1) DECLARE @nValor NUMERIC(14,2), @dVencimento DATETIME, @sNumeroTitulo VARCHAR(12),@nValorLoc Numeric(14,2) DECLARE @sChequeCartao VARCHAR(35), @nParcelasCartao INTEGER, @nValorCancelado NUMERIC(14,2) DECLARE @nTaxaAdministracao DECIMAL(8,3), @dData DATETIME, @sCodigoCliente VARCHAR(14) DECLARE @sBanco VARCHAR(3), @sAgencia VARCHAR(4), @sContaCorrente VARCHAR(15), @sFilial VARCHAR(25) DECLARE @sTicket VARCHAR(8), @nLocalidade TINYINT,@OldTitulo VARCHAR(35), @sNumeroLote VARCHAR(10) IF @@DATEFIRST<>7 SET DATEFIRST 7 DECLARE curLojaVendaParcelasD CURSOR FOR SELECT A.CODIGO_FILIAL, A.TERMINAL, A.LANCAMENTO_CAIXA, PARCELA, TIPO_PGTO, VALOR, VENCIMENTO, NUMERO_TITULO, CHEQUE_CARTAO, ISNULL(A.VALOR_CANCELADO, 0) AS VALOR_CANCELADO, DATA, FILIAL FROM (DELETED A INNER JOIN LOJAS_VAREJO C ON A.CODIGO_FILIAL = C.CODIGO_FILIAL) INNER JOIN LOJA_VENDA_PGTO D ON A.CODIGO_FILIAL = D.CODIGO_FILIAL AND A.TERMINAL = D.TERMINAL AND A.LANCAMENTO_CAIXA = D.LANCAMENTO_CAIXA OPEN curLojaVendaParcelasD FETCH NEXT FROM curLojaVendaParcelasD INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nValorCancelado, @dData, @sFilial WHILE @@fetch_status >= 0 BEGIN IF @sTipoPgto = ''D'' SELECT @sTitulo = ''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12), @bDinheiro = 1 ELSE SELECT @sTitulo = RTRIM(@sChequeCartao), @bDinheiro = 0 IF ISNULL(@sTitulo, '''') = '''' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') BEGIN SELECT @bIndicaCartao = 1 IF ISNULL(@sChequeCartao, '''') = '''' OR SUBSTRING(@sChequeCartao, 1, 10) = ''Em branco:'' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) ELSE BEGIN SELECT @sTitulo = RTRIM(@sChequeCartao) + ''%'' END END ELSE SELECT @bIndicaCartao = 0 IF @sTipoPgto = ''D'' BEGIN IF ( EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData)= (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) OR ( NOT EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) = (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) BEGIN SELECT @nValor=0 SELECT @nValor = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN 0 ELSE VALOR END),0), @nValorLoc = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN VALOR ELSE 0 END),0) FROM LOJA_VENDA_PARCELAS A JOIN LOJA_VENDA_PGTO B ON B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.TERMINAL=A.TERMINAL AND B.LANCAMENTO_CAIXA=A.LANCAMENTO_CAIXA WHERE DATA=@dData AND B.Codigo_Filial=@sCodigoFilial AND TIPO_PGTO=''D'' IF @nValor=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=0 IF @nValorLoc=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'' UPDATE A_RECEBER_CHEQUES SET VALOR = @nValorLoc-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValorLoc WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12) UPDATE A_RECEBER_CHEQUES SET VALOR = @nVALOR-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValor WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=0 END END IF @sTipoPgto <> ''D'' AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE FILIAL = @sFilial AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND EMISSAO = @dData AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' ) BEGIN IF EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE FILIAL = @sFilial AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND PARCELAMENTO_NA_VENDA=@sPARCELA AND ORIGEM=''L'' AND EMISSAO=@DDATA) BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND ORIGEM=''L'' AND PARCELAMENTO_NA_VENDA=@sParcela AND EMISSAO=@DDATA END ELSE IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') AND @SPARCELA=''01'' BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO LIKE @sTitulo AND EMISSAO = @dData AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE (CHEQUE_CARTAO = @sTitulo OR VENCIMENTO=@DVENCIMENTO) AND EMISSAO = @dData AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' END END FETCH NEXT FROM curLojaVendaParcelasD INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nValorCancelado, @dData, @sFilial END DECLARE curLojaVendaParcelasI CURSOR FOR SELECT A.CODIGO_FILIAL, A.TERMINAL, A.LANCAMENTO_CAIXA, PARCELA, A.CODIGO_ADMINISTRADORA, TIPO_PGTO, VALOR, VENCIMENTO, NUMERO_TITULO, CHEQUE_CARTAO, ISNULL(PARCELAS_CARTAO, 0) AS PARCELAS_CARTAO, ISNULL(A.VALOR_CANCELADO, 0) AS VALOR_CANCELADO, ISNULL(TAXA_ADMINISTRACAO, 0) AS TAXA_ADMINISTRACAO, DATA, (CASE WHEN TIPO_PGTO <> ''D'' THEN CODIGO_CLIENTE ELSE NULL END) AS CODIGO_CLIENTE, BANCO, AGENCIA, CONTA_CORRENTE, FILIAL, E.TICKET, CONVERT(TINYINT,(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL THEN 1 WHEN NUMERO_CUPOM_FISCAL='''' THEN 1 ELSE 0 END)) AS LOCALIDADE, A.NUMERO_LOTE FROM ((((INSERTED A INNER JOIN LOJAS_VAREJO C ON A.CODIGO_FILIAL = C.CODIGO_FILIAL) INNER JOIN LOJA_VENDA_PGTO D ON A.CODIGO_FILIAL = D.CODIGO_FILIAL AND A.TERMINAL = D.TERMINAL AND A.LANCAMENTO_CAIXA = D.LANCAMENTO_CAIXA) INNER JOIN LOJA_VENDA E (index = XIE3LOJA_VENDA) ON A.CODIGO_FILIAL = E.CODIGO_FILIAL_PGTO AND A.TERMINAL = E.TERMINAL_PGTO AND A.LANCAMENTO_CAIXA = E.LANCAMENTO_CAIXA) LEFT JOIN ADMINISTRADORAS_CARTAO B ON A.CODIGO_ADMINISTRADORA = B.CODIGO_ADMINISTRADORA) OPEN curLojaVendaParcelasI FETCH NEXT FROM curLojaVendaParcelasI INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sCodigoAdministradora, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nParcelasCartao, @nValorCancelado, @nTaxaAdministracao, @dData, @sCodigoCliente, @sBanco, @sAgencia, @sContaCorrente, @sFilial, @sTicket, @nLocalidade, @sNumeroLote WHILE @@fetch_status >= 0 BEGIN IF ( EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData)= (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) OR ( NOT EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) = (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) BEGIN IF @sTipoPgto = ''D'' BEGIN SELECT @nValor=0 SELECT @nValor = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN 0 ELSE VALOR END),0), @nValorLoc = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN VALOR ELSE 0 END),0) FROM LOJA_VENDA_PARCELAS A JOIN LOJA_VENDA_PGTO B ON B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.TERMINAL=A.TERMINAL AND B.LANCAMENTO_CAIXA=A.LANCAMENTO_CAIXA WHERE DATA=@dData AND B.Codigo_Filial=@sCodigoFilial AND TIPO_PGTO=''D'' IF @nValor=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=0 IF @nValorLoc=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'' IF NOT EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@sTitulo) AND @nValorLoc<>0 INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LOCALIDADE) VALUES (''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'', @sCodigoAdministradora, @sTipoPgto, @sBanco, ''0'', @sFilial, @sAgencia, @dData, @nValorLoc, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValorLoc, @dData,0, 0, ''L'',1) ELSE UPDATE A_RECEBER_CHEQUES SET VALOR = @nValorLoc-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValorLoc WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12) IF NOT EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@sTitulo) AND @nValor<>0 INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LOCALIDADE) VALUES (''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12), @sCodigoAdministradora, @sTipoPgto, @sBanco, ''0'', @sFilial, @sAgencia, @dData, @nValor, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValor, @dData,0, 0, ''L'',0) ELSE UPDATE A_RECEBER_CHEQUES SET VALOR = @nVALOR-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValor WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=0 END --IF @sTipoPgto = ''D'' ELSE BEGIN SELECT @sTitulo = RTRIM(@sChequeCartao), @bDinheiro = 0 IF ISNULL(@sTitulo, '''') = '''' AND @sTipoPgto <> ''D'' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') SELECT @bIndicaCartao = 1 ELSE SELECT @bIndicaCartao = 0 SELECT @iCounter=1, @OldTitulo=@sTitulo WHILE @sTipoPgto NOT IN (''A'',''B'',''I'',''E'',''K'',''D'') AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial OR VENCIMENTO<>@DVENCIMENTO OR PARCELAMENTO_NA_VENDA<>@sPARCELA)) BEGIN SELECT @sTitulo=SUBSTRING(@OldTitulo,1,30)+''D''+RIGHT(CONVERT(CHAR(5),10000+@iCounter),4) SELECT @iCounter=@iCounter+1 IF @iCounter = 10000 BREAK END IF @sTipoPgto NOT IN (''A'',''B'',''I'',''E'',''K'',''D'') AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo) BEGIN IF @nValorCancelado = 0 BEGIN IF EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial)) BEGIN select @errno = 30002, @errmsg = ''O título '' + @sTitulo + '' não pode ser incluído pois já existe !!!'' goto error END END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial) END END ELSE IF @nValorCancelado = 0 BEGIN IF NOT @bIndicaCartao = 1 AND @nValorCancelado = 0 BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, DOCUMENTO, LANCAMENTO_CAIXA, TERMINAL,PARCELAMENTO_NA_VENDA,LOCALIDADE, GUIA_ENVIO) VALUES (@sTitulo, @sCodigoAdministradora, @sTipoPgto, @sBanco, @sNumeroTitulo, @sFilial, @sAgencia, @dVencimento, @nValor, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValor, @dData, @sCodigoCliente, @bIndicaCartao, 0, ''L'', @sTicket, @sLancamentoCaixa, @sTerminal,@sParcela,@nLocalidade, @sNumeroLote) END ELSE BEGIN IF @nParcelasCartao = 0 SELECT @nParcelasCartao = 1 DECLARE @nValorSemTaxa NUMERIC(14,2), @nValorOriginal NUMERIC(14,2) DECLARE @nValorAcumulado NUMERIC(14,2), @nValorOriginalAcumulado NUMERIC(14,2) DECLARE @nValorTotal NUMERIC(14,2), @nValorOriginalTotal NUMERIC(14,2) DECLARE @dVenc DATETIME, @nTaxa NUMERIC(14,2), @pParcela CHAR(2) SELECT @pParcela='' '' SELECT @pParcela=SUBSTRING(@sParcela,2,1) WHERE @sParcela <> ''01'' SELECT @nValorSemTaxa = @nValor * (1-(@nTaxaAdministracao/100)) SELECT @nValorOriginal = @nValor SELECT @nValorAcumulado = 0, @nValorOriginalAcumulado = 0 SELECT @nValorTotal = @nValorSemTaxa, @nValorOriginalTotal = @nValorOriginal DECLARE @nMonths INT, @nDIAS_ENTRE_PARCELAS INT,@nPARCELAS_MES_FECHADO INT, @nCALCULA INT, @nDIA_ACERTO INT SELECT @nDIAS_ENTRE_PARCELAS = ISNULL(DIAS_ENTRE_PARCELAS,0), @nPARCELAS_MES_FECHADO = ISNULL(PARCELAS_MES_FECHADO,0), @nDIA_ACERTO = ISNULL(DIA_ACERTO,0), @nCALCULA = 0 FROM ADMINISTRADORAS_CARTAO WHERE CODIGO_ADMINISTRADORA=@sCodigoAdministradora IF EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_ADM_PARA_VENC'' AND VALOR_ATUAL=''.T.'') BEGIN SELECT @nCALCULA = 1 SELECT @dVencimento = CASE WHEN @nDIA_ACERTO=0 AND @dVencimento>=@dData THEN @dVencimento ELSE DATEADD(DAY,@nDIA_ACERTO,@dData) END END SELECT @nTaxa = 0 SELECT @iCounter = 1 WHILE @iCounter <= @nParcelasCartao BEGIN SELECT @nMonths = @iCounter - 1 IF @nCALCULA=1 AND @nPARCELAS_MES_FECHADO=0 BEGIN SELECT @dVenc = DATEADD(day, @nMonths*@nDIAS_ENTRE_PARCELAS, @dVencimento) END ELSE BEGIN SELECT @dVenc = DATEADD(mm, @nMonths, @dVencimento) END IF DATEPART(WEEKDAY,@dVenc)=1 SELECT @dVenc=DATEADD(Day,1,@dVenc) IF DATEPART(WEEKDAY,@dVenc)=7 SELECT @dVenc=DATEADD(Day,2,@dVenc) SELECT @sTitulo = ''CARTAO:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) + ''/'' + REPLICATE(''0'', 2 - DATALENGTH(RTRIM(CONVERT(VARCHAR(2), @iCounter)))) + ''-'' + RTRIM(CONVERT(VARCHAR(2), @iCounter))+RTRIM(@pParcela) IF @iCounter < @nParcelasCartao BEGIN SELECT @nValorSemTaxa = ROUND(@nValorTotal / @nParcelasCartao, 2) SELECT @nValorOriginal = ROUND(@nValorOriginalTotal / @nParcelasCartao, 2) SELECT @nValorAcumulado = @nValorAcumulado + @nValorSemTaxa SELECT @nValorOriginalAcumulado = @nValorOriginalAcumulado + @nValorOriginal END ELSE BEGIN SELECT @nValorSemTaxa = @nValorTotal - @nValorAcumulado SELECT @nValorOriginal = @nValorOriginalTotal - @nValorOriginalAcumulado END SELECT @nTaxa = @nValorOriginal - @nValorSemTaxa IF NOT EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo) BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, DOCUMENTO, LANCAMENTO_CAIXA, TERMINAL,PARCELAMENTO_NA_VENDA,Localidade,GUIA_ENVIO) VALUES (@sTitulo, @sCodigoAdministradora, @sTipoPgto, @sBanco, @sNumeroTitulo, @sFilial, @sAgencia, @dVenc, @nValorSemTaxa, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValorOriginal, @dData, @sCodigoCliente, @bIndicaCartao, @nTaxa, ''L'', @sTicket, @sLancamentoCaixa, @sTerminal,@sParcela,@nLocalidade, @sNumeroLote) END ELSE BEGIN IF EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial)) BEGIN select @errno = 30002, @errmsg = ''O t¡tulo '' + @sTitulo + '' nao pode ser inclu¡do pois j  existe !!!'' goto error END END SELECT @iCounter = @iCounter + 1 END END END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial) END END-- ELSE IF @sTipoPgto = ''D'' END -- IF FETCH NEXT FROM curLojaVendaParcelasI INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sCodigoAdministradora, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nParcelasCartao, @nValorCancelado, @nTaxaAdministracao, @dData, @sCodigoCliente, @sBanco, @sAgencia, @sContaCorrente, @sFilial, @sTicket, @nLocalidade, @sNumeroLote END -- WHILE CLOSE curLojaVendaParcelasD CLOSE curLojaVendaParcelasI DEALLOCATE curLojaVendaParcelasD DEALLOCATE curLojaVendaParcelasI END SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ BEGIN DECLARE CUR_LOG_INSERT CURSOR FOR SELECT DISTINCT TERMINAL, LANCAMENTO_CAIXA, CODIGO_FILIAL, PARCELA FROM INSERTED DECLARE @xDATA DATETIME OPEN CUR_LOG_INSERT FETCH NEXT FROM CUR_LOG_INSERT INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA) VALUES(@insCODIGO_FILIAL,@insTERMINAL,@insLANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''I'',''LOJA_VENDA_PARCELAS''+@insPARCELA) END FETCH NEXT FROM CUR_LOG_INSERT INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA END END CLOSE CUR_LOG_INSERT DEALLOCATE CUR_LOG_INSERT END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PARCELAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PARCELAS, INSERTED WHERE LOJA_VENDA_PARCELAS.TERMINAL = INSERTED.TERMINAL and LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_VENDA_PARCELAS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PARCELAS.PARCELA = INSERTED.PARCELA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_VENDA_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_VENDA_PARCELAS] on [LOJA_VENDA_PARCELAS] for UPDATE as /* UPDATE trigger on LOJA_VENDA_PARCELAS */ /* default body for LXU_LOJA_VENDA_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCODIGO_FILIAL char(6), @insPARCELA char(2), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCODIGO_FILIAL char(6), @delPARCELA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ADMINISTRADORAS_CARTAO ADMINISTRADORA LOJA_VENDA_PARCELAS ON CHILD UPDATE RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PARCELAS #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* TIPOS_PGTO TIPOS_PGTO LOJA_VENDA_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PARCELAS #porque #TIPOS_PGTO #não existe.'' goto error end end /* LOJA_VENDA_PGTO LOJA_PARCELAS LOJA_VENDA_PARCELAS ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA_PGTO where inserted.CODIGO_FILIAL = LOJA_VENDA_PGTO.CODIGO_FILIAL and inserted.TERMINAL = LOJA_VENDA_PGTO.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_VENDA_PGTO.LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PARCELAS #porque #LOJA_VENDA_PGTO #não existe.'' goto error end end /*-- Atualiza Contas a Receber ------------------------------------------------------------------------*/ SET NOCOUNT ON IF UPDATE(CHEQUE_CARTAO) OR UPDATE(CODIGO_ADMINISTRADORA) OR UPDATE(TIPO_PGTO) OR UPDATE(CODIGO_FILIAL) OR UPDATE(VENCIMENTO) OR UPDATE(VALOR) OR UPDATE(LANCAMENTO_CAIXA) OR UPDATE(TERMINAL) OR UPDATE(PARCELA) BEGIN IF NOT EXISTS (SELECT * FROM CARTEIRAS_COBRANCA WHERE CARTEIRA = ''CARTEIRA DE LOJA'') INSERT INTO CARTEIRAS_COBRANCA (CARTEIRA, DESCONTADA) VALUES (''CARTEIRA DE LOJA'', 0) DECLARE @sTitulo VARCHAR(35), @bDinheiro BIT, @bIndicaCartao BIT, @iCounter INTEGER DECLARE @sCodigoFilial VARCHAR(6), @sTerminal VARCHAR(3), @sLancamentoCaixa VARCHAR(7) DECLARE @sParcela VARCHAR(2), @sCodigoAdministradora VARCHAR(2), @sTipoPgto VARCHAR(1) DECLARE @nValor NUMERIC(14,2), @dVencimento DATETIME, @sNumeroTitulo VARCHAR(12),@nValorLoc Numeric(14,2) DECLARE @sChequeCartao VARCHAR(35), @nParcelasCartao INTEGER, @nValorCancelado NUMERIC(14,2) DECLARE @nTaxaAdministracao DECIMAL(8,3), @dData DATETIME, @sCodigoCliente VARCHAR(14) DECLARE @sBanco VARCHAR(3), @sAgencia VARCHAR(4), @sContaCorrente VARCHAR(15), @sFilial VARCHAR(25) DECLARE @sTicket VARCHAR(8), @nLocalidade TINYINT,@OldTitulo VARCHAR(35), @sNumeroLote VARCHAR(10) IF @@DATEFIRST<>7 SET DATEFIRST 7 DECLARE curLojaVendaParcelasD CURSOR FOR SELECT A.CODIGO_FILIAL, A.TERMINAL, A.LANCAMENTO_CAIXA, PARCELA, TIPO_PGTO, VALOR, VENCIMENTO, NUMERO_TITULO, CHEQUE_CARTAO, ISNULL(A.VALOR_CANCELADO, 0) AS VALOR_CANCELADO, DATA, FILIAL FROM (DELETED A INNER JOIN LOJAS_VAREJO C ON A.CODIGO_FILIAL = C.CODIGO_FILIAL) INNER JOIN LOJA_VENDA_PGTO D ON A.CODIGO_FILIAL = D.CODIGO_FILIAL AND A.TERMINAL = D.TERMINAL AND A.LANCAMENTO_CAIXA = D.LANCAMENTO_CAIXA OPEN curLojaVendaParcelasD FETCH NEXT FROM curLojaVendaParcelasD INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nValorCancelado, @dData, @sFilial WHILE @@fetch_status >= 0 BEGIN IF @sTipoPgto = ''D'' SELECT @sTitulo = ''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12), @bDinheiro = 1 ELSE SELECT @sTitulo = RTRIM(@sChequeCartao), @bDinheiro = 0 IF ISNULL(@sTitulo, '''') = '''' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') BEGIN SELECT @bIndicaCartao = 1 IF ISNULL(@sChequeCartao, '''') = '''' OR SUBSTRING(@sChequeCartao, 1, 10) = ''Em branco:'' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) ELSE BEGIN SELECT @sTitulo = RTRIM(@sChequeCartao) + ''%'' END END ELSE SELECT @bIndicaCartao = 0 IF @sTipoPgto = ''D'' BEGIN IF ( EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData)= (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) OR ( NOT EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) = (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) BEGIN SELECT @nValor=0 SELECT @nValor = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN 0 ELSE VALOR END),0), @nValorLoc = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN VALOR ELSE 0 END),0) FROM LOJA_VENDA_PARCELAS A JOIN LOJA_VENDA_PGTO B ON B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.TERMINAL=A.TERMINAL AND B.LANCAMENTO_CAIXA=A.LANCAMENTO_CAIXA WHERE DATA=@dData AND B.Codigo_Filial=@sCodigoFilial AND TIPO_PGTO=''D'' IF @nValor=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=0 IF @nValorLoc=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'' UPDATE A_RECEBER_CHEQUES SET VALOR = @nValorLoc-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValorLoc WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12) UPDATE A_RECEBER_CHEQUES SET VALOR = @nVALOR-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValor WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=0 END END IF @sTipoPgto <> ''D'' AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE FILIAL = @sFilial AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND EMISSAO = @dData AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' ) BEGIN IF EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE FILIAL = @sFilial AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND PARCELAMENTO_NA_VENDA=@sPARCELA AND ORIGEM=''L'' AND EMISSAO=@DDATA) BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND ORIGEM=''L'' AND PARCELAMENTO_NA_VENDA=@sParcela AND EMISSAO=@DDATA END ELSE IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') AND @SPARCELA=''01'' BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO LIKE @sTitulo AND EMISSAO = @dData AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE (CHEQUE_CARTAO = @sTitulo OR VENCIMENTO=@DVENCIMENTO) AND EMISSAO = @dData AND LANCAMENTO_CAIXA=@sLancamentoCaixa AND TERMINAL=@sTerminal AND FILIAL = @sFilial AND TIPO_PGTO=@sTIPOPGTO AND ORIGEM=''L'' END END FETCH NEXT FROM curLojaVendaParcelasD INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nValorCancelado, @dData, @sFilial END DECLARE curLojaVendaParcelasI CURSOR FOR SELECT A.CODIGO_FILIAL, A.TERMINAL, A.LANCAMENTO_CAIXA, PARCELA, A.CODIGO_ADMINISTRADORA, TIPO_PGTO, VALOR, VENCIMENTO, NUMERO_TITULO, CHEQUE_CARTAO, ISNULL(PARCELAS_CARTAO, 0) AS PARCELAS_CARTAO, ISNULL(A.VALOR_CANCELADO, 0) AS VALOR_CANCELADO, ISNULL(TAXA_ADMINISTRACAO, 0) AS TAXA_ADMINISTRACAO, DATA, (CASE WHEN TIPO_PGTO <> ''D'' THEN CODIGO_CLIENTE ELSE NULL END) AS CODIGO_CLIENTE, BANCO, AGENCIA, CONTA_CORRENTE, FILIAL, E.TICKET, CONVERT(TINYINT,(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL THEN 1 WHEN NUMERO_CUPOM_FISCAL='''' THEN 1 ELSE 0 END)) AS LOCALIDADE, A.NUMERO_LOTE FROM ((((INSERTED A INNER JOIN LOJAS_VAREJO C ON A.CODIGO_FILIAL = C.CODIGO_FILIAL) INNER JOIN LOJA_VENDA_PGTO D ON A.CODIGO_FILIAL = D.CODIGO_FILIAL AND A.TERMINAL = D.TERMINAL AND A.LANCAMENTO_CAIXA = D.LANCAMENTO_CAIXA) INNER JOIN LOJA_VENDA E (index = XIE3LOJA_VENDA) ON A.CODIGO_FILIAL = E.CODIGO_FILIAL_PGTO AND A.TERMINAL = E.TERMINAL_PGTO AND A.LANCAMENTO_CAIXA = E.LANCAMENTO_CAIXA) LEFT JOIN ADMINISTRADORAS_CARTAO B ON A.CODIGO_ADMINISTRADORA = B.CODIGO_ADMINISTRADORA) OPEN curLojaVendaParcelasI FETCH NEXT FROM curLojaVendaParcelasI INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sCodigoAdministradora, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nParcelasCartao, @nValorCancelado, @nTaxaAdministracao, @dData, @sCodigoCliente, @sBanco, @sAgencia, @sContaCorrente, @sFilial, @sTicket, @nLocalidade, @sNumeroLote WHILE @@fetch_status >= 0 BEGIN IF ( EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData)= (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) OR ( NOT EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''IMP_PARC_FECHA_CAIXA_RET'' AND VALOR_ATUAL=''.T.'') AND (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) = (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@sCodigoFilial AND DATA=@dData) ) BEGIN IF @sTipoPgto = ''D'' BEGIN SELECT @nValor=0 SELECT @nValor = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN 0 ELSE VALOR END),0), @nValorLoc = ISNULL(SUM(CASE WHEN NUMERO_CUPOM_FISCAL IS NULL OR NUMERO_CUPOM_FISCAL='''' THEN VALOR ELSE 0 END),0) FROM LOJA_VENDA_PARCELAS A JOIN LOJA_VENDA_PGTO B ON B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.TERMINAL=A.TERMINAL AND B.LANCAMENTO_CAIXA=A.LANCAMENTO_CAIXA WHERE DATA=@dData AND B.Codigo_Filial=@sCodigoFilial AND TIPO_PGTO=''D'' IF @nValor=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=0 IF @nValorLoc=0 DELETE FROM A_RECEBER_CHEQUES WHERE FILIAL=@sFILIAL AND TIPO_PGTO=''D'' AND EMISSAO=@dDATA AND ORIGEM=''L'' AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'' IF NOT EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@sTitulo) AND @nValorLoc<>0 INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LOCALIDADE) VALUES (''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12)+''L'', @sCodigoAdministradora, @sTipoPgto, @sBanco, ''0'', @sFilial, @sAgencia, @dData, @nValorLoc, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValorLoc, @dData,0, 0, ''L'',1) ELSE UPDATE A_RECEBER_CHEQUES SET VALOR = @nValorLoc-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValorLoc WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=1 SELECT @sTitulo=''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12) IF NOT EXISTS(SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@sTitulo) AND @nValor<>0 INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LOCALIDADE) VALUES (''DINHEIRO '' + RTRIM(@sCodigoFilial) + '' - '' + CONVERT(VARCHAR(6), @dData, 12), @sCodigoAdministradora, @sTipoPgto, @sBanco, ''0'', @sFilial, @sAgencia, @dData, @nValor, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValor, @dData,0, 0, ''L'',0) ELSE UPDATE A_RECEBER_CHEQUES SET VALOR = @nVALOR-(VALOR_ORIGINAL-VALOR), VALOR_ORIGINAL = @nValor WHERE CHEQUE_CARTAO = @sTitulo AND LOCALIDADE=0 END --IF @sTipoPgto = ''D'' ELSE BEGIN SELECT @sTitulo = RTRIM(@sChequeCartao), @bDinheiro = 0 IF ISNULL(@sTitulo, '''') = '''' AND @sTipoPgto <> ''D'' SELECT @sTitulo = ''Em branco:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) IF @sTipoPgto IN (''A'', ''B'', ''I'',''E'',''K'') SELECT @bIndicaCartao = 1 ELSE SELECT @bIndicaCartao = 0 SELECT @iCounter=1, @OldTitulo=@sTitulo WHILE @sTipoPgto NOT IN (''A'',''B'',''I'',''E'',''K'',''D'') AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial OR VENCIMENTO<>@DVENCIMENTO OR PARCELAMENTO_NA_VENDA<>@sPARCELA)) BEGIN SELECT @sTitulo=SUBSTRING(@OldTitulo,1,30)+''D''+RIGHT(CONVERT(CHAR(5),10000+@iCounter),4) SELECT @iCounter=@iCounter+1 IF @iCounter = 10000 BREAK END IF @sTipoPgto NOT IN (''A'',''B'',''I'',''E'',''K'',''D'') AND EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo) BEGIN IF @nValorCancelado = 0 BEGIN IF EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial)) BEGIN select @errno = 30002, @errmsg = ''O título '' + @sTitulo + '' não pode ser incluído pois já existe !!!'' goto error END END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial) END END ELSE IF @nValorCancelado = 0 BEGIN IF NOT @bIndicaCartao = 1 AND @nValorCancelado = 0 BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, DOCUMENTO, LANCAMENTO_CAIXA, TERMINAL,PARCELAMENTO_NA_VENDA,LOCALIDADE, GUIA_ENVIO) VALUES (@sTitulo, @sCodigoAdministradora, @sTipoPgto, @sBanco, @sNumeroTitulo, @sFilial, @sAgencia, @dVencimento, @nValor, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValor, @dData, @sCodigoCliente, @bIndicaCartao, 0, ''L'', @sTicket, @sLancamentoCaixa, @sTerminal,@sParcela,@nLocalidade, @sNumeroLote) END ELSE BEGIN IF @nParcelasCartao = 0 SELECT @nParcelasCartao = 1 DECLARE @nValorSemTaxa NUMERIC(14,2), @nValorOriginal NUMERIC(14,2) DECLARE @nValorAcumulado NUMERIC(14,2), @nValorOriginalAcumulado NUMERIC(14,2) DECLARE @nValorTotal NUMERIC(14,2), @nValorOriginalTotal NUMERIC(14,2) DECLARE @dVenc DATETIME, @nTaxa NUMERIC(14,2), @pParcela CHAR(2) SELECT @pParcela='' '' SELECT @pParcela=SUBSTRING(@sParcela,2,1) WHERE @sParcela <> ''01'' SELECT @nValorSemTaxa = @nValor * (1-(@nTaxaAdministracao/100)) SELECT @nValorOriginal = @nValor SELECT @nValorAcumulado = 0, @nValorOriginalAcumulado = 0 SELECT @nValorTotal = @nValorSemTaxa, @nValorOriginalTotal = @nValorOriginal DECLARE @nMonths INT, @nDIAS_ENTRE_PARCELAS INT,@nPARCELAS_MES_FECHADO INT, @nCALCULA INT, @nDIA_ACERTO INT SELECT @nDIAS_ENTRE_PARCELAS = ISNULL(DIAS_ENTRE_PARCELAS,0), @nPARCELAS_MES_FECHADO = ISNULL(PARCELAS_MES_FECHADO,0), @nDIA_ACERTO = ISNULL(DIA_ACERTO,0), @nCALCULA = 0 FROM ADMINISTRADORAS_CARTAO WHERE CODIGO_ADMINISTRADORA=@sCodigoAdministradora IF EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''UTILIZA_ADM_PARA_VENC'' AND VALOR_ATUAL=''.T.'') BEGIN SELECT @nCALCULA = 1 SELECT @dVencimento = CASE WHEN @nDIA_ACERTO=0 AND @dVencimento>=@dData THEN @dVencimento ELSE DATEADD(DAY,@nDIA_ACERTO,@dData) END END SELECT @nTaxa = 0 SELECT @iCounter = 1 WHILE @iCounter <= @nParcelasCartao BEGIN SELECT @nMonths = @iCounter - 1 IF @nCALCULA=1 AND @nPARCELAS_MES_FECHADO=0 BEGIN SELECT @dVenc = DATEADD(day, @nMonths*@nDIAS_ENTRE_PARCELAS, @dVencimento) END ELSE BEGIN SELECT @dVenc = DATEADD(mm, @nMonths, @dVencimento) END IF DATEPART(WEEKDAY,@dVenc)=1 SELECT @dVenc=DATEADD(Day,1,@dVenc) IF DATEPART(WEEKDAY,@dVenc)=7 SELECT @dVenc=DATEADD(Day,2,@dVenc) SELECT @sTitulo = ''CARTAO:'' + RTRIM(@sCodigoFilial) + ''-'' + RTRIM(@sTerminal) + ''-'' + RTRIM(@sLancamentoCaixa) + ''-'' + RTRIM(@sParcela) + ''/'' + REPLICATE(''0'', 2 - DATALENGTH(RTRIM(CONVERT(VARCHAR(2), @iCounter)))) + ''-'' + RTRIM(CONVERT(VARCHAR(2), @iCounter))+RTRIM(@pParcela) IF @iCounter < @nParcelasCartao BEGIN SELECT @nValorSemTaxa = ROUND(@nValorTotal / @nParcelasCartao, 2) SELECT @nValorOriginal = ROUND(@nValorOriginalTotal / @nParcelasCartao, 2) SELECT @nValorAcumulado = @nValorAcumulado + @nValorSemTaxa SELECT @nValorOriginalAcumulado = @nValorOriginalAcumulado + @nValorOriginal END ELSE BEGIN SELECT @nValorSemTaxa = @nValorTotal - @nValorAcumulado SELECT @nValorOriginal = @nValorOriginalTotal - @nValorOriginalAcumulado END SELECT @nTaxa = @nValorOriginal - @nValorSemTaxa IF NOT EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo) BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE, NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, DOCUMENTO, LANCAMENTO_CAIXA, TERMINAL,PARCELAMENTO_NA_VENDA,Localidade,GUIA_ENVIO) VALUES (@sTitulo, @sCodigoAdministradora, @sTipoPgto, @sBanco, @sNumeroTitulo, @sFilial, @sAgencia, @dVenc, @nValorSemTaxa, @sContaCorrente, @dData, ''CARTEIRA DE LOJA'', @nValorOriginal, @dData, @sCodigoCliente, @bIndicaCartao, @nTaxa, ''L'', @sTicket, @sLancamentoCaixa, @sTerminal,@sParcela,@nLocalidade, @sNumeroLote) END ELSE BEGIN IF EXISTS(SELECT CHEQUE_CARTAO FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial)) BEGIN select @errno = 30002, @errmsg = ''O t¡tulo '' + @sTitulo + '' nao pode ser inclu¡do pois j  existe !!!'' goto error END END SELECT @iCounter = @iCounter + 1 END END END ELSE BEGIN DELETE FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO = @sTitulo AND (EMISSAO <> @dData OR LANCAMENTO_CAIXA<>@sLancamentoCaixa OR TERMINAL<>@sTerminal OR FILIAL <> @sFilial) END END-- ELSE IF @sTipoPgto = ''D'' END -- IF FETCH NEXT FROM curLojaVendaParcelasI INTO @sCodigoFilial, @sTerminal, @sLancamentoCaixa, @sParcela, @sCodigoAdministradora, @sTipoPgto, @nValor, @dVencimento, @sNumeroTitulo, @sChequeCartao, @nParcelasCartao, @nValorCancelado, @nTaxaAdministracao, @dData, @sCodigoCliente, @sBanco, @sAgencia, @sContaCorrente, @sFilial, @sTicket, @nLocalidade, @sNumeroLote END -- WHILE CLOSE curLojaVendaParcelasD CLOSE curLojaVendaParcelasI DEALLOCATE curLojaVendaParcelasD DEALLOCATE curLojaVendaParcelasI END SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ IF UPDATE(TERMINAL) OR UPDATE(LANCAMENTO_CAIXA) OR UPDATE(CODIGO_FILIAL) OR UPDATE(PARCELA) OR UPDATE(CODIGO_ADMINISTRADORA) OR UPDATE(TIPO_PGTO) OR UPDATE(VALOR) OR UPDATE(VENCIMENTO) OR UPDATE(NUMERO_TITULO) OR UPDATE(MOEDA) OR UPDATE(AGENCIA) OR UPDATE(BANCO) OR UPDATE(CONTA_CORRENTE) OR UPDATE(NUMERO_APROVACAO_CARTAO) OR UPDATE(PARCELAS_CARTAO) OR UPDATE(VALOR_CANCELADO) OR UPDATE(CHEQUE_CARTAO) OR UPDATE(NUMERO_LOTE) OR UPDATE(FINALIZACAO) OR UPDATE(BAIXA) OR UPDATE(REDE_CONTROLADORA) OR UPDATE(COTACAO) OR UPDATE(VALOR_MOEDA) OR UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN DECLARE CUR_LOG_INSERT CURSOR FOR SELECT TERMINAL, LANCAMENTO_CAIXA, CODIGO_FILIAL, PARCELA FROM INSERTED DECLARE CUR_LOG_DELETED CURSOR FOR SELECT TERMINAL, LANCAMENTO_CAIXA, CODIGO_FILIAL, PARCELA FROM DELETED DECLARE @xDATA DATETIME OPEN CUR_LOG_INSERT OPEN CUR_LOG_DELETED FETCH NEXT FROM CUR_LOG_INSERT INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA FETCH NEXT FROM CUR_LOG_DELETED INTO @delTERMINAL, @delLANCAMENTO_CAIXA, @delCODIGO_FILIAL, @delPARCELA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA,COLUNA,VALOR_ORIGINAL,VALOR_NOVO) SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''TERMINAL'',DELETED.TERMINAL,INSERTED.TERMINAL FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.TERMINAL <> DELETED.TERMINAL OR (INSERTED.TERMINAL IS NULL AND DELETED.TERMINAL IS NOT NULL) OR (INSERTED.TERMINAL IS NOT NULL AND DELETED.TERMINAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''LANCAMENTO_CAIXA'',DELETED.LANCAMENTO_CAIXA,INSERTED.LANCAMENTO_CAIXA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.LANCAMENTO_CAIXA <> DELETED.LANCAMENTO_CAIXA OR (INSERTED.LANCAMENTO_CAIXA IS NULL AND DELETED.LANCAMENTO_CAIXA IS NOT NULL) OR (INSERTED.LANCAMENTO_CAIXA IS NOT NULL AND DELETED.LANCAMENTO_CAIXA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''CODIGO_FILIAL'',CONVERT(VARCHAR(250),DELETED.CODIGO_FILIAL),CONVERT(VARCHAR(250),INSERTED.CODIGO_FILIAL) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CODIGO_FILIAL <> DELETED.CODIGO_FILIAL OR (INSERTED.CODIGO_FILIAL IS NULL AND DELETED.CODIGO_FILIAL IS NOT NULL) OR (INSERTED.CODIGO_FILIAL IS NOT NULL AND DELETED.CODIGO_FILIAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''PARCELA'',DELETED.PARCELA,INSERTED.PARCELA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.PARCELA <> DELETED.PARCELA OR (INSERTED.PARCELA IS NULL AND DELETED.PARCELA IS NOT NULL) OR (INSERTED.PARCELA IS NOT NULL AND DELETED.PARCELA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''CODIGO_ADMINISTRADORA'',DELETED.CODIGO_ADMINISTRADORA,INSERTED.CODIGO_ADMINISTRADORA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CODIGO_ADMINISTRADORA <> DELETED.CODIGO_ADMINISTRADORA OR (INSERTED.CODIGO_ADMINISTRADORA IS NULL AND DELETED.CODIGO_ADMINISTRADORA IS NOT NULL) OR (INSERTED.CODIGO_ADMINISTRADORA IS NOT NULL AND DELETED.CODIGO_ADMINISTRADORA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''TIPO_PGTO'',DELETED.TIPO_PGTO,INSERTED.TIPO_PGTO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.TIPO_PGTO <> DELETED.TIPO_PGTO OR (INSERTED.TIPO_PGTO IS NULL AND DELETED.TIPO_PGTO IS NOT NULL) OR (INSERTED.TIPO_PGTO IS NOT NULL AND DELETED.TIPO_PGTO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''VALOR'',CONVERT(VARCHAR(250),DELETED.VALOR),CONVERT(VARCHAR(250),INSERTED.VALOR) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.VALOR <> DELETED.VALOR OR (INSERTED.VALOR IS NULL AND DELETED.VALOR IS NOT NULL) OR (INSERTED.VALOR IS NOT NULL AND DELETED.VALOR IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''VENCIMENTO'',CONVERT(VARCHAR(250),DELETED.VENCIMENTO),CONVERT(VARCHAR(250),INSERTED.VENCIMENTO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.VENCIMENTO <> DELETED.VENCIMENTO OR (INSERTED.VENCIMENTO IS NULL AND DELETED.VENCIMENTO IS NOT NULL) OR (INSERTED.VENCIMENTO IS NOT NULL AND DELETED.VENCIMENTO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''NUMERO_TITULO'',DELETED.NUMERO_TITULO,INSERTED.NUMERO_TITULO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.NUMERO_TITULO <> DELETED.NUMERO_TITULO OR (INSERTED.NUMERO_TITULO IS NULL AND DELETED.NUMERO_TITULO IS NOT NULL) OR (INSERTED.NUMERO_TITULO IS NOT NULL AND DELETED.NUMERO_TITULO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''MOEDA'',DELETED.MOEDA,INSERTED.MOEDA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.MOEDA <> DELETED.MOEDA OR (INSERTED.MOEDA IS NULL AND DELETED.MOEDA IS NOT NULL) OR (INSERTED.MOEDA IS NOT NULL AND DELETED.MOEDA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''AGENCIA'',DELETED.AGENCIA,INSERTED.AGENCIA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.AGENCIA <> DELETED.AGENCIA OR (INSERTED.AGENCIA IS NULL AND DELETED.AGENCIA IS NOT NULL) OR (INSERTED.AGENCIA IS NOT NULL AND DELETED.AGENCIA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''BANCO'',DELETED.BANCO,INSERTED.BANCO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.BANCO <> DELETED.BANCO OR (INSERTED.BANCO IS NULL AND DELETED.BANCO IS NOT NULL) OR (INSERTED.BANCO IS NOT NULL AND DELETED.BANCO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''CONTA_CORRENTE'',DELETED.CONTA_CORRENTE,INSERTED.CONTA_CORRENTE FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CONTA_CORRENTE <> DELETED.CONTA_CORRENTE OR (INSERTED.CONTA_CORRENTE IS NULL AND DELETED.CONTA_CORRENTE IS NOT NULL) OR (INSERTED.CONTA_CORRENTE IS NOT NULL AND DELETED.CONTA_CORRENTE IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''NUMERO_APROVACAO_CARTAO'',DELETED.NUMERO_APROVACAO_CARTAO,INSERTED.NUMERO_APROVACAO_CARTAO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.NUMERO_APROVACAO_CARTAO <> DELETED.NUMERO_APROVACAO_CARTAO OR (INSERTED.NUMERO_APROVACAO_CARTAO IS NULL AND DELETED.NUMERO_APROVACAO_CARTAO IS NOT NULL) OR (INSERTED.NUMERO_APROVACAO_CARTAO IS NOT NULL AND DELETED.NUMERO_APROVACAO_CARTAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''PARCELAS_CARTAO'',CONVERT(VARCHAR(250),DELETED.PARCELAS_CARTAO),CONVERT(VARCHAR(250),INSERTED.PARCELAS_CARTAO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.PARCELAS_CARTAO <> DELETED.PARCELAS_CARTAO OR (INSERTED.PARCELAS_CARTAO IS NULL AND DELETED.PARCELAS_CARTAO IS NOT NULL) OR (INSERTED.PARCELAS_CARTAO IS NOT NULL AND DELETED.PARCELAS_CARTAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''VALOR_CANCELADO'',CONVERT(VARCHAR(250),DELETED.VALOR_CANCELADO),CONVERT(VARCHAR(250),INSERTED.VALOR_CANCELADO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.VALOR_CANCELADO <> DELETED.VALOR_CANCELADO OR (INSERTED.VALOR_CANCELADO IS NULL AND DELETED.VALOR_CANCELADO IS NOT NULL) OR (INSERTED.VALOR_CANCELADO IS NOT NULL AND DELETED.VALOR_CANCELADO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''CHEQUE_CARTAO'',DELETED.CHEQUE_CARTAO,INSERTED.CHEQUE_CARTAO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CHEQUE_CARTAO <> DELETED.CHEQUE_CARTAO OR (INSERTED.CHEQUE_CARTAO IS NULL AND DELETED.CHEQUE_CARTAO IS NOT NULL) OR (INSERTED.CHEQUE_CARTAO IS NOT NULL AND DELETED.CHEQUE_CARTAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''NUMERO_LOTE'',DELETED.NUMERO_LOTE,INSERTED.NUMERO_LOTE FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.NUMERO_LOTE <> DELETED.NUMERO_LOTE OR (INSERTED.NUMERO_LOTE IS NULL AND DELETED.NUMERO_LOTE IS NOT NULL) OR (INSERTED.NUMERO_LOTE IS NOT NULL AND DELETED.NUMERO_LOTE IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''FINALIZACAO'',DELETED.FINALIZACAO,INSERTED.FINALIZACAO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.FINALIZACAO <> DELETED.FINALIZACAO OR (INSERTED.FINALIZACAO IS NULL AND DELETED.FINALIZACAO IS NOT NULL) OR (INSERTED.FINALIZACAO IS NOT NULL AND DELETED.FINALIZACAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''BAIXA'',CONVERT(VARCHAR(250),DELETED.BAIXA),CONVERT(VARCHAR(250),INSERTED.BAIXA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.BAIXA <> DELETED.BAIXA OR (INSERTED.BAIXA IS NULL AND DELETED.BAIXA IS NOT NULL) OR (INSERTED.BAIXA IS NOT NULL AND DELETED.BAIXA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''REDE_CONTROLADORA'',DELETED.REDE_CONTROLADORA,INSERTED.REDE_CONTROLADORA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.REDE_CONTROLADORA <> DELETED.REDE_CONTROLADORA OR (INSERTED.REDE_CONTROLADORA IS NULL AND DELETED.REDE_CONTROLADORA IS NOT NULL) OR (INSERTED.REDE_CONTROLADORA IS NOT NULL AND DELETED.REDE_CONTROLADORA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''COTACAO'',CONVERT(VARCHAR(250),DELETED.COTACAO),CONVERT(VARCHAR(250),INSERTED.COTACAO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.COTACAO <> DELETED.COTACAO OR (INSERTED.COTACAO IS NULL AND DELETED.COTACAO IS NOT NULL) OR (INSERTED.COTACAO IS NOT NULL AND DELETED.COTACAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''VALOR_MOEDA'',CONVERT(VARCHAR(250),DELETED.VALOR_MOEDA),CONVERT(VARCHAR(250),INSERTED.VALOR_MOEDA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.VALOR_MOEDA <> DELETED.VALOR_MOEDA OR (INSERTED.VALOR_MOEDA IS NULL AND DELETED.VALOR_MOEDA IS NOT NULL) OR (INSERTED.VALOR_MOEDA IS NOT NULL AND DELETED.VALOR_MOEDA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PARCELAS''+@insPARCELA,''DATA_PARA_TRANSFERENCIA'',CONVERT(VARCHAR(250),DELETED.DATA_PARA_TRANSFERENCIA),CONVERT(VARCHAR(250),INSERTED.DATA_PARA_TRANSFERENCIA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.DATA_PARA_TRANSFERENCIA <> DELETED.DATA_PARA_TRANSFERENCIA OR (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL AND DELETED.DATA_PARA_TRANSFERENCIA IS NOT NULL) OR (INSERTED.DATA_PARA_TRANSFERENCIA IS NOT NULL AND DELETED.DATA_PARA_TRANSFERENCIA IS NULL) END FETCH NEXT FROM CUR_LOG_INSERT INTO @insTERMINAL, @insLANCAMENTO_CAIXA, @insCODIGO_FILIAL, @insPARCELA FETCH NEXT FROM CUR_LOG_DELETED INTO @delTERMINAL, @delLANCAMENTO_CAIXA, @delCODIGO_FILIAL, @delPARCELA END END CLOSE CUR_LOG_INSERT CLOSE CUR_LOG_DELETED DEALLOCATE CUR_LOG_INSERT DEALLOCATE CUR_LOG_DELETED END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDA_PARCELAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PARCELAS, INSERTED WHERE LOJA_VENDA_PARCELAS.TERMINAL = INSERTED.TERMINAL and LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_VENDA_PARCELAS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PARCELAS.PARCELA = INSERTED.PARCELA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDA_PARCELAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PARCELAS].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJA_VENDA_PARCELAS].[PARCELAS_CARTAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PARCELAS].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDA_PARCELAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJA_VENDA_PARCELAS].[COTACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PARCELAS].[VALOR_MOEDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_PRODUCAO_DIARIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_PRODUCAO_DIARIA]( [CELULA] [char](5) NOT NULL, [TABELA_OPERACOES] [varchar](25) NOT NULL, [DATA] [datetime] NOT NULL, [HORA] [numeric](5, 2) NOT NULL, [PRODUCAO] [int] NULL, [ORDEM_PRODUCAO] [char](8) NULL, CONSTRAINT [XPKPRODUTIV_PRODUCAO_DIARIA] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC, [TABELA_OPERACOES] ASC, [DATA] ASC, [HORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_PRODUCAO_DIARIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_PRODUCAO_DIARIA] on [PRODUTIV_PRODUCAO_DIARIA] for INSERT as /* INSERT trigger on PRODUTIV_PRODUCAO_DIARIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_METAS_DIARIAS PRODUCAO PRODUTIV_PRODUCAO_DIARIA ON CHILD INSERT RESTRICT */ if update(CELULA) or update(TABELA_OPERACOES) or update(DATA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_METAS_DIARIAS where inserted.CELULA = PRODUTIV_METAS_DIARIAS.CELULA and inserted.TABELA_OPERACOES = PRODUTIV_METAS_DIARIAS.TABELA_OPERACOES and inserted.DATA = PRODUTIV_METAS_DIARIAS.DATA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_PRODUCAO_DIARIA #porque #PRODUTIV_METAS_DIARIAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_PRODUCAO_DIARIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_PRODUCAO_DIARIA] on [PRODUTIV_PRODUCAO_DIARIA] for UPDATE as /* UPDATE trigger on PRODUTIV_PRODUCAO_DIARIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @insTABELA_OPERACOES varchar(25), @insDATA datetime, @insHORA numeric(5,2), @delCELULA char(5), @delTABELA_OPERACOES varchar(25), @delDATA datetime, @delHORA numeric(5,2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_METAS_DIARIAS PRODUCAO PRODUTIV_PRODUCAO_DIARIA ON CHILD UPDATE RESTRICT */ if update(CELULA) or update(TABELA_OPERACOES) or update(DATA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_METAS_DIARIAS where inserted.CELULA = PRODUTIV_METAS_DIARIAS.CELULA and inserted.TABELA_OPERACOES = PRODUTIV_METAS_DIARIAS.TABELA_OPERACOES and inserted.DATA = PRODUTIV_METAS_DIARIAS.DATA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_PRODUCAO_DIARIA #porque #PRODUTIV_METAS_DIARIAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_PRODUCAO_DIARIA].[PRODUCAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_MAQUINA]( [MAQUINA] [varchar](8) NOT NULL, [QTDE_AGULHAS] [int] NULL, [DIAMETRO] [int] NOT NULL, [PLATINAS] [int] NULL, [JOGO_AGULHAS] [int] NULL, [DESC_MAQUINA] [varchar](40) NOT NULL, [QTDE_MAQUINAS] [char](18) NOT NULL, [MAQUINA_PROPRIA] [bit] NOT NULL, [TRATAMENTO] [char](5) NULL, [MARCA_MAQUINA] [varchar](25) NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKMATERIAIS_MAQUINA] PRIMARY KEY NONCLUSTERED ( [MAQUINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_MAQUINA] ON [MATERIAIS_MAQUINA] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_MAQUINA FROM GF_MATERIAIS_MAQ A, DELETED B WHERE A.GF_MAQUINA=B.MAQUINA) DELETE FROM GF_MATERIAIS_MAQ WHERE GF_MAQUINA=(SELECT MAQUINA FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_MAQUINA] ON [MATERIAIS_MAQUINA] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_MAQUINA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_MAQUINA FROM GF_MATERIAIS_MAQ A, INSERTED B WHERE A.GF_MAQUINA=B.MAQUINA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_MAQ (ID,GF_MAQUINA,GF_QTDE_AGULHAS,GF_DIAMETRO,GF_PLATINAS,GF_JOGO_AGULHAS,GF_DESC_MAQUINA, GF_QTDE_MAQUINAS,GF_MAQUINA_PROPI,GF_TRATAMENTO,GF_MARCA_MAQUINA,GF_OBS,EMPRESA,USERC, FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,MAQUINA,QTDE_AGULHAS,DIAMETRO,PLATINAS,JOGO_AGULHAS,DESC_MAQUINA,QTDE_MAQUINAS, MAQUINA_PROPRIA, (SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), MARCA_MAQUINA,OBS,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_MAQUINA A, GF_MATERIAIS_MAQCNT B WHERE MAQUINA=(SELECT MAQUINA FROM INSERTED) UPDATE GF_MATERIAIS_MAQCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_MAQUINA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_MAQUINA] ON [MATERIAIS_MAQUINA] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_MAQUINA'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_MAQUINA'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_MAQUINA'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_MAQUINA FROM GF_MATERIAIS_MAQ A, DELETED B WHERE A.GF_MAQUINA=B.MAQUINA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_MAQ SET GF_MAQUINA=(SELECT MAQUINA FROM INSERTED), GF_QTDE_AGULHAS=(SELECT QTDE_AGULHAS FROM INSERTED), GF_DIAMETRO=(SELECT DIAMETRO FROM INSERTED), GF_PLATINAS=(SELECT PLATINAS FROM INSERTED), GF_JOGO_AGULHAS=(SELECT JOGO_AGULHAS FROM INSERTED), GF_DESC_MAQUINA=(SELECT DESC_MAQUINA FROM INSERTED), GF_QTDE_MAQUINAS=(SELECT QTDE_MAQUINAS FROM INSERTED), GF_MAQUINA_PROPI=(SELECT MAQUINA_PROPRIA FROM INSERTED), GF_TRATAMENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), GF_MARCA_MAQUINA=(SELECT MARCA_MAQUINA FROM INSERTED), GF_OBS=(SELECT CONVERT(CHAR(254),OBS) FROM MATERIAIS_MAQUINA WHERE MAQUINA=(SELECT MAQUINA FROM INSERTED)), USERM=@USER, FECHAM=GETDATE() WHERE GF_MAQUINA=(SELECT MAQUINA FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Máquina, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_MAQUINA] on [MATERIAIS_MAQUINA] for DELETE as /* DELETE trigger on MATERIAIS_MAQUINA */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_MAQUINA R/2119 M_ORDEM_FABRICACAO_PROCESSO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO_PROCESSO where M_ORDEM_FABRICACAO_PROCESSO.MAQUINA = deleted.MAQUINA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_MAQUINA #porque existem registros em #M_ORDEM_FABRICACAO_PROCESSO#.'' goto error end /* MATERIAIS_MAQUINA R/1915 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_PROCESSO_TRATAMENTO where MATERIAIS_PROCESSO_TRATAMENTO.MAQUINA = deleted.MAQUINA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_MAQUINA #porque existem registros em #MATERIAIS_PROCESSO_TRATAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_MAQUINA] on [MATERIAIS_MAQUINA] for INSERT as /* INSERT trigger on MATERIAIS_MAQUINA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TRATAMENTO R/1916 MATERIAIS_MAQUINA ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO select @nullcnt = count(*) from inserted where inserted.TRATAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_MAQUINA #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_MAQUINA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_MAQUINA] on [MATERIAIS_MAQUINA] for UPDATE as /* UPDATE trigger on MATERIAIS_MAQUINA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMAQUINA varchar(8), @delMAQUINA varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_MAQUINA R/2119 M_ORDEM_FABRICACAO_PROCESSO ON PARENT UPDATE CASCADE */ IF update(MAQUINA) BEGIN DECLARE MATERIAIS_MAQUINA2119 CURSOR FOR SELECT MAQUINA FROM INSERTED DECLARE MATERIAIS_MAQUINA1056 CURSOR FOR SELECT MAQUINA FROM DELETED OPEN MATERIAIS_MAQUINA2119 OPEN MATERIAIS_MAQUINA1056 FETCH NEXT FROM MATERIAIS_MAQUINA2119 INTO @insMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA1056 INTO @delMAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_PROCESSO SET M_ORDEM_FABRICACAO_PROCESSO.MAQUINA=@insMAQUINA WHERE M_ORDEM_FABRICACAO_PROCESSO.MAQUINA = @delMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA2119 INTO @insMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA1056 INTO @delMAQUINA END END CLOSE MATERIAIS_MAQUINA2119 CLOSE MATERIAIS_MAQUINA1056 DEALLOCATE MATERIAIS_MAQUINA2119 DEALLOCATE MATERIAIS_MAQUINA1056 END /* MATERIAIS_MAQUINA R/1915 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(MAQUINA) BEGIN DECLARE MATERIAIS_MAQUINA1915 CURSOR FOR SELECT MAQUINA FROM INSERTED DECLARE MATERIAIS_MAQUINA1056 CURSOR FOR SELECT MAQUINA FROM DELETED OPEN MATERIAIS_MAQUINA1915 OPEN MATERIAIS_MAQUINA1056 FETCH NEXT FROM MATERIAIS_MAQUINA1915 INTO @insMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA1056 INTO @delMAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSO_TRATAMENTO SET MATERIAIS_PROCESSO_TRATAMENTO.MAQUINA=@insMAQUINA WHERE MATERIAIS_PROCESSO_TRATAMENTO.MAQUINA = @delMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA1915 INTO @insMAQUINA FETCH NEXT FROM MATERIAIS_MAQUINA1056 INTO @delMAQUINA END END CLOSE MATERIAIS_MAQUINA1915 CLOSE MATERIAIS_MAQUINA1056 DEALLOCATE MATERIAIS_MAQUINA1915 DEALLOCATE MATERIAIS_MAQUINA1056 END /* MATERIAIS_TRATAMENTO R/1916 MATERIAIS_MAQUINA ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO select @nullcnt = count(*) from inserted where inserted.TRATAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_MAQUINA #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_MAQUINA].[QTDE_AGULHAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_MAQUINA].[JOGO_AGULHAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_MAQUINA].[MAQUINA_PROPRIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOS_TITULO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOS_TITULO]( [TIPO] [varchar](25) NOT NULL, [USO_CONTAS_PAGAR] [bit] NOT NULL, [USO_CONTAS_RECEBER] [bit] NOT NULL, [INFORMA_NUMERO_ENTRADA] [bit] NOT NULL, CONSTRAINT [XPKTIPOS_TITULO] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TIPOS_TITULO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TIPOS_TITULO] on [TIPOS_TITULO] for DELETE as /* DELETE trigger on TIPOS_TITULO */ begin declare @errno int, @errmsg varchar(255) /* TIPOS_TITULO R/2173 COMPRAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA where COMPRAS_DESPESA.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_TITULO #porque existem registros em #COMPRAS_DESPESA#.'' goto error end /* TIPOS_TITULO R/2172 COMPRAS_DESPESA_TIPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA_TIPO where COMPRAS_DESPESA_TIPO.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_TITULO #porque existem registros em #COMPRAS_DESPESA_TIPO#.'' goto error end /* TIPOS_TITULO TIPOS_TITULO A_PAGAR_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_FATURA where A_PAGAR_FATURA.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_TITULO #porque existem registros em #A_PAGAR_FATURA#.'' goto error end /* TIPOS_TITULO TIPOS_TITULO A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_TITULO #porque existem registros em #A_RECEBER_FATURA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TIPOS_TITULO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TIPOS_TITULO] on [TIPOS_TITULO] for UPDATE as /* UPDATE trigger on TIPOS_TITULO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_TITULO R/2173 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE TIPOS_TITULO2173 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE TIPOS_TITULO185 CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPOS_TITULO2173 OPEN TIPOS_TITULO185 FETCH NEXT FROM TIPOS_TITULO2173 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.TIPO=@insTIPO WHERE COMPRAS_DESPESA.TIPO = @delTIPO FETCH NEXT FROM TIPOS_TITULO2173 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO END END CLOSE TIPOS_TITULO2173 CLOSE TIPOS_TITULO185 DEALLOCATE TIPOS_TITULO2173 DEALLOCATE TIPOS_TITULO185 END /* TIPOS_TITULO R/2172 COMPRAS_DESPESA_TIPO ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE TIPOS_TITULO2172 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE TIPOS_TITULO185 CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPOS_TITULO2172 OPEN TIPOS_TITULO185 FETCH NEXT FROM TIPOS_TITULO2172 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA_TIPO SET COMPRAS_DESPESA_TIPO.TIPO=@insTIPO WHERE COMPRAS_DESPESA_TIPO.TIPO = @delTIPO FETCH NEXT FROM TIPOS_TITULO2172 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO END END CLOSE TIPOS_TITULO2172 CLOSE TIPOS_TITULO185 DEALLOCATE TIPOS_TITULO2172 DEALLOCATE TIPOS_TITULO185 END /* TIPOS_TITULO TIPOS_TITULO A_PAGAR_FATURA ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE TIPOS_TITULO772 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE TIPOS_TITULO185 CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPOS_TITULO772 OPEN TIPOS_TITULO185 FETCH NEXT FROM TIPOS_TITULO772 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA SET A_PAGAR_FATURA.TIPO=@insTIPO WHERE A_PAGAR_FATURA.TIPO = @delTIPO FETCH NEXT FROM TIPOS_TITULO772 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO END END CLOSE TIPOS_TITULO772 CLOSE TIPOS_TITULO185 DEALLOCATE TIPOS_TITULO772 DEALLOCATE TIPOS_TITULO185 END /* TIPOS_TITULO TIPOS_TITULO A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE TIPOS_TITULO374 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE TIPOS_TITULO185 CURSOR FOR SELECT TIPO FROM DELETED OPEN TIPOS_TITULO374 OPEN TIPOS_TITULO185 FETCH NEXT FROM TIPOS_TITULO374 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.TIPO=@insTIPO WHERE A_RECEBER_FATURA.TIPO = @delTIPO FETCH NEXT FROM TIPOS_TITULO374 INTO @insTIPO FETCH NEXT FROM TIPOS_TITULO185 INTO @delTIPO END END CLOSE TIPOS_TITULO374 CLOSE TIPOS_TITULO185 DEALLOCATE TIPOS_TITULO374 DEALLOCATE TIPOS_TITULO185 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TIPOS_TITULO].[USO_CONTAS_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TIPOS_TITULO].[USO_CONTAS_RECEBER]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TIPOS_TITULO].[INFORMA_NUMERO_ENTRADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_DESPESA_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_DESPESA_TIPO]( [DESPESA_COMPRA] [char](4) NOT NULL, [TIPO] [varchar](25) NOT NULL, [FORNECEDOR] [varchar](25) NULL, [TIPO_DADO] [char](1) NOT NULL, [SOBRE_CIF] [bit] NOT NULL, [PORCENTAGEM] [real] NULL, [NF_ENTRADA_PENDENTE] [bit] NOT NULL, [DESC_DESPESA_COMPRA] [varchar](40) NOT NULL, CONSTRAINT [XPKCOMPRAS_DESPESA_TIPO] PRIMARY KEY NONCLUSTERED ( [DESPESA_COMPRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COMPRAS_DESPESA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COMPRAS_DESPESA_TIPO] on [COMPRAS_DESPESA_TIPO] for DELETE as /* DELETE trigger on COMPRAS_DESPESA_TIPO */ begin declare @errno int, @errmsg varchar(255) /* COMPRAS_DESPESA_TIPO R/2147 ENTRADAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_DESPESA where ENTRADAS_DESPESA.DESPESA_COMPRA = deleted.DESPESA_COMPRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_DESPESA_TIPO #porque existem registros em #ENTRADAS_DESPESA#.'' goto error end /* COMPRAS_DESPESA_TIPO R/2145 COMPRAS_DESPESA_POR_TIPO ON PARENT DELETE CASCADE */ delete COMPRAS_DESPESA_POR_TIPO from COMPRAS_DESPESA_POR_TIPO,deleted where COMPRAS_DESPESA_POR_TIPO.DESPESA_COMPRA = deleted.DESPESA_COMPRA /* COMPRAS_DESPESA_TIPO R/2142 COMPRAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA where COMPRAS_DESPESA.DESPESA_COMPRA = deleted.DESPESA_COMPRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COMPRAS_DESPESA_TIPO #porque existem registros em #COMPRAS_DESPESA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_DESPESA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_DESPESA_TIPO] on [COMPRAS_DESPESA_TIPO] for INSERT as /* INSERT trigger on COMPRAS_DESPESA_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_TITULO R/2172 COMPRAS_DESPESA_TIPO ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA_TIPO #porque #TIPOS_TITULO #não existe.'' goto error end end /* FORNECEDORES R/2151 COMPRAS_DESPESA_TIPO ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR select @nullcnt = count(*) from inserted where inserted.FORNECEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_DESPESA_TIPO #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_DESPESA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_DESPESA_TIPO] on [COMPRAS_DESPESA_TIPO] for UPDATE as /* UPDATE trigger on COMPRAS_DESPESA_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDESPESA_COMPRA char(4), @delDESPESA_COMPRA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_DESPESA_TIPO R/2147 ENTRADAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(DESPESA_COMPRA) BEGIN DECLARE COMPRAS_DESPESA_TIPO2147 CURSOR FOR SELECT DESPESA_COMPRA FROM INSERTED DECLARE COMPRAS_DESPESA_TIPO1197 CURSOR FOR SELECT DESPESA_COMPRA FROM DELETED OPEN COMPRAS_DESPESA_TIPO2147 OPEN COMPRAS_DESPESA_TIPO1197 FETCH NEXT FROM COMPRAS_DESPESA_TIPO2147 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_DESPESA SET ENTRADAS_DESPESA.DESPESA_COMPRA=@insDESPESA_COMPRA WHERE ENTRADAS_DESPESA.DESPESA_COMPRA = @delDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO2147 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA END END CLOSE COMPRAS_DESPESA_TIPO2147 CLOSE COMPRAS_DESPESA_TIPO1197 DEALLOCATE COMPRAS_DESPESA_TIPO2147 DEALLOCATE COMPRAS_DESPESA_TIPO1197 END /* COMPRAS_DESPESA_TIPO R/2145 COMPRAS_DESPESA_POR_TIPO ON PARENT UPDATE CASCADE */ IF update(DESPESA_COMPRA) BEGIN DECLARE COMPRAS_DESPESA_TIPO2145 CURSOR FOR SELECT DESPESA_COMPRA FROM INSERTED DECLARE COMPRAS_DESPESA_TIPO1197 CURSOR FOR SELECT DESPESA_COMPRA FROM DELETED OPEN COMPRAS_DESPESA_TIPO2145 OPEN COMPRAS_DESPESA_TIPO1197 FETCH NEXT FROM COMPRAS_DESPESA_TIPO2145 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA_POR_TIPO SET COMPRAS_DESPESA_POR_TIPO.DESPESA_COMPRA=@insDESPESA_COMPRA WHERE COMPRAS_DESPESA_POR_TIPO.DESPESA_COMPRA = @delDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO2145 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA END END CLOSE COMPRAS_DESPESA_TIPO2145 CLOSE COMPRAS_DESPESA_TIPO1197 DEALLOCATE COMPRAS_DESPESA_TIPO2145 DEALLOCATE COMPRAS_DESPESA_TIPO1197 END /* COMPRAS_DESPESA_TIPO R/2142 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(DESPESA_COMPRA) BEGIN DECLARE COMPRAS_DESPESA_TIPO2142 CURSOR FOR SELECT DESPESA_COMPRA FROM INSERTED DECLARE COMPRAS_DESPESA_TIPO1197 CURSOR FOR SELECT DESPESA_COMPRA FROM DELETED OPEN COMPRAS_DESPESA_TIPO2142 OPEN COMPRAS_DESPESA_TIPO1197 FETCH NEXT FROM COMPRAS_DESPESA_TIPO2142 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.DESPESA_COMPRA=@insDESPESA_COMPRA WHERE COMPRAS_DESPESA.DESPESA_COMPRA = @delDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO2142 INTO @insDESPESA_COMPRA FETCH NEXT FROM COMPRAS_DESPESA_TIPO1197 INTO @delDESPESA_COMPRA END END CLOSE COMPRAS_DESPESA_TIPO2142 CLOSE COMPRAS_DESPESA_TIPO1197 DEALLOCATE COMPRAS_DESPESA_TIPO2142 DEALLOCATE COMPRAS_DESPESA_TIPO1197 END /* TIPOS_TITULO R/2172 COMPRAS_DESPESA_TIPO ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_TITULO where inserted.TIPO = TIPOS_TITULO.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA_TIPO #porque #TIPOS_TITULO #não existe.'' goto error end end /* FORNECEDORES R/2151 COMPRAS_DESPESA_TIPO ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR select @nullcnt = count(*) from inserted where inserted.FORNECEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_DESPESA_TIPO #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_DESPESA_TIPO].[SOBRE_CIF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_DESPESA_TIPO].[PORCENTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_DESPESA_TIPO].[NF_ENTRADA_PENDENTE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_OPERADORA_MAQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_OPERADORA_MAQ]( [MAQUINA] [char](5) NOT NULL, [CODIGO_CARTAO] [char](8) NOT NULL, [GRAU_EFICIENCIA] [int] NOT NULL, CONSTRAINT [XPKPRODUTIV_OPERADORA_MAQ] PRIMARY KEY NONCLUSTERED ( [MAQUINA] ASC, [CODIGO_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_OPERADORA_MAQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_OPERADORA_MAQ] on [PRODUTIV_OPERADORA_MAQ] for INSERT as /* INSERT trigger on PRODUTIV_OPERADORA_MAQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_OPERADORA_MAQ ON CHILD INSERT RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OPERADORA_MAQ #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_OPERADORA_MAQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_OPERADORA_MAQ] on [PRODUTIV_OPERADORA_MAQ] for UPDATE as /* UPDATE trigger on PRODUTIV_OPERADORA_MAQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMAQUINA char(5), @insCODIGO_CARTAO char(8), @delMAQUINA char(5), @delCODIGO_CARTAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS PRODUTIV_OPERADORAS PRODUTIV_OPERADORA_MAQ ON CHILD UPDATE RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OPERADORA_MAQ #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OPERADORA_MAQ].[GRAU_EFICIENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_PROCESSO_TRATAMENTO]( [PROCESSO_PRODUTIVO] [char](8) NOT NULL, [TRATAMENTO] [char](5) NOT NULL, [MAQUINA] [varchar](8) NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, [SEQUENCIA_PRODUTIVA] [smallint] NULL, CONSTRAINT [XPKMATERIAIS_PROCESSO_TRATAMEN] PRIMARY KEY NONCLUSTERED ( [PROCESSO_PRODUTIVO] ASC, [TRATAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_PROCESSO_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_PROCESSO_TRATAMENTO] ON [MATERIAIS_PROCESSO_TRATAMENTO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_TRATAMIENTO FROM GF_MATERIAIS_PRT WHERE GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED)) AND GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM DELETED)) DELETE FROM GF_MATERIAIS_PRT WHERE GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED)) AND GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_PROCESSO_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_PROCESSO_TRATAMENTO] ON [MATERIAIS_PROCESSO_TRATAMENTO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_PROCESSO_TRATAMENTO'')))=1) RETURN ELSE BEGIN IF NOT EXISTS (SELECT GF_TRATAMIENTO FROM GF_MATERIAIS_PRT A, INSERTED B WHERE A.GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)) AND A.GF_PROCESSO_PROD=B.PROCESSO_PRODUTIVO) BEGIN INSERT INTO GF_MATERIAIS_PRT (ID,ID_PROCESSO_PROD,GF_PROCESSO_PROD,GF_TRATAMIENTO,GF_MAQUINA,GF_CUSTO_SERVICO,GF_CUSTO_MATERIA, GF_SEQUENCIA_PRO ) SELECT B.IDMAX, (SELECT ID FROM GF_MATERIAIS_PRO WHERE GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM INSERTED)), (SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO WHERE GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM INSERTED)), (SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), (SELECT ID FROM GF_MATERIAIS_MAQ WHERE GF_MAQUINA=(SELECT MAQUINA FROM INSERTED)), CUSTO_SERVICO_PREVISTO,CUSTO_MATERIAL_TERCEIRO_PREVISTO,SEQUENCIA_PRODUTIVA FROM MATERIAIS_PROCESSO_TRATAMENTO A, GF_MATERIAIS_PRTCNT B WHERE PROCESSO_PRODUTIVO=(SELECT PROCESSO_PRODUTIVO FROM INSERTED) AND TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED) UPDATE GF_MATERIAIS_PRTCNT SET IDMAX=IDMAX+1 END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_PROCESSO_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_PROCESSO_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_PROCESSO_TRATAMENTO] ON [MATERIAIS_PROCESSO_TRATAMENTO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_PROCESSO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_PROCESSO'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_PROCESSO_TRATAMENTO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_PROCESSO_TRATAMENTO'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO_TRATAMENTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_TRATAMIENTO FROM GF_MATERIAIS_PRT A, DELETED B WHERE A.GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED)) AND A.GF_PROCESSO_PROD=B.PROCESSO_PRODUTIVO) BEGIN UPDATE GF_MATERIAIS_PRT SET GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), GF_MAQUINA=(SELECT ID FROM GF_MATERIAIS_MAQ WHERE GF_MAQUINA=(SELECT MAQUINA FROM INSERTED)), GF_CUSTO_SERVICO=(SELECT CUSTO_SERVICO_PREVISTO FROM INSERTED), GF_CUSTO_MATERIA=(SELECT CUSTO_MATERIAL_TERCEIRO_PREVISTO FROM INSERTED), GF_SEQUENCIA_PRO=(SELECT SEQUENCIA_PRODUTIVA FROM INSERTED) WHERE GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM DELETED) AND GF_TRATAMIENTO=(SELECT ID FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED)) --SELECT * FROM INVMARK.dbo.GF_MATERIAIS_PRT WHERE GF_PROCESSO_PROD=''LINX'' END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_PROCESSO_TRATAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_PROCESSO_TRATAME] on [MATERIAIS_PROCESSO_TRATAMENTO] for INSERT as /* INSERT trigger on MATERIAIS_PROCESSO_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_MAQUINA R/1915 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_MAQUINA where inserted.MAQUINA = MATERIAIS_MAQUINA.MAQUINA select @nullcnt = count(*) from inserted where inserted.MAQUINA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_MAQUINA #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1912 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end /* MATERIAIS_PROCESSO R/1911 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_PROCESSO_TRATAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_PROCESSO_TRATAME] on [MATERIAIS_PROCESSO_TRATAMENTO] for UPDATE as /* UPDATE trigger on MATERIAIS_PROCESSO_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROCESSO_PRODUTIVO char(8), @insTRATAMENTO char(5), @delPROCESSO_PRODUTIVO char(8), @delTRATAMENTO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_MAQUINA R/1915 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_MAQUINA where inserted.MAQUINA = MATERIAIS_MAQUINA.MAQUINA select @nullcnt = count(*) from inserted where inserted.MAQUINA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_MAQUINA #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1912 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end /* MATERIAIS_PROCESSO R/1911 MATERIAIS_PROCESSO_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSO_TRATAMENTO #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSO_TRATAMENTO].[CUSTO_SERVICO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSO_TRATAMENTO].[CUSTO_MATERIAL_TERCEIRO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSO_TRATAMENTO].[SEQUENCIA_PRODUTIVA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_PROCESSO]( [PROCESSO_PRODUTIVO] [char](8) NOT NULL, [RECURSO_PRODUTIVO] [char](5) NULL, [FASE_PRODUTIVA] [varchar](25) NOT NULL, [DESC_PROCESSO_PRODUTIVO] [varchar](40) NOT NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, [OBS] [text] NULL, CONSTRAINT [XPKMATERIAIS_PROCESSO] PRIMARY KEY NONCLUSTERED ( [PROCESSO_PRODUTIVO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_PROCESSO] ON [MATERIAIS_PROCESSO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO A, DELETED B WHERE A.GF_PROCESSO_PROD=B.PROCESSO_PRODUTIVO) DELETE FROM GF_MATERIAIS_PRO WHERE GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_PROCESSO] ON [MATERIAIS_PROCESSO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_PROCESSO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO A, INSERTED B WHERE A.GF_PROCESSO_PROD=B.PROCESSO_PRODUTIVO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_PRO (ID,GF_PROCESSO_PROD,GF_RECURSO_PRODU,GF_FASE_PRODUTIV,GF_DESC_PROCESSO,GF_CUSTO_SERVICO, GF_CUSTO_MATERIA,GF_OBS,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,PROCESSO_PRODUTIVO, (SELECT ID FROM GF_PRODUCAO_RECP WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED)), (SELECT ID FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM INSERTED)), DESC_PROCESSO_PRODUTIVO,CUSTO_SERVICO_PREVISTO,CUSTO_MATERIAL_TERCEIRO_PREVISTO,OBS,@EMPRESA,@USER, GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_PROCESSO A, GF_MATERIAIS_PROCNT B WHERE PROCESSO_PRODUTIVO=(SELECT PROCESSO_PRODUTIVO FROM INSERTED) UPDATE GF_MATERIAIS_PROCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_PROCESSO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_PROCESSO] ON [MATERIAIS_PROCESSO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_PROCESSO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_PROCESSO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_PROCESSO'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_PROCESSO_PROD FROM GF_MATERIAIS_PRO A, DELETED B WHERE A.GF_PROCESSO_PROD=B.PROCESSO_PRODUTIVO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_PRO SET GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM INSERTED), GF_RECURSO_PRODU=(SELECT ID FROM GF_PRODUCAO_RECP WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED)), GF_FASE_PRODUTIV=(SELECT ID FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM INSERTED)), GF_DESC_PROCESSO=(SELECT DESC_PROCESSO_PRODUTIVO FROM INSERTED), GF_CUSTO_SERVICO=(SELECT CUSTO_SERVICO_PREVISTO FROM INSERTED), GF_CUSTO_MATERIA=(SELECT CUSTO_MATERIAL_TERCEIRO_PREVISTO FROM INSERTED), GF_OBS=(SELECT CONVERT(CHAR(254),OBS) FROM MATERIAIS_PROCESSO WHERE PROCESSO_PRODUTIVO=(SELECT PROCESSO_PRODUTIVO FROM INSERTED)), USERM=@USER, FECHAM=GETDATE() WHERE GF_PROCESSO_PROD=(SELECT PROCESSO_PRODUTIVO FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Máquina, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_PROCESSO] on [MATERIAIS_PROCESSO] for DELETE as /* DELETE trigger on MATERIAIS_PROCESSO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_PROCESSO R/1941 MATERIAIS_BASE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE where MATERIAIS_BASE.PROCESSO_PRODUTIVO = deleted.PROCESSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_PROCESSO #porque existem registros em #MATERIAIS_BASE#.'' goto error end /* MATERIAIS_PROCESSO R/1911 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT DELETE CASCADE */ delete MATERIAIS_PROCESSO_TRATAMENTO from MATERIAIS_PROCESSO_TRATAMENTO,deleted where MATERIAIS_PROCESSO_TRATAMENTO.PROCESSO_PRODUTIVO = deleted.PROCESSO_PRODUTIVO /* MATERIAIS_PROCESSO R/1910 MATERIAIS_PROCESSOS_ROTAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_PROCESSOS_ROTAS where MATERIAIS_PROCESSOS_ROTAS.PROCESSO_PRODUTIVO = deleted.PROCESSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_PROCESSO #porque existem registros em #MATERIAIS_PROCESSOS_ROTAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_PROCESSO] on [MATERIAIS_PROCESSO] for INSERT as /* INSERT trigger on MATERIAIS_PROCESSO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/1920 MATERIAIS_PROCESSO ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* MATERIAIS_FASE_PRODUTIVA R/1918 MATERIAIS_PROCESSO ON CHILD INSERT RESTRICT */ if update(FASE_PRODUTIVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FASE_PRODUTIVA where inserted.FASE_PRODUTIVA = MATERIAIS_FASE_PRODUTIVA.FASE_PRODUTIVA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PROCESSO #porque #MATERIAIS_FASE_PRODUTIVA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_PROCESSO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_PROCESSO] on [MATERIAIS_PROCESSO] for UPDATE as /* UPDATE trigger on MATERIAIS_PROCESSO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROCESSO_PRODUTIVO char(8), @delPROCESSO_PRODUTIVO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSO R/1941 MATERIAIS_BASE ON PARENT UPDATE CASCADE */ IF update(PROCESSO_PRODUTIVO) BEGIN DECLARE MATERIAIS_PROCESSO1941 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM INSERTED DECLARE MATERIAIS_PROCESSO1084 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM DELETED OPEN MATERIAIS_PROCESSO1941 OPEN MATERIAIS_PROCESSO1084 FETCH NEXT FROM MATERIAIS_PROCESSO1941 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE SET MATERIAIS_BASE.PROCESSO_PRODUTIVO=@insPROCESSO_PRODUTIVO WHERE MATERIAIS_BASE.PROCESSO_PRODUTIVO = @delPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1941 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO END END CLOSE MATERIAIS_PROCESSO1941 CLOSE MATERIAIS_PROCESSO1084 DEALLOCATE MATERIAIS_PROCESSO1941 DEALLOCATE MATERIAIS_PROCESSO1084 END /* MATERIAIS_PROCESSO R/1911 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(PROCESSO_PRODUTIVO) BEGIN DECLARE MATERIAIS_PROCESSO1911 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM INSERTED DECLARE MATERIAIS_PROCESSO1084 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM DELETED OPEN MATERIAIS_PROCESSO1911 OPEN MATERIAIS_PROCESSO1084 FETCH NEXT FROM MATERIAIS_PROCESSO1911 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSO_TRATAMENTO SET MATERIAIS_PROCESSO_TRATAMENTO.PROCESSO_PRODUTIVO=@insPROCESSO_PRODUTIVO WHERE MATERIAIS_PROCESSO_TRATAMENTO.PROCESSO_PRODUTIVO = @delPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1911 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO END END CLOSE MATERIAIS_PROCESSO1911 CLOSE MATERIAIS_PROCESSO1084 DEALLOCATE MATERIAIS_PROCESSO1911 DEALLOCATE MATERIAIS_PROCESSO1084 END /* MATERIAIS_PROCESSO R/1910 MATERIAIS_PROCESSOS_ROTAS ON PARENT UPDATE CASCADE */ IF update(PROCESSO_PRODUTIVO) BEGIN DECLARE MATERIAIS_PROCESSO1910 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM INSERTED DECLARE MATERIAIS_PROCESSO1084 CURSOR FOR SELECT PROCESSO_PRODUTIVO FROM DELETED OPEN MATERIAIS_PROCESSO1910 OPEN MATERIAIS_PROCESSO1084 FETCH NEXT FROM MATERIAIS_PROCESSO1910 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSOS_ROTAS SET MATERIAIS_PROCESSOS_ROTAS.PROCESSO_PRODUTIVO=@insPROCESSO_PRODUTIVO WHERE MATERIAIS_PROCESSOS_ROTAS.PROCESSO_PRODUTIVO = @delPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1910 INTO @insPROCESSO_PRODUTIVO FETCH NEXT FROM MATERIAIS_PROCESSO1084 INTO @delPROCESSO_PRODUTIVO END END CLOSE MATERIAIS_PROCESSO1910 CLOSE MATERIAIS_PROCESSO1084 DEALLOCATE MATERIAIS_PROCESSO1910 DEALLOCATE MATERIAIS_PROCESSO1084 END /* PRODUCAO_RECURSOS R/1920 MATERIAIS_PROCESSO ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSO #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* MATERIAIS_FASE_PRODUTIVA R/1918 MATERIAIS_PROCESSO ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUTIVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FASE_PRODUTIVA where inserted.FASE_PRODUTIVA = MATERIAIS_FASE_PRODUTIVA.FASE_PRODUTIVA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PROCESSO #porque #MATERIAIS_FASE_PRODUTIVA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSO].[CUSTO_SERVICO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PROCESSO].[CUSTO_MATERIAL_TERCEIRO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTES_TARIFAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTES_TARIFAS]( [FILIAL] [varchar](25) NOT NULL, [REPRESENTANTE] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [COMISSAO] [real] NOT NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTES_TARIFAS].[COMISSAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE]( [REFERENCIA_BASE] [char](11) NOT NULL, [COMPOSICAO] [char](6) NULL, [SUBGRUPO] [varchar](25) NOT NULL, [GRUPO] [varchar](25) NOT NULL, [DESC_MATERIAL_BASE] [varchar](40) NOT NULL, [PROCESSO_PRODUTIVO] [char](8) NULL, [JOGO_AGULHAS] [int] NULL, [SEMI_ACABADO] [int] NULL, [CUSTO_UNITARIO] [numeric](14, 2) NULL, [CUSTO_PROCESSO_PRODUTIVO] [numeric](14, 2) NULL, [CUSTO_MATERIAIS] [numeric](14, 2) NULL, [CUSTO_TRATAMENTOS] [numeric](14, 2) NULL, [CADASTRO] [datetime] NULL, [OBS] [text] NULL, [TEC_SIMPLES_TUBULAR_ABERTO] [tinyint] NULL, [TEC_TORNASOL] [tinyint] NULL, [CONTA_CONTABIL] [char](20) NULL, [CLASSIF_FISCAL] [char](10) NULL, [TRIBUT_ORIGEM] [char](3) NULL, [TRIBUT_ICMS] [char](3) NULL, [FABRICANTE] [varchar](25) NULL, [RESTRICAO_LAVAGEM] [char](6) NULL, CONSTRAINT [XPKMATERIAIS_BASE] PRIMARY KEY NONCLUSTERED ( [REFERENCIA_BASE] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_BASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_BASE] on [MATERIAIS_BASE] for DELETE as /* DELETE trigger on MATERIAIS_BASE */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_BASE R/1986 ORCAMENTOS_MATERIAIS_BASE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS_MATERIAIS_BASE where ORCAMENTOS_MATERIAIS_BASE.REFERENCIA_BASE = deleted.REFERENCIA_BASE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_BASE #porque existem registros em #ORCAMENTOS_MATERIAIS_BASE#.'' goto error end /* MATERIAIS_BASE R/1959 MATERIAIS_BASE_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE_SUBGRUPO where MATERIAIS_BASE_SUBGRUPO.REFERENCIA_BASE = deleted.REFERENCIA_BASE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_BASE #porque existem registros em #MATERIAIS_BASE_SUBGRUPO#.'' goto error end /* MATERIAIS_BASE R/1940 MATERIAIS_BASE_TESTE ON PARENT DELETE CASCADE */ delete MATERIAIS_BASE_TESTE from MATERIAIS_BASE_TESTE,deleted where MATERIAIS_BASE_TESTE.REFERENCIA_BASE = deleted.REFERENCIA_BASE /* MATERIAIS_BASE R/1938 MATERIAIS_BASE_TRATAMENTO ON PARENT DELETE CASCADE */ delete MATERIAIS_BASE_TRATAMENTO from MATERIAIS_BASE_TRATAMENTO,deleted where MATERIAIS_BASE_TRATAMENTO.REFERENCIA_BASE = deleted.REFERENCIA_BASE /* MATERIAIS_BASE R/1934 MATERIAIS_BASE_CONSUMO ON PARENT DELETE CASCADE */ delete MATERIAIS_BASE_CONSUMO from MATERIAIS_BASE_CONSUMO,deleted where MATERIAIS_BASE_CONSUMO.REFERENCIA_BASE = deleted.REFERENCIA_BASE /* MATERIAIS_BASE R/1931 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.REFERENCIA_BASE = deleted.REFERENCIA_BASE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_BASE #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_BASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_BASE] on [MATERIAIS_BASE] for INSERT as /* INSERT trigger on MATERIAIS_BASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSO R/1941 MATERIAIS_BASE ON CHILD INSERT RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.PROCESSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1932 MATERIAIS_BASE ON CHILD INSERT RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO select @nullcnt = count(*) from inserted where inserted.COMPOSICAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_BASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_BASE] on [MATERIAIS_BASE] for UPDATE as /* UPDATE trigger on MATERIAIS_BASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREFERENCIA_BASE char(11), @delREFERENCIA_BASE char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1940 MATERIAIS_BASE_TESTE ON PARENT UPDATE CASCADE */ IF update(REFERENCIA_BASE) BEGIN DECLARE MATERIAIS_BASE1940 CURSOR FOR SELECT REFERENCIA_BASE FROM INSERTED DECLARE MATERIAIS_BASE1094 CURSOR FOR SELECT REFERENCIA_BASE FROM DELETED OPEN MATERIAIS_BASE1940 OPEN MATERIAIS_BASE1094 FETCH NEXT FROM MATERIAIS_BASE1940 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_TESTE SET MATERIAIS_BASE_TESTE.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS_BASE_TESTE.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1940 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE END END CLOSE MATERIAIS_BASE1940 CLOSE MATERIAIS_BASE1094 DEALLOCATE MATERIAIS_BASE1940 DEALLOCATE MATERIAIS_BASE1094 END /* MATERIAIS_BASE R/1938 MATERIAIS_BASE_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(REFERENCIA_BASE) BEGIN DECLARE MATERIAIS_BASE1938 CURSOR FOR SELECT REFERENCIA_BASE FROM INSERTED DECLARE MATERIAIS_BASE1094 CURSOR FOR SELECT REFERENCIA_BASE FROM DELETED OPEN MATERIAIS_BASE1938 OPEN MATERIAIS_BASE1094 FETCH NEXT FROM MATERIAIS_BASE1938 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_TRATAMENTO SET MATERIAIS_BASE_TRATAMENTO.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS_BASE_TRATAMENTO.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1938 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE END END CLOSE MATERIAIS_BASE1938 CLOSE MATERIAIS_BASE1094 DEALLOCATE MATERIAIS_BASE1938 DEALLOCATE MATERIAIS_BASE1094 END /* MATERIAIS_BASE R/1934 MATERIAIS_BASE_CONSUMO ON PARENT UPDATE CASCADE */ IF update(REFERENCIA_BASE) BEGIN DECLARE MATERIAIS_BASE1934 CURSOR FOR SELECT REFERENCIA_BASE FROM INSERTED DECLARE MATERIAIS_BASE1094 CURSOR FOR SELECT REFERENCIA_BASE FROM DELETED OPEN MATERIAIS_BASE1934 OPEN MATERIAIS_BASE1094 FETCH NEXT FROM MATERIAIS_BASE1934 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_CONSUMO SET MATERIAIS_BASE_CONSUMO.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS_BASE_CONSUMO.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1934 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE END END CLOSE MATERIAIS_BASE1934 CLOSE MATERIAIS_BASE1094 DEALLOCATE MATERIAIS_BASE1934 DEALLOCATE MATERIAIS_BASE1094 END /* MATERIAIS_BASE R/1931 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(REFERENCIA_BASE) BEGIN DECLARE MATERIAIS_BASE1931 CURSOR FOR SELECT REFERENCIA_BASE FROM INSERTED DECLARE MATERIAIS_BASE1094 CURSOR FOR SELECT REFERENCIA_BASE FROM DELETED OPEN MATERIAIS_BASE1931 OPEN MATERIAIS_BASE1094 FETCH NEXT FROM MATERIAIS_BASE1931 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1931 INTO @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE1094 INTO @delREFERENCIA_BASE END END CLOSE MATERIAIS_BASE1931 CLOSE MATERIAIS_BASE1094 DEALLOCATE MATERIAIS_BASE1931 DEALLOCATE MATERIAIS_BASE1094 END /* MATERIAIS_PROCESSO R/1941 MATERIAIS_BASE ON CHILD UPDATE RESTRICT */ if update(PROCESSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSO where inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSO.PROCESSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.PROCESSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE #porque #MATERIAIS_PROCESSO #não existe.'' goto error end end /* MATERIAIS_COMPOSICAO R/1932 MATERIAIS_BASE ON CHILD UPDATE RESTRICT */ if update(COMPOSICAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_COMPOSICAO where inserted.COMPOSICAO = MATERIAIS_COMPOSICAO.COMPOSICAO select @nullcnt = count(*) from inserted where inserted.COMPOSICAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE #porque #MATERIAIS_COMPOSICAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[JOGO_AGULHAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[SEMI_ACABADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[CUSTO_UNITARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[CUSTO_PROCESSO_PRODUTIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[CUSTO_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE].[CUSTO_TRATAMENTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MATERIAIS_BASE].[CADASTRO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_A_RECEBER_CHEQUES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_A_RECEBER_CHEQUES]( [CHEQUE_CARTAO] [varchar](35) NOT NULL, [NUMERO_CONTRATO] [varchar](20) NULL, [BANCO] [char](4) NULL, [CARTEIRA] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [NOME_CLIFOR] [varchar](25) NULL, [CODIGO_CLIENTE] [varchar](14) NULL, [CODIGO_ADMINISTRADORA] [char](2) NULL, [TIPO_PGTO] [char](1) NOT NULL, [EMISSAO] [datetime] NULL, [DOCUMENTO] [varchar](12) NULL, [NUMERO_TITULO] [varchar](16) NULL, [CADASTRAMENTO] [datetime] NOT NULL, [INDICA_CARTAO] [bit] NOT NULL, [AGENCIA] [char](4) NULL, [VENCIMENTO] [datetime] NOT NULL, [CONTA_CORRENTE] [varchar](15) NULL, [PRORROGACAO] [int] NULL, [ORIGEM] [char](1) NULL, [VALOR_TAXA_ADMINISTRACAO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NOT NULL, [VALOR_ORIGINAL] [numeric](14, 2) NOT NULL, [VALOR_TOTAL_QUITADO] [numeric](14, 2) NULL, [NUMERO_DEVOLUCOES] [int] NULL, [GUIA_ENVIO] [varchar](20) NULL, [BANCO_DO_CHEQUE] [char](4) NULL, [PARCELAMENTO_NA_VENDA] [char](4) NULL, [CARTAO_MANUAL] [bit] NOT NULL, [LANCAMENTO_CAIXA] [varchar](7) NULL, [TERMINAL] [varchar](3) NULL, [LOCALIDADE] [tinyint] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_A_RECEBER_CHEQUES] PRIMARY KEY NONCLUSTERED ( [CHEQUE_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[INDICA_CARTAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[PRORROGACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[VALOR_TAXA_ADMINISTRACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[VALOR_TOTAL_QUITADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[NUMERO_DEVOLUCOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[CARTAO_MANUAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[LOCALIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_A_RECEBER_CHEQUES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_DEVOLUCAO_ACERTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_DEVOLUCAO_ACERTO]( [FATURA] [char](11) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [PARCELA] [char](2) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [VALOR_DEVOLUCAO] [numeric](14, 2) NULL, CONSTRAINT [XPKFATURAMENTO_DEVOLUCAO_ACERT] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [NOME_CLIFOR] ASC, [PARCELA] ASC, [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_DEVOLUCAO_ACER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_DEVOLUCAO_ACER] on [FATURAMENTO_DEVOLUCAO_ACERTO] for INSERT as /* INSERT trigger on FATURAMENTO_DEVOLUCAO_ACERTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO DEVOLUCAO_ACERTO FATURAMENTO_DEVOLUCAO_ACERTO ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_DEVOLUCAO_ACERTO #porque #FATURAMENTO #não existe.'' goto error end end /* A_PAGAR_PARCELA ACERTO_DEVOLUCAO FATURAMENTO_DEVOLUCAO_ACERTO ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_DEVOLUCAO_ACERTO #porque #A_PAGAR_PARCELA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_DEVOLUCAO_ACER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_DEVOLUCAO_ACER] on [FATURAMENTO_DEVOLUCAO_ACERTO] for UPDATE as /* UPDATE trigger on FATURAMENTO_DEVOLUCAO_ACERTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insNOME_CLIFOR varchar(25), @insPARCELA char(2), @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @delFATURA char(11), @delNOME_CLIFOR varchar(25), @delPARCELA char(2), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO DEVOLUCAO_ACERTO FATURAMENTO_DEVOLUCAO_ACERTO ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_DEVOLUCAO_ACERTO #porque #FATURAMENTO #não existe.'' goto error end end /* A_PAGAR_PARCELA ACERTO_DEVOLUCAO FATURAMENTO_DEVOLUCAO_ACERTO ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_DEVOLUCAO_ACERTO #porque #A_PAGAR_PARCELA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_DEVOLUCAO_ACERTO].[VALOR_DEVOLUCAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTE_PERIODOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTE_PERIODOS]( [PERIODO] [smallint] NOT NULL, [TIPO_COTA] [varchar](25) NOT NULL, [COTA] [char](5) NOT NULL, [REPRESENTANTE] [varchar](25) NOT NULL, [DE_FECHA] [datetime] NOT NULL, [A_FECHA] [datetime] NOT NULL, [CANTIDAD] [int] NULL, [IMPORTE] [float] NULL, [INCR_COMISION] [float] NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_PERIODOS].[CANTIDAD]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_PERIODOS].[IMPORTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_PERIODOS].[INCR_COMISION]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO_ITEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_FABRICACAO_ITEM]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PROCESSO_PRODUTIVO] [char](8) NOT NULL, [ORDEM_FABRICACAO] [char](8) NOT NULL, [RECURSO_PRODUTIVO] [char](5) NOT NULL, [NIVEL] [varchar](5) NOT NULL, [QTDE_PREVISTA] [numeric](9, 3) NOT NULL, [QTDE_A_PRODUZIR] [numeric](9, 3) NOT NULL, [QTDE_EM_PROCESSO] [numeric](9, 3) NULL, [QTDE_FINALIZADA] [numeric](9, 3) NULL, [QTDE_ALTERACAO_OF] [numeric](9, 3) NULL, [QTDE_PERDAS] [numeric](9, 3) NULL, [QTDE_ALT_OUTRAS_OF] [numeric](9, 3) NULL, [INICIO_LIBERADO] [datetime] NOT NULL, [INICIO_PREVISTO] [datetime] NOT NULL, [INICIO_REAL] [datetime] NULL, [FIM_PREVISTO] [datetime] NULL, [FIM_ATUALIZADO] [datetime] NULL, [ENCERRAMENTO] [datetime] NULL, [NUMERO_OF_EXTERNO] [varchar](20) NULL, [VALOR_TRATAMENTO_REALIZADO] [numeric](14, 2) NULL, [VALOR_MATERIAL_TERCEIRO_REALIZADO] [numeric](14, 2) NULL, [VALOR_MATERIA_PRIMA_REALIZADO] [numeric](14, 2) NULL, [CUSTO_MATERIA_PRIMA_PREVISTO] [numeric](15, 5) NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, [OBS] [text] NULL, [RECEITA] [varchar](20) NULL, CONSTRAINT [XPKM_ORDEM_FABRICACAO_ITEM] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO_ITEM]') AND name = N'XAK1M_ORDEM_FABRICACAO_ITEM') CREATE UNIQUE NONCLUSTERED INDEX [XAK1M_ORDEM_FABRICACAO_ITEM] ON [M_ORDEM_FABRICACAO_ITEM] ( [ORDEM_FABRICACAO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_M_ORDEM_FABRICACAO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_M_ORDEM_FABRICACAO_ITEM] on [M_ORDEM_FABRICACAO_ITEM] for DELETE as /* DELETE trigger on M_ORDEM_FABRICACAO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO_ITEM R/2118 M_ORDEM_FABRICACAO_PROCESSO ON PARENT DELETE CASCADE */ delete M_ORDEM_FABRICACAO_PROCESSO from M_ORDEM_FABRICACAO_PROCESSO,deleted where M_ORDEM_FABRICACAO_PROCESSO.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO /* M_ORDEM_FABRICACAO_ITEM R/1890 M_ORDEM_FABRICACAO_ANTERIOR ON PARENT DELETE CASCADE */ delete M_ORDEM_FABRICACAO_ANTERIOR from M_ORDEM_FABRICACAO_ANTERIOR,deleted where M_ORDEM_FABRICACAO_ANTERIOR.ORDEM_PRODUCAO_ANTERIOR = deleted.ORDEM_PRODUCAO /* M_ORDEM_FABRICACAO_ITEM R/1889 M_ORDEM_FABRICACAO_ANTERIOR ON PARENT DELETE CASCADE */ delete M_ORDEM_FABRICACAO_ANTERIOR from M_ORDEM_FABRICACAO_ANTERIOR,deleted where M_ORDEM_FABRICACAO_ANTERIOR.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO /* M_ORDEM_FABRICACAO_ITEM R/1896 M_ORDEM_SERVICO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_SERVICO_ITEM where M_ORDEM_SERVICO_ITEM.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #M_ORDEM_FABRICACAO_ITEM #porque existem registros em #M_ORDEM_SERVICO_ITEM#.'' goto error end /*- ATUALIZA M_ORDEM_FABRICACAO -----------------------------------------------------------------------*/ UPDATE B SET INICIO_REAL = (SELECT MIN(INICIO_REAL) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO), ENCERRAMENTO = (SELECT MAX(ENCERRAMENTO) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO HAVING SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO) = 0), STATUS = (SELECT CASE WHEN SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO)=0 THEN ''E'' WHEN SUM(QTDE_EM_PROCESSO) > 0 OR (SUM(QTDE_FINALIZADA)>0 AND SUM(QTDE_A_PRODUZIR) > 0) THEN ''P'' ELSE ''S'' END FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO) FROM DELETED A JOIN M_ORDEM_FABRICACAO B ON A.ORDEM_FABRICACAO=B.ORDEM_FABRICACAO /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_FABRICACAO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_FABRICACAO_ITEM] on [M_ORDEM_FABRICACAO_ITEM] for INSERT as /* INSERT trigger on M_ORDEM_FABRICACAO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSOS_ROTAS R/1919 M_ORDEM_FABRICACAO_ITEM ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(PROCESSO_PRODUTIVO) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSOS_ROTAS where inserted.MATERIAL = MATERIAIS_PROCESSOS_ROTAS.MATERIAL and inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSOS_ROTAS.PROCESSO_PRODUTIVO and inserted.COR_MATERIAL = MATERIAIS_PROCESSOS_ROTAS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_ITEM #porque #MATERIAIS_PROCESSOS_ROTAS #não existe.'' goto error end end /* M_ORDEM_FABRICACAO R/1897 M_ORDEM_FABRICACAO_ITEM ON CHILD INSERT RESTRICT */ if update(ORDEM_FABRICACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO where inserted.ORDEM_FABRICACAO = M_ORDEM_FABRICACAO.ORDEM_FABRICACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_ITEM #porque #M_ORDEM_FABRICACAO #não existe.'' goto error end end /*- ATUALIZA M_ORDEM_FABRICACAO -----------------------------------------------------------------------*/ UPDATE B SET INICIO_REAL = (SELECT MIN(INICIO_REAL) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO), ENCERRAMENTO = (SELECT MAX(ENCERRAMENTO) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO HAVING SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO) = 0), STATUS = (SELECT CASE WHEN SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO)=0 THEN ''E'' WHEN SUM(QTDE_EM_PROCESSO) > 0 OR (SUM(QTDE_FINALIZADA)>0 AND SUM(QTDE_A_PRODUZIR) > 0) THEN ''P'' ELSE ''S'' END FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO) FROM INSERTED A JOIN M_ORDEM_FABRICACAO B ON A.ORDEM_FABRICACAO=B.ORDEM_FABRICACAO /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_FABRICACAO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_FABRICACAO_ITEM] on [M_ORDEM_FABRICACAO_ITEM] for UPDATE as /* UPDATE trigger on M_ORDEM_FABRICACAO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_PROCESSOS_ROTAS R/1919 M_ORDEM_FABRICACAO_ITEM ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(PROCESSO_PRODUTIVO) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_PROCESSOS_ROTAS where inserted.MATERIAL = MATERIAIS_PROCESSOS_ROTAS.MATERIAL and inserted.PROCESSO_PRODUTIVO = MATERIAIS_PROCESSOS_ROTAS.PROCESSO_PRODUTIVO and inserted.COR_MATERIAL = MATERIAIS_PROCESSOS_ROTAS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ITEM #porque #MATERIAIS_PROCESSOS_ROTAS #não existe.'' goto error end end /* M_ORDEM_FABRICACAO R/1897 M_ORDEM_FABRICACAO_ITEM ON CHILD UPDATE RESTRICT */ if update(ORDEM_FABRICACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO where inserted.ORDEM_FABRICACAO = M_ORDEM_FABRICACAO.ORDEM_FABRICACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ITEM #porque #M_ORDEM_FABRICACAO #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/2118 M_ORDEM_FABRICACAO_PROCESSO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE M_ORDEM_FABRICACAO_ITEM2118 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE M_ORDEM_FABRICACAO_ITEM1070 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN M_ORDEM_FABRICACAO_ITEM2118 OPEN M_ORDEM_FABRICACAO_ITEM1070 FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM2118 INTO @insORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1070 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_PROCESSO SET M_ORDEM_FABRICACAO_PROCESSO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE M_ORDEM_FABRICACAO_PROCESSO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM2118 INTO @insORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1070 INTO @delORDEM_PRODUCAO END END CLOSE M_ORDEM_FABRICACAO_ITEM2118 CLOSE M_ORDEM_FABRICACAO_ITEM1070 DEALLOCATE M_ORDEM_FABRICACAO_ITEM2118 DEALLOCATE M_ORDEM_FABRICACAO_ITEM1070 END /* M_ORDEM_FABRICACAO_ITEM R/1890 M_ORDEM_FABRICACAO_ANTERIOR ON PARENT UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin if exists ( select * from deleted,M_ORDEM_FABRICACAO_ANTERIOR where M_ORDEM_FABRICACAO_ANTERIOR.ORDEM_PRODUCAO_ANTERIOR = deleted.ORDEM_PRODUCAO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ITEM #porque existem registros em #M_ORDEM_FABRICACAO_ANTERIOR#.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/1889 M_ORDEM_FABRICACAO_ANTERIOR ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) BEGIN DECLARE M_ORDEM_FABRICACAO_ITEM1884 CURSOR FOR SELECT ORDEM_PRODUCAO FROM INSERTED DECLARE M_ORDEM_FABRICACAO_ITEM1070 CURSOR FOR SELECT ORDEM_PRODUCAO FROM DELETED OPEN M_ORDEM_FABRICACAO_ITEM1884 OPEN M_ORDEM_FABRICACAO_ITEM1070 FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1884 INTO @insORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1070 INTO @delORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_ANTERIOR SET M_ORDEM_FABRICACAO_ANTERIOR.ORDEM_PRODUCAO=@insORDEM_PRODUCAO WHERE M_ORDEM_FABRICACAO_ANTERIOR.ORDEM_PRODUCAO = @delORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1884 INTO @insORDEM_PRODUCAO FETCH NEXT FROM M_ORDEM_FABRICACAO_ITEM1070 INTO @delORDEM_PRODUCAO END END CLOSE M_ORDEM_FABRICACAO_ITEM1884 CLOSE M_ORDEM_FABRICACAO_ITEM1070 DEALLOCATE M_ORDEM_FABRICACAO_ITEM1884 DEALLOCATE M_ORDEM_FABRICACAO_ITEM1070 END /* M_ORDEM_FABRICACAO_ITEM R/1896 M_ORDEM_SERVICO_ITEM ON PARENT UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin if exists ( select * from deleted,M_ORDEM_SERVICO_ITEM where M_ORDEM_SERVICO_ITEM.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_ITEM #porque existem registros em #M_ORDEM_SERVICO_ITEM#.'' goto error end end /*- ATUALIZA M_ORDEM_FABRICACAO -----------------------------------------------------------------------*/ UPDATE B SET INICIO_REAL = (SELECT MIN(INICIO_REAL) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO), ENCERRAMENTO = (SELECT MAX(ENCERRAMENTO) FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO HAVING SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO) = 0), STATUS = (SELECT CASE WHEN SUM(QTDE_A_PRODUZIR+QTDE_EM_PROCESSO)=0 THEN ''E'' WHEN SUM(QTDE_EM_PROCESSO) > 0 OR (SUM(QTDE_FINALIZADA)>0 AND SUM(QTDE_A_PRODUZIR) > 0) THEN ''P'' ELSE ''S'' END FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_FABRICACAO=A.ORDEM_FABRICACAO) FROM INSERTED A JOIN M_ORDEM_FABRICACAO B ON A.ORDEM_FABRICACAO=B.ORDEM_FABRICACAO /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_PREVISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_A_PRODUZIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_EM_PROCESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_FINALIZADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_ALTERACAO_OF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_PERDAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[QTDE_ALT_OUTRAS_OF]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[VALOR_TRATAMENTO_REALIZADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[VALOR_MATERIAL_TERCEIRO_REALIZADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[CUSTO_SERVICO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_ITEM].[CUSTO_MATERIAL_TERCEIRO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_MAQUINAS]( [MAQUINA] [char](5) NOT NULL, [DESC_MAQUINA] [varchar](40) NOT NULL, [TIPO_MAQUINA] [varchar](25) NOT NULL, [QTDE_MAQUINAS] [int] NULL, [PORCENTAGEM_INTERFERENCIA] [int] NULL, CONSTRAINT [XPKPRODUTIV_MAQUINAS] PRIMARY KEY NONCLUSTERED ( [MAQUINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_MAQUINAS] on [PRODUTIV_MAQUINAS] for DELETE as /* DELETE trigger on PRODUTIV_MAQUINAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_MAQUINAS MAQUINAS PRODUTIV_CELULA_MAQUINAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_CELULA_MAQUINAS where PRODUTIV_CELULA_MAQUINAS.MAQUINA = deleted.MAQUINA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_MAQUINAS #porque existem registros em #PRODUTIV_CELULA_MAQUINAS#.'' goto error end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_TOLER_MAQUINA ON PARENT DELETE CASCADE */ delete PRODUTIV_TOLER_MAQUINA from PRODUTIV_TOLER_MAQUINA,deleted where PRODUTIV_TOLER_MAQUINA.MAQUINA = deleted.MAQUINA /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERADORA_MAQ ON PARENT DELETE CASCADE */ delete PRODUTIV_OPERADORA_MAQ from PRODUTIV_OPERADORA_MAQ,deleted where PRODUTIV_OPERADORA_MAQ.MAQUINA = deleted.MAQUINA /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTIV_OPERACOES where PRODUTIV_OPERACOES.MAQUINA = deleted.MAQUINA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTIV_MAQUINAS #porque existem registros em #PRODUTIV_OPERACOES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_MAQUINAS] on [PRODUTIV_MAQUINAS] for INSERT as /* INSERT trigger on PRODUTIV_MAQUINAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_MAQ_TIPO PRODUTIV_MAQ_TIPO PRODUTIV_MAQUINAS ON CHILD INSERT RESTRICT */ if update(TIPO_MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQ_TIPO where inserted.TIPO_MAQUINA = PRODUTIV_MAQ_TIPO.TIPO_MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_MAQUINAS #porque #PRODUTIV_MAQ_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_MAQUINAS] on [PRODUTIV_MAQUINAS] for UPDATE as /* UPDATE trigger on PRODUTIV_MAQUINAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMAQUINA char(5), @delMAQUINA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_MAQUINAS MAQUINAS PRODUTIV_CELULA_MAQUINAS ON PARENT UPDATE CASCADE */ IF update(MAQUINA) BEGIN DECLARE PRODUTIV_MAQUINAS1007 CURSOR FOR SELECT MAQUINA FROM INSERTED DECLARE PRODUTIV_MAQUINAS416 CURSOR FOR SELECT MAQUINA FROM DELETED OPEN PRODUTIV_MAQUINAS1007 OPEN PRODUTIV_MAQUINAS416 FETCH NEXT FROM PRODUTIV_MAQUINAS1007 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_CELULA_MAQUINAS SET PRODUTIV_CELULA_MAQUINAS.MAQUINA=@insMAQUINA WHERE PRODUTIV_CELULA_MAQUINAS.MAQUINA = @delMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS1007 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA END END CLOSE PRODUTIV_MAQUINAS1007 CLOSE PRODUTIV_MAQUINAS416 DEALLOCATE PRODUTIV_MAQUINAS1007 DEALLOCATE PRODUTIV_MAQUINAS416 END /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_TOLER_MAQUINA ON PARENT UPDATE CASCADE */ IF update(MAQUINA) BEGIN DECLARE PRODUTIV_MAQUINAS995 CURSOR FOR SELECT MAQUINA FROM INSERTED DECLARE PRODUTIV_MAQUINAS416 CURSOR FOR SELECT MAQUINA FROM DELETED OPEN PRODUTIV_MAQUINAS995 OPEN PRODUTIV_MAQUINAS416 FETCH NEXT FROM PRODUTIV_MAQUINAS995 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_TOLER_MAQUINA SET PRODUTIV_TOLER_MAQUINA.MAQUINA=@insMAQUINA WHERE PRODUTIV_TOLER_MAQUINA.MAQUINA = @delMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS995 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA END END CLOSE PRODUTIV_MAQUINAS995 CLOSE PRODUTIV_MAQUINAS416 DEALLOCATE PRODUTIV_MAQUINAS995 DEALLOCATE PRODUTIV_MAQUINAS416 END /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERADORA_MAQ ON PARENT UPDATE RESTRICT */ if update(MAQUINA) begin if exists ( select * from deleted,PRODUTIV_OPERADORA_MAQ where PRODUTIV_OPERADORA_MAQ.MAQUINA = deleted.MAQUINA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTIV_MAQUINAS #porque existem registros em #PRODUTIV_OPERADORA_MAQ#.'' goto error end end /* PRODUTIV_MAQUINAS PRODUTIV_MAQUINAS PRODUTIV_OPERACOES ON PARENT UPDATE CASCADE */ IF update(MAQUINA) BEGIN DECLARE PRODUTIV_MAQUINAS650 CURSOR FOR SELECT MAQUINA FROM INSERTED DECLARE PRODUTIV_MAQUINAS416 CURSOR FOR SELECT MAQUINA FROM DELETED OPEN PRODUTIV_MAQUINAS650 OPEN PRODUTIV_MAQUINAS416 FETCH NEXT FROM PRODUTIV_MAQUINAS650 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_OPERACOES SET PRODUTIV_OPERACOES.MAQUINA=@insMAQUINA WHERE PRODUTIV_OPERACOES.MAQUINA = @delMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS650 INTO @insMAQUINA FETCH NEXT FROM PRODUTIV_MAQUINAS416 INTO @delMAQUINA END END CLOSE PRODUTIV_MAQUINAS650 CLOSE PRODUTIV_MAQUINAS416 DEALLOCATE PRODUTIV_MAQUINAS650 DEALLOCATE PRODUTIV_MAQUINAS416 END /* PRODUTIV_MAQ_TIPO PRODUTIV_MAQ_TIPO PRODUTIV_MAQUINAS ON CHILD UPDATE RESTRICT */ if update(TIPO_MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQ_TIPO where inserted.TIPO_MAQUINA = PRODUTIV_MAQ_TIPO.TIPO_MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_MAQUINAS #porque #PRODUTIV_MAQ_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_MAQUINAS].[QTDE_MAQUINAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_MAQUINAS].[PORCENTAGEM_INTERFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_ESTOQUE_IDEAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_ESTOQUE_IDEAL]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [TIPO_ESTOQUE_IDEAL] [char](6) NOT NULL, [QTDE_TOTAL] [smallint] NULL, [QTDE_MINIMA_VARIACAO] [smallint] NULL, [Q1] [smallint] NULL, [Q2] [smallint] NULL, [Q3] [smallint] NULL, [Q4] [smallint] NULL, [Q5] [smallint] NULL, [Q6] [smallint] NULL, [Q7] [smallint] NULL, [Q8] [smallint] NULL, [Q9] [smallint] NULL, [Q10] [smallint] NULL, [Q11] [smallint] NULL, [Q12] [smallint] NULL, [Q13] [smallint] NULL, [Q14] [smallint] NULL, [Q15] [smallint] NULL, [Q16] [smallint] NULL, [Q17] [smallint] NULL, [Q18] [smallint] NULL, [Q19] [smallint] NULL, [Q20] [smallint] NULL, [Q21] [smallint] NULL, [Q22] [smallint] NULL, [Q23] [smallint] NULL, [Q24] [smallint] NULL, [Q25] [smallint] NULL, [Q26] [smallint] NULL, [Q27] [smallint] NULL, [Q28] [smallint] NULL, [Q29] [smallint] NULL, [Q30] [smallint] NULL, [Q31] [smallint] NULL, [Q32] [smallint] NULL, [Q33] [smallint] NULL, [Q34] [smallint] NULL, [Q35] [smallint] NULL, [Q36] [smallint] NULL, [Q37] [smallint] NULL, [Q38] [smallint] NULL, [Q39] [smallint] NULL, [Q40] [smallint] NULL, [Q41] [smallint] NULL, [Q42] [smallint] NULL, [Q43] [smallint] NULL, [Q44] [smallint] NULL, [Q45] [smallint] NULL, [Q46] [smallint] NULL, [Q47] [smallint] NULL, [Q48] [smallint] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKLOJAS_ESTOQUE_IDEAL] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [TIPO_ESTOQUE_IDEAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_ESTOQUE_IDEAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_ESTOQUE_IDEAL] on [LOJAS_ESTOQUE_IDEAL] for INSERT as /* INSERT trigger on LOJAS_ESTOQUE_IDEAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_LOJA_IDEAL R/1853 LOJAS_ESTOQUE_IDEAL ON CHILD INSERT RESTRICT */ if update(TIPO_ESTOQUE_IDEAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_LOJA_IDEAL where inserted.TIPO_ESTOQUE_IDEAL = DISTRIBUICAO_LOJA_IDEAL.TIPO_ESTOQUE_IDEAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJAS_ESTOQUE_IDEAL #porque #DISTRIBUICAO_LOJA_IDEAL #não existe.'' goto error end end /* PRODUTO_CORES R/1820 LOJAS_ESTOQUE_IDEAL ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJAS_ESTOQUE_IDEAL #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_ESTOQUE_IDEAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_ESTOQUE_IDEAL] on [LOJAS_ESTOQUE_IDEAL] for UPDATE as /* UPDATE trigger on LOJAS_ESTOQUE_IDEAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTIPO_ESTOQUE_IDEAL char(6), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delTIPO_ESTOQUE_IDEAL char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_LOJA_IDEAL R/1853 LOJAS_ESTOQUE_IDEAL ON CHILD UPDATE RESTRICT */ if update(TIPO_ESTOQUE_IDEAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_LOJA_IDEAL where inserted.TIPO_ESTOQUE_IDEAL = DISTRIBUICAO_LOJA_IDEAL.TIPO_ESTOQUE_IDEAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJAS_ESTOQUE_IDEAL #porque #DISTRIBUICAO_LOJA_IDEAL #não existe.'' goto error end end /* PRODUTO_CORES R/1820 LOJAS_ESTOQUE_IDEAL ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJAS_ESTOQUE_IDEAL #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[QTDE_MINIMA_VARIACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ESTOQUE_IDEAL].[Q48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_PGTO_CLIENTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_PGTO_CLIENTE]( [CODIGO_FILIAL] [char](6) NOT NULL, [TERMINAL] [char](3) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [CHEQUE_CARTAO] [varchar](35) NOT NULL, [CODIGO_ADMINISTRADORA] [char](2) NULL, [CODIGO_CLIENTE] [varchar](14) NULL, [TIPO_PGTO] [char](1) NULL, [NUMERO_TITULO] [varchar](12) NULL, [AGENCIA] [char](4) NULL, [BANCO] [char](4) NULL, [CONTA_CORRENTE] [varchar](15) NULL, [TIMESTAMP] [timestamp] NULL, [VENCIMENTO] [datetime] NULL, [VALOR_PAGO_TOTAL] [numeric](14, 2) NULL, [JUROS_DESCONTO_TOTAL] [numeric](14, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_PGTO_CLIENTE] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [LANCAMENTO_CAIXA] ASC, [CHEQUE_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_PGTO_CLIENTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_PGTO_CLIENTE] on [LOJA_PGTO_CLIENTE] for DELETE as /* DELETE trigger on LOJA_PGTO_CLIENTE */ begin declare @errno int, @errmsg varchar(255) /* LOJA_PGTO_CLIENTE R/1770 LOJA_PGTO_CLIENTE_QUITADOS ON PARENT DELETE CASCADE */ delete LOJA_PGTO_CLIENTE_QUITADOS from LOJA_PGTO_CLIENTE_QUITADOS,deleted where LOJA_PGTO_CLIENTE_QUITADOS.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_PGTO_CLIENTE_QUITADOS.TERMINAL = deleted.TERMINAL and LOJA_PGTO_CLIENTE_QUITADOS.LANCAMENTO_CAIXA = deleted.LANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO = deleted.CHEQUE_CARTAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_PGTO_CLIENTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_PGTO_CLIENTE] on [LOJA_PGTO_CLIENTE] for INSERT as /* INSERT trigger on LOJA_PGTO_CLIENTE */ /* default body for LXI_LOJA_PGTO_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ADMINISTRADORAS_CARTAO R/1790 LOJA_PGTO_CLIENTE ON CHILD INSERT RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_PGTO_CLIENTE #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* CLIENTES_VAREJO R/1392 LOJA_PGTO_CLIENTE ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_PGTO_CLIENTE #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJA_CAIXA_LANCAMENTOS R/1391 LOJA_PGTO_CLIENTE ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CAIXA_LANCAMENTOS where inserted.CODIGO_FILIAL = LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_CAIXA_LANCAMENTOS.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_PGTO_CLIENTE #porque #LOJA_CAIXA_LANCAMENTOS #não existe.'' goto error end end /* TIPOS_PGTO R/1390 LOJA_PGTO_CLIENTE ON CHILD INSERT RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO select @nullcnt = count(*) from inserted where inserted.TIPO_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_PGTO_CLIENTE #porque #TIPOS_PGTO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_PGTO_CLIENTE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_PGTO_CLIENTE, INSERTED WHERE LOJA_PGTO_CLIENTE.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_PGTO_CLIENTE.TERMINAL = INSERTED.TERMINAL and LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_PGTO_CLIENTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_PGTO_CLIENTE] on [LOJA_PGTO_CLIENTE] for UPDATE as /* UPDATE trigger on LOJA_PGTO_CLIENTE */ /* default body for LXU_LOJA_PGTO_CLIENTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCHEQUE_CARTAO varchar(35), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ADMINISTRADORAS_CARTAO R/1790 LOJA_PGTO_CLIENTE ON CHILD UPDATE RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_PGTO_CLIENTE #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* CLIENTES_VAREJO R/1392 LOJA_PGTO_CLIENTE ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_PGTO_CLIENTE #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJA_CAIXA_LANCAMENTOS R/1391 LOJA_PGTO_CLIENTE ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CAIXA_LANCAMENTOS where inserted.CODIGO_FILIAL = LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_CAIXA_LANCAMENTOS.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_PGTO_CLIENTE #porque #LOJA_CAIXA_LANCAMENTOS #não existe.'' goto error end end /* TIPOS_PGTO R/1390 LOJA_PGTO_CLIENTE ON CHILD UPDATE RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO select @nullcnt = count(*) from inserted where inserted.TIPO_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_PGTO_CLIENTE #porque #TIPOS_PGTO #não existe.'' goto error end end /* LOJA_PGTO_CLIENTE R/1770 LOJA_PGTO_CLIENTE_QUITADOS ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) OR update(LANCAMENTO_CAIXA) OR update(CHEQUE_CARTAO) BEGIN DECLARE LOJA_PGTO_CLIENTE1770 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA, CHEQUE_CARTAO FROM INSERTED DECLARE LOJA_PGTO_CLIENTE824 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA, CHEQUE_CARTAO FROM DELETED OPEN LOJA_PGTO_CLIENTE1770 OPEN LOJA_PGTO_CLIENTE824 FETCH NEXT FROM LOJA_PGTO_CLIENTE1770 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA, @insCHEQUE_CARTAO FETCH NEXT FROM LOJA_PGTO_CLIENTE824 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA, @delCHEQUE_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_PGTO_CLIENTE_QUITADOS SET LOJA_PGTO_CLIENTE_QUITADOS.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_PGTO_CLIENTE_QUITADOS.TERMINAL=@insTERMINAL, LOJA_PGTO_CLIENTE_QUITADOS.LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA, LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO=@insCHEQUE_CARTAO WHERE LOJA_PGTO_CLIENTE_QUITADOS.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_PGTO_CLIENTE_QUITADOS.TERMINAL = @delTERMINAL and LOJA_PGTO_CLIENTE_QUITADOS.LANCAMENTO_CAIXA = @delLANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO = @delCHEQUE_CARTAO FETCH NEXT FROM LOJA_PGTO_CLIENTE1770 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA, @insCHEQUE_CARTAO FETCH NEXT FROM LOJA_PGTO_CLIENTE824 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA, @delCHEQUE_CARTAO END END CLOSE LOJA_PGTO_CLIENTE1770 CLOSE LOJA_PGTO_CLIENTE824 DEALLOCATE LOJA_PGTO_CLIENTE1770 DEALLOCATE LOJA_PGTO_CLIENTE824 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_PGTO_CLIENTE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_PGTO_CLIENTE, INSERTED WHERE LOJA_PGTO_CLIENTE.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_PGTO_CLIENTE.TERMINAL = INSERTED.TERMINAL and LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_PGTO_CLIENTE.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_PGTO_CLIENTE].[JUROS_DESCONTO_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_PGTO_CLIENTE].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_VAR_VALOR_PROP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_VAR_VALOR_PROP]( [CODIGO_CLIENTE] [varchar](14) NOT NULL, [PROPRIEDADE] [char](3) NOT NULL, [VALOR_PROPRIEDADE] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [ITEM] [int] NOT NULL, CONSTRAINT [XPKCLIENTES_VAR_VALOR_PROP] PRIMARY KEY NONCLUSTERED ( [CODIGO_CLIENTE] ASC, [PROPRIEDADE] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTES_VAR_VALOR_PROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTES_VAR_VALOR_PROP] on [CLIENTES_VAR_VALOR_PROP] for INSERT as /* INSERT trigger on CLIENTES_VAR_VALOR_PROP */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAREJO R/1702 CLIENTES_VAR_VALOR_PROP ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAR_VALOR_PROP #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* CLIENTES_VAR_PROPRIEDADES R/1700 CLIENTES_VAR_VALOR_PROP ON CHILD INSERT RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAR_VALOR_PROP #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAR_VALOR_PROP SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_VALOR_PROP, INSERTED WHERE CLIENTES_VAR_VALOR_PROP.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTES_VAR_VALOR_PROP.PROPRIEDADE = INSERTED.PROPRIEDADE and CLIENTES_VAR_VALOR_PROP.ITEM = INSERTED.ITEM AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_VAR_VALOR_PROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTES_VAR_VALOR_PROP] on [CLIENTES_VAR_VALOR_PROP] for UPDATE as /* UPDATE trigger on CLIENTES_VAR_VALOR_PROP */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insPROPRIEDADE char(3), @insITEM int, @delCODIGO_CLIENTE varchar(14), @delPROPRIEDADE char(3), @delITEM int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAREJO R/1702 CLIENTES_VAR_VALOR_PROP ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAR_VALOR_PROP #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* CLIENTES_VAR_PROPRIEDADES R/1700 CLIENTES_VAR_VALOR_PROP ON CHILD UPDATE RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAR_VALOR_PROP #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_VAR_VALOR_PROP SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_VALOR_PROP, INSERTED WHERE CLIENTES_VAR_VALOR_PROP.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTES_VAR_VALOR_PROP.PROPRIEDADE = INSERTED.PROPRIEDADE and CLIENTES_VAR_VALOR_PROP.ITEM = INSERTED.ITEM AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_VAR_VALOR_PROP.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_VAR_VALOR_PROP].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAR_VALOR_PROP].[ITEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_VAR_PROPRIEDADES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_VAR_PROPRIEDADES]( [PROPRIEDADE] [char](3) NOT NULL, [DESC_PROPRIEDADE] [varchar](40) NOT NULL, [TIPO_PROPRIEDADE] [char](1) NOT NULL, [TIPO_VALIDACAO] [char](1) NOT NULL, [FAIXA_INICIAL] [varchar](10) NULL, [FAIXA_FINAL] [varchar](10) NOT NULL, [POR_TIPO_DE_CLIENTE] [bit] NOT NULL, [DATA_ATIVACAO] [datetime] NULL, [DATA_DESATIVACAO] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [MULTIPLA_ESCOLHA] [bit] NOT NULL, CONSTRAINT [XPKCLIENTES_VAR_PROPRIEDADES] PRIMARY KEY NONCLUSTERED ( [PROPRIEDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTES_VAR_PROPRIEDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTES_VAR_PROPRIEDADES] on [CLIENTES_VAR_PROPRIEDADES] for DELETE as /* DELETE trigger on CLIENTES_VAR_PROPRIEDADES */ begin declare @errno int, @errmsg varchar(255) /* CLIENTES_VAR_PROPRIEDADES R/1704 CLIENTES_VAR_PROP_TIPO ON PARENT DELETE CASCADE */ delete CLIENTES_VAR_PROP_TIPO from CLIENTES_VAR_PROP_TIPO,deleted where CLIENTES_VAR_PROP_TIPO.PROPRIEDADE = deleted.PROPRIEDADE /* CLIENTES_VAR_PROPRIEDADES R/1701 CLIENTES_VAR_TAB_PROP ON PARENT DELETE CASCADE */ delete CLIENTES_VAR_TAB_PROP from CLIENTES_VAR_TAB_PROP,deleted where CLIENTES_VAR_TAB_PROP.PROPRIEDADE = deleted.PROPRIEDADE /* CLIENTES_VAR_PROPRIEDADES R/1700 CLIENTES_VAR_VALOR_PROP ON PARENT DELETE CASCADE */ delete CLIENTES_VAR_VALOR_PROP from CLIENTES_VAR_VALOR_PROP,deleted where CLIENTES_VAR_VALOR_PROP.PROPRIEDADE = deleted.PROPRIEDADE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_VAR_PROPRIEDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTES_VAR_PROPRIEDADES] on [CLIENTES_VAR_PROPRIEDADES] for UPDATE as /* UPDATE trigger on CLIENTES_VAR_PROPRIEDADES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROPRIEDADE char(3), @delPROPRIEDADE char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAR_PROPRIEDADES R/1704 CLIENTES_VAR_PROP_TIPO ON PARENT UPDATE CASCADE */ IF update(PROPRIEDADE) BEGIN DECLARE CLIENTES_VAR_PROPRIEDADES1704 CURSOR FOR SELECT PROPRIEDADE FROM INSERTED DECLARE CLIENTES_VAR_PROPRIEDADES989 CURSOR FOR SELECT PROPRIEDADE FROM DELETED OPEN CLIENTES_VAR_PROPRIEDADES1704 OPEN CLIENTES_VAR_PROPRIEDADES989 FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1704 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAR_PROP_TIPO SET CLIENTES_VAR_PROP_TIPO.PROPRIEDADE=@insPROPRIEDADE WHERE CLIENTES_VAR_PROP_TIPO.PROPRIEDADE = @delPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1704 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE END END CLOSE CLIENTES_VAR_PROPRIEDADES1704 CLOSE CLIENTES_VAR_PROPRIEDADES989 DEALLOCATE CLIENTES_VAR_PROPRIEDADES1704 DEALLOCATE CLIENTES_VAR_PROPRIEDADES989 END /* CLIENTES_VAR_PROPRIEDADES R/1701 CLIENTES_VAR_TAB_PROP ON PARENT UPDATE CASCADE */ IF update(PROPRIEDADE) BEGIN DECLARE CLIENTES_VAR_PROPRIEDADES1701 CURSOR FOR SELECT PROPRIEDADE FROM INSERTED DECLARE CLIENTES_VAR_PROPRIEDADES989 CURSOR FOR SELECT PROPRIEDADE FROM DELETED OPEN CLIENTES_VAR_PROPRIEDADES1701 OPEN CLIENTES_VAR_PROPRIEDADES989 FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1701 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAR_TAB_PROP SET CLIENTES_VAR_TAB_PROP.PROPRIEDADE=@insPROPRIEDADE WHERE CLIENTES_VAR_TAB_PROP.PROPRIEDADE = @delPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1701 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE END END CLOSE CLIENTES_VAR_PROPRIEDADES1701 CLOSE CLIENTES_VAR_PROPRIEDADES989 DEALLOCATE CLIENTES_VAR_PROPRIEDADES1701 DEALLOCATE CLIENTES_VAR_PROPRIEDADES989 END /* CLIENTES_VAR_PROPRIEDADES R/1700 CLIENTES_VAR_VALOR_PROP ON PARENT UPDATE CASCADE */ IF update(PROPRIEDADE) BEGIN DECLARE CLIENTES_VAR_PROPRIEDADES1700 CURSOR FOR SELECT PROPRIEDADE FROM INSERTED DECLARE CLIENTES_VAR_PROPRIEDADES989 CURSOR FOR SELECT PROPRIEDADE FROM DELETED OPEN CLIENTES_VAR_PROPRIEDADES1700 OPEN CLIENTES_VAR_PROPRIEDADES989 FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1700 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAR_VALOR_PROP SET CLIENTES_VAR_VALOR_PROP.PROPRIEDADE=@insPROPRIEDADE WHERE CLIENTES_VAR_VALOR_PROP.PROPRIEDADE = @delPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES1700 INTO @insPROPRIEDADE FETCH NEXT FROM CLIENTES_VAR_PROPRIEDADES989 INTO @delPROPRIEDADE END END CLOSE CLIENTES_VAR_PROPRIEDADES1700 CLOSE CLIENTES_VAR_PROPRIEDADES989 DEALLOCATE CLIENTES_VAR_PROPRIEDADES1700 DEALLOCATE CLIENTES_VAR_PROPRIEDADES989 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_VAR_PROPRIEDADES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_PROPRIEDADES, INSERTED WHERE CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE = INSERTED.PROPRIEDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_VAR_PROPRIEDADES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAR_PROPRIEDADES].[POR_TIPO_DE_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_VAR_PROPRIEDADES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_VAR_PROPRIEDADES].[MULTIPLA_ESCOLHA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE_ENFESTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CORTE_ENFESTO]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ORDEM_CORTE] [char](8) NOT NULL, [ENCAIXE] [varchar](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [QTDE_MATERIAL] [numeric](9, 3) NULL, [GRAMATURA] [numeric](9, 3) NULL, [NUMERO_FOLHAS] [int] NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [COR_PRODUTO] [char](10) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_CORTE_ENFESTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_PRODUCAO_CORTE_ENFESTO] on [PRODUCAO_CORTE_ENFESTO] for DELETE as /* DELETE trigger on PRODUCAO_CORTE_ENFESTO */ begin declare @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @delPRODUTO char(12), @errno int, @errmsg varchar(255) /* PRODUCAO_CORTE_ENFESTO R/182 PRODUCAO_CORTE_PECA ON PARENT DELETE CASCADE */ delete PRODUCAO_CORTE_PECA from PRODUCAO_CORTE_PECA,deleted where PRODUCAO_CORTE_PECA.MATERIAL = deleted.MATERIAL and PRODUCAO_CORTE_PECA.COR_MATERIAL = deleted.COR_MATERIAL and PRODUCAO_CORTE_PECA.ORDEM_CORTE = deleted.ORDEM_CORTE and PRODUCAO_CORTE_PECA.ENCAIXE = deleted.ENCAIXE and PRODUCAO_CORTE_PECA.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CORTE_ENFESTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXI_PRODUCAO_CORTE_ENFESTO] on [PRODUCAO_CORTE_ENFESTO] for INSERT as /* INSERT trigger on PRODUCAO_CORTE_ENFESTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_GRADE R/646 PRODUCAO_CORTE_ENFESTO ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_GRADE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_GRADE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_GRADE.ENCAIXE and inserted.PRODUTO = PRODUCAO_CORTE_GRADE.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_ENFESTO #porque #PRODUCAO_CORTE_GRADE #não existe.'' goto error end end /* MATERIAIS_CORES R/183 PRODUCAO_CORTE_ENFESTO ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_ENFESTO #porque #MATERIAIS_CORES #não existe.'' goto error end end /* PRODUCAO_ORDEM R/142 PRODUCAO_CORTE_ENFESTO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CORTE_ENFESTO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CORTE_ENFESTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_PRODUCAO_CORTE_ENFESTO] on [PRODUCAO_CORTE_ENFESTO] for UPDATE as /* UPDATE trigger on PRODUCAO_CORTE_ENFESTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insORDEM_CORTE char(8), @insENCAIXE varchar(8), @insPRODUTO char(12), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delORDEM_CORTE char(8), @delENCAIXE varchar(8), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_CORTE_ENFESTO R/182 PRODUCAO_CORTE_PECA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) OR update(ORDEM_CORTE) OR update(ENCAIXE) OR update(PRODUTO) BEGIN DECLARE PRODUCAO_CORTE_ENFESTO9744 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, ORDEM_CORTE, ENCAIXE, PRODUTO FROM INSERTED DECLARE PRODUCAO_CORTE_ENFESTO94b2 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, ORDEM_CORTE, ENCAIXE, PRODUTO FROM DELETED OPEN PRODUCAO_CORTE_ENFESTO9744 OPEN PRODUCAO_CORTE_ENFESTO94b2 FETCH NEXT FROM PRODUCAO_CORTE_ENFESTO9744 INTO @insMATERIAL, @insCOR_MATERIAL, @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_ENFESTO94b2 INTO @delMATERIAL, @delCOR_MATERIAL, @delORDEM_CORTE, @delENCAIXE, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CORTE_PECA SET PRODUCAO_CORTE_PECA.MATERIAL=@insMATERIAL, PRODUCAO_CORTE_PECA.COR_MATERIAL=@insCOR_MATERIAL, PRODUCAO_CORTE_PECA.ORDEM_CORTE=@insORDEM_CORTE, PRODUCAO_CORTE_PECA.ENCAIXE=@insENCAIXE, PRODUCAO_CORTE_PECA.PRODUTO=@insPRODUTO WHERE PRODUCAO_CORTE_PECA.MATERIAL = @delMATERIAL and PRODUCAO_CORTE_PECA.COR_MATERIAL = @delCOR_MATERIAL and PRODUCAO_CORTE_PECA.ORDEM_CORTE = @delORDEM_CORTE and PRODUCAO_CORTE_PECA.ENCAIXE = @delENCAIXE and PRODUCAO_CORTE_PECA.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_ENFESTO9744 INTO @insMATERIAL, @insCOR_MATERIAL, @insORDEM_CORTE, @insENCAIXE, @insPRODUTO FETCH NEXT FROM PRODUCAO_CORTE_ENFESTO94b2 INTO @delMATERIAL, @delCOR_MATERIAL, @delORDEM_CORTE, @delENCAIXE, @delPRODUTO END END CLOSE PRODUCAO_CORTE_ENFESTO9744 CLOSE PRODUCAO_CORTE_ENFESTO94b2 DEALLOCATE PRODUCAO_CORTE_ENFESTO9744 DEALLOCATE PRODUCAO_CORTE_ENFESTO94b2 END /* PRODUCAO_CORTE_GRADE R/646 PRODUCAO_CORTE_ENFESTO ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) or update(ENCAIXE) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_CORTE_GRADE where inserted.ORDEM_CORTE = PRODUCAO_CORTE_GRADE.ORDEM_CORTE and inserted.ENCAIXE = PRODUCAO_CORTE_GRADE.ENCAIXE and inserted.PRODUTO = PRODUCAO_CORTE_GRADE.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_ENFESTO #porque #PRODUCAO_CORTE_GRADE #não existe.'' goto error end end /* MATERIAIS_CORES R/183 PRODUCAO_CORTE_ENFESTO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_ENFESTO #porque #MATERIAIS_CORES #não existe.'' goto error end end /* PRODUCAO_ORDEM R/142 PRODUCAO_CORTE_ENFESTO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CORTE_ENFESTO #porque #PRODUCAO_ORDEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CORTE_ENFESTO].[NUMERO_FOLHAS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_METAS_DIARIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_METAS_DIARIAS]( [CELULA] [char](5) NOT NULL, [TABELA_OPERACOES] [varchar](25) NOT NULL, [DATA] [datetime] NOT NULL, [META_DIA] [int] NOT NULL, [MINUTOS_UNITARIO_DIA] [numeric](7, 3) NOT NULL, [META_PRODUTIVIDADE] [int] NOT NULL, [OPERADORAS_DIA] [int] NOT NULL, [MINUTOS_DIA] [int] NOT NULL, CONSTRAINT [XPKPRODUTIV_METAS_DIARIAS] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC, [TABELA_OPERACOES] ASC, [DATA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTIV_METAS_DIARIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTIV_METAS_DIARIAS] on [PRODUTIV_METAS_DIARIAS] for DELETE as /* DELETE trigger on PRODUTIV_METAS_DIARIAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTIV_METAS_DIARIAS PRODUCAO PRODUTIV_PRODUCAO_DIARIA ON PARENT DELETE CASCADE */ delete PRODUTIV_PRODUCAO_DIARIA from PRODUTIV_PRODUCAO_DIARIA,deleted where PRODUTIV_PRODUCAO_DIARIA.CELULA = deleted.CELULA and PRODUTIV_PRODUCAO_DIARIA.TABELA_OPERACOES = deleted.TABELA_OPERACOES and PRODUTIV_PRODUCAO_DIARIA.DATA = deleted.DATA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_METAS_DIARIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_METAS_DIARIAS] on [PRODUTIV_METAS_DIARIAS] for INSERT as /* INSERT trigger on PRODUTIV_METAS_DIARIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES TABELA_CRONOMETRAGEM PRODUTIV_METAS_DIARIAS ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_METAS_DIARIAS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTIV_CELULAS METAS PRODUTIV_METAS_DIARIAS ON CHILD INSERT RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_METAS_DIARIAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_METAS_DIARIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_METAS_DIARIAS] on [PRODUTIV_METAS_DIARIAS] for UPDATE as /* UPDATE trigger on PRODUTIV_METAS_DIARIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @insTABELA_OPERACOES varchar(25), @insDATA datetime, @delCELULA char(5), @delTABELA_OPERACOES varchar(25), @delDATA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_METAS_DIARIAS PRODUCAO PRODUTIV_PRODUCAO_DIARIA ON PARENT UPDATE CASCADE */ IF update(CELULA) OR update(TABELA_OPERACOES) OR update(DATA) BEGIN DECLARE PRODUTIV_METAS_DIARIAS1040 CURSOR FOR SELECT CELULA, TABELA_OPERACOES, DATA FROM INSERTED DECLARE PRODUTIV_METAS_DIARIAS675 CURSOR FOR SELECT CELULA, TABELA_OPERACOES, DATA FROM DELETED OPEN PRODUTIV_METAS_DIARIAS1040 OPEN PRODUTIV_METAS_DIARIAS675 FETCH NEXT FROM PRODUTIV_METAS_DIARIAS1040 INTO @insCELULA, @insTABELA_OPERACOES, @insDATA FETCH NEXT FROM PRODUTIV_METAS_DIARIAS675 INTO @delCELULA, @delTABELA_OPERACOES, @delDATA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTIV_PRODUCAO_DIARIA SET PRODUTIV_PRODUCAO_DIARIA.CELULA=@insCELULA, PRODUTIV_PRODUCAO_DIARIA.TABELA_OPERACOES=@insTABELA_OPERACOES, PRODUTIV_PRODUCAO_DIARIA.DATA=@insDATA WHERE PRODUTIV_PRODUCAO_DIARIA.CELULA = @delCELULA and PRODUTIV_PRODUCAO_DIARIA.TABELA_OPERACOES = @delTABELA_OPERACOES and PRODUTIV_PRODUCAO_DIARIA.DATA = @delDATA FETCH NEXT FROM PRODUTIV_METAS_DIARIAS1040 INTO @insCELULA, @insTABELA_OPERACOES, @insDATA FETCH NEXT FROM PRODUTIV_METAS_DIARIAS675 INTO @delCELULA, @delTABELA_OPERACOES, @delDATA END END CLOSE PRODUTIV_METAS_DIARIAS1040 CLOSE PRODUTIV_METAS_DIARIAS675 DEALLOCATE PRODUTIV_METAS_DIARIAS1040 DEALLOCATE PRODUTIV_METAS_DIARIAS675 END /* PRODUTOS_TAB_OPERACOES TABELA_CRONOMETRAGEM PRODUTIV_METAS_DIARIAS ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_METAS_DIARIAS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTIV_CELULAS METAS PRODUTIV_METAS_DIARIAS ON CHILD UPDATE RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_METAS_DIARIAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_METAS_DIARIAS].[META_DIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_IMPRESSORAS_CHQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_IMPRESSORAS_CHQ]( [COD_IMPRESSORA] [char](3) NOT NULL, [IMPRESSORA] [varchar](20) NOT NULL, [MODELO] [varchar](100) NULL, [USA_BCC] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_IMPRESSORAS_CHQ] PRIMARY KEY NONCLUSTERED ( [COD_IMPRESSORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CNF_IMPRESSORAS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CNF_IMPRESSORAS_CHQ] on [LOJA_CNF_IMPRESSORAS_CHQ] for DELETE as /* DELETE trigger on LOJA_CNF_IMPRESSORAS_CHQ */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CNF_IMPRESSORAS_CHQ R/1284 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON PARENT DELETE CASCADE */ delete LOJA_CNF_COMANDOS_IMPRESS_CHQ from LOJA_CNF_COMANDOS_IMPRESS_CHQ,deleted where LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_IMPRESSORA = deleted.COD_IMPRESSORA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CNF_IMPRESSORAS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CNF_IMPRESSORAS_CHQ] on [LOJA_CNF_IMPRESSORAS_CHQ] for INSERT as /* INSERT trigger on LOJA_CNF_IMPRESSORAS_CHQ */ /* default body for LXI_LOJA_CNF_IMPRESSORAS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_IMPRESSORAS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_IMPRESSORAS_CHQ, INSERTED WHERE LOJA_CNF_IMPRESSORAS_CHQ.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CNF_IMPRESSORAS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CNF_IMPRESSORAS_CHQ] on [LOJA_CNF_IMPRESSORAS_CHQ] for UPDATE as /* UPDATE trigger on LOJA_CNF_IMPRESSORAS_CHQ */ /* default body for LXU_LOJA_CNF_IMPRESSORAS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @delCOD_IMPRESSORA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_IMPRESSORAS_CHQ R/1284 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON PARENT UPDATE CASCADE */ IF update(COD_IMPRESSORA) BEGIN DECLARE LOJA_CNF_IMPRESSORAS_CHQ1334 CURSOR FOR SELECT COD_IMPRESSORA FROM INSERTED DECLARE LOJA_CNF_IMPRESSORAS_CHQ806 CURSOR FOR SELECT COD_IMPRESSORA FROM DELETED OPEN LOJA_CNF_IMPRESSORAS_CHQ1334 OPEN LOJA_CNF_IMPRESSORAS_CHQ806 FETCH NEXT FROM LOJA_CNF_IMPRESSORAS_CHQ1334 INTO @insCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS_CHQ806 INTO @delCOD_IMPRESSORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESS_CHQ SET LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_IMPRESSORA=@insCOD_IMPRESSORA WHERE LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_IMPRESSORA = @delCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS_CHQ1334 INTO @insCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS_CHQ806 INTO @delCOD_IMPRESSORA END END CLOSE LOJA_CNF_IMPRESSORAS_CHQ1334 CLOSE LOJA_CNF_IMPRESSORAS_CHQ806 DEALLOCATE LOJA_CNF_IMPRESSORAS_CHQ1334 DEALLOCATE LOJA_CNF_IMPRESSORAS_CHQ806 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_IMPRESSORAS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_IMPRESSORAS_CHQ, INSERTED WHERE LOJA_CNF_IMPRESSORAS_CHQ.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_IMPRESSORAS_CHQ.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_CNF_IMPRESSORAS_CHQ].[USA_BCC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_IMPRESSORAS_CHQ].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERS_CUBOS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERS_CUBOS_PERMITIDOS]( [USUARIO] [varchar](25) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [LAYOUT_CUBOS] [varchar](40) NOT NULL, [PERMITE_DRILL_DOWN] [bit] NOT NULL, [PERMITE_MODIFICAR_FILTRO] [bit] NOT NULL, [PERMITE_MODIFICAR_LAYOUT] [bit] NOT NULL, [PERMITE_INCLUIR_DADOS] [bit] NOT NULL, [PERMITE_INCLUIR_DIMENSOES] [bit] NOT NULL, CONSTRAINT [XPKUSERS_CUBOS_PERMITIDOS] PRIMARY KEY NONCLUSTERED ( [USUARIO] ASC, [COD_TRANSACAO] ASC, [LAYOUT_CUBOS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_USERS_CUBOS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.80000] */ create trigger [LXI_USERS_CUBOS_PERMITIDOS] on [USERS_CUBOS_PERMITIDOS] for INSERT as /* INSERT trigger on USERS_CUBOS_PERMITIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES R/2153 USERS_CUBOS_PERMITIDOS ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_CUBOS_PERMITIDOS #porque #TRANSACOES #não existe.'' goto error end end /* USERS R/2152 USERS_CUBOS_PERMITIDOS ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_CUBOS_PERMITIDOS #porque #USERS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_USERS_CUBOS_PERMITIDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_USERS_CUBOS_PERMITIDOS] on [USERS_CUBOS_PERMITIDOS] for UPDATE as /* UPDATE trigger on USERS_CUBOS_PERMITIDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @insCOD_TRANSACAO char(23), @insLAYOUT_CUBOS varchar(40), @delUSUARIO varchar(25), @delCOD_TRANSACAO char(23), @delLAYOUT_CUBOS varchar(40), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES R/2153 USERS_CUBOS_PERMITIDOS ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_CUBOS_PERMITIDOS #porque #TRANSACOES #não existe.'' goto error end end /* USERS R/2152 USERS_CUBOS_PERMITIDOS ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_CUBOS_PERMITIDOS #porque #USERS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_CUBOS_PERMITIDOS].[PERMITE_DRILL_DOWN]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_CUBOS_PERMITIDOS].[PERMITE_MODIFICAR_FILTRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_CUBOS_PERMITIDOS].[PERMITE_MODIFICAR_LAYOUT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_CUBOS_PERMITIDOS].[PERMITE_INCLUIR_DADOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_CUBOS_PERMITIDOS].[PERMITE_INCLUIR_DIMENSOES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_PAGAR_LAYOUT]( [BANCO] [char](4) NOT NULL, [TIPO_RETORNO] [varchar](25) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [POSICAO] [int] NULL, [TAMANHO] [int] NULL, [TIPO_DADO] [char](1) NULL, [TIPO_CONTEUDO] [char](1) NULL, [DECIMAIS] [int] NULL, [ASSINATURA_LINHA] [varchar](50) NULL, [CAMPO_ALTERAR] [varchar](50) NULL, [GRUPO_LAYOUT] [varchar](10) NULL, [CABECALHO_DETALHE] [bit] NOT NULL, CONSTRAINT [XPKRETORNO_A_PAGAR_LAYOUT] PRIMARY KEY NONCLUSTERED ( [TIPO_RETORNO] ASC, [NOME_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_RETORNO_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_RETORNO_A_PAGAR_LAYOUT] on [RETORNO_A_PAGAR_LAYOUT] for DELETE as /* DELETE trigger on RETORNO_A_PAGAR_LAYOUT */ begin declare @errno int, @errmsg varchar(255) /* RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_PAGAR_PARCELAS where RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO = deleted.TIPO_RETORNO and RETORNO_A_PAGAR_PARCELAS.NOME_CAMPO = deleted.NOME_CAMPO and RETORNO_A_PAGAR_PARCELAS.BANCO = deleted.BANCO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #RETORNO_A_PAGAR_LAYOUT #porque existem registros em #RETORNO_A_PAGAR_PARCELAS#.'' goto error end /* RETORNO_A_PAGAR_LAYOUT RETORNO_LAYOUT RETORNO_A_PAGAR_CAMPOS ON PARENT DELETE CASCADE */ delete RETORNO_A_PAGAR_CAMPOS from RETORNO_A_PAGAR_CAMPOS,deleted where RETORNO_A_PAGAR_CAMPOS.TIPO_RETORNO = deleted.TIPO_RETORNO and RETORNO_A_PAGAR_CAMPOS.NOME_CAMPO = deleted.NOME_CAMPO and RETORNO_A_PAGAR_CAMPOS.BANCO = deleted.BANCO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_PAGAR_LAYOUT] on [RETORNO_A_PAGAR_LAYOUT] for INSERT as /* INSERT trigger on RETORNO_A_PAGAR_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_TIPO BANCOS_LAYOUT RETORNO_A_PAGAR_LAYOUT ON CHILD INSERT RESTRICT */ if update(TIPO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_TIPO where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_TIPO.TIPO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR_TIPO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_PAGAR_LAYOUT #porque #RETORNO_A_PAGAR_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_PAGAR_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_PAGAR_LAYOUT] on [RETORNO_A_PAGAR_LAYOUT] for UPDATE as /* UPDATE trigger on RETORNO_A_PAGAR_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_RETORNO varchar(25), @insNOME_CAMPO varchar(25), @insBANCO char(4), @delTIPO_RETORNO varchar(25), @delNOME_CAMPO varchar(25), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_LAYOUT RETORNO_A_PAGAR_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_RETORNO) OR update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE RETORNO_A_PAGAR_LAYOUT984 CURSOR FOR SELECT TIPO_RETORNO, NOME_CAMPO, BANCO FROM INSERTED DECLARE RETORNO_A_PAGAR_LAYOUT633 CURSOR FOR SELECT TIPO_RETORNO, NOME_CAMPO, BANCO FROM DELETED OPEN RETORNO_A_PAGAR_LAYOUT984 OPEN RETORNO_A_PAGAR_LAYOUT633 FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT984 INTO @insTIPO_RETORNO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT633 INTO @delTIPO_RETORNO, @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_PARCELAS SET RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO=@insTIPO_RETORNO, RETORNO_A_PAGAR_PARCELAS.NOME_CAMPO=@insNOME_CAMPO, RETORNO_A_PAGAR_PARCELAS.BANCO=@insBANCO WHERE RETORNO_A_PAGAR_PARCELAS.TIPO_RETORNO = @delTIPO_RETORNO and RETORNO_A_PAGAR_PARCELAS.NOME_CAMPO = @delNOME_CAMPO and RETORNO_A_PAGAR_PARCELAS.BANCO = @delBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT984 INTO @insTIPO_RETORNO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT633 INTO @delTIPO_RETORNO, @delNOME_CAMPO, @delBANCO END END CLOSE RETORNO_A_PAGAR_LAYOUT984 CLOSE RETORNO_A_PAGAR_LAYOUT633 DEALLOCATE RETORNO_A_PAGAR_LAYOUT984 DEALLOCATE RETORNO_A_PAGAR_LAYOUT633 END /* RETORNO_A_PAGAR_LAYOUT RETORNO_LAYOUT RETORNO_A_PAGAR_CAMPOS ON PARENT UPDATE CASCADE */ IF update(TIPO_RETORNO) OR update(NOME_CAMPO) OR update(BANCO) BEGIN DECLARE RETORNO_A_PAGAR_LAYOUT980 CURSOR FOR SELECT TIPO_RETORNO, NOME_CAMPO, BANCO FROM INSERTED DECLARE RETORNO_A_PAGAR_LAYOUT633 CURSOR FOR SELECT TIPO_RETORNO, NOME_CAMPO, BANCO FROM DELETED OPEN RETORNO_A_PAGAR_LAYOUT980 OPEN RETORNO_A_PAGAR_LAYOUT633 FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT980 INTO @insTIPO_RETORNO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT633 INTO @delTIPO_RETORNO, @delNOME_CAMPO, @delBANCO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_PAGAR_CAMPOS SET RETORNO_A_PAGAR_CAMPOS.TIPO_RETORNO=@insTIPO_RETORNO, RETORNO_A_PAGAR_CAMPOS.NOME_CAMPO=@insNOME_CAMPO, RETORNO_A_PAGAR_CAMPOS.BANCO=@insBANCO WHERE RETORNO_A_PAGAR_CAMPOS.TIPO_RETORNO = @delTIPO_RETORNO and RETORNO_A_PAGAR_CAMPOS.NOME_CAMPO = @delNOME_CAMPO and RETORNO_A_PAGAR_CAMPOS.BANCO = @delBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT980 INTO @insTIPO_RETORNO, @insNOME_CAMPO, @insBANCO FETCH NEXT FROM RETORNO_A_PAGAR_LAYOUT633 INTO @delTIPO_RETORNO, @delNOME_CAMPO, @delBANCO END END CLOSE RETORNO_A_PAGAR_LAYOUT980 CLOSE RETORNO_A_PAGAR_LAYOUT633 DEALLOCATE RETORNO_A_PAGAR_LAYOUT980 DEALLOCATE RETORNO_A_PAGAR_LAYOUT633 END /* RETORNO_A_PAGAR_TIPO BANCOS_LAYOUT RETORNO_A_PAGAR_LAYOUT ON CHILD UPDATE RESTRICT */ if update(TIPO_RETORNO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_PAGAR_TIPO where inserted.TIPO_RETORNO = RETORNO_A_PAGAR_TIPO.TIPO_RETORNO and inserted.BANCO = RETORNO_A_PAGAR_TIPO.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_PAGAR_LAYOUT #porque #RETORNO_A_PAGAR_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_PAGAR_LAYOUT].[POSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_PAGAR_LAYOUT].[TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_PAGAR_LAYOUT].[CABECALHO_DETALHE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_LOCALIZACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_LOCALIZACAO]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [LOCALIZACAO_PRODUTO] [varchar](12) NOT NULL, [CAPACIDADE] [int] NULL, CONSTRAINT [XPKPRODUTOS_LOCALIZACAO] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [LOCALIZACAO_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_LOCALIZACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_LOCALIZACAO] on [PRODUTOS_LOCALIZACAO] for INSERT as /* INSERT trigger on PRODUTOS_LOCALIZACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOCALIZACOES_PRODUTO R/1806 PRODUTOS_LOCALIZACAO ON CHILD INSERT RESTRICT */ if update(LOCALIZACAO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOCALIZACOES_PRODUTO where inserted.LOCALIZACAO_PRODUTO = LOCALIZACOES_PRODUTO.LOCALIZACAO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_LOCALIZACAO #porque #LOCALIZACOES_PRODUTO #não existe.'' goto error end end /* PRODUTO_CORES R/1804 PRODUTOS_LOCALIZACAO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_LOCALIZACAO #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_LOCALIZACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_LOCALIZACAO] on [PRODUTOS_LOCALIZACAO] for UPDATE as /* UPDATE trigger on PRODUTOS_LOCALIZACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insLOCALIZACAO_PRODUTO varchar(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delLOCALIZACAO_PRODUTO varchar(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOCALIZACOES_PRODUTO R/1806 PRODUTOS_LOCALIZACAO ON CHILD UPDATE RESTRICT */ if update(LOCALIZACAO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOCALIZACOES_PRODUTO where inserted.LOCALIZACAO_PRODUTO = LOCALIZACOES_PRODUTO.LOCALIZACAO_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_LOCALIZACAO #porque #LOCALIZACOES_PRODUTO #não existe.'' goto error end end /* PRODUTO_CORES R/1804 PRODUTOS_LOCALIZACAO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_LOCALIZACAO #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_LOCALIZACAO].[CAPACIDADE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_SERVICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_SERVICO]( [PEDIDO] [char](12) NOT NULL, [SERVICO] [char](18) NOT NULL, [ITEM] [char](4) NOT NULL, [ARTIGO_FATOR_PRECO] [varchar](25) NULL, [DESC_SERVICO_CLIENTE] [varchar](80) NOT NULL, [ENTREGA] [datetime] NOT NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [QTDE_ORIGINAL] [numeric](9, 3) NULL, [QTDE_ENTREGUE] [numeric](9, 3) NULL, [QTDE_ENTREGAR] [numeric](9, 3) NULL, [QTDE_CANCELADA] [numeric](9, 3) NULL, [PRECO] [numeric](17, 5) NULL, [IPI] [real] NULL, [DESCONTO_ITEM] [numeric](17, 5) NULL, [VALOR_ORIGINAL] [numeric](17, 5) NULL, [VALOR_ENTREGUE] [numeric](17, 5) NULL, [VALOR_ENTREGAR] [numeric](17, 5) NULL, [VALOR_CANCELADO] [numeric](17, 5) NULL, [OBS_PEDIDO_ITEM] [varchar](250) NULL, [APLICACAO_USO] [varchar](25) NOT NULL, CONSTRAINT [XPKVENDAS_SERVICO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [SERVICO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_SERVICO] on [VENDAS_SERVICO] for INSERT as /* INSERT trigger on VENDAS_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS_FATOR_PRECO R/2129 VENDAS_SERVICO ON CHILD INSERT RESTRICT */ if update(ARTIGO_FATOR_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS_FATOR_PRECO where inserted.ARTIGO_FATOR_PRECO = SERVICOS_FATOR_PRECO.ARTIGO_FATOR_PRECO select @nullcnt = count(*) from inserted where inserted.ARTIGO_FATOR_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_SERVICO #porque #SERVICOS_FATOR_PRECO #não existe.'' goto error end end /* SERVICOS R/2127 VENDAS_SERVICO ON CHILD INSERT RESTRICT */ if update(SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS where inserted.SERVICO = SERVICOS.SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_SERVICO #porque #SERVICOS #não existe.'' goto error end end /* VENDAS R/2125 VENDAS_SERVICO ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_SERVICO #porque #VENDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_SERVICO] on [VENDAS_SERVICO] for UPDATE as /* UPDATE trigger on VENDAS_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insSERVICO char(18), @insITEM char(4), @delPEDIDO char(12), @delSERVICO char(18), @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS_FATOR_PRECO R/2129 VENDAS_SERVICO ON CHILD UPDATE RESTRICT */ if update(ARTIGO_FATOR_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS_FATOR_PRECO where inserted.ARTIGO_FATOR_PRECO = SERVICOS_FATOR_PRECO.ARTIGO_FATOR_PRECO select @nullcnt = count(*) from inserted where inserted.ARTIGO_FATOR_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_SERVICO #porque #SERVICOS_FATOR_PRECO #não existe.'' goto error end end /* SERVICOS R/2127 VENDAS_SERVICO ON CHILD UPDATE RESTRICT */ if update(SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS where inserted.SERVICO = SERVICOS.SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_SERVICO #porque #SERVICOS #não existe.'' goto error end end /* VENDAS R/2125 VENDAS_SERVICO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_SERVICO #porque #VENDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_SERVICO].[IPI]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_OPERACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_OPERACOES]( [OPERACAO] [char](5) NOT NULL, [TABELA_OPERACOES] [varchar](25) NOT NULL, [SEQUENCIA] [int] NOT NULL, [TEMPO_CRONOMETRADO] [numeric](7, 3) NULL, [TEMPO_CRONOM_FIXO] [numeric](7, 3) NULL, [MEDIDA_COSTURA] [numeric](7, 1) NULL, [PONTOS_POLEGADA] [numeric](7, 2) NULL, [OPERACAO_ANTERIOR] [varchar](30) NULL, CONSTRAINT [XPKPRODUTOS_OPERACOES] PRIMARY KEY NONCLUSTERED ( [OPERACAO] ASC, [TABELA_OPERACOES] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_OPERACOES]') AND name = N'XIE1PRODUTOS_OPERACOES') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_OPERACOES] ON [PRODUTOS_OPERACOES] ( [SEQUENCIA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_OPERACOES] on [PRODUTOS_OPERACOES] for INSERT as /* INSERT trigger on PRODUTOS_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS_OPERACOES ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_OPERACOES #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTIV_OPERACOES PRODUTIV_OPERACOES PRODUTOS_OPERACOES ON CHILD INSERT RESTRICT */ if update(OPERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERACOES where inserted.OPERACAO = PRODUTIV_OPERACOES.OPERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_OPERACOES #porque #PRODUTIV_OPERACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_OPERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_OPERACOES] on [PRODUTOS_OPERACOES] for UPDATE as /* UPDATE trigger on PRODUTOS_OPERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO char(5), @insTABELA_OPERACOES varchar(25), @delOPERACAO char(5), @delTABELA_OPERACOES varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES PRODUTOS_TAB_OPERACOES PRODUTOS_OPERACOES ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_OPERACOES #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTIV_OPERACOES PRODUTIV_OPERACOES PRODUTOS_OPERACOES ON CHILD UPDATE RESTRICT */ if update(OPERACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERACOES where inserted.OPERACAO = PRODUTIV_OPERACOES.OPERACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_OPERACOES #porque #PRODUTIV_OPERACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_OPERACOES].[SEQUENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_OPERACOES].[PONTOS_POLEGADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_OPE_EXTRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_OPE_EXTRA]( [PRODUTO] [char](12) NOT NULL, [OPERACAO_EXTRA] [varchar](40) NOT NULL, [SEQUENCIA] [numeric](14, 2) NULL, [CUSTO_OPERACAO] [numeric](14, 2) NULL, [TEMPO_HORAS] [numeric](7, 3) NULL, CONSTRAINT [XPKPRODUTOS_OPE_EXTRA] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [OPERACAO_EXTRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_OPE_EXTRA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_OPE_EXTRA] on [PRODUTOS_OPE_EXTRA] for INSERT as /* INSERT trigger on PRODUTOS_OPE_EXTRA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS PRODUTOS PRODUTOS_OPE_EXTRA ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_OPE_EXTRA #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_OPE_EXTRA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_OPE_EXTRA] on [PRODUTOS_OPE_EXTRA] for UPDATE as /* UPDATE trigger on PRODUTOS_OPE_EXTRA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insOPERACAO_EXTRA varchar(40), @delPRODUTO char(12), @delOPERACAO_EXTRA varchar(40), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS PRODUTOS PRODUTOS_OPE_EXTRA ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_OPE_EXTRA #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_OPE_EXTRA].[SEQUENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_OPE_EXTRA].[CUSTO_OPERACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TRANSITO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TRANSITO_PRODUTO]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_SAIDA] [int] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_TRANSITO_PRODUTO] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_TRANSITO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_TRANSITO_PRODUTO] on [LOJA_TRANSITO_PRODUTO] for INSERT as /* INSERT trigger on LOJA_TRANSITO_PRODUTO */ /* default body for LXI_LOJA_TRANSITO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/2088 LOJA_TRANSITO_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_TRANSITO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_TRANSITO R/1327 LOJA_TRANSITO_PRODUTO ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TRANSITO where inserted.ROMANEIO_PRODUTO = LOJA_TRANSITO.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_TRANSITO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_TRANSITO_PRODUTO #porque #LOJA_TRANSITO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_TRANSITO_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TRANSITO_PRODUTO, INSERTED WHERE LOJA_TRANSITO_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_TRANSITO_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_TRANSITO_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_TRANSITO_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TRANSITO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TRANSITO_PRODUTO] on [LOJA_TRANSITO_PRODUTO] for UPDATE as /* UPDATE trigger on LOJA_TRANSITO_PRODUTO */ /* default body for LXU_LOJA_TRANSITO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/2088 LOJA_TRANSITO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_TRANSITO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_TRANSITO R/1327 LOJA_TRANSITO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TRANSITO where inserted.ROMANEIO_PRODUTO = LOJA_TRANSITO.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_TRANSITO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_TRANSITO_PRODUTO #porque #LOJA_TRANSITO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_TRANSITO_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TRANSITO_PRODUTO, INSERTED WHERE LOJA_TRANSITO_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_TRANSITO_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_TRANSITO_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_TRANSITO_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_TRANSITO_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TRANSITO_PRODUTO].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_TRANSITO_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_GRIFFES]( [GRIFFE] [varchar](25) NOT NULL, [LICENCIADO] [varchar](25) NOT NULL, [ROYALTIES] [real] NULL, [LICENCIADOR] [varchar](25) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_GRIFFES] PRIMARY KEY NONCLUSTERED ( [GRIFFE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 21 2001 11:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_GRIF] ON [PRODUTOS_GRIFFES] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUTOS_GRIF'')) ) =1) RETURN ELSE BEGIN DECLARE @MARCA VARCHAR(25) DECLARE MARCA CURSOR FOR SELECT GRIFFE FROM DELETED OPEN MARCA FETCH NEXT FROM MARCA INTO @MARCA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRIFFE FROM GF_PRODUTOS_GRIF WHERE GF_GRIFFE=@MARCA) BEGIN DELETE FROM GF_PRODUTOS_GRIF WHERE GF_GRIFFE=@MARCA END ELSE BEGIN FETCH NEXT FROM MARCA INTO @MARCA END FETCH NEXT FROM MARCA INTO @MARCA END CLOSE MARCA DEALLOCATE MARCA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 21 2001 9:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_GRIF] ON [PRODUTOS_GRIFFES] FOR INSERT NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRIF'')) ) =1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA =1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @MARCA VARCHAR(25) DECLARE MARCA CURSOR FOR SELECT GRIFFE FROM INSERTED OPEN MARCA FETCH NEXT FROM MARCA INTO @MARCA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_GRIFFE FROM GF_PRODUTOS_GRIF WHERE GF_GRIFFE=@MARCA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUTOS_GRIF (ID,GF_GRIFFE,GF_LICENCIADO,GF_ROYALTIES,GF_LICENCIADOR,Data_para_transferencia,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,GRIFFE,(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT LICENCIADO FROM INSERTED WHERE GRIFFE=@MARCA)), ROYALTIES,(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT LICENCIADOR FROM INSERTED WHERE GRIFFE=@MARCA)), Data_para_transferencia,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUTOS_GRIFFES A, GF_PRODUTOS_GRIFCNT B WHERE GRIFFE =@MARCA UPDATE GF_PRODUTOS_GRIFCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM MARCA INTO @MARCA END FETCH NEXT FROM MARCA INTO @MARCA END CLOSE MARCA DEALLOCATE MARCA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_GRIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_GRIF fecha de la secuencia de comandos: Sep 21 2001 10:25AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_GRIF] ON [PRODUTOS_GRIFFES] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRIF'')) ) =1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_GRIF'')) ) =1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRIF'')) ) < 2 ) BEGIN DECLARE @MARCAD VARCHAR(25), @MARCA VARCHAR(25) DECLARE MARCAD CURSOR FOR SELECT GRIFFE FROM DELETED DECLARE MARCA CURSOR FOR SELECT GRIFFE FROM INSERTED OPEN MARCAD OPEN MARCA FETCH NEXT FROM MARCAD INTO @MARCAD FETCH NEXT FROM MARCA INTO @MARCA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRIFFE FROM GF_PRODUTOS_GRIF WHERE GF_GRIFFE=@MARCAD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_GRIF SET GF_GRIFFE=@MARCA, GF_LICENCIADO=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT LICENCIADO FROM INSERTED WHERE GRIFFE=@MARCA)), GF_ROYALTIES=(SELECT ROYALTIES FROM INSERTED WHERE GRIFFE=@MARCA), GF_LICENCIADOR=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT LICENCIADOR FROM INSERTED WHERE GRIFFE=@MARCA)), USERM=@USER, FECHAM=GETDATE() WHERE GF_GRIFFE=@MARCAD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM MARCAD INTO @MARCAD FETCH NEXT FROM MARCA INTO @MARCA END FETCH NEXT FROM MARCAD INTO @MARCAD FETCH NEXT FROM MARCA INTO @MARCA END CLOSE MARCAD DEALLOCATE MARCAD CLOSE MARCA DEALLOCATE MARCA END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_GRIFFES] on [PRODUTOS_GRIFFES] for DELETE as /* DELETE trigger on PRODUTOS_GRIFFES */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_GRIFFES R/1965 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.GRIFFE = deleted.GRIFFE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_GRIFFES #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_GRIFFES R/1631 REDE_LOJAS_GRIFFES ON PARENT DELETE CASCADE */ delete REDE_LOJAS_GRIFFES from REDE_LOJAS_GRIFFES,deleted where REDE_LOJAS_GRIFFES.GRIFFE = deleted.GRIFFE /* PRODUTOS_GRIFFES R/1343 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.GRIFFE = deleted.GRIFFE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_GRIFFES #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.GRIFFE = deleted.GRIFFE /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.GRIFFE = deleted.GRIFFE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_GRIFFES #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_GRIFFES] on [PRODUTOS_GRIFFES] for INSERT as /* INSERT trigger on PRODUTOS_GRIFFES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES FORNECEDORES PRODUTOS_GRIFFES ON CHILD INSERT RESTRICT */ if update(LICENCIADOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.LICENCIADOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_GRIFFES #porque #FORNECEDORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_GRIFFES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_GRIFFES, INSERTED WHERE PRODUTOS_GRIFFES.GRIFFE = INSERTED.GRIFFE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_GRIFFES] on [PRODUTOS_GRIFFES] for UPDATE as /* UPDATE trigger on PRODUTOS_GRIFFES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRIFFE varchar(25), @delGRIFFE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_GRIFFES R/1631 REDE_LOJAS_GRIFFES ON PARENT UPDATE CASCADE */ IF update(GRIFFE) BEGIN DECLARE PRODUTOS_GRIFFES1631 CURSOR FOR SELECT GRIFFE FROM INSERTED DECLARE PRODUTOS_GRIFFES38 CURSOR FOR SELECT GRIFFE FROM DELETED OPEN PRODUTOS_GRIFFES1631 OPEN PRODUTOS_GRIFFES38 FETCH NEXT FROM PRODUTOS_GRIFFES1631 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REDE_LOJAS_GRIFFES SET REDE_LOJAS_GRIFFES.GRIFFE=@insGRIFFE WHERE REDE_LOJAS_GRIFFES.GRIFFE = @delGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES1631 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE END END CLOSE PRODUTOS_GRIFFES1631 CLOSE PRODUTOS_GRIFFES38 DEALLOCATE PRODUTOS_GRIFFES1631 DEALLOCATE PRODUTOS_GRIFFES38 END /* PRODUTOS_GRIFFES R/1343 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(GRIFFE) BEGIN DECLARE PRODUTOS_GRIFFES1343 CURSOR FOR SELECT GRIFFE FROM INSERTED DECLARE PRODUTOS_GRIFFES38 CURSOR FOR SELECT GRIFFE FROM DELETED OPEN PRODUTOS_GRIFFES1343 OPEN PRODUTOS_GRIFFES38 FETCH NEXT FROM PRODUTOS_GRIFFES1343 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.GRIFFE=@insGRIFFE WHERE ORCAMENTOS.GRIFFE = @delGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES1343 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE END END CLOSE PRODUTOS_GRIFFES1343 CLOSE PRODUTOS_GRIFFES38 DEALLOCATE PRODUTOS_GRIFFES1343 DEALLOCATE PRODUTOS_GRIFFES38 END /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(GRIFFE) BEGIN DECLARE PRODUTOS_GRIFFES924 CURSOR FOR SELECT GRIFFE FROM INSERTED DECLARE PRODUTOS_GRIFFES38 CURSOR FOR SELECT GRIFFE FROM DELETED OPEN PRODUTOS_GRIFFES924 OPEN PRODUTOS_GRIFFES38 FETCH NEXT FROM PRODUTOS_GRIFFES924 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.GRIFFE=@insGRIFFE WHERE VENDAS_COTAS_TIPO_ITENS.GRIFFE = @delGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES924 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE END END CLOSE PRODUTOS_GRIFFES924 CLOSE PRODUTOS_GRIFFES38 DEALLOCATE PRODUTOS_GRIFFES924 DEALLOCATE PRODUTOS_GRIFFES38 END /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES PRODUTOS ON PARENT UPDATE CASCADE */ IF update(GRIFFE) BEGIN DECLARE PRODUTOS_GRIFFES43 CURSOR FOR SELECT GRIFFE FROM INSERTED DECLARE PRODUTOS_GRIFFES38 CURSOR FOR SELECT GRIFFE FROM DELETED OPEN PRODUTOS_GRIFFES43 OPEN PRODUTOS_GRIFFES38 FETCH NEXT FROM PRODUTOS_GRIFFES43 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.GRIFFE=@insGRIFFE WHERE PRODUTOS.GRIFFE = @delGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES43 INTO @insGRIFFE FETCH NEXT FROM PRODUTOS_GRIFFES38 INTO @delGRIFFE END END CLOSE PRODUTOS_GRIFFES43 CLOSE PRODUTOS_GRIFFES38 DEALLOCATE PRODUTOS_GRIFFES43 DEALLOCATE PRODUTOS_GRIFFES38 END /* FORNECEDORES FORNECEDORES PRODUTOS_GRIFFES ON CHILD UPDATE RESTRICT */ if update(LICENCIADOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.LICENCIADOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_GRIFFES #porque #FORNECEDORES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_GRIFFES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_GRIFFES, INSERTED WHERE PRODUTOS_GRIFFES.GRIFFE = INSERTED.GRIFFE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_GRIFFES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_GRIFFES].[ROYALTIES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_GRIFFES].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_RESERVA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_RESERVA]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [RESERVA] [numeric](9, 3) NULL, [CONSUMIDA] [numeric](9, 3) NULL, [DATA_RESERVA] [datetime] NULL, [RESERVA_ORIGINAL] [numeric](9, 3) NULL, [ULTIMA_SAIDA] [datetime] NULL, [DIFERENCA_PREVISAO] [numeric](9, 3) NULL, [FATOR_CONVERSAO_NA_RESERVA] [numeric](12, 5) NULL, [MATAR_SALDO_RESERVA] [bit] NOT NULL, [ENCERRADO_CONSUMO] [char](1) NULL, [MATERIAL_SUBSTITUIDO] [char](11) NULL, [COR_MATERIAL_SUBSTITUIDO] [char](10) NULL, [TIPO_RESERVA] [smallint] NOT NULL, [CONSUMO_UNITARIO] [real] NULL, [ORIGEM_RESERVA] [int] NULL, [VALOR_MATERIAL_CONSUMIDO] [numeric](14, 2) NULL, CONSTRAINT [XPKPRODUCAO_RESERVA] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_RESERVA]') AND name = N'XIE1PRODUCAO_RESERVA') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_RESERVA] ON [PRODUCAO_RESERVA] ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_RESERVA]') AND name = N'XIE2PRODUCAO_RESERVA') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_RESERVA] ON [PRODUCAO_RESERVA] ( [RESERVA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_RESERVA] on [PRODUCAO_RESERVA] for DELETE as /* DELETE trigger on PRODUCAO_RESERVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delORDEM_PRODUCAO char(8), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-------------------------------------------------------------------------------------------------------------------*/ IF EXISTS(SELECT D.* FROM DELETED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL JOIN ESTOQUE_SAI1_MAT D ON D.FILIAL=B.ESTOQUE_EM_PROCESSO_MATERIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.RESERVA_AUTOMATICA=1 WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.RESERVA_MATERIAL_OP=1)) BEGIN DELETE D FROM DELETED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL JOIN ESTOQUE_SAI1_MAT D ON D.FILIAL=B.ESTOQUE_EM_PROCESSO_MATERIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.RESERVA_AUTOMATICA=1 WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.RESERVA_MATERIAL_OP=1) END /*-------------------------------------------------------------------------------------------------------------------*/ /* PRODUCAO_RESERVA R/1752 PRODUCAO_ENCAIXE_TECIDO ON PARENT DELETE CASCADE */ delete PRODUCAO_ENCAIXE_TECIDO from PRODUCAO_ENCAIXE_TECIDO,deleted where PRODUCAO_ENCAIXE_TECIDO.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_ENCAIXE_TECIDO.MATERIAL = deleted.MATERIAL and PRODUCAO_ENCAIXE_TECIDO.COR_MATERIAL = deleted.COR_MATERIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXI_PRODUCAO_RESERVA] on [PRODUCAO_RESERVA] for INSERT as /* INSERT trigger on PRODUCAO_RESERVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delORDEM_PRODUCAO char(8), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1682 PRODUCAO_RESERVA ON CHILD INSERT RESTRICT */ if update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL_SUBSTITUIDO is null or inserted.COR_MATERIAL_SUBSTITUIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RESERVA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUCAO_RESERVA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RESERVA #porque #MATERIAIS_CORES #não existe.'' goto error end end /*-------------------------------------------------------------------------------------------------------------------*/ DECLARE @xREQ_MATERIAL Char(8),@xFILIAL_DESTINO VarChar(25),@xEMISSAO DateTime,@xMATERIAL Char(11),@xCOR_MATERIAL Char(10), @xORDEM_PRODUCAO Char(8),@xQTDE Numeric(9,3) DECLARE CUR_SAIDA CURSOR FOR SELECT DISTINCT B.ESTOQUE_EM_PROCESSO_MATERIAL,ISNULL(D.INICIO_REAL,B.EMISSAO),A.MATERIAL,A.COR_MATERIAL,B.ORDEM_PRODUCAO,A.RESERVA_ORIGINAL,B.REQ_MATERIAL_SAIDA FROM INSERTED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL LEFT JOIN PRODUCAO_TAREFAS D ON D.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND D.FASE_PRODUCAO=C.FASE_PRODUCAO WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.ABATER_RESERVA_QTDE=1) AND ((B.STATUS <> ''S'' AND C.FASE_PRODUCAO IS NULL) OR (D.QTDE_FINALIZADA > 0 OR D.QTDE_EM_PROCESSO > 0)) OPEN CUR_SAIDA FETCH NEXT FROM CUR_SAIDA INTO @xFILIAL_DESTINO,@xEMISSAO,@xMATERIAL,@xCOR_MATERIAL,@xORDEM_PRODUCAO,@xQTDE,@xREQ_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN /* SELECT @xREQ_MATERIAL = NULL IF EXISTS(SELECT * FROM ESTOQUE_SAI1_MAT WHERE MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ORDEM_PRODUCAO=@xORDEM_PRODUCAO) BEGIN SELECT DISTINCT @xREQ_MATERIAL = REQ_MATERIAL FROM ESTOQUE_SAI1_MAT WHERE MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ORDEM_PRODUCAO=@xORDEM_PRODUCAO UPDATE ESTOQUE_SAI_MAT SET EMISSAO=@xEMISSAO WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO END */ WHILE @xREQ_MATERIAL IS NULL BEGIN SELECT @xREQ_MATERIAL=''A''+RIGHT(SEQUENCIA,7) FROM SEQUENCIAIS WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE SEQUENCIAIS SET SEQUENCIA=RIGHT(RTRIM(''00000000''+CONVERT(CHAR(8),CONVERT(INT,SEQUENCIA)+1)),TAMANHO) WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' IF EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO) SELECT @xREQ_MATERIAL = NULL END IF NOT EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO) BEGIN INSERT INTO ESTOQUE_SAI_MAT (REQ_MATERIAL,FILIAL,EMISSAO) VALUES (@xREQ_MATERIAL,@xFILIAL_DESTINO,@xEMISSAO) UPDATE PRODUCAO_ORDEM SET REQ_MATERIAL_SAIDA=@xREQ_MATERIAL WHERE ORDEM_PRODUCAO=@xORDEM_PRODUCAO END IF NOT EXISTS(SELECT * FROM ESTOQUE_SAI1_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO AND MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ITEM=''001'') BEGIN INSERT INTO ESTOQUE_SAI1_MAT (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,QTDE,RESERVA_AUTOMATICA) VALUES(@xREQ_MATERIAL,@xFILIAL_DESTINO,@xMATERIAL,@xCOR_MATERIAL,''001'',@xORDEM_PRODUCAO,@xQTDE,1) END ELSE BEGIN UPDATE ESTOQUE_SAI1_MAT SET QTDE=@xQTDE,RESERVA_AUTOMATICA=1 WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO AND MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ITEM=''001'' END FETCH NEXT FROM CUR_SAIDA INTO @xFILIAL_DESTINO,@xEMISSAO,@xMATERIAL,@xCOR_MATERIAL,@xORDEM_PRODUCAO,@xQTDE,@xREQ_MATERIAL END CLOSE CUR_SAIDA DEALLOCATE CUR_SAIDA /*-------------------------------------------------------------------------------------------------------------------*/ /*- ATUALIZA CONSUMO_UNITARIO EM PRODUCAO RESERVA -----------------------------------------------------*/ UPDATE C SET CONSUMO_UNITARIO=CASE WHEN ISNULL(QTDE_A_PRODUZIR,0) + ISNULL(QTDE_EM_PROCESSO,0) + ISNULL(QTDE_FINALIZADA,0)=0 THEN 0 ELSE C.RESERVA_ORIGINAL/(ISNULL(QTDE_A_PRODUZIR,0) + ISNULL(QTDE_EM_PROCESSO,0) + ISNULL(QTDE_FINALIZADA,0)) END FROM M_ORDEM_FABRICACAO_ITEM A JOIN INSERTED B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO JOIN PRODUCAO_RESERVA C ON B.ORDEM_PRODUCAO=C.ORDEM_PRODUCAO AND B.MATERIAL=C.MATERIAL AND B.COR_MATERIAL=C.COR_MATERIAL WHERE C.CONSUMO_UNITARIO<>CASE WHEN ISNULL(QTDE_A_PRODUZIR,0) + ISNULL(QTDE_EM_PROCESSO,0) + ISNULL(QTDE_FINALIZADA,0)=0 THEN 0 ELSE C.RESERVA_ORIGINAL/(ISNULL(QTDE_A_PRODUZIR,0) + ISNULL(QTDE_EM_PROCESSO,0) + ISNULL(QTDE_FINALIZADA,0)) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_RESERVA] on [PRODUCAO_RESERVA] for UPDATE as /* UPDATE trigger on PRODUCAO_RESERVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delORDEM_PRODUCAO char(8), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1682 PRODUCAO_RESERVA ON CHILD UPDATE RESTRICT */ if update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.COR_MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL_SUBSTITUIDO is null and inserted.COR_MATERIAL_SUBSTITUIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RESERVA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUCAO_RESERVA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RESERVA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* PRODUCAO_RESERVA R/1752 PRODUCAO_ENCAIXE_TECIDO ON PARENT UPDATE CASCADE */ IF update(ORDEM_PRODUCAO) OR update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE PRODUCAO_RESERVA1752 CURSOR FOR SELECT ORDEM_PRODUCAO, MATERIAL, COR_MATERIAL FROM INSERTED DECLARE PRODUCAO_RESERVA223 CURSOR FOR SELECT ORDEM_PRODUCAO, MATERIAL, COR_MATERIAL FROM DELETED OPEN PRODUCAO_RESERVA1752 OPEN PRODUCAO_RESERVA223 FETCH NEXT FROM PRODUCAO_RESERVA1752 INTO @insORDEM_PRODUCAO, @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM PRODUCAO_RESERVA223 INTO @delORDEM_PRODUCAO, @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ENCAIXE_TECIDO SET PRODUCAO_ENCAIXE_TECIDO.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_ENCAIXE_TECIDO.MATERIAL=@insMATERIAL, PRODUCAO_ENCAIXE_TECIDO.COR_MATERIAL=@insCOR_MATERIAL WHERE PRODUCAO_ENCAIXE_TECIDO.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_ENCAIXE_TECIDO.MATERIAL = @delMATERIAL and PRODUCAO_ENCAIXE_TECIDO.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM PRODUCAO_RESERVA1752 INTO @insORDEM_PRODUCAO, @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM PRODUCAO_RESERVA223 INTO @delORDEM_PRODUCAO, @delMATERIAL, @delCOR_MATERIAL END END CLOSE PRODUCAO_RESERVA1752 CLOSE PRODUCAO_RESERVA223 DEALLOCATE PRODUCAO_RESERVA1752 DEALLOCATE PRODUCAO_RESERVA223 END /*-------------------------------------------------------------------------------------------------------------------*/ IF UPDATE(ORDEM_PRODUCAO) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(RESERVA_ORIGINAL) BEGIN IF EXISTS(SELECT D.* FROM DELETED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL JOIN ESTOQUE_SAI1_MAT D ON D.FILIAL=B.ESTOQUE_EM_PROCESSO_MATERIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.RESERVA_AUTOMATICA=1 WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.RESERVA_MATERIAL_OP=1)) BEGIN DELETE D FROM DELETED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL JOIN ESTOQUE_SAI1_MAT D ON D.FILIAL=B.ESTOQUE_EM_PROCESSO_MATERIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.RESERVA_AUTOMATICA=1 WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.RESERVA_MATERIAL_OP=1) END DECLARE @xREQ_MATERIAL Char(8),@xFILIAL_DESTINO VarChar(25),@xEMISSAO DateTime,@xMATERIAL Char(11),@xCOR_MATERIAL Char(10), @xORDEM_PRODUCAO Char(8),@xQTDE Numeric(9,3) DECLARE CUR_SAIDA CURSOR FOR SELECT DISTINCT B.ESTOQUE_EM_PROCESSO_MATERIAL,ISNULL(D.INICIO_REAL,B.EMISSAO),A.MATERIAL,A.COR_MATERIAL,B.ORDEM_PRODUCAO,A.RESERVA_ORIGINAL,B.REQ_MATERIAL_SAIDA FROM INSERTED A JOIN PRODUCAO_ORDEM B ON B.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO JOIN MATERIAIS C ON C.MATERIAL=A.MATERIAL LEFT JOIN PRODUCAO_TAREFAS D ON D.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND D.FASE_PRODUCAO=C.FASE_PRODUCAO WHERE B.ESTOQUE_EM_PROCESSO_MATERIAL IS NOT NULL AND (B.ESTOQUE_EM_PROCESSO_MATERIAL=B.FILIAL OR C.ABATER_RESERVA_QTDE=1) AND ((B.STATUS <> ''S'' AND C.FASE_PRODUCAO IS NULL) OR (D.QTDE_FINALIZADA > 0 OR D.QTDE_EM_PROCESSO > 0)) OPEN CUR_SAIDA FETCH NEXT FROM CUR_SAIDA INTO @xFILIAL_DESTINO,@xEMISSAO,@xMATERIAL,@xCOR_MATERIAL,@xORDEM_PRODUCAO,@xQTDE,@xREQ_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN WHILE @xREQ_MATERIAL IS NULL BEGIN SELECT @xREQ_MATERIAL=''A''+RIGHT(SEQUENCIA,7) FROM SEQUENCIAIS WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' UPDATE SEQUENCIAIS SET SEQUENCIA=RIGHT(RTRIM(''00000000''+CONVERT(CHAR(8),CONVERT(INT,SEQUENCIA)+1)),TAMANHO) WHERE TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'' IF EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO) SELECT @xREQ_MATERIAL = NULL END IF NOT EXISTS(SELECT * FROM ESTOQUE_SAI_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO) BEGIN INSERT INTO ESTOQUE_SAI_MAT (REQ_MATERIAL,FILIAL,EMISSAO) VALUES (@xREQ_MATERIAL,@xFILIAL_DESTINO,@xEMISSAO) UPDATE PRODUCAO_ORDEM SET REQ_MATERIAL_SAIDA=@xREQ_MATERIAL WHERE ORDEM_PRODUCAO=@xORDEM_PRODUCAO END IF NOT EXISTS(SELECT * FROM ESTOQUE_SAI1_MAT WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO AND MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ITEM=''001'') BEGIN INSERT INTO ESTOQUE_SAI1_MAT (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,QTDE,RESERVA_AUTOMATICA) VALUES(@xREQ_MATERIAL,@xFILIAL_DESTINO,@xMATERIAL,@xCOR_MATERIAL,''001'',@xORDEM_PRODUCAO,@xQTDE,1) END ELSE BEGIN UPDATE ESTOQUE_SAI1_MAT SET QTDE=@xQTDE,RESERVA_AUTOMATICA=1 WHERE REQ_MATERIAL=@xREQ_MATERIAL AND FILIAL=@xFILIAL_DESTINO AND MATERIAL=@xMATERIAL AND COR_MATERIAL=@xCOR_MATERIAL AND ITEM=''001'' END FETCH NEXT FROM CUR_SAIDA INTO @xFILIAL_DESTINO,@xEMISSAO,@xMATERIAL,@xCOR_MATERIAL,@xORDEM_PRODUCAO,@xQTDE,@xREQ_MATERIAL END CLOSE CUR_SAIDA DEALLOCATE CUR_SAIDA END /*-------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[CONSUMIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[RESERVA_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[DIFERENCA_PREVISAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PRODUCAO_RESERVA].[FATOR_CONVERSAO_NA_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[MATAR_SALDO_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PRODUCAO_RESERVA].[TIPO_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[CONSUMO_UNITARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[ORIGEM_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RESERVA].[VALOR_MATERIAL_CONSUMIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FOTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FOTO]( [PRODUTO] [char](12) NOT NULL, [NUMERO_FOTO] [int] NOT NULL, [LEGENDA] [varchar](50) NOT NULL, [PATH_FOTO] [varchar](100) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBS] [text] NULL, CONSTRAINT [XPKPRODUTOS_FOTO] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [NUMERO_FOTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_FOTO] on [PRODUTOS_FOTO] for INSERT as /* INSERT trigger on PRODUTOS_FOTO */ /* default body for LXI_PRODUTOS_FOTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insNUMERO_FOTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS PRODUTOS PRODUTOS_FOTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FOTO #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_FOTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_FOTO, INSERTED WHERE PRODUTOS_FOTO.PRODUTO = INSERTED.PRODUTO and PRODUTOS_FOTO.NUMERO_FOTO = INSERTED.NUMERO_FOTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_FOTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_FOTO] on [PRODUTOS_FOTO] for UPDATE as /* UPDATE trigger on PRODUTOS_FOTO */ /* default body for LXU_PRODUTOS_FOTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insNUMERO_FOTO int, @delPRODUTO char(12), @delNUMERO_FOTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS PRODUTOS PRODUTOS_FOTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FOTO #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_FOTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_FOTO, INSERTED WHERE PRODUTOS_FOTO.PRODUTO = INSERTED.PRODUTO and PRODUTOS_FOTO.NUMERO_FOTO = INSERTED.NUMERO_FOTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_FOTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FOTO].[NUMERO_FOTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_FOTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSPORTADORA_FRETE_PRECO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSPORTADORA_FRETE_PRECO]( [TRANSPORTADORA] [varchar](25) NOT NULL, [TABELA_PRECO_FRETE] [varchar](25) NOT NULL, [DATA_ATIVACAO] [datetime] NULL, [VALOR_DESPACHO] [numeric](14, 2) NULL, [VALOR_CAT] [numeric](14, 2) NULL, [VALOR_ITR] [numeric](14, 2) NULL, [VALOR_DESPESAS] [numeric](14, 2) NULL, [VALOR_RISCO_MINIMO] [numeric](14, 2) NULL, [DESCONTO_TONELADA] [numeric](14, 2) NULL, [DESCONTO_OUTROS] [numeric](14, 2) NULL, [VALIDADE] [datetime] NULL, CONSTRAINT [XPKTRANSPORTADORA_FRETE_PRECO] PRIMARY KEY NONCLUSTERED ( [TRANSPORTADORA] ASC, [TABELA_PRECO_FRETE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRANSPORTADORA_FRETE_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TRANSPORTADORA_FRETE_PRECO] on [TRANSPORTADORA_FRETE_PRECO] for DELETE as /* DELETE trigger on TRANSPORTADORA_FRETE_PRECO */ begin declare @errno int, @errmsg varchar(255) /* TRANSPORTADORA_FRETE_PRECO R/2162 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT DELETE CASCADE */ delete TRANSPORTADORA_FRETE_LOCALIDADE from TRANSPORTADORA_FRETE_LOCALIDADE,deleted where TRANSPORTADORA_FRETE_LOCALIDADE.TRANSPORTADORA = deleted.TRANSPORTADORA and TRANSPORTADORA_FRETE_LOCALIDADE.TABELA_PRECO_FRETE = deleted.TABELA_PRECO_FRETE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSPORTADORA_FRETE_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSPORTADORA_FRETE_PRECO] on [TRANSPORTADORA_FRETE_PRECO] for INSERT as /* INSERT trigger on TRANSPORTADORA_FRETE_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORAS R/2159 TRANSPORTADORA_FRETE_PRECO ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORA_FRETE_PRECO #porque #TRANSPORTADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSPORTADORA_FRETE_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSPORTADORA_FRETE_PRECO] on [TRANSPORTADORA_FRETE_PRECO] for UPDATE as /* UPDATE trigger on TRANSPORTADORA_FRETE_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRANSPORTADORA varchar(25), @insTABELA_PRECO_FRETE varchar(25), @delTRANSPORTADORA varchar(25), @delTABELA_PRECO_FRETE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORA_FRETE_PRECO R/2162 TRANSPORTADORA_FRETE_LOCALIDADE ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) OR update(TABELA_PRECO_FRETE) BEGIN DECLARE TRANSPORTADORA_FRETE_PRECO2162 CURSOR FOR SELECT TRANSPORTADORA, TABELA_PRECO_FRETE FROM INSERTED DECLARE TRANSPORTADORA_FRETE_PRECO1203 CURSOR FOR SELECT TRANSPORTADORA, TABELA_PRECO_FRETE FROM DELETED OPEN TRANSPORTADORA_FRETE_PRECO2162 OPEN TRANSPORTADORA_FRETE_PRECO1203 FETCH NEXT FROM TRANSPORTADORA_FRETE_PRECO2162 INTO @insTRANSPORTADORA, @insTABELA_PRECO_FRETE FETCH NEXT FROM TRANSPORTADORA_FRETE_PRECO1203 INTO @delTRANSPORTADORA, @delTABELA_PRECO_FRETE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORA_FRETE_LOCALIDADE SET TRANSPORTADORA_FRETE_LOCALIDADE.TRANSPORTADORA=@insTRANSPORTADORA, TRANSPORTADORA_FRETE_LOCALIDADE.TABELA_PRECO_FRETE=@insTABELA_PRECO_FRETE WHERE TRANSPORTADORA_FRETE_LOCALIDADE.TRANSPORTADORA = @delTRANSPORTADORA and TRANSPORTADORA_FRETE_LOCALIDADE.TABELA_PRECO_FRETE = @delTABELA_PRECO_FRETE FETCH NEXT FROM TRANSPORTADORA_FRETE_PRECO2162 INTO @insTRANSPORTADORA, @insTABELA_PRECO_FRETE FETCH NEXT FROM TRANSPORTADORA_FRETE_PRECO1203 INTO @delTRANSPORTADORA, @delTABELA_PRECO_FRETE END END CLOSE TRANSPORTADORA_FRETE_PRECO2162 CLOSE TRANSPORTADORA_FRETE_PRECO1203 DEALLOCATE TRANSPORTADORA_FRETE_PRECO2162 DEALLOCATE TRANSPORTADORA_FRETE_PRECO1203 END /* TRANSPORTADORAS R/2159 TRANSPORTADORA_FRETE_PRECO ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORA_FRETE_PRECO #porque #TRANSPORTADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[VALOR_DESPACHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[VALOR_CAT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[VALOR_ITR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[VALOR_DESPESAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[VALOR_RISCO_MINIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[DESCONTO_TONELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_PRECO].[DESCONTO_OUTROS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA_COR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FICHA_COR]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ITEM] [char](4) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [MATERIAL_PRINCIPAL] [bit] NOT NULL, [PORCENTAGEM_CONSUMO] [numeric](9, 3) NULL, CONSTRAINT [XPKPRODUTOS_FICHA_COR] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ITEM] ASC, [MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA_COR]') AND name = N'XIE1PRODUTOS_FICHA_COR') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_FICHA_COR] ON [PRODUTOS_FICHA_COR] ( [MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_FICHA_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_FICHA_COR] on [PRODUTOS_FICHA_COR] for INSERT as /* INSERT trigger on PRODUTOS_FICHA_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_FICHA R/1283 PRODUTOS_FICHA_COR ON CHILD INSERT RESTRICT */ if update(ITEM) or update(MATERIAL) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_FICHA where inserted.ITEM = PRODUTOS_FICHA.ITEM and inserted.MATERIAL = PRODUTOS_FICHA.MATERIAL and inserted.PRODUTO = PRODUTOS_FICHA.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA_COR #porque #PRODUTOS_FICHA #não existe.'' goto error end end /* PRODUTO_CORES R/1281 PRODUTOS_FICHA_COR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA_COR #porque #PRODUTO_CORES #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUTOS_FICHA_COR ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_FICHA_COR #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_FICHA_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_FICHA_COR] on [PRODUTOS_FICHA_COR] for UPDATE as /* UPDATE trigger on PRODUTOS_FICHA_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(4), @insMATERIAL char(11), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delITEM char(4), @delMATERIAL char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_FICHA R/1283 PRODUTOS_FICHA_COR ON CHILD UPDATE RESTRICT */ if update(ITEM) or update(MATERIAL) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_FICHA where inserted.ITEM = PRODUTOS_FICHA.ITEM and inserted.MATERIAL = PRODUTOS_FICHA.MATERIAL and inserted.PRODUTO = PRODUTOS_FICHA.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FICHA_COR #porque #PRODUTOS_FICHA #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES PRODUTOS_FICHA_COR ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_FICHA_COR #porque #MATERIAIS_CORES #não existe.'' goto error end end /* PRODUTO_CORES R/1281 PRODUTOS_FICHA_COR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) if update(ITEM) AND update(MATERIAL) AND update(PRODUTO) AND NOT update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível atualizar "PRODUTOS_FICHA_COR" porque "PRODUTOS" não existe.'' goto error end end else begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível atualizar "PRODUTOS_FICHA_COR" porque "PRODUTO_CORES" não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_COR].[MATERIAL_PRINCIPAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_COR].[PORCENTAGEM_CONSUMO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_RECURSO_TIPOS]( [TIPO_RECURSO] [varchar](25) NOT NULL, [UTILIZA_MATERIAIS] [bit] NOT NULL, [UTILIZA_PRODUTOS] [bit] NOT NULL, CONSTRAINT [XPKPRODUCAO_RECURSO_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_RECURSO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_PRODUCAO_RECURSO_TIPOS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUCAO_RECURSO_TIPOS] ON [PRODUCAO_RECURSO_TIPOS] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT A, DELETED B WHERE A.GF_TIPO_RECURSO=B.TIPO_RECURSO) DELETE FROM GF_PRODUCAO_RECT WHERE GF_TIPO_RECURSO=(SELECT TIPO_RECURSO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_PRODUCAO_RECURSO_TIPOS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUCAO_RECURSO_TIPOS] ON [PRODUCAO_RECURSO_TIPOS] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_RECT'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT A, INSERTED B WHERE A. GF_TIPO_RECURSO=B.TIPO_RECURSO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUCAO_RECT (ID,GF_TIPO_RECURSO,GF_UTILIZA_MATER,GF_UTILIZA_PRODU,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO) SELECT B.IDMAX,TIPO_RECURSO,UTILIZA_MATERIAIS,UTILIZA_PRODUTOS,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983 FROM PRODUCAO_RECURSO_TIPOS A, GF_PRODUCAO_RECTCNT B WHERE TIPO_RECURSO=(SELECT TIPO_RECURSO FROM INSERTED) UPDATE GF_PRODUCAO_RECTCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Recurso, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' CREATE TRIGGER [GFU_PRODUCAO_RECURSO_TIPOS] ON [PRODUCAO_RECURSO_TIPOS] FOR UPDATE NOT FOR REPLICATION AS IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFIV_PRODUCAO_RECT'' ) ) ) = 1 ) OR ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFUV_PRODUCAO_RECT'' ) ) ) = 1 ) begin RETURN end ELSE begin DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ( ( SELECT trigger_nestlevel( OBJECT_ID( ''GFU_PRODUCAO_RECURSO_TIPOS'' ) ) ) < 2 ) BEGIN IF EXISTS( SELECT GF_TIPO_RECURSO FROM GF_PRODUCAO_RECT A, DELETED B WHERE A.GF_TIPO_RECURSO=B.TIPO_RECURSO) BEGIN UPDATE GF_PRODUCAO_RECT SET GF_TIPO_RECURSO = ( SELECT TIPO_RECURSO FROM INSERTED ), GF_UTILIZA_MATER = ( SELECT UTILIZA_MATERIAIS FROM INSERTED ), GF_UTILIZA_PRODU = ( SELECT UTILIZA_PRODUTOS FROM INSERTED ), USERM = @USER, FECHAM = GETDATE() WHERE GF_TIPO_RECURSO = ( SELECT TIPO_RECURSO FROM DELETED ) END END end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_RECURSO_TIPOS] on [PRODUCAO_RECURSO_TIPOS] for DELETE as /* DELETE trigger on PRODUCAO_RECURSO_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_RECURSO_TIPOS R/1576 PRODUCAO_RECURSOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_RECURSOS where PRODUCAO_RECURSOS.TIPO_RECURSO = deleted.TIPO_RECURSO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSO_TIPOS #porque existem registros em #PRODUCAO_RECURSOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_RECURSO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_RECURSO_TIPOS] on [PRODUCAO_RECURSO_TIPOS] for UPDATE as /* UPDATE trigger on PRODUCAO_RECURSO_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_RECURSO varchar(25), @delTIPO_RECURSO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSO_TIPOS R/1576 PRODUCAO_RECURSOS ON PARENT UPDATE CASCADE */ IF update(TIPO_RECURSO) BEGIN DECLARE PRODUCAO_RECURSO_TIPOS1576 CURSOR FOR SELECT TIPO_RECURSO FROM INSERTED DECLARE PRODUCAO_RECURSO_TIPOS927 CURSOR FOR SELECT TIPO_RECURSO FROM DELETED OPEN PRODUCAO_RECURSO_TIPOS1576 OPEN PRODUCAO_RECURSO_TIPOS927 FETCH NEXT FROM PRODUCAO_RECURSO_TIPOS1576 INTO @insTIPO_RECURSO FETCH NEXT FROM PRODUCAO_RECURSO_TIPOS927 INTO @delTIPO_RECURSO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS SET PRODUCAO_RECURSOS.TIPO_RECURSO=@insTIPO_RECURSO WHERE PRODUCAO_RECURSOS.TIPO_RECURSO = @delTIPO_RECURSO FETCH NEXT FROM PRODUCAO_RECURSO_TIPOS1576 INTO @insTIPO_RECURSO FETCH NEXT FROM PRODUCAO_RECURSO_TIPOS927 INTO @delTIPO_RECURSO END END CLOSE PRODUCAO_RECURSO_TIPOS1576 CLOSE PRODUCAO_RECURSO_TIPOS927 DEALLOCATE PRODUCAO_RECURSO_TIPOS1576 DEALLOCATE PRODUCAO_RECURSO_TIPOS927 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSO_TIPOS].[UTILIZA_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSO_TIPOS].[UTILIZA_PRODUTOS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSPORTADORA_FRETE_FAIXA_PESO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSPORTADORA_FRETE_FAIXA_PESO]( [TRANSPORTADORA] [varchar](25) NOT NULL, [TABELA_PRECO_FRETE] [varchar](25) NOT NULL, [PESO] [smallint] NOT NULL, [REGIAO_CEP] [varchar](60) NOT NULL, [FILIAL_ORIGEM] [varchar](25) NOT NULL, [VALOR_FAIXA_PESO] [numeric](14, 2) NULL, CONSTRAINT [XPKTRANSPORTADORA_FRETE_FAIXA_] PRIMARY KEY NONCLUSTERED ( [TRANSPORTADORA] ASC, [TABELA_PRECO_FRETE] ASC, [PESO] ASC, [REGIAO_CEP] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSPORTADORA_FRETE_FAIXA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSPORTADORA_FRETE_FAIXA] on [TRANSPORTADORA_FRETE_FAIXA_PESO] for INSERT as /* INSERT trigger on TRANSPORTADORA_FRETE_FAIXA_PESO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORA_FRETE_LOCALIDADE R/2163 TRANSPORTADORA_FRETE_FAIXA_PESO ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) or update(TABELA_PRECO_FRETE) or update(REGIAO_CEP) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORA_FRETE_LOCALIDADE where inserted.TRANSPORTADORA = TRANSPORTADORA_FRETE_LOCALIDADE.TRANSPORTADORA and inserted.TABELA_PRECO_FRETE = TRANSPORTADORA_FRETE_LOCALIDADE.TABELA_PRECO_FRETE and inserted.REGIAO_CEP = TRANSPORTADORA_FRETE_LOCALIDADE.REGIAO_CEP and inserted.FILIAL_ORIGEM = TRANSPORTADORA_FRETE_LOCALIDADE.FILIAL_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORA_FRETE_FAIXA_PESO #porque #TRANSPORTADORA_FRETE_LOCALIDADE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSPORTADORA_FRETE_FAIXA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSPORTADORA_FRETE_FAIXA] on [TRANSPORTADORA_FRETE_FAIXA_PESO] for UPDATE as /* UPDATE trigger on TRANSPORTADORA_FRETE_FAIXA_PESO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRANSPORTADORA varchar(25), @insTABELA_PRECO_FRETE varchar(25), @insPESO smallint, @insREGIAO_CEP varchar(60), @insFILIAL_ORIGEM varchar(25), @delTRANSPORTADORA varchar(25), @delTABELA_PRECO_FRETE varchar(25), @delPESO smallint, @delREGIAO_CEP varchar(60), @delFILIAL_ORIGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORA_FRETE_LOCALIDADE R/2163 TRANSPORTADORA_FRETE_FAIXA_PESO ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) or update(TABELA_PRECO_FRETE) or update(REGIAO_CEP) or update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORA_FRETE_LOCALIDADE where inserted.TRANSPORTADORA = TRANSPORTADORA_FRETE_LOCALIDADE.TRANSPORTADORA and inserted.TABELA_PRECO_FRETE = TRANSPORTADORA_FRETE_LOCALIDADE.TABELA_PRECO_FRETE and inserted.REGIAO_CEP = TRANSPORTADORA_FRETE_LOCALIDADE.REGIAO_CEP and inserted.FILIAL_ORIGEM = TRANSPORTADORA_FRETE_LOCALIDADE.FILIAL_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORA_FRETE_FAIXA_PESO #porque #TRANSPORTADORA_FRETE_LOCALIDADE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_FAIXA_PESO].[PESO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_FAIXA_PESO].[VALOR_FAIXA_PESO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_RECURSOS]( [RECURSO_PRODUTIVO] [char](5) NOT NULL, [DESC_RECURSO] [varchar](40) NULL, [RECURSO_PROPRIO] [bit] NOT NULL, [TEMPO_ACRESCENTAR] [numeric](7, 2) NULL, [UNIDADE_TEMPO] [char](1) NULL, [RECURSO_INFINITO] [char](1) NOT NULL, [NOME_CLIFOR] [varchar](25) NULL, [TIPO_RECURSO] [varchar](25) NOT NULL, [OBS] [text] NULL, [UTILIZA_MATERIAIS] [bit] NOT NULL, [UTILIZA_PRODUTOS] [bit] NOT NULL, CONSTRAINT [XPKPRODUCAO_RECURSOS] PRIMARY KEY NONCLUSTERED ( [RECURSO_PRODUTIVO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_PRODUCAO_RECURSOS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUCAO_RECURSOS] ON [PRODUCAO_RECURSOS] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP A, DELETED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO) DELETE FROM GF_PRODUCAO_RECP WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFI_PRODUCAO_RECURSOS] ON [PRODUCAO_RECURSOS] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128) SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP A, INSERTED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO) BEGIN INSERT INTO GF_PRODUCAO_RECP (ID,GF_RECURSO_PRODU,GF_DESC_RECURSO,GF_RECURSO_PROPR,GF_TEMPO_ACRESCE, GF_UNIDADE_TEMPO,GF_RECURSO_INFIN,GF_NOME_CLIFOR,GF_TIPO_RECURSO,GF_OBS, GF_UTILIZA_MATER,GF_UTILIZA_PRODU,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,RECURSO_PRODUTIVO,DESC_RECURSO,RECURSO_PROPRIO,TEMPO_ACRESCENTAR, (SELECT ID FROM GF_COMBO_UNID_TI WHERE GF_ID_UNIDAD=(SELECT UNIDADE_TEMPO FROM INSERTED)), (SELECT ID FROM GF_COMBO_RECINF WHERE GF_ID_TIPO=(SELECT RECURSO_INFINITO FROM INSERTED)), NOME_CLIFOR, (SELECT ID FROM GF_PRODUCAO_RECT WHERE GF_TIPO_RECURSO=(SELECT TIPO_RECURSO FROM INSERTED)), OBS,UTILIZA_MATERIAIS,UTILIZA_PRODUTOS,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUCAO_RECURSOS A, GF_PRODUCAO_RECPCNT B WHERE RECURSO_PRODUTIVO=(SELECT RECURSO_PRODUTIVO FROM INSERTED) UPDATE GF_PRODUCAO_RECPCNT SET IDMAX=IDMAX+1 END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_PRODUCAO_RECURSOS fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUCAO_RECURSOS] ON [PRODUCAO_RECURSOS] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_RECURSOS'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECP A, DELETED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUCAO_RECP SET GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED), GF_DESC_RECURSO=(SELECT DESC_RECURSO FROM INSERTED), GF_RECURSO_PROPR=(SELECT RECURSO_PROPRIO FROM INSERTED), GF_TEMPO_ACRESCE=(SELECT TEMPO_ACRESCENTAR FROM INSERTED), GF_UNIDADE_TEMPO=(SELECT ID FROM GF_COMBO_UNID_TI WHERE GF_ID_UNIDAD=(SELECT UNIDADE_TEMPO FROM INSERTED)), GF_RECURSO_INFIN=(SELECT ID FROM GF_COMBO_RECINF WHERE GF_ID_TIPO=(SELECT RECURSO_INFINITO FROM INSERTED)), GF_NOME_CLIFOR=(SELECT ID FROM GF_FORNECEDORES WHERE GF_FORNECEDOR=(SELECT NOME_CLIFOR FROM INSERTED)), GF_TIPO_RECURSO=(SELECT ID FROM GF_PRODUCAO_RECT WHERE GF_TIPO_RECURSO=(SELECT TIPO_RECURSO FROM INSERTED)), GF_OBS=(SELECT CONVERT(CHAR(254),OBS) FROM PRODUCAO_RECURSOS WHERE RECURSO_PRODUTIVO=(SELECT RECURSO_PRODUTIVO FROM INSERTED)), GF_UTILIZA_MATER=(SELECT UTILIZA_MATERIAIS FROM INSERTED), GF_UTILIZA_PRODU=(SELECT UTILIZA_PRODUTOS FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Tipo de Recurso, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_RECURSOS] on [PRODUCAO_RECURSOS] for DELETE as /* DELETE trigger on PRODUCAO_RECURSOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_RECURSOS R/2031 ESTOQUE_RET_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_RET_MAT where ESTOQUE_RET_MAT.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #ESTOQUE_RET_MAT#.'' goto error end /* PRODUCAO_RECURSOS R/2023 M_ORDEM_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_SERVICO where M_ORDEM_SERVICO.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #M_ORDEM_SERVICO#.'' goto error end /* PRODUCAO_RECURSOS R/1991 VENDAS_PRODUTO_FICHA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_FICHA where VENDAS_PRODUTO_FICHA.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #VENDAS_PRODUTO_FICHA#.'' goto error end /* PRODUCAO_RECURSOS R/1920 MATERIAIS_PROCESSO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_PROCESSO where MATERIAIS_PROCESSO.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #MATERIAIS_PROCESSO#.'' goto error end /* PRODUCAO_RECURSOS R/1873 M_ORDEM_FABRICACAO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO_ITEM where M_ORDEM_FABRICACAO_ITEM.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #M_ORDEM_FABRICACAO_ITEM#.'' goto error end /* PRODUCAO_RECURSOS R/1605 PRODUCAO_CAPACIDADES ON PARENT DELETE CASCADE */ delete PRODUCAO_CAPACIDADES from PRODUCAO_CAPACIDADES,deleted where PRODUCAO_CAPACIDADES.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO /* PRODUCAO_RECURSOS R/1597 PRODUCAO_ORDEM_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM_SERVICO where PRODUCAO_ORDEM_SERVICO.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #PRODUCAO_ORDEM_SERVICO#.'' goto error end /* PRODUCAO_RECURSOS R/1591 PRODUCAO_TAREFAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_TAREFAS where PRODUCAO_TAREFAS.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #PRODUCAO_TAREFAS#.'' goto error end /* PRODUCAO_RECURSOS R/1571 PRODUCAO_RECURSOS_INVALIDOS ON PARENT DELETE CASCADE */ delete PRODUCAO_RECURSOS_INVALIDOS from PRODUCAO_RECURSOS_INVALIDOS,deleted where PRODUCAO_RECURSOS_INVALIDOS.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO /* PRODUCAO_RECURSOS R/1539 PRODUTO_OPERACOES_ROTAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_OPERACOES_ROTAS where PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_RECURSOS #porque existem registros em #PRODUTO_OPERACOES_ROTAS#.'' goto error end /* PRODUCAO_RECURSOS R/1517 PRODUCAO_RECURSOS_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_RECURSOS_FASE from PRODUCAO_RECURSOS_FASE,deleted where PRODUCAO_RECURSOS_FASE.RECURSO_PRODUTIVO = deleted.RECURSO_PRODUTIVO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_RECURSOS] on [PRODUCAO_RECURSOS] for INSERT as /* INSERT trigger on PRODUCAO_RECURSOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSO_TIPOS R/1576 PRODUCAO_RECURSOS ON CHILD INSERT RESTRICT */ if update(TIPO_RECURSO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSO_TIPOS where inserted.TIPO_RECURSO = PRODUCAO_RECURSO_TIPOS.TIPO_RECURSO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS #porque #PRODUCAO_RECURSO_TIPOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1569 PRODUCAO_RECURSOS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_RECURSOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_RECURSOS] on [PRODUCAO_RECURSOS] for UPDATE as /* UPDATE trigger on PRODUCAO_RECURSOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRECURSO_PRODUTIVO char(5), @delRECURSO_PRODUTIVO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/2031 ESTOQUE_RET_MAT ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS2031 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS2031 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS2031 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET_MAT SET ESTOQUE_RET_MAT.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE ESTOQUE_RET_MAT.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS2031 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS2031 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS2031 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/2023 M_ORDEM_SERVICO ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS2023 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS2023 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS2023 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_SERVICO SET M_ORDEM_SERVICO.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE M_ORDEM_SERVICO.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS2023 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS2023 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS2023 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1991 VENDAS_PRODUTO_FICHA ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1991 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1991 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1991 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_FICHA SET VENDAS_PRODUTO_FICHA.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE VENDAS_PRODUTO_FICHA.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1991 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1991 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1991 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1920 MATERIAIS_PROCESSO ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1920 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1920 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1920 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSO SET MATERIAIS_PROCESSO.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE MATERIAIS_PROCESSO.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1920 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1920 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1920 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1605 PRODUCAO_CAPACIDADES ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1605 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1605 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1605 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_CAPACIDADES SET PRODUCAO_CAPACIDADES.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUCAO_CAPACIDADES.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1605 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1605 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1605 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1597 PRODUCAO_ORDEM_SERVICO ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1597 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1597 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1597 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM_SERVICO SET PRODUCAO_ORDEM_SERVICO.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUCAO_ORDEM_SERVICO.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1597 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1597 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1597 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1591 PRODUCAO_TAREFAS ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1591 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1591 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1591 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET PRODUCAO_TAREFAS.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUCAO_TAREFAS.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1591 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1591 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1591 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1571 PRODUCAO_RECURSOS_INVALIDOS ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1571 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1571 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1571 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS_INVALIDOS SET PRODUCAO_RECURSOS_INVALIDOS.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUCAO_RECURSOS_INVALIDOS.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1571 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1571 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1571 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1539 PRODUTO_OPERACOES_ROTAS ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1539 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1539 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1539 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_OPERACOES_ROTAS SET PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1539 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1539 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1539 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSOS R/1517 PRODUCAO_RECURSOS_FASE ON PARENT UPDATE CASCADE */ IF update(RECURSO_PRODUTIVO) BEGIN DECLARE PRODUCAO_RECURSOS1517 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM INSERTED DECLARE PRODUCAO_RECURSOS894 CURSOR FOR SELECT RECURSO_PRODUTIVO FROM DELETED OPEN PRODUCAO_RECURSOS1517 OPEN PRODUCAO_RECURSOS894 FETCH NEXT FROM PRODUCAO_RECURSOS1517 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS_FASE SET PRODUCAO_RECURSOS_FASE.RECURSO_PRODUTIVO=@insRECURSO_PRODUTIVO WHERE PRODUCAO_RECURSOS_FASE.RECURSO_PRODUTIVO = @delRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS1517 INTO @insRECURSO_PRODUTIVO FETCH NEXT FROM PRODUCAO_RECURSOS894 INTO @delRECURSO_PRODUTIVO END END CLOSE PRODUCAO_RECURSOS1517 CLOSE PRODUCAO_RECURSOS894 DEALLOCATE PRODUCAO_RECURSOS1517 DEALLOCATE PRODUCAO_RECURSOS894 END /* PRODUCAO_RECURSO_TIPOS R/1576 PRODUCAO_RECURSOS ON CHILD UPDATE RESTRICT */ if update(TIPO_RECURSO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSO_TIPOS where inserted.TIPO_RECURSO = PRODUCAO_RECURSO_TIPOS.TIPO_RECURSO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS #porque #PRODUCAO_RECURSO_TIPOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1569 PRODUCAO_RECURSOS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSOS].[RECURSO_PROPRIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSOS].[TEMPO_ACRESCENTAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSOS].[UTILIZA_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSOS].[UTILIZA_PRODUTOS]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABELAS_PRECO_SERVICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TABELAS_PRECO_SERVICO]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [SERVICO] [char](18) NOT NULL, [PRECO] [numeric](14, 2) NULL, [LIMITE_DESCONTO] [real] NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, CONSTRAINT [XPKTABELAS_PRECO_SERVICO] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC, [SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TABELAS_PRECO_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TABELAS_PRECO_SERVICO] on [TABELAS_PRECO_SERVICO] for INSERT as /* INSERT trigger on TABELAS_PRECO_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS R/2128 TABELAS_PRECO_SERVICO ON CHILD INSERT RESTRICT */ if update(SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS where inserted.SERVICO = SERVICOS.SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TABELAS_PRECO_SERVICO #porque #SERVICOS #não existe.'' goto error end end /* TABELAS_PRECO R/2126 TABELAS_PRECO_SERVICO ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TABELAS_PRECO_SERVICO #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TABELAS_PRECO_SERVICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TABELAS_PRECO_SERVICO] on [TABELAS_PRECO_SERVICO] for UPDATE as /* UPDATE trigger on TABELAS_PRECO_SERVICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insSERVICO char(18), @delCODIGO_TAB_PRECO char(2), @delSERVICO char(18), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS R/2128 TABELAS_PRECO_SERVICO ON CHILD UPDATE RESTRICT */ if update(SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS where inserted.SERVICO = SERVICOS.SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TABELAS_PRECO_SERVICO #porque #SERVICOS #não existe.'' goto error end end /* TABELAS_PRECO R/2126 TABELAS_PRECO_SERVICO ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TABELAS_PRECO_SERVICO #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TABELAS_PRECO_SERVICO].[LIMITE_DESCONTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_SEGUNDA]( [ORDEM_SERVICO] [char](8) NOT NULL, [TAREFA] [char](10) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [TIPO_SEGUNDA] [char](4) NOT NULL, [QTDE_O] [int] NULL, [O1] [int] NULL, [O2] [int] NULL, [O3] [int] NULL, [O4] [int] NULL, [O5] [int] NULL, [O6] [int] NULL, [O7] [int] NULL, [O8] [int] NULL, [O9] [int] NULL, [O10] [int] NULL, [O11] [int] NULL, [O12] [int] NULL, [O13] [int] NULL, [O14] [int] NULL, [O15] [int] NULL, [O16] [int] NULL, [O17] [int] NULL, [O18] [int] NULL, [O19] [int] NULL, [O20] [int] NULL, [O21] [int] NULL, [O22] [int] NULL, [O23] [int] NULL, [O24] [int] NULL, [O25] [int] NULL, [O26] [int] NULL, [O27] [int] NULL, [O28] [int] NULL, [O29] [int] NULL, [O30] [int] NULL, [O31] [int] NULL, [O32] [int] NULL, [O33] [int] NULL, [O34] [int] NULL, [O35] [int] NULL, [O36] [int] NULL, [O37] [int] NULL, [O38] [int] NULL, [O39] [int] NULL, [O40] [int] NULL, [O41] [int] NULL, [O42] [int] NULL, [O43] [int] NULL, [O44] [int] NULL, [O45] [int] NULL, [O46] [int] NULL, [O47] [int] NULL, [O48] [int] NULL, [CUSTO_PREVISTO] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUCAO_OS_SEGUNDA] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [TAREFA] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [TIPO_SEGUNDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_OS_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_OS_SEGUNDA] on [PRODUCAO_OS_SEGUNDA] for DELETE as /* DELETE trigger on PRODUCAO_OS_SEGUNDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insTAREFA char(10), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTIPO_SEGUNDA char(4), @delORDEM_SERVICO char(8), @delTAREFA char(10), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delTIPO_SEGUNDA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*--TRIGGER DE INSERT - PRODUCAO_OS_SEGUNDA --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE @delQTDE_O QTDE_PRODUTO, @delQTDE_TOTAL QTDE_PRODUTO, @xORDEM_SERVICO char(8), @xORDEM_PRODUCAO char(8), @xPRODUTO char(12), @xCOR_PRODUTO char(10), @delTotal NUMERIC(14,2), @delCusto NUMERIC(14,2) DECLARE CurDelete_Producao_Os_Segunda CURSOR FOR SELECT Tarefa, ORDEM_SERVICO,Ordem_Producao, Produto, Cor_Produto, TIPO_SEGUNDA,ISNULL(Qtde_O,0) FROM DELETED ORDER BY ORDEM_SERVICO,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,TIPO_SEGUNDA OPEN CurDelete_Producao_Os_Segunda FETCH NEXT FROM CurDelete_Producao_Os_Segunda INTO @delTarefa, @delORDEM_SERVICO,@delOrdem_Producao, @delProduto, @delCor_Produto,@delTIPO_SEGUNDA,@delQtde_O IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_SEGUNDA=QTDE_SEGUNDA -@delQtde_O WHERE TAREFA = @delTarefa FETCH NEXT FROM CurDelete_Producao_Os_Segunda INTO @delTarefa, @delORDEM_SERVICO,@delOrdem_Producao, @delProduto, @delCor_Produto,@delTIPO_SEGUNDA,@delQtde_O END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurDelete_Producao_Os_Segunda DEALLOCATE CurDelete_Producao_Os_Segunda /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS_SEGUNDA] on [PRODUCAO_OS_SEGUNDA] for INSERT as /* INSERT trigger on PRODUCAO_OS_SEGUNDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insTAREFA char(10), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTIPO_SEGUNDA char(4), @delORDEM_SERVICO char(8), @delTAREFA char(10), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delTIPO_SEGUNDA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1861 PRODUCAO_OS_SEGUNDA ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_SEGUNDA #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /*--TRIGGER DE INSERT - PRODUCAO_OS_SEGUNDA --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE @xORDEM_SERVICO char(8), @xORDEM_PRODUCAO char(8), @xPRODUTO char(12), @xCOR_PRODUTO char(10), @insTAREFA_ANTERIOR char(10), @insSEQ_PRO char(2), @insSEQ_ANT varchar(25), @insQTDE_O QTDE_PRODUTO, @insO1 QTDE_PRODUTO, @insO2 QTDE_PRODUTO, @insO3 QTDE_PRODUTO, @insO4 QTDE_PRODUTO, @insO5 QTDE_PRODUTO, @insO6 QTDE_PRODUTO, @insO7 QTDE_PRODUTO, @insO8 QTDE_PRODUTO, @insO9 QTDE_PRODUTO, @insO10 QTDE_PRODUTO, @insO11 QTDE_PRODUTO, @insO12 QTDE_PRODUTO, @insO13 QTDE_PRODUTO, @insO14 QTDE_PRODUTO, @insO15 QTDE_PRODUTO, @insO16 QTDE_PRODUTO, @insO17 QTDE_PRODUTO, @insO18 QTDE_PRODUTO, @insO19 QTDE_PRODUTO, @insO20 QTDE_PRODUTO, @insO21 QTDE_PRODUTO, @insO22 QTDE_PRODUTO, @insO23 QTDE_PRODUTO, @insO24 QTDE_PRODUTO, @insO25 QTDE_PRODUTO, @insO26 QTDE_PRODUTO, @insO27 QTDE_PRODUTO, @insO28 QTDE_PRODUTO, @insO29 QTDE_PRODUTO, @insO30 QTDE_PRODUTO, @insO31 QTDE_PRODUTO, @insO32 QTDE_PRODUTO, @insO33 QTDE_PRODUTO, @insO34 QTDE_PRODUTO, @insO35 QTDE_PRODUTO, @insO36 QTDE_PRODUTO, @insO37 QTDE_PRODUTO, @insO38 QTDE_PRODUTO, @insO39 QTDE_PRODUTO, @insO40 QTDE_PRODUTO, @insO41 QTDE_PRODUTO, @insO42 QTDE_PRODUTO, @insO43 QTDE_PRODUTO, @insO44 QTDE_PRODUTO, @insO45 QTDE_PRODUTO, @insO46 QTDE_PRODUTO, @insO47 QTDE_PRODUTO, @insO48 QTDE_PRODUTO, @insQTDE_TOTAL QTDE_PRODUTO, @insTotal NUMERIC(14,2), @insCUSTO_PREVISTO NUMERIC(14,2), @insCusto NUMERIC(14,2), @insDATA_OS DATETIME DECLARE CurInsert_Producao_Os_Segunda CURSOR FOR SELECT Tarefa, ORDEM_SERVICO,Ordem_Producao, Produto, Cor_Produto, TIPO_SEGUNDA,ISNULL(Qtde_O,0) FROM INSERTED ORDER BY ORDEM_SERVICO,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,TIPO_SEGUNDA OPEN CurInsert_Producao_Os_Segunda FETCH NEXT FROM CurInsert_Producao_Os_Segunda INTO @insTarefa, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto, @insCor_Produto,@insTIPO_SEGUNDA,@insQtde_O IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_SEGUNDA=QTDE_SEGUNDA +@insQtde_O WHERE TAREFA = @insTarefa FETCH NEXT FROM CurInsert_Producao_Os_Segunda INTO @insTarefa, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto, @insCor_Produto,@insTIPO_SEGUNDA,@insQtde_O END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurInsert_Producao_Os_Segunda DEALLOCATE CurInsert_Producao_Os_Segunda /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_SEGUNDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS_SEGUNDA] on [PRODUCAO_OS_SEGUNDA] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_SEGUNDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insTAREFA char(10), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTIPO_SEGUNDA char(4), @delORDEM_SERVICO char(8), @delTAREFA char(10), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delTIPO_SEGUNDA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1861 PRODUCAO_OS_SEGUNDA ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_SEGUNDA #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /*--TRIGGER DE UPDATE - PRODUCAO_OS_SEGUNDA --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE @updTAREFA char(10), @updORDEM_SERVICO char(8), @updORDEM_PRODUCAO char(8), @updPRODUTO char(12), @updCOR_PRODUTO char(10), @updTIPO_SEGUNDA char(4), @updQTDE_O QTDE_PRODUTO, @updQTDE_TOTAL QTDE_PRODUTO, @updTotal NUMERIC(14,2), @updCusto NUMERIC(14,2) DECLARE CurUpDate_Producao_Os_Segunda CURSOR FOR SELECT Tarefa, ORDEM_SERVICO,Ordem_Producao, Produto, Cor_Produto, TIPO_SEGUNDA,ISNULL(Qtde_O,0) FROM INSERTED UNION SELECT Tarefa, ORDEM_SERVICO,Ordem_Producao, Produto, Cor_Produto, TIPO_SEGUNDA,ISNULL(Qtde_O,0)*-1 FROM DELETED ORDER BY ORDEM_SERVICO,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,TIPO_SEGUNDA OPEN CurUpDate_Producao_Os_Segunda FETCH NEXT FROM CurUpDate_Producao_Os_Segunda INTO @updTarefa, @updORDEM_SERVICO,@updOrdem_Producao, @updProduto, @updCor_Produto,@updTIPO_SEGUNDA,@updQtde_O IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_SEGUNDA=QTDE_SEGUNDA -@updQtde_O WHERE TAREFA = @updTarefa FETCH NEXT FROM CurUpDate_Producao_Os_Segunda INTO @updTarefa, @updORDEM_SERVICO,@updOrdem_Producao, @updProduto, @updCor_Produto,@updTIPO_SEGUNDA,@updQtde_O END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurUpDate_Producao_Os_Segunda DEALLOCATE CurUpDate_Producao_Os_Segunda /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[O48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_SEGUNDA].[CUSTO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ADMINISTRADORAS_CARTAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ADMINISTRADORAS_CARTAO]( [CODIGO_ADMINISTRADORA] [char](2) NOT NULL, [ADMINISTRADORA] [varchar](25) NOT NULL, [TAXA_ADMINISTRACAO] [decimal](8, 3) NULL, [DIA_ACERTO] [int] NULL, [CARTAO_TELEFONE] [char](18) NULL, [CARTAO_NOSSO_NUM] [char](18) NULL, [CARTAO_TEL_VOZ] [char](18) NULL, [CARTAO_PRE_PARCELAS] [int] NOT NULL, [ACEITA_PARCELAMENTO] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PARCELAS_JUROS_LOJA] [smallint] NULL, [TIPO_CARTAO] [smallint] NULL, [DIAS_ENTRE_PARCELAS] [int] NULL, [PARCELAS_MES_FECHADO] [smallint] NULL, [SUGESTAO_PARCELAMENTO] [smallint] NULL, [REDE_CONTROLADORA] [char](8) NULL, CONSTRAINT [XPKADMINISTRADORAS_CARTAO] PRIMARY KEY NONCLUSTERED ( [CODIGO_ADMINISTRADORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ADMINISTRADORAS_CARTAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ADMINISTRADORAS_CARTAO] on [ADMINISTRADORAS_CARTAO] for DELETE as /* DELETE trigger on ADMINISTRADORAS_CARTAO */ begin declare @errno int, @errmsg varchar(255) /* ADMINISTRADORAS_CARTAO R/1790 LOJA_PGTO_CLIENTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_PGTO_CLIENTE where LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA = deleted.CODIGO_ADMINISTRADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ADMINISTRADORAS_CARTAO #porque existem registros em #LOJA_PGTO_CLIENTE#.'' goto error end /* ADMINISTRADORAS_CARTAO ADMINISTRADORA LOJA_VENDA_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PARCELAS where LOJA_VENDA_PARCELAS.CODIGO_ADMINISTRADORA = deleted.CODIGO_ADMINISTRADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ADMINISTRADORAS_CARTAO #porque existem registros em #LOJA_VENDA_PARCELAS#.'' goto error end /* ADMINISTRADORAS_CARTAO ADMINISTRADORA A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.CODIGO_ADMINISTRADORA = deleted.CODIGO_ADMINISTRADORA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ADMINISTRADORAS_CARTAO #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ADMINISTRADORAS_CARTAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ADMINISTRADORAS_CARTAO] on [ADMINISTRADORAS_CARTAO] for INSERT as /* INSERT trigger on ADMINISTRADORAS_CARTAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_ADMINISTRADORA char(2), @delCODIGO_ADMINISTRADORA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE ADMINISTRADORAS_CARTAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM ADMINISTRADORAS_CARTAO, INSERTED WHERE ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA = INSERTED.CODIGO_ADMINISTRADORA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ADMINISTRADORAS_CARTAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ADMINISTRADORAS_CARTAO] on [ADMINISTRADORAS_CARTAO] for UPDATE as /* UPDATE trigger on ADMINISTRADORAS_CARTAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_ADMINISTRADORA char(2), @delCODIGO_ADMINISTRADORA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ADMINISTRADORAS_CARTAO R/1790 LOJA_PGTO_CLIENTE ON PARENT UPDATE CASCADE */ IF update(CODIGO_ADMINISTRADORA) BEGIN DECLARE ADMINISTRADORAS_CARTAO1790 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM INSERTED DECLARE ADMINISTRADORAS_CARTAO668 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM DELETED OPEN ADMINISTRADORAS_CARTAO1790 OPEN ADMINISTRADORAS_CARTAO668 FETCH NEXT FROM ADMINISTRADORAS_CARTAO1790 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_PGTO_CLIENTE SET LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA=@insCODIGO_ADMINISTRADORA WHERE LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA = @delCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO1790 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA END END CLOSE ADMINISTRADORAS_CARTAO1790 CLOSE ADMINISTRADORAS_CARTAO668 DEALLOCATE ADMINISTRADORAS_CARTAO1790 DEALLOCATE ADMINISTRADORAS_CARTAO668 END /* ADMINISTRADORAS_CARTAO ADMINISTRADORA LOJA_VENDA_PARCELAS ON PARENT UPDATE CASCADE */ IF update(CODIGO_ADMINISTRADORA) BEGIN DECLARE ADMINISTRADORAS_CARTAO1143 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM INSERTED DECLARE ADMINISTRADORAS_CARTAO668 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM DELETED OPEN ADMINISTRADORAS_CARTAO1143 OPEN ADMINISTRADORAS_CARTAO668 FETCH NEXT FROM ADMINISTRADORAS_CARTAO1143 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PARCELAS SET LOJA_VENDA_PARCELAS.CODIGO_ADMINISTRADORA=@insCODIGO_ADMINISTRADORA WHERE LOJA_VENDA_PARCELAS.CODIGO_ADMINISTRADORA = @delCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO1143 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA END END CLOSE ADMINISTRADORAS_CARTAO1143 CLOSE ADMINISTRADORAS_CARTAO668 DEALLOCATE ADMINISTRADORAS_CARTAO1143 DEALLOCATE ADMINISTRADORAS_CARTAO668 END /* ADMINISTRADORAS_CARTAO ADMINISTRADORA A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(CODIGO_ADMINISTRADORA) BEGIN DECLARE ADMINISTRADORAS_CARTAO1030 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM INSERTED DECLARE ADMINISTRADORAS_CARTAO668 CURSOR FOR SELECT CODIGO_ADMINISTRADORA FROM DELETED OPEN ADMINISTRADORAS_CARTAO1030 OPEN ADMINISTRADORAS_CARTAO668 FETCH NEXT FROM ADMINISTRADORAS_CARTAO1030 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.CODIGO_ADMINISTRADORA=@insCODIGO_ADMINISTRADORA WHERE A_RECEBER_CHEQUES.CODIGO_ADMINISTRADORA = @delCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO1030 INTO @insCODIGO_ADMINISTRADORA FETCH NEXT FROM ADMINISTRADORAS_CARTAO668 INTO @delCODIGO_ADMINISTRADORA END END CLOSE ADMINISTRADORAS_CARTAO1030 CLOSE ADMINISTRADORAS_CARTAO668 DEALLOCATE ADMINISTRADORAS_CARTAO1030 DEALLOCATE ADMINISTRADORAS_CARTAO668 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE ADMINISTRADORAS_CARTAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM ADMINISTRADORAS_CARTAO, INSERTED WHERE ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA = INSERTED.CODIGO_ADMINISTRADORA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR ADMINISTRADORAS_CARTAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[TAXA_ADMINISTRACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[DIA_ACERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[CARTAO_PRE_PARCELAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[ACEITA_PARCELAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[ADMINISTRADORAS_CARTAO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[TIPO_CARTAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[DIAS_ENTRE_PARCELAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ADMINISTRADORAS_CARTAO].[PARCELAS_MES_FECHADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ADMINISTRADORAS_CARTAO].[SUGESTAO_PARCELAMENTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CAIXA_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CAIXA_LANCAMENTOS]( [TERMINAL] [char](3) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [DATA] [datetime] NULL, [DIGITACAO] [datetime] NULL, [CAIXA_VENDEDOR] [char](4) NULL, [ENTRADA_CAIXA] [numeric](14, 2) NULL, [SAIDA_CAIXA] [numeric](14, 2) NULL, [HISTORICO] [varchar](50) NULL, [TIPO_LANCAMENTO_CAIXA] [char](2) NOT NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [PERIODO_FECHAMENTO] [char](2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CAIXA_LANCAMENTOS] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [LANCAMENTO_CAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_CAIXA_LANCAMENTOS]') AND name = N'XIE1LOJA_CAIXA_LANCAMENTOS') CREATE NONCLUSTERED INDEX [XIE1LOJA_CAIXA_LANCAMENTOS] ON [LOJA_CAIXA_LANCAMENTOS] ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [DATA] ASC, [TIPO_LANCAMENTO_CAIXA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CAIXA_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CAIXA_LANCAMENTOS] on [LOJA_CAIXA_LANCAMENTOS] for DELETE as /* DELETE trigger on LOJA_CAIXA_LANCAMENTOS */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CAIXA_LANCAMENTOS R/1391 LOJA_PGTO_CLIENTE ON PARENT DELETE CASCADE */ delete LOJA_PGTO_CLIENTE from LOJA_PGTO_CLIENTE,deleted where LOJA_PGTO_CLIENTE.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_PGTO_CLIENTE.TERMINAL = deleted.TERMINAL and LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA = deleted.LANCAMENTO_CAIXA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CAIXA_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CAIXA_LANCAMENTOS] on [LOJA_CAIXA_LANCAMENTOS] for INSERT as /* INSERT trigger on LOJA_CAIXA_LANCAMENTOS */ /* default body for LXI_LOJA_CAIXA_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_VENDEDORES CAIXA LOJA_CAIXA_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(CAIXA_VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.CAIXA_VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.CAIXA_VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS CAIXAS LOJA_CAIXA_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_TERMINAIS #não existe.'' goto error end end /* LOJA_CAIXA_TIPOS TIPOS_LANC LOJA_CAIXA_LANCAMENTOS ON CHILD INSERT RESTRICT */ if update(TIPO_LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CAIXA_TIPOS where inserted.TIPO_LANCAMENTO_CAIXA = LOJA_CAIXA_TIPOS.TIPO_LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_CAIXA_TIPOS #não existe.'' goto error end end /*-- INCLUI PARCELAS NO A_RECEBER_CHEQUES ------------------------------------------------------------*/ UPDATE C SET VALOR=C.VALOR, DATA_PARA_TRANSFERENCIA=C.DATA_PARA_TRANSFERENCIA FROM INSERTED A JOIN LOJA_VENDA B ON B.CODIGO_FILIAL_PGTO=A.CODIGO_FILIAL AND B.DATA_VENDA=A.DATA JOIN LOJA_VENDA_PARCELAS C ON C.CODIGO_FILIAL=B.CODIGO_FILIAL_PGTO AND C.LANCAMENTO_CAIXA=B.LANCAMENTO_CAIXA WHERE A.TIPO_LANCAMENTO_CAIXA=''99'' OR A.TIPO_LANCAMENTO_CAIXA=''RT'' /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CAIXA_LANCAMENTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CAIXA_LANCAMENTOS, INSERTED WHERE LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_CAIXA_LANCAMENTOS.TERMINAL = INSERTED.TERMINAL and LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CAIXA_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CAIXA_LANCAMENTOS] on [LOJA_CAIXA_LANCAMENTOS] for UPDATE as /* UPDATE trigger on LOJA_CAIXA_LANCAMENTOS */ /* default body for LXU_LOJA_CAIXA_LANCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_VENDEDORES CAIXA LOJA_CAIXA_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(CAIXA_VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.CAIXA_VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.CAIXA_VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS CAIXAS LOJA_CAIXA_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_TERMINAIS #não existe.'' goto error end end /* LOJA_CAIXA_TIPOS TIPOS_LANC LOJA_CAIXA_LANCAMENTOS ON CHILD UPDATE RESTRICT */ if update(TIPO_LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CAIXA_TIPOS where inserted.TIPO_LANCAMENTO_CAIXA = LOJA_CAIXA_TIPOS.TIPO_LANCAMENTO_CAIXA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CAIXA_LANCAMENTOS #porque #LOJA_CAIXA_TIPOS #não existe.'' goto error end end /* LOJA_CAIXA_LANCAMENTOS R/1391 LOJA_PGTO_CLIENTE ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) OR update(LANCAMENTO_CAIXA) BEGIN DECLARE LOJA_CAIXA_LANCAMENTOS1391 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM INSERTED DECLARE LOJA_CAIXA_LANCAMENTOS712 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM DELETED OPEN LOJA_CAIXA_LANCAMENTOS1391 OPEN LOJA_CAIXA_LANCAMENTOS712 FETCH NEXT FROM LOJA_CAIXA_LANCAMENTOS1391 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_LANCAMENTOS712 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_PGTO_CLIENTE SET LOJA_PGTO_CLIENTE.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_PGTO_CLIENTE.TERMINAL=@insTERMINAL, LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA WHERE LOJA_PGTO_CLIENTE.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_PGTO_CLIENTE.TERMINAL = @delTERMINAL and LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA = @delLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_LANCAMENTOS1391 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_LANCAMENTOS712 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA END END CLOSE LOJA_CAIXA_LANCAMENTOS1391 CLOSE LOJA_CAIXA_LANCAMENTOS712 DEALLOCATE LOJA_CAIXA_LANCAMENTOS1391 DEALLOCATE LOJA_CAIXA_LANCAMENTOS712 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CAIXA_LANCAMENTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CAIXA_LANCAMENTOS, INSERTED WHERE LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_CAIXA_LANCAMENTOS.TERMINAL = INSERTED.TERMINAL and LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CAIXA_LANCAMENTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_CAIXA_LANCAMENTOS].[ENTRADA_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_CAIXA_LANCAMENTOS].[SAIDA_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_CAIXA_LANCAMENTOS].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CAIXA_LANCAMENTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSPORTADORA_FRETE_LOCALIDADE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSPORTADORA_FRETE_LOCALIDADE]( [TRANSPORTADORA] [varchar](25) NOT NULL, [TABELA_PRECO_FRETE] [varchar](25) NOT NULL, [REGIAO_CEP] [varchar](60) NOT NULL, [FILIAL_ORIGEM] [varchar](25) NOT NULL, [TAXA_RISCO] [real] NULL, [VALOR_TONELADA] [numeric](14, 2) NULL, [PORCENTAGEM_VALOR_NOTA] [real] NULL, [FATOR_PESO_PEDAGIO] [real] NULL, [VALOR_PEDAGIO] [numeric](14, 2) NULL, [FRETE_MINIMO] [numeric](14, 2) NULL, [VALOR_TAXAS] [numeric](14, 2) NULL, [VALOR_DESPESAS_REGIAO] [numeric](14, 2) NULL, CONSTRAINT [XPKTRANSPORTADORA_FRETE_LOCALI] PRIMARY KEY NONCLUSTERED ( [TRANSPORTADORA] ASC, [TABELA_PRECO_FRETE] ASC, [REGIAO_CEP] ASC, [FILIAL_ORIGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRANSPORTADORA_FRETE_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TRANSPORTADORA_FRETE_LOCAL] on [TRANSPORTADORA_FRETE_LOCALIDADE] for DELETE as /* DELETE trigger on TRANSPORTADORA_FRETE_LOCALIDADE */ begin declare @errno int, @errmsg varchar(255) /* TRANSPORTADORA_FRETE_LOCALIDADE R/2163 TRANSPORTADORA_FRETE_FAIXA_PESO ON PARENT DELETE CASCADE */ delete TRANSPORTADORA_FRETE_FAIXA_PESO from TRANSPORTADORA_FRETE_FAIXA_PESO,deleted where TRANSPORTADORA_FRETE_FAIXA_PESO.TRANSPORTADORA = deleted.TRANSPORTADORA and TRANSPORTADORA_FRETE_FAIXA_PESO.TABELA_PRECO_FRETE = deleted.TABELA_PRECO_FRETE and TRANSPORTADORA_FRETE_FAIXA_PESO.REGIAO_CEP = deleted.REGIAO_CEP and TRANSPORTADORA_FRETE_FAIXA_PESO.FILIAL_ORIGEM = deleted.FILIAL_ORIGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSPORTADORA_FRETE_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSPORTADORA_FRETE_LOCAL] on [TRANSPORTADORA_FRETE_LOCALIDADE] for INSERT as /* INSERT trigger on TRANSPORTADORA_FRETE_LOCALIDADE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2168 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD INSERT RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORA_FRETE_LOCALIDADE #porque #FILIAIS #não existe.'' goto error end end /* REGIOES_CEP R/2165 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD INSERT RESTRICT */ if update(REGIAO_CEP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_CEP where inserted.REGIAO_CEP = REGIOES_CEP.REGIAO_CEP if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORA_FRETE_LOCALIDADE #porque #REGIOES_CEP #não existe.'' goto error end end /* TRANSPORTADORA_FRETE_PRECO R/2162 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) or update(TABELA_PRECO_FRETE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORA_FRETE_PRECO where inserted.TRANSPORTADORA = TRANSPORTADORA_FRETE_PRECO.TRANSPORTADORA and inserted.TABELA_PRECO_FRETE = TRANSPORTADORA_FRETE_PRECO.TABELA_PRECO_FRETE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSPORTADORA_FRETE_LOCALIDADE #porque #TRANSPORTADORA_FRETE_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSPORTADORA_FRETE_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSPORTADORA_FRETE_LOCAL] on [TRANSPORTADORA_FRETE_LOCALIDADE] for UPDATE as /* UPDATE trigger on TRANSPORTADORA_FRETE_LOCALIDADE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRANSPORTADORA varchar(25), @insTABELA_PRECO_FRETE varchar(25), @insREGIAO_CEP varchar(60), @insFILIAL_ORIGEM varchar(25), @delTRANSPORTADORA varchar(25), @delTABELA_PRECO_FRETE varchar(25), @delREGIAO_CEP varchar(60), @delFILIAL_ORIGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSPORTADORA_FRETE_LOCALIDADE R/2163 TRANSPORTADORA_FRETE_FAIXA_PESO ON PARENT UPDATE CASCADE */ IF update(TRANSPORTADORA) OR update(TABELA_PRECO_FRETE) OR update(REGIAO_CEP) OR update(FILIAL_ORIGEM) BEGIN DECLARE TRANSPORTADORA_FRETE_LOCAL2163 CURSOR FOR SELECT TRANSPORTADORA, TABELA_PRECO_FRETE, REGIAO_CEP, FILIAL_ORIGEM FROM INSERTED DECLARE TRANSPORTADORA_FRETE_LOCAL1205 CURSOR FOR SELECT TRANSPORTADORA, TABELA_PRECO_FRETE, REGIAO_CEP, FILIAL_ORIGEM FROM DELETED OPEN TRANSPORTADORA_FRETE_LOCAL2163 OPEN TRANSPORTADORA_FRETE_LOCAL1205 FETCH NEXT FROM TRANSPORTADORA_FRETE_LOCAL2163 INTO @insTRANSPORTADORA, @insTABELA_PRECO_FRETE, @insREGIAO_CEP, @insFILIAL_ORIGEM FETCH NEXT FROM TRANSPORTADORA_FRETE_LOCAL1205 INTO @delTRANSPORTADORA, @delTABELA_PRECO_FRETE, @delREGIAO_CEP, @delFILIAL_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORA_FRETE_FAIXA_PESO SET TRANSPORTADORA_FRETE_FAIXA_PESO.TRANSPORTADORA=@insTRANSPORTADORA, TRANSPORTADORA_FRETE_FAIXA_PESO.TABELA_PRECO_FRETE=@insTABELA_PRECO_FRETE, TRANSPORTADORA_FRETE_FAIXA_PESO.REGIAO_CEP=@insREGIAO_CEP, TRANSPORTADORA_FRETE_FAIXA_PESO.FILIAL_ORIGEM=@insFILIAL_ORIGEM WHERE TRANSPORTADORA_FRETE_FAIXA_PESO.TRANSPORTADORA = @delTRANSPORTADORA and TRANSPORTADORA_FRETE_FAIXA_PESO.TABELA_PRECO_FRETE = @delTABELA_PRECO_FRETE and TRANSPORTADORA_FRETE_FAIXA_PESO.REGIAO_CEP = @delREGIAO_CEP and TRANSPORTADORA_FRETE_FAIXA_PESO.FILIAL_ORIGEM = @delFILIAL_ORIGEM FETCH NEXT FROM TRANSPORTADORA_FRETE_LOCAL2163 INTO @insTRANSPORTADORA, @insTABELA_PRECO_FRETE, @insREGIAO_CEP, @insFILIAL_ORIGEM FETCH NEXT FROM TRANSPORTADORA_FRETE_LOCAL1205 INTO @delTRANSPORTADORA, @delTABELA_PRECO_FRETE, @delREGIAO_CEP, @delFILIAL_ORIGEM END END CLOSE TRANSPORTADORA_FRETE_LOCAL2163 CLOSE TRANSPORTADORA_FRETE_LOCAL1205 DEALLOCATE TRANSPORTADORA_FRETE_LOCAL2163 DEALLOCATE TRANSPORTADORA_FRETE_LOCAL1205 END /* FILIAIS R/2168 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD UPDATE RESTRICT */ if update(FILIAL_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ORIGEM = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORA_FRETE_LOCALIDADE #porque #FILIAIS #não existe.'' goto error end end /* REGIOES_CEP R/2165 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD UPDATE RESTRICT */ if update(REGIAO_CEP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_CEP where inserted.REGIAO_CEP = REGIOES_CEP.REGIAO_CEP if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORA_FRETE_LOCALIDADE #porque #REGIOES_CEP #não existe.'' goto error end end /* TRANSPORTADORA_FRETE_PRECO R/2162 TRANSPORTADORA_FRETE_LOCALIDADE ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) or update(TABELA_PRECO_FRETE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORA_FRETE_PRECO where inserted.TRANSPORTADORA = TRANSPORTADORA_FRETE_PRECO.TRANSPORTADORA and inserted.TABELA_PRECO_FRETE = TRANSPORTADORA_FRETE_PRECO.TABELA_PRECO_FRETE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSPORTADORA_FRETE_LOCALIDADE #porque #TRANSPORTADORA_FRETE_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[TAXA_RISCO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[VALOR_TONELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[PORCENTAGEM_VALOR_NOTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[FATOR_PESO_PEDAGIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[VALOR_PEDAGIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[FRETE_MINIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[VALOR_TAXAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSPORTADORA_FRETE_LOCALIDADE].[VALOR_DESPESAS_REGIAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERVICOS_FATOR_PRECO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERVICOS_FATOR_PRECO]( [ARTIGO_FATOR_PRECO] [varchar](25) NOT NULL, [PORCENTAGEM_FATOR_PRECO] [real] NULL, CONSTRAINT [XPKSERVICOS_FATOR_PRECO] PRIMARY KEY NONCLUSTERED ( [ARTIGO_FATOR_PRECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SERVICOS_FATOR_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_SERVICOS_FATOR_PRECO] on [SERVICOS_FATOR_PRECO] for DELETE as /* DELETE trigger on SERVICOS_FATOR_PRECO */ begin declare @errno int, @errmsg varchar(255) /* SERVICOS_FATOR_PRECO R/2129 VENDAS_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_SERVICO where VENDAS_SERVICO.ARTIGO_FATOR_PRECO = deleted.ARTIGO_FATOR_PRECO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERVICOS_FATOR_PRECO #porque existem registros em #VENDAS_SERVICO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SERVICOS_FATOR_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SERVICOS_FATOR_PRECO] on [SERVICOS_FATOR_PRECO] for UPDATE as /* UPDATE trigger on SERVICOS_FATOR_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insARTIGO_FATOR_PRECO varchar(25), @delARTIGO_FATOR_PRECO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS_FATOR_PRECO R/2129 VENDAS_SERVICO ON PARENT UPDATE CASCADE */ IF update(ARTIGO_FATOR_PRECO) BEGIN DECLARE SERVICOS_FATOR_PRECO2129 CURSOR FOR SELECT ARTIGO_FATOR_PRECO FROM INSERTED DECLARE SERVICOS_FATOR_PRECO1193 CURSOR FOR SELECT ARTIGO_FATOR_PRECO FROM DELETED OPEN SERVICOS_FATOR_PRECO2129 OPEN SERVICOS_FATOR_PRECO1193 FETCH NEXT FROM SERVICOS_FATOR_PRECO2129 INTO @insARTIGO_FATOR_PRECO FETCH NEXT FROM SERVICOS_FATOR_PRECO1193 INTO @delARTIGO_FATOR_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_SERVICO SET VENDAS_SERVICO.ARTIGO_FATOR_PRECO=@insARTIGO_FATOR_PRECO WHERE VENDAS_SERVICO.ARTIGO_FATOR_PRECO = @delARTIGO_FATOR_PRECO FETCH NEXT FROM SERVICOS_FATOR_PRECO2129 INTO @insARTIGO_FATOR_PRECO FETCH NEXT FROM SERVICOS_FATOR_PRECO1193 INTO @delARTIGO_FATOR_PRECO END END CLOSE SERVICOS_FATOR_PRECO2129 CLOSE SERVICOS_FATOR_PRECO1193 DEALLOCATE SERVICOS_FATOR_PRECO2129 DEALLOCATE SERVICOS_FATOR_PRECO1193 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SERVICOS_FATOR_PRECO].[PORCENTAGEM_FATOR_PRECO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_DROPS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_DROPS]( [GRADE] [varchar](25) NOT NULL, [DROP_DE_TAMANHOS] [smallint] NOT NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_DROPS] PRIMARY KEY NONCLUSTERED ( [GRADE] ASC, [DROP_DE_TAMANHOS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_DROPS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_DROPS] on [PRODUTOS_DROPS] for INSERT as /* INSERT trigger on PRODUTOS_DROPS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS R/1721 PRODUTOS_DROPS ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_DROPS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_DROPS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_DROPS, INSERTED WHERE PRODUTOS_DROPS.GRADE = INSERTED.GRADE and PRODUTOS_DROPS.DROP_DE_TAMANHOS = INSERTED.DROP_DE_TAMANHOS AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_DROPS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_DROPS] on [PRODUTOS_DROPS] for UPDATE as /* UPDATE trigger on PRODUTOS_DROPS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRADE varchar(25), @insDROP_DE_TAMANHOS smallint, @delGRADE varchar(25), @delDROP_DE_TAMANHOS smallint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS R/1721 PRODUTOS_DROPS ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_DROPS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_DROPS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_DROPS, INSERTED WHERE PRODUTOS_DROPS.GRADE = INSERTED.GRADE and PRODUTOS_DROPS.DROP_DE_TAMANHOS = INSERTED.DROP_DE_TAMANHOS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_DROPS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[DROP_DE_TAMANHOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_DROPS].[Q48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_DROPS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PESO_TAMANHO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PESO_TAMANHO]( [PRODUTO] [char](12) NOT NULL, [C1] [numeric](9, 3) NULL, [C2] [numeric](9, 3) NULL, [C3] [numeric](9, 3) NULL, [C4] [numeric](9, 3) NULL, [C5] [numeric](9, 3) NULL, [C6] [numeric](9, 3) NULL, [C7] [numeric](9, 3) NULL, [C8] [numeric](9, 3) NULL, [C9] [numeric](9, 3) NULL, [C10] [numeric](9, 3) NULL, [C11] [numeric](9, 3) NULL, [C12] [numeric](9, 3) NULL, [C13] [numeric](9, 3) NULL, [C14] [numeric](9, 3) NULL, [C15] [numeric](9, 3) NULL, [C16] [numeric](9, 3) NULL, [C17] [numeric](9, 3) NULL, [C18] [numeric](9, 3) NULL, [C19] [numeric](9, 3) NULL, [C20] [numeric](9, 3) NULL, [C21] [numeric](9, 3) NULL, [C22] [numeric](9, 3) NULL, [C23] [numeric](9, 3) NULL, [C24] [numeric](9, 3) NULL, [C25] [numeric](9, 3) NULL, [C26] [numeric](9, 3) NULL, [C27] [numeric](9, 3) NULL, [C28] [numeric](9, 3) NULL, [C29] [numeric](9, 3) NULL, [C30] [numeric](9, 3) NULL, [C31] [numeric](9, 3) NULL, [C32] [numeric](9, 3) NULL, [C33] [numeric](9, 3) NULL, [C34] [numeric](9, 3) NULL, [C35] [numeric](9, 3) NULL, [C36] [numeric](9, 3) NULL, [C37] [numeric](9, 3) NULL, [C38] [numeric](9, 3) NULL, [C39] [numeric](9, 3) NULL, [C40] [numeric](9, 3) NULL, [C41] [numeric](9, 3) NULL, [C42] [numeric](9, 3) NULL, [C43] [numeric](9, 3) NULL, [C44] [numeric](9, 3) NULL, [C45] [numeric](9, 3) NULL, [C46] [numeric](9, 3) NULL, [C47] [numeric](9, 3) NULL, [C48] [numeric](9, 3) NULL, CONSTRAINT [XPKPRODUTOS_PESO_TAMANHO] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PESO_TAMANHO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PESO_TAMANHO] on [PRODUTOS_PESO_TAMANHO] for INSERT as /* INSERT trigger on PRODUTOS_PESO_TAMANHO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/2136 PRODUTOS_PESO_TAMANHO ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PESO_TAMANHO #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PESO_TAMANHO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PESO_TAMANHO] on [PRODUTOS_PESO_TAMANHO] for UPDATE as /* UPDATE trigger on PRODUTOS_PESO_TAMANHO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/2136 PRODUTOS_PESO_TAMANHO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PESO_TAMANHO #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PESO_TAMANHO].[C48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTO_SETOR_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTO_SETOR_CUSTO]( [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [LINHA_INDUSTRIAL] [varchar](25) NOT NULL, [UNIDADE_TEMPO] [char](1) NULL, [CUSTO_SUGERIDO] [numeric](14, 2) NULL, CONSTRAINT [XPKPRODUTO_SETOR_CUSTO] PRIMARY KEY NONCLUSTERED ( [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC, [LINHA_INDUSTRIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTO_SETOR_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTO_SETOR_CUSTO] on [PRODUTO_SETOR_CUSTO] for INSERT as /* INSERT trigger on PRODUTO_SETOR_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_LINHA_INDUSTRIAL R/1724 PRODUTO_SETOR_CUSTO ON CHILD INSERT RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_SETOR_CUSTO #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end /* PRODUCAO_SETOR R/1723 PRODUTO_SETOR_CUSTO ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_SETOR_CUSTO #porque #PRODUCAO_SETOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTO_SETOR_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTO_SETOR_CUSTO] on [PRODUTO_SETOR_CUSTO] for UPDATE as /* UPDATE trigger on PRODUTO_SETOR_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFASE_PRODUCAO varchar(25), @insSETOR_PRODUCAO varchar(25), @insLINHA_INDUSTRIAL varchar(25), @delFASE_PRODUCAO varchar(25), @delSETOR_PRODUCAO varchar(25), @delLINHA_INDUSTRIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_LINHA_INDUSTRIAL R/1724 PRODUTO_SETOR_CUSTO ON CHILD UPDATE RESTRICT */ if update(LINHA_INDUSTRIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_LINHA_INDUSTRIAL where inserted.LINHA_INDUSTRIAL = PRODUTIV_LINHA_INDUSTRIAL.LINHA_INDUSTRIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_SETOR_CUSTO #porque #PRODUTIV_LINHA_INDUSTRIAL #não existe.'' goto error end end /* PRODUCAO_SETOR R/1723 PRODUTO_SETOR_CUSTO ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_SETOR_CUSTO #porque #PRODUCAO_SETOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_SETOR_CUSTO].[CUSTO_SUGERIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INVENTARIO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INVENTARIO_PRODUTO]( [CODIGO_INVENTARIO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE] [int] NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKINVENTARIO_PRODUTO] PRIMARY KEY NONCLUSTERED ( [CODIGO_INVENTARIO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_INVENTARIO_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_INVENTARIO_PRODUTOS] on [INVENTARIO_PRODUTO] for INSERT as /* INSERT trigger on INVENTARIO_PRODUTO */ /* default body for LXI_LOJA_INVENTARIO_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_INVENTARIO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1726 INVENTARIO_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INVENTARIO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* INVENTARIO R/1725 INVENTARIO_PRODUTO ON CHILD INSERT RESTRICT */ if update(CODIGO_INVENTARIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INVENTARIO where inserted.CODIGO_INVENTARIO = INVENTARIO.CODIGO_INVENTARIO and inserted.FILIAL = INVENTARIO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INVENTARIO_PRODUTO #porque #INVENTARIO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE INVENTARIO_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO_PRODUTO, INSERTED WHERE INVENTARIO_PRODUTO.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO_PRODUTO.FILIAL = INSERTED.FILIAL and INVENTARIO_PRODUTO.PRODUTO = INSERTED.PRODUTO and INVENTARIO_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_INVENTARIO_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_INVENTARIO_PRODUTOS] on [INVENTARIO_PRODUTO] for UPDATE as /* UPDATE trigger on INVENTARIO_PRODUTO */ /* default body for LXU_LOJA_INVENTARIO_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_INVENTARIO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1726 INVENTARIO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #INVENTARIO_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* INVENTARIO R/1725 INVENTARIO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_INVENTARIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INVENTARIO where inserted.CODIGO_INVENTARIO = INVENTARIO.CODIGO_INVENTARIO and inserted.FILIAL = INVENTARIO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #INVENTARIO_PRODUTO #porque #INVENTARIO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE INVENTARIO_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO_PRODUTO, INSERTED WHERE INVENTARIO_PRODUTO.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO_PRODUTO.FILIAL = INSERTED.FILIAL and INVENTARIO_PRODUTO.PRODUTO = INSERTED.PRODUTO and INVENTARIO_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR INVENTARIO_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_PRODUTO].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[INVENTARIO_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERVICOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERVICOS]( [SERVICO] [char](18) NOT NULL, [TRIBUT_ORIGEM] [char](3) NULL, [CLASSIF_FISCAL] [char](10) NOT NULL, [TRIBUT_ICMS] [char](3) NULL, [TIPO_SERVICO] [varchar](25) NOT NULL, [UNIDADE] [varchar](5) NULL, [CLASSIF_SERVICO] [varchar](25) NOT NULL, [DESC_SERVICO] [varchar](40) NOT NULL, [DESC_SERVICO_NF] [varchar](40) NOT NULL, [OBS_SERVICO] [text] NULL, [INATIVO] [bit] NOT NULL, CONSTRAINT [XPKSERVICOS] PRIMARY KEY NONCLUSTERED ( [SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SERVICOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_SERVICOS] on [SERVICOS] for DELETE as /* DELETE trigger on SERVICOS */ begin declare @errno int, @errmsg varchar(255) /* SERVICOS R/2128 TABELAS_PRECO_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TABELAS_PRECO_SERVICO where TABELAS_PRECO_SERVICO.SERVICO = deleted.SERVICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERVICOS #porque existem registros em #TABELAS_PRECO_SERVICO#.'' goto error end /* SERVICOS R/2127 VENDAS_SERVICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_SERVICO where VENDAS_SERVICO.SERVICO = deleted.SERVICO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERVICOS #porque existem registros em #VENDAS_SERVICO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_SERVICOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_SERVICOS] on [SERVICOS] for INSERT as /* INSERT trigger on SERVICOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRIBUT_ORIGEM R/2133 SERVICOS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM select @nullcnt = count(*) from inserted where inserted.TRIBUT_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SERVICOS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL R/2132 SERVICOS ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SERVICOS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* TRIBUT_ICMS R/2131 SERVICOS ON CHILD INSERT RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS select @nullcnt = count(*) from inserted where inserted.TRIBUT_ICMS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SERVICOS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* SERVICOS_TIPO R/2130 SERVICOS ON CHILD INSERT RESTRICT */ if update(TIPO_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS_TIPO where inserted.TIPO_SERVICO = SERVICOS_TIPO.TIPO_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SERVICOS #porque #SERVICOS_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SERVICOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SERVICOS] on [SERVICOS] for UPDATE as /* UPDATE trigger on SERVICOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSERVICO char(18), @delSERVICO char(18), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERVICOS R/2128 TABELAS_PRECO_SERVICO ON PARENT UPDATE CASCADE */ IF update(SERVICO) BEGIN DECLARE SERVICOS2128 CURSOR FOR SELECT SERVICO FROM INSERTED DECLARE SERVICOS1192 CURSOR FOR SELECT SERVICO FROM DELETED OPEN SERVICOS2128 OPEN SERVICOS1192 FETCH NEXT FROM SERVICOS2128 INTO @insSERVICO FETCH NEXT FROM SERVICOS1192 INTO @delSERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TABELAS_PRECO_SERVICO SET TABELAS_PRECO_SERVICO.SERVICO=@insSERVICO WHERE TABELAS_PRECO_SERVICO.SERVICO = @delSERVICO FETCH NEXT FROM SERVICOS2128 INTO @insSERVICO FETCH NEXT FROM SERVICOS1192 INTO @delSERVICO END END CLOSE SERVICOS2128 CLOSE SERVICOS1192 DEALLOCATE SERVICOS2128 DEALLOCATE SERVICOS1192 END /* SERVICOS R/2127 VENDAS_SERVICO ON PARENT UPDATE CASCADE */ IF update(SERVICO) BEGIN DECLARE SERVICOS2127 CURSOR FOR SELECT SERVICO FROM INSERTED DECLARE SERVICOS1192 CURSOR FOR SELECT SERVICO FROM DELETED OPEN SERVICOS2127 OPEN SERVICOS1192 FETCH NEXT FROM SERVICOS2127 INTO @insSERVICO FETCH NEXT FROM SERVICOS1192 INTO @delSERVICO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_SERVICO SET VENDAS_SERVICO.SERVICO=@insSERVICO WHERE VENDAS_SERVICO.SERVICO = @delSERVICO FETCH NEXT FROM SERVICOS2127 INTO @insSERVICO FETCH NEXT FROM SERVICOS1192 INTO @delSERVICO END END CLOSE SERVICOS2127 CLOSE SERVICOS1192 DEALLOCATE SERVICOS2127 DEALLOCATE SERVICOS1192 END /* TRIBUT_ORIGEM R/2133 SERVICOS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM select @nullcnt = count(*) from inserted where inserted.TRIBUT_ORIGEM is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SERVICOS #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL R/2132 SERVICOS ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SERVICOS #porque #CLASSIF_FISCAL #não existe.'' goto error end end /* TRIBUT_ICMS R/2131 SERVICOS ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS select @nullcnt = count(*) from inserted where inserted.TRIBUT_ICMS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SERVICOS #porque #TRIBUT_ICMS #não existe.'' goto error end end /* SERVICOS_TIPO R/2130 SERVICOS ON CHILD UPDATE RESTRICT */ if update(TIPO_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERVICOS_TIPO where inserted.TIPO_SERVICO = SERVICOS_TIPO.TIPO_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SERVICOS #porque #SERVICOS_TIPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SERVICOS].[INATIVO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[INVENTARIO_SETOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [INVENTARIO_SETOR]( [CODIGO_INVENTARIO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [LOCAL] [char](4) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_CONTAGEM] [int] NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKINVENTARIO_SETOR] PRIMARY KEY NONCLUSTERED ( [CODIGO_INVENTARIO] ASC, [FILIAL] ASC, [LOCAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_INVENTARIO_SETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_INVENTARIO_SETOR] on [INVENTARIO_SETOR] for INSERT as /* INSERT trigger on INVENTARIO_SETOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1728 INVENTARIO_SETOR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INVENTARIO_SETOR #porque #PRODUTO_CORES #não existe.'' goto error end end /* INVENTARIO R/1727 INVENTARIO_SETOR ON CHILD INSERT RESTRICT */ if update(CODIGO_INVENTARIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INVENTARIO where inserted.CODIGO_INVENTARIO = INVENTARIO.CODIGO_INVENTARIO and inserted.FILIAL = INVENTARIO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #INVENTARIO_SETOR #porque #INVENTARIO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE INVENTARIO_SETOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO_SETOR, INSERTED WHERE INVENTARIO_SETOR.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO_SETOR.FILIAL = INSERTED.FILIAL and INVENTARIO_SETOR.LOCAL = INSERTED.LOCAL and INVENTARIO_SETOR.PRODUTO = INSERTED.PRODUTO and INVENTARIO_SETOR.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_INVENTARIO_SETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_INVENTARIO_SETOR] on [INVENTARIO_SETOR] for UPDATE as /* UPDATE trigger on INVENTARIO_SETOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_INVENTARIO char(8), @insFILIAL varchar(25), @insLOCAL char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delCODIGO_INVENTARIO char(8), @delFILIAL varchar(25), @delLOCAL char(4), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1728 INVENTARIO_SETOR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #INVENTARIO_SETOR #porque #PRODUTO_CORES #não existe.'' goto error end end /* INVENTARIO R/1727 INVENTARIO_SETOR ON CHILD UPDATE RESTRICT */ if update(CODIGO_INVENTARIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,INVENTARIO where inserted.CODIGO_INVENTARIO = INVENTARIO.CODIGO_INVENTARIO and inserted.FILIAL = INVENTARIO.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #INVENTARIO_SETOR #porque #INVENTARIO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE INVENTARIO_SETOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM INVENTARIO_SETOR, INSERTED WHERE INVENTARIO_SETOR.CODIGO_INVENTARIO = INSERTED.CODIGO_INVENTARIO and INVENTARIO_SETOR.FILIAL = INSERTED.FILIAL and INVENTARIO_SETOR.LOCAL = INSERTED.LOCAL and INVENTARIO_SETOR.PRODUTO = INSERTED.PRODUTO and INVENTARIO_SETOR.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR INVENTARIO_SETOR.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[INVENTARIO_SETOR].[QTDE_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[INVENTARIO_SETOR].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_ITEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_ITEM]( [DESCRICAO_ITEM] [varchar](40) NOT NULL, [QTDE_ITEM] [numeric](9, 3) NOT NULL, [CODIGO_ITEM] [varchar](25) NOT NULL, [COD_TABELA_FILHA] [char](1) NULL, [SUB_ITEM_TAMANHO] [int] NOT NULL, [TRIBUT_ICMS] [char](3) NOT NULL, [TRIBUT_ORIGEM] [char](3) NOT NULL, [UNIDADE] [varchar](5) NULL, [VALOR_ITEM] [numeric](14, 2) NULL, [CLASSIF_FISCAL] [char](10) NOT NULL, [ITEM_IMPRESSAO] [smallint] NOT NULL, [PRECO_UNITARIO] [numeric](14, 2) NULL, [PORCENTAGEM_ITEM_RATEIO] [real] NULL, [FILIAL] [varchar](25) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [PESO] [numeric](7, 3) NULL, [ICMS] [numeric](8, 1) NULL, [IPI_IVA_TAXA] [real] NULL, [IPI_IVA_BASE] [numeric](14, 2) NULL, [IPI_IVA_VALOR] [numeric](14, 2) NOT NULL, [QTDE_RETORNAR_BENEFICIAMENTO] [numeric](9, 3) NULL, [IPI_IVA_CTB_ITEM] [int] NOT NULL, [ICMS_BASE] [numeric](14, 2) NULL, [ICMS_TAXA] [real] NULL, [ICMS_VALOR] [numeric](14, 2) NULL, [ICMS_CTB_ITEM] [int] NULL, [FAIXA] [char](1) NOT NULL, [MPADRAO_DESCONTO_ITEM] [numeric](14, 2) NULL, [MPADRAO_VALOR_ITEM] [numeric](14, 2) NULL, [MPADRAO_PRECO_UNITARIO] [numeric](14, 2) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tI_FATURAMENTO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tI_FATURAMENTO_ITEM] on [FATURAMENTO_ITEM] for INSERT as /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ /* INSERT trigger on FATURAMENTO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 10:17:30 2003 */ /* TRIBUT_ORIGEM R/12 FATURAMENTO_ITEM ON CHILD INSERT RESTRICT */ if /* update(TRIBUT_ORIGEM) */ update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where /* inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM */ inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT FATURAMENTO_ITEM because TRIBUT_ORIGEM does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:30 2003 */ /* TRIBUT_ICMS R/11 FATURAMENTO_ITEM ON CHILD INSERT RESTRICT */ if /* update(TRIBUT_ICMS) */ update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where /* inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS */ inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT FATURAMENTO_ITEM because TRIBUT_ICMS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:30 2003 */ /* CLASSIF_FISCAL R/10 FATURAMENTO_ITEM ON CHILD INSERT RESTRICT */ if /* update(CLASSIF_FISCAL) */ update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where /* inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL */ inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT FATURAMENTO_ITEM because CLASSIF_FISCAL does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:30 2003 */ /* FATURAMENTO R/5 FATURAMENTO_ITEM ON CHILD INSERT RESTRICT */ if /* update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) */ update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where /* inserted.FILIAL = FATURAMENTO.FILIAL and inserted.SERIE_NF = FATURAMENTO.SERIE_NF and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA */ inserted.FILIAL = FATURAMENTO.FILIAL and inserted.SERIE_NF = FATURAMENTO.SERIE_NF and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Cannot INSERT FATURAMENTO_ITEM because FATURAMENTO does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[tU_FATURAMENTO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [tU_FATURAMENTO_ITEM] on [FATURAMENTO_ITEM] for UPDATE as /* ERwin Builtin Thu Jan 16 10:17:32 2003 */ /* UPDATE trigger on FATURAMENTO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insSERIE_NF char(2), @insNF_SAIDA char(7), @insITEM_IMPRESSAO smallint, @insSUB_ITEM_TAMANHO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ /* TRIBUT_ORIGEM R/12 FATURAMENTO_ITEM ON CHILD UPDATE RESTRICT */ if /* update(TRIBUT_ORIGEM) */ update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where /* inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM */ inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE FATURAMENTO_ITEM because TRIBUT_ORIGEM does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ /* TRIBUT_ICMS R/11 FATURAMENTO_ITEM ON CHILD UPDATE RESTRICT */ if /* update(TRIBUT_ICMS) */ update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where /* inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS */ inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE FATURAMENTO_ITEM because TRIBUT_ICMS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ /* CLASSIF_FISCAL R/10 FATURAMENTO_ITEM ON CHILD UPDATE RESTRICT */ if /* update(CLASSIF_FISCAL) */ update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where /* inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL */ inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE FATURAMENTO_ITEM because CLASSIF_FISCAL does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:31 2003 */ /* FATURAMENTO R/5 FATURAMENTO_ITEM ON CHILD UPDATE RESTRICT */ if /* update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) */ update(FILIAL) or update(SERIE_NF) or update(NF_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where /* inserted.FILIAL = FATURAMENTO.FILIAL and inserted.SERIE_NF = FATURAMENTO.SERIE_NF and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA */ inserted.FILIAL = FATURAMENTO.FILIAL and inserted.SERIE_NF = FATURAMENTO.SERIE_NF and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA /* */ if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE FATURAMENTO_ITEM because FATURAMENTO does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 10:17:32 2003 */ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[QTDE_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[SUB_ITEM_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[VALOR_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[PRECO_UNITARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[PORCENTAGEM_ITEM_RATEIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[IPI_IVA_TAXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[IPI_IVA_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[IPI_IVA_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[QTDE_RETORNAR_BENEFICIAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[IPI_IVA_CTB_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[ICMS_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[ICMS_TAXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[ICMS_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[ICMS_CTB_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[MPADRAO_DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[MPADRAO_VALOR_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_ITEM].[MPADRAO_PRECO_UNITARIO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_PONT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_PONT]( [PONTUALIDADE] [varchar](25) NOT NULL, [MAIOR_ATRASO] [int] NULL, [FREQUENCIA] [int] NULL, [DEVOLUCOES] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_VAR_PONT] PRIMARY KEY NONCLUSTERED ( [PONTUALIDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_VAR_PONT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_VAR_PONT] on [CLIENTE_VAR_PONT] for DELETE as /* DELETE trigger on CLIENTE_VAR_PONT */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_VAR_PONT CLIENTE_VAR_PONT CLIENTES_VAREJO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_VAREJO where CLIENTES_VAREJO.PONTUALIDADE = deleted.PONTUALIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_PONT #porque existem registros em #CLIENTES_VAREJO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_PONT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_PONT] on [CLIENTE_VAR_PONT] for INSERT as /* INSERT trigger on CLIENTE_VAR_PONT */ /* default body for LXI_CLIENTE_VAR_PONT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPONTUALIDADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_PONT SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_PONT, INSERTED WHERE CLIENTE_VAR_PONT.PONTUALIDADE = INSERTED.PONTUALIDADE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_PONT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_PONT] on [CLIENTE_VAR_PONT] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_PONT */ /* default body for LXU_CLIENTE_VAR_PONT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPONTUALIDADE varchar(25), @delPONTUALIDADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_PONT CLIENTE_VAR_PONT CLIENTES_VAREJO ON PARENT UPDATE CASCADE */ IF update(PONTUALIDADE) BEGIN DECLARE CLIENTE_VAR_PONT188 CURSOR FOR SELECT PONTUALIDADE FROM INSERTED DECLARE CLIENTE_VAR_PONT125 CURSOR FOR SELECT PONTUALIDADE FROM DELETED OPEN CLIENTE_VAR_PONT188 OPEN CLIENTE_VAR_PONT125 FETCH NEXT FROM CLIENTE_VAR_PONT188 INTO @insPONTUALIDADE FETCH NEXT FROM CLIENTE_VAR_PONT125 INTO @delPONTUALIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAREJO SET CLIENTES_VAREJO.PONTUALIDADE=@insPONTUALIDADE WHERE CLIENTES_VAREJO.PONTUALIDADE = @delPONTUALIDADE FETCH NEXT FROM CLIENTE_VAR_PONT188 INTO @insPONTUALIDADE FETCH NEXT FROM CLIENTE_VAR_PONT125 INTO @delPONTUALIDADE END END CLOSE CLIENTE_VAR_PONT188 CLOSE CLIENTE_VAR_PONT125 DEALLOCATE CLIENTE_VAR_PONT188 DEALLOCATE CLIENTE_VAR_PONT125 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_PONT SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_PONT, INSERTED WHERE CLIENTE_VAR_PONT.PONTUALIDADE = INSERTED.PONTUALIDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_PONT.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_PONT].[MAIOR_ATRASO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_PONT].[FREQUENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_PONT].[DEVOLUCOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_PONT].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TERMINAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TERMINAIS]( [TERMINAL] [char](3) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [PERIODO] [char](1) NULL, [SEQUENCIAL_LANC_CAIXA] [char](7) NULL, [LEITOR_CHEQUE] [bit] NOT NULL, [LEITOR_CARTAO] [bit] NOT NULL, [IMPRESSORA_CHEQUE] [bit] NOT NULL, [IMPRESSORA_FISCAL] [bit] NOT NULL, [IMPRESSAO_TIKET] [bit] NOT NULL, [TIPO_TERMINAL] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_TERMINAIS] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_TERMINAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_TERMINAIS] on [LOJA_TERMINAIS] for DELETE as /* DELETE trigger on LOJA_TERMINAIS */ begin declare @errno int, @errmsg varchar(255) /* LOJA_TERMINAIS R/2028 LOJA_CONTROLE_FISCAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_CONTROLE_FISCAL where LOJA_CONTROLE_FISCAL.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_CONTROLE_FISCAL.TERMINAL = deleted.TERMINAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TERMINAIS #porque existem registros em #LOJA_CONTROLE_FISCAL#.'' goto error end /* LOJA_TERMINAIS TERMINAL LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_VENDA.TERMINAL = deleted.TERMINAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TERMINAIS #porque existem registros em #LOJA_VENDA#.'' goto error end /* LOJA_TERMINAIS CAIXAS LOJA_CAIXA_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_CAIXA_LANCAMENTOS where LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_CAIXA_LANCAMENTOS.TERMINAL = deleted.TERMINAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TERMINAIS #porque existem registros em #LOJA_CAIXA_LANCAMENTOS#.'' goto error end /* LOJA_TERMINAIS CAIXAS LOJA_VENDA_PGTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PGTO where LOJA_VENDA_PGTO.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_VENDA_PGTO.TERMINAL = deleted.TERMINAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TERMINAIS #porque existem registros em #LOJA_VENDA_PGTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_TERMINAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_TERMINAIS] on [LOJA_TERMINAIS] for INSERT as /* INSERT trigger on LOJA_TERMINAIS */ /* default body for LXI_LOJA_TERMINAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_VAREJO LOJAS_VAREJO LOJA_TERMINAIS ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_TERMINAIS #porque #LOJAS_VAREJO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_TERMINAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TERMINAIS, INSERTED WHERE LOJA_TERMINAIS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_TERMINAIS.TERMINAL = INSERTED.TERMINAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TERMINAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TERMINAIS] on [LOJA_TERMINAIS] for UPDATE as /* UPDATE trigger on LOJA_TERMINAIS */ /* default body for LXU_LOJA_TERMINAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_VAREJO LOJAS_VAREJO LOJA_TERMINAIS ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_TERMINAIS #porque #LOJAS_VAREJO #não existe.'' goto error end end /* LOJA_TERMINAIS R/2028 LOJA_CONTROLE_FISCAL ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) BEGIN DECLARE LOJA_TERMINAIS2028 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM INSERTED DECLARE LOJA_TERMINAIS238 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM DELETED OPEN LOJA_TERMINAIS2028 OPEN LOJA_TERMINAIS238 FETCH NEXT FROM LOJA_TERMINAIS2028 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CONTROLE_FISCAL SET LOJA_CONTROLE_FISCAL.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_CONTROLE_FISCAL.TERMINAL=@insTERMINAL WHERE LOJA_CONTROLE_FISCAL.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_CONTROLE_FISCAL.TERMINAL = @delTERMINAL FETCH NEXT FROM LOJA_TERMINAIS2028 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL END END CLOSE LOJA_TERMINAIS2028 CLOSE LOJA_TERMINAIS238 DEALLOCATE LOJA_TERMINAIS2028 DEALLOCATE LOJA_TERMINAIS238 END /* LOJA_TERMINAIS TERMINAL LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) BEGIN DECLARE LOJA_TERMINAIS1223 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM INSERTED DECLARE LOJA_TERMINAIS238 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM DELETED OPEN LOJA_TERMINAIS1223 OPEN LOJA_TERMINAIS238 FETCH NEXT FROM LOJA_TERMINAIS1223 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_VENDA.TERMINAL=@insTERMINAL WHERE LOJA_VENDA.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_VENDA.TERMINAL = @delTERMINAL FETCH NEXT FROM LOJA_TERMINAIS1223 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL END END CLOSE LOJA_TERMINAIS1223 CLOSE LOJA_TERMINAIS238 DEALLOCATE LOJA_TERMINAIS1223 DEALLOCATE LOJA_TERMINAIS238 END /* LOJA_TERMINAIS CAIXAS LOJA_CAIXA_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) BEGIN DECLARE LOJA_TERMINAIS1145 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM INSERTED DECLARE LOJA_TERMINAIS238 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM DELETED OPEN LOJA_TERMINAIS1145 OPEN LOJA_TERMINAIS238 FETCH NEXT FROM LOJA_TERMINAIS1145 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CAIXA_LANCAMENTOS SET LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_CAIXA_LANCAMENTOS.TERMINAL=@insTERMINAL WHERE LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_CAIXA_LANCAMENTOS.TERMINAL = @delTERMINAL FETCH NEXT FROM LOJA_TERMINAIS1145 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL END END CLOSE LOJA_TERMINAIS1145 CLOSE LOJA_TERMINAIS238 DEALLOCATE LOJA_TERMINAIS1145 DEALLOCATE LOJA_TERMINAIS238 END /* LOJA_TERMINAIS CAIXAS LOJA_VENDA_PGTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) BEGIN DECLARE LOJA_TERMINAIS1099 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM INSERTED DECLARE LOJA_TERMINAIS238 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL FROM DELETED OPEN LOJA_TERMINAIS1099 OPEN LOJA_TERMINAIS238 FETCH NEXT FROM LOJA_TERMINAIS1099 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PGTO SET LOJA_VENDA_PGTO.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_VENDA_PGTO.TERMINAL=@insTERMINAL WHERE LOJA_VENDA_PGTO.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_VENDA_PGTO.TERMINAL = @delTERMINAL FETCH NEXT FROM LOJA_TERMINAIS1099 INTO @insCODIGO_FILIAL, @insTERMINAL FETCH NEXT FROM LOJA_TERMINAIS238 INTO @delCODIGO_FILIAL, @delTERMINAL END END CLOSE LOJA_TERMINAIS1099 CLOSE LOJA_TERMINAIS238 DEALLOCATE LOJA_TERMINAIS1099 DEALLOCATE LOJA_TERMINAIS238 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_TERMINAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TERMINAIS, INSERTED WHERE LOJA_TERMINAIS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_TERMINAIS.TERMINAL = INSERTED.TERMINAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_TERMINAIS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TERMINAIS].[LEITOR_CHEQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TERMINAIS].[LEITOR_CARTAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TERMINAIS].[IMPRESSORA_CHEQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TERMINAIS].[IMPRESSORA_FISCAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_TERMINAIS].[IMPRESSAO_TIKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_TERMINAIS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_SAIDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_SAIDAS_PRODUTO]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [VALOR] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO1] [numeric](14, 2) NULL, [QTDE_SAIDA] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_SAIDAS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS_PRODUTO]') AND name = N'XIE1LOJA_SAIDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1LOJA_SAIDAS_PRODUTO] ON [LOJA_SAIDAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS_PRODUTO]') AND name = N'XIE2LOJA_SAIDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2LOJA_SAIDAS_PRODUTO] ON [LOJA_SAIDAS_PRODUTO] ( [FILIAL] ASC, [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS_PRODUTO]') AND name = N'XIE3LOJA_SAIDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE3LOJA_SAIDAS_PRODUTO] ON [LOJA_SAIDAS_PRODUTO] ( [FILIAL] ASC, [PRODUTO] ASC, [ROMANEIO_PRODUTO] ASC, [QTDE_SAIDA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_SAIDAS_PRODUTO]') AND name = N'XIE4LOJA_SAIDAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE4LOJA_SAIDAS_PRODUTO] ON [LOJA_SAIDAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_SAIDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_SAIDAS_PRODUTO] on [LOJA_SAIDAS_PRODUTO] for DELETE as /* DELETE trigger on LOJA_SAIDAS_PRODUTO */ /* default body for LXD_LOJA_SAIDAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, LOJA_SAIDAS WHERE Deleted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND Deleted.FILIAL = LOJA_SAIDAS.FILIAL AND LOJA_SAIDAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, LOJA_SAIDAS, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_SAIDAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND LOJA_SAIDAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''S'''''',''LXD_LOJA_SAIDAS_PRODUTO'' FROM DELETED A JOIN LOJA_SAIDAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''S'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_LOJA_SAIDAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_SAIDAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_SAIDAS_PRODUTO DEALLOCATE cur_LOJA_SAIDAS_PRODUTO /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_SAIDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_SAIDAS_PRODUTO] on [LOJA_SAIDAS_PRODUTO] for INSERT as /* INSERT trigger on LOJA_SAIDAS_PRODUTO */ /* default body for LXI_LOJA_SAIDAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, LOJA_SAIDAS WHERE Inserted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND Inserted.FILIAL = LOJA_SAIDAS.FILIAL AND LOJA_SAIDAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, LOJA_SAIDAS, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_SAIDAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND LOJA_SAIDAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1191 LOJA_SAIDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_SAIDAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_SAIDAS R/1190 LOJA_SAIDAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_SAIDAS where inserted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_SAIDAS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_SAIDAS_PRODUTO #porque #LOJA_SAIDAS #não existe.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''',''LXI_LOJA_SAIDAS_PRODUTO'' FROM INSERTED A JOIN LOJA_SAIDAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_LOJA_SAIDAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_SAIDAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_SAIDAS_PRODUTO DEALLOCATE cur_LOJA_SAIDAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_SAIDAS_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_SAIDAS_PRODUTO, INSERTED WHERE LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_SAIDAS_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_SAIDAS_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_SAIDAS_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_SAIDAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_SAIDAS_PRODUTO] on [LOJA_SAIDAS_PRODUTO] for UPDATE as /* UPDATE trigger on LOJA_SAIDAS_PRODUTO */ /* default body for LXU_LOJA_SAIDAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, LOJA_SAIDAS WHERE Deleted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND Deleted.FILIAL = LOJA_SAIDAS.FILIAL AND LOJA_SAIDAS.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, LOJA_SAIDAS WHERE Inserted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND Inserted.FILIAL = LOJA_SAIDAS.FILIAL AND LOJA_SAIDAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, LOJA_SAIDAS, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_SAIDAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND LOJA_SAIDAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, LOJA_SAIDAS, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_SAIDAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND LOJA_SAIDAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1191 LOJA_SAIDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_SAIDAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_SAIDAS R/1190 LOJA_SAIDAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_SAIDAS where inserted.ROMANEIO_PRODUTO = LOJA_SAIDAS.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_SAIDAS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_SAIDAS_PRODUTO #porque #LOJA_SAIDAS #não existe.'' goto error end end /*--- GERA ENTRADA AUTOMATICA --------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_GERA_TRANSFERENCIA_AUTOMATICA'', ''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''',''LXU_LOJA_SAIDAS_PRODUTO'' FROM INSERTED A JOIN LOJA_SAIDAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_GERA_TRANSFERENCIA_AUTOMATICA @FILIAL=''''''+RTRIM(A.FILIAL)+'''''', @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''',@FILIAL_DESTINO=''''''+RTRIM(B.FILIAL_DESTINO)+'''''',@SERIE_NF='''''''', @ORIGEM=''''S'''', @EXCLUSAO=''''N'''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_LOJA_SAIDAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_SAIDAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_SAIDAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_SAIDAS_PRODUTO DEALLOCATE cur_LOJA_SAIDAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_SAIDAS_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_SAIDAS_PRODUTO, INSERTED WHERE LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_SAIDAS_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_SAIDAS_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_SAIDAS_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_SAIDAS_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_SAIDAS_PRODUTO].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_SAIDAS_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_SAC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_SAC]( [CODIGO_CLIENTE] [varchar](14) NOT NULL, [DATA_EVENTO] [datetime] NOT NULL, [HORA_EVENTO] [numeric](7, 2) NOT NULL, [MANIFESTACAO_SAC] [char](4) NULL, [CATEGORIA_SAC] [char](4) NULL, [TIPO_SAC_CLIENTE] [char](4) NULL, [FILIAL] [varchar](25) NULL, [RESPONSAVEL] [varchar](30) NOT NULL, [ASSUNTO] [varchar](80) NULL, [PROXIMO_CONTATO] [datetime] NULL, [HORA_PROXIMO] [numeric](7, 2) NULL, [DATA_CONCLUSAO] [datetime] NULL, [HORA_CONCLUSAO] [numeric](7, 2) NULL, [ASSUNTO_EM_ABERTO] [bit] NOT NULL, [NIVEL_ACESSO_EVENTO] [int] NULL, [EVENTO_PUBLICO] [smallint] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBSERVACAO_EVENTO] [text] NULL, CONSTRAINT [XPKCLIENTE_VAR_SAC] PRIMARY KEY NONCLUSTERED ( [CODIGO_CLIENTE] ASC, [DATA_EVENTO] ASC, [HORA_EVENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTE_VAR_SAC]') AND name = N'XIE1CLIENTE_VAR_SAC') CREATE NONCLUSTERED INDEX [XIE1CLIENTE_VAR_SAC] ON [CLIENTE_VAR_SAC] ( [CODIGO_CLIENTE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTE_VAR_SAC]') AND name = N'XIE2CLIENTE_VAR_SAC') CREATE NONCLUSTERED INDEX [XIE2CLIENTE_VAR_SAC] ON [CLIENTE_VAR_SAC] ( [DATA_EVENTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTE_VAR_SAC]') AND name = N'XIE3CLIENTE_VAR_SAC') CREATE NONCLUSTERED INDEX [XIE3CLIENTE_VAR_SAC] ON [CLIENTE_VAR_SAC] ( [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_SAC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_CLIENTE_VAR_SAC] on [CLIENTE_VAR_SAC] for INSERT as /* INSERT trigger on CLIENTE_VAR_SAC */ /* default body for LXI_CLIENTE_VAR_SAC */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insDATA_EVENTO datetime, @insHORA_EVENTO numeric(7,2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_SAC_MANIFESTACAO R/1560 CLIENTE_VAR_SAC ON CHILD INSERT RESTRICT */ if update(MANIFESTACAO_SAC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_MANIFESTACAO where inserted.MANIFESTACAO_SAC = CLIENTE_SAC_MANIFESTACAO.MANIFESTACAO_SAC select @nullcnt = count(*) from inserted where inserted.MANIFESTACAO_SAC is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_MANIFESTACAO #não existe.'' goto error end end /* CLIENTE_SAC_CATEGORIA R/1559 CLIENTE_VAR_SAC ON CHILD INSERT RESTRICT */ if update(CATEGORIA_SAC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_CATEGORIA where inserted.CATEGORIA_SAC = CLIENTE_SAC_CATEGORIA.CATEGORIA_SAC select @nullcnt = count(*) from inserted where inserted.CATEGORIA_SAC is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_CATEGORIA #não existe.'' goto error end end /* CLIENTE_SAC_TIPO R/1558 CLIENTE_VAR_SAC ON CHILD INSERT RESTRICT */ if update(TIPO_SAC_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_TIPO where inserted.TIPO_SAC_CLIENTE = CLIENTE_SAC_TIPO.TIPO_SAC_CLIENTE select @nullcnt = count(*) from inserted where inserted.TIPO_SAC_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_TIPO #não existe.'' goto error end end /* FILIAIS R/1557 CLIENTE_VAR_SAC ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_SAC #porque #FILIAIS #não existe.'' goto error end end /* CLIENTES_VAREJO R/1556 CLIENTE_VAR_SAC ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_SAC #porque #CLIENTES_VAREJO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_SAC SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_SAC, INSERTED WHERE CLIENTE_VAR_SAC.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTE_VAR_SAC.DATA_EVENTO = INSERTED.DATA_EVENTO and CLIENTE_VAR_SAC.HORA_EVENTO = INSERTED.HORA_EVENTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_SAC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_SAC] on [CLIENTE_VAR_SAC] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_SAC */ /* default body for LXU_CLIENTE_VAR_SAC */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insDATA_EVENTO datetime, @insHORA_EVENTO numeric(7,2), @delCODIGO_CLIENTE varchar(14), @delDATA_EVENTO datetime, @delHORA_EVENTO numeric(7,2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_SAC_MANIFESTACAO R/1560 CLIENTE_VAR_SAC ON CHILD UPDATE RESTRICT */ if update(MANIFESTACAO_SAC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_MANIFESTACAO where inserted.MANIFESTACAO_SAC = CLIENTE_SAC_MANIFESTACAO.MANIFESTACAO_SAC select @nullcnt = count(*) from inserted where inserted.MANIFESTACAO_SAC is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_MANIFESTACAO #não existe.'' goto error end end /* CLIENTE_SAC_CATEGORIA R/1559 CLIENTE_VAR_SAC ON CHILD UPDATE RESTRICT */ if update(CATEGORIA_SAC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_CATEGORIA where inserted.CATEGORIA_SAC = CLIENTE_SAC_CATEGORIA.CATEGORIA_SAC select @nullcnt = count(*) from inserted where inserted.CATEGORIA_SAC is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_CATEGORIA #não existe.'' goto error end end /* CLIENTE_SAC_TIPO R/1558 CLIENTE_VAR_SAC ON CHILD UPDATE RESTRICT */ if update(TIPO_SAC_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_SAC_TIPO where inserted.TIPO_SAC_CLIENTE = CLIENTE_SAC_TIPO.TIPO_SAC_CLIENTE select @nullcnt = count(*) from inserted where inserted.TIPO_SAC_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_SAC #porque #CLIENTE_SAC_TIPO #não existe.'' goto error end end /* FILIAIS R/1557 CLIENTE_VAR_SAC ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_SAC #porque #FILIAIS #não existe.'' goto error end end /* CLIENTES_VAREJO R/1556 CLIENTE_VAR_SAC ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_SAC #porque #CLIENTES_VAREJO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_SAC SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_SAC, INSERTED WHERE CLIENTE_VAR_SAC.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTE_VAR_SAC.DATA_EVENTO = INSERTED.DATA_EVENTO and CLIENTE_VAR_SAC.HORA_EVENTO = INSERTED.HORA_EVENTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_SAC.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_SAC].[HORA_EVENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_SAC].[HORA_PROXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_SAC].[HORA_CONCLUSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_SAC].[ASSUNTO_EM_ABERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_VAR_SAC].[NIVEL_ACESSO_EVENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_SAC].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTE_COTA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRESENTANTE_COTA]( [REPRESENTANTE] [varchar](25) NOT NULL, [COLECAO] [char](6) NOT NULL, [COTA_QTDE] [int] NULL, [COTA_VALOR] [numeric](14, 2) NULL, [COTA_QTDE_MAXIMA] [int] NULL, [COTA_VALOR_MAXIMA] [numeric](14, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKREPRESENTANTE_COTA] PRIMARY KEY NONCLUSTERED ( [REPRESENTANTE] ASC, [COLECAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REPRESENTANTE_COTA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REPRESENTANTE_COTA] on [REPRESENTANTE_COTA] for INSERT as /* INSERT trigger on REPRESENTANTE_COTA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLECOES COLECOES REPRESENTANTE_COTA ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTE_COTA #porque #COLECOES #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES REPRESENTANTE_COTA ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REPRESENTANTE_COTA #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE REPRESENTANTE_COTA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REPRESENTANTE_COTA, INSERTED WHERE REPRESENTANTE_COTA.REPRESENTANTE = INSERTED.REPRESENTANTE and REPRESENTANTE_COTA.COLECAO = INSERTED.COLECAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REPRESENTANTE_COTA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REPRESENTANTE_COTA] on [REPRESENTANTE_COTA] for UPDATE as /* UPDATE trigger on REPRESENTANTE_COTA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREPRESENTANTE varchar(25), @insCOLECAO char(6), @delREPRESENTANTE varchar(25), @delCOLECAO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLECOES COLECOES REPRESENTANTE_COTA ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTE_COTA #porque #COLECOES #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES REPRESENTANTE_COTA ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REPRESENTANTE_COTA #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE REPRESENTANTE_COTA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REPRESENTANTE_COTA, INSERTED WHERE REPRESENTANTE_COTA.REPRESENTANTE = INSERTED.REPRESENTANTE and REPRESENTANTE_COTA.COLECAO = INSERTED.COLECAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR REPRESENTANTE_COTA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_COTA].[COTA_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_COTA].[COTA_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_COTA].[COTA_QTDE_MAXIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[REPRESENTANTE_COTA].[COTA_VALOR_MAXIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[REPRESENTANTE_COTA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_SAC_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_SAC_TIPO]( [TIPO_SAC_CLIENTE] [char](4) NOT NULL, [DESC_TIPO_SAC] [varchar](40) NULL, [ENVIAR_PARA_LOJA] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_SAC_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_SAC_CLIENTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_SAC_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_SAC_TIPO] on [CLIENTE_SAC_TIPO] for DELETE as /* DELETE trigger on CLIENTE_SAC_TIPO */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_SAC_TIPO R/1558 CLIENTE_VAR_SAC ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_SAC where CLIENTE_VAR_SAC.TIPO_SAC_CLIENTE = deleted.TIPO_SAC_CLIENTE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_SAC_TIPO #porque existem registros em #CLIENTE_VAR_SAC#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_SAC_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_SAC_TIPO] on [CLIENTE_SAC_TIPO] for INSERT as /* INSERT trigger on CLIENTE_SAC_TIPO */ /* default body for LXI_CLIENTE_SAC_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_SAC_CLIENTE char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_SAC_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_TIPO, INSERTED WHERE CLIENTE_SAC_TIPO.TIPO_SAC_CLIENTE = inserted.TIPO_SAC_CLIENTE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_SAC_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_SAC_TIPO] on [CLIENTE_SAC_TIPO] for UPDATE as /* UPDATE trigger on CLIENTE_SAC_TIPO */ /* default body for LXU_CLIENTE_SAC_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_SAC_CLIENTE char(4), @delTIPO_SAC_CLIENTE char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_SAC_TIPO R/1558 CLIENTE_VAR_SAC ON PARENT UPDATE CASCADE */ IF update(TIPO_SAC_CLIENTE) BEGIN DECLARE CLIENTE_SAC_TIPO1558 CURSOR FOR SELECT TIPO_SAC_CLIENTE FROM INSERTED DECLARE CLIENTE_SAC_TIPO921 CURSOR FOR SELECT TIPO_SAC_CLIENTE FROM DELETED OPEN CLIENTE_SAC_TIPO1558 OPEN CLIENTE_SAC_TIPO921 FETCH NEXT FROM CLIENTE_SAC_TIPO1558 INTO @insTIPO_SAC_CLIENTE FETCH NEXT FROM CLIENTE_SAC_TIPO921 INTO @delTIPO_SAC_CLIENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_SAC SET CLIENTE_VAR_SAC.TIPO_SAC_CLIENTE=@insTIPO_SAC_CLIENTE WHERE CLIENTE_VAR_SAC.TIPO_SAC_CLIENTE = @delTIPO_SAC_CLIENTE FETCH NEXT FROM CLIENTE_SAC_TIPO1558 INTO @insTIPO_SAC_CLIENTE FETCH NEXT FROM CLIENTE_SAC_TIPO921 INTO @delTIPO_SAC_CLIENTE END END CLOSE CLIENTE_SAC_TIPO1558 CLOSE CLIENTE_SAC_TIPO921 DEALLOCATE CLIENTE_SAC_TIPO1558 DEALLOCATE CLIENTE_SAC_TIPO921 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_SAC_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_TIPO, INSERTED WHERE CLIENTE_SAC_TIPO.TIPO_SAC_CLIENTE = inserted.TIPO_SAC_CLIENTE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_SAC_TIPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_SAC_TIPO].[ENVIAR_PARA_LOJA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_SAC_TIPO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESERVA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_RESERVA_PRODUTO]( [NUMERO_RESERVA] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [QTDE_SAIDA] [int] NULL, [VALOR] [numeric](14, 2) NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_RESERVA_PRODUTO] PRIMARY KEY NONCLUSTERED ( [NUMERO_RESERVA] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_RESERVA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_RESERVA_PRODUTO] on [LOJA_RESERVA_PRODUTO] for INSERT as /* INSERT trigger on LOJA_RESERVA_PRODUTO */ /* default body for LXI_LOJA_RESERVA_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_RESERVA char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1397 LOJA_RESERVA_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_RESERVA R/1393 LOJA_RESERVA_PRODUTO ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NUMERO_RESERVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_RESERVA where inserted.FILIAL = LOJA_RESERVA.FILIAL and inserted.NUMERO_RESERVA = LOJA_RESERVA.NUMERO_RESERVA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA_PRODUTO #porque #LOJA_RESERVA #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_RESERVA_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA_PRODUTO, INSERTED WHERE LOJA_RESERVA_PRODUTO.NUMERO_RESERVA = INSERTED.NUMERO_RESERVA and LOJA_RESERVA_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_RESERVA_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_RESERVA_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_RESERVA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_RESERVA_PRODUTO] on [LOJA_RESERVA_PRODUTO] for UPDATE as /* UPDATE trigger on LOJA_RESERVA_PRODUTO */ /* default body for LXU_LOJA_RESERVA_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_RESERVA char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delNUMERO_RESERVA char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES R/1397 LOJA_RESERVA_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_RESERVA R/1393 LOJA_RESERVA_PRODUTO ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NUMERO_RESERVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_RESERVA where inserted.FILIAL = LOJA_RESERVA.FILIAL and inserted.NUMERO_RESERVA = LOJA_RESERVA.NUMERO_RESERVA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA_PRODUTO #porque #LOJA_RESERVA #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_RESERVA_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA_PRODUTO, INSERTED WHERE LOJA_RESERVA_PRODUTO.NUMERO_RESERVA = INSERTED.NUMERO_RESERVA and LOJA_RESERVA_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_RESERVA_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_RESERVA_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_RESERVA_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA_PRODUTO].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_RESERVA_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_ITEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_ITEM]( [DESCRICAO_ITEM] [varchar](40) NOT NULL, [QTDE_ITEM] [numeric](9, 3) NOT NULL, [CODIGO_ITEM] [varchar](25) NOT NULL, [COD_TABELA_FILHA] [char](1) NULL, [SUB_ITEM_TAMANHO] [int] NOT NULL, [UNIDADE] [varchar](5) NULL, [VALOR_ITEM] [numeric](14, 2) NULL, [ITEM_IMPRESSAO] [char](4) NOT NULL, [PRECO_UNITARIO] [numeric](15, 5) NULL, [PORCENTAGEM_ITEM_RATEIO] [real] NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [PESO] [numeric](7, 3) NULL, [IPI_IVA_TAXA] [real] NULL, [IPI_IVA_BASE] [numeric](14, 2) NULL, [IPI_IVA_VALOR] [numeric](14, 2) NOT NULL, [QTDE_RETORNAR_BENEFICIAMENTO] [numeric](9, 3) NULL, [IPI_IVA_CTB_ITEM] [int] NOT NULL, [ICMS_BASE] [numeric](14, 2) NULL, [ICMS_TAXA] [real] NULL, [ICMS_VALOR] [numeric](14, 2) NULL, [ICMS_CTB_ITEM] [int] NULL, [FAIXA] [char](1) NOT NULL, [CLASSIF_FISCAL] [char](10) NOT NULL, [TRIBUT_ORIGEM] [char](3) NOT NULL, [TRIBUT_ICMS] [char](3) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [COMISSAO_LINEA] [real] NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_ENTRADAS_ITEM] on [ENTRADAS_ITEM] for INSERT as /* INSERT trigger on ENTRADAS_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM_IMPRESSAO char(4), @insSUB_ITEM_TAMANHO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS R/1371 ENTRADAS_ITEM ON CHILD INSERT RESTRICT */ if update(NF_ENTRADA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA and inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_ITEM #porque #ENTRADAS #não existe.'' goto error end end /* TRIBUT_ICMS R/1345 ENTRADAS_ITEM ON CHILD INSERT RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_ITEM #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM R/1344 ENTRADAS_ITEM ON CHILD INSERT RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_ITEM #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL R/1343 ENTRADAS_ITEM ON CHILD INSERT RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_ITEM #porque #CLASSIF_FISCAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_ENTRADAS_ITEM] on [ENTRADAS_ITEM] for UPDATE as /* UPDATE trigger on ENTRADAS_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM_IMPRESSAO char(4), @insSUB_ITEM_TAMANHO int, @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delITEM_IMPRESSAO char(4), @delSUB_ITEM_TAMANHO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS R/1371 ENTRADAS_ITEM ON CHILD UPDATE RESTRICT */ if update(NF_ENTRADA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA and inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_ITEM #porque #ENTRADAS #não existe.'' goto error end end /* TRIBUT_ICMS R/1345 ENTRADAS_ITEM ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ICMS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ICMS where inserted.TRIBUT_ICMS = TRIBUT_ICMS.TRIBUT_ICMS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_ITEM #porque #TRIBUT_ICMS #não existe.'' goto error end end /* TRIBUT_ORIGEM R/1344 ENTRADAS_ITEM ON CHILD UPDATE RESTRICT */ if update(TRIBUT_ORIGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRIBUT_ORIGEM where inserted.TRIBUT_ORIGEM = TRIBUT_ORIGEM.TRIBUT_ORIGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_ITEM #porque #TRIBUT_ORIGEM #não existe.'' goto error end end /* CLASSIF_FISCAL R/1343 ENTRADAS_ITEM ON CHILD UPDATE RESTRICT */ if update(CLASSIF_FISCAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLASSIF_FISCAL where inserted.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_ITEM #porque #CLASSIF_FISCAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[QTDE_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[SUB_ITEM_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[VALOR_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[PRECO_UNITARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[PORCENTAGEM_ITEM_RATEIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[IPI_IVA_TAXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[IPI_IVA_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[IPI_IVA_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[QTDE_RETORNAR_BENEFICIAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[IPI_IVA_CTB_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[ICMS_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[ICMS_TAXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[ICMS_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[ICMS_CTB_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_ITEM].[COMISSAO_LINEA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESERVA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_RESERVA]( [FILIAL] [varchar](25) NOT NULL, [NUMERO_RESERVA] [char](8) NOT NULL, [CODIGO_RESERVA] [char](2) NOT NULL, [CODIGO_CLIENTE] [varchar](14) NULL, [VENDEDOR] [char](4) NOT NULL, [EMISSAO] [datetime] NOT NULL, [PREVISAO_RETORNO] [datetime] NULL, [ENCERRAMENTO] [datetime] NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [FATOR_PRECO] [numeric](5, 2) NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBS] [text] NULL, [NUMERO_NF] [char](8) NULL, CONSTRAINT [XPKLOJA_RESERVA] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NUMERO_RESERVA] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_RESERVA] on [LOJA_RESERVA] for DELETE as /* DELETE trigger on LOJA_RESERVA */ begin declare @errno int, @errmsg varchar(255) /* LOJA_RESERVA R/1393 LOJA_RESERVA_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_RESERVA_PRODUTO from LOJA_RESERVA_PRODUTO,deleted where LOJA_RESERVA_PRODUTO.FILIAL = deleted.FILIAL and LOJA_RESERVA_PRODUTO.NUMERO_RESERVA = deleted.NUMERO_RESERVA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_RESERVA] on [LOJA_RESERVA] for INSERT as /* INSERT trigger on LOJA_RESERVA */ /* default body for LXI_LOJA_RESERVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNUMERO_RESERVA char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_RESERVA_TIPO R/1398 LOJA_RESERVA ON CHILD INSERT RESTRICT */ if update(CODIGO_RESERVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_RESERVA_TIPO where inserted.CODIGO_RESERVA = LOJA_RESERVA_TIPO.CODIGO_RESERVA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA #porque #LOJA_RESERVA_TIPO #não existe.'' goto error end end /* FILIAIS R/1396 LOJA_RESERVA ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA #porque #FILIAIS #não existe.'' goto error end end /* CLIENTES_VAREJO R/1395 LOJA_RESERVA ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJA_VENDEDORES R/1394 LOJA_RESERVA ON CHILD INSERT RESTRICT */ if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.VENDEDOR = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_RESERVA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_RESERVA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA, INSERTED WHERE LOJA_RESERVA.FILIAL = INSERTED.FILIAL and LOJA_RESERVA.NUMERO_RESERVA = INSERTED.NUMERO_RESERVA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_RESERVA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_RESERVA] on [LOJA_RESERVA] for UPDATE as /* UPDATE trigger on LOJA_RESERVA */ /* default body for LXU_LOJA_RESERVA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNUMERO_RESERVA char(8), @delFILIAL varchar(25), @delNUMERO_RESERVA char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_RESERVA_TIPO R/1398 LOJA_RESERVA ON CHILD UPDATE RESTRICT */ if update(CODIGO_RESERVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_RESERVA_TIPO where inserted.CODIGO_RESERVA = LOJA_RESERVA_TIPO.CODIGO_RESERVA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA #porque #LOJA_RESERVA_TIPO #não existe.'' goto error end end /* FILIAIS R/1396 LOJA_RESERVA ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA #porque #FILIAIS #não existe.'' goto error end end /* CLIENTES_VAREJO R/1395 LOJA_RESERVA ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJA_VENDEDORES R/1394 LOJA_RESERVA ON CHILD UPDATE RESTRICT */ if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.VENDEDOR = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_RESERVA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_RESERVA R/1393 LOJA_RESERVA_PRODUTO ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NUMERO_RESERVA) BEGIN DECLARE LOJA_RESERVA1393 CURSOR FOR SELECT FILIAL, NUMERO_RESERVA FROM INSERTED DECLARE LOJA_RESERVA825 CURSOR FOR SELECT FILIAL, NUMERO_RESERVA FROM DELETED OPEN LOJA_RESERVA1393 OPEN LOJA_RESERVA825 FETCH NEXT FROM LOJA_RESERVA1393 INTO @insFILIAL, @insNUMERO_RESERVA FETCH NEXT FROM LOJA_RESERVA825 INTO @delFILIAL, @delNUMERO_RESERVA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA_PRODUTO SET LOJA_RESERVA_PRODUTO.FILIAL=@insFILIAL, LOJA_RESERVA_PRODUTO.NUMERO_RESERVA=@insNUMERO_RESERVA WHERE LOJA_RESERVA_PRODUTO.FILIAL = @delFILIAL and LOJA_RESERVA_PRODUTO.NUMERO_RESERVA = @delNUMERO_RESERVA FETCH NEXT FROM LOJA_RESERVA1393 INTO @insFILIAL, @insNUMERO_RESERVA FETCH NEXT FROM LOJA_RESERVA825 INTO @delFILIAL, @delNUMERO_RESERVA END END CLOSE LOJA_RESERVA1393 CLOSE LOJA_RESERVA825 DEALLOCATE LOJA_RESERVA1393 DEALLOCATE LOJA_RESERVA825 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_RESERVA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA, INSERTED WHERE LOJA_RESERVA.FILIAL = INSERTED.FILIAL and LOJA_RESERVA.NUMERO_RESERVA = INSERTED.NUMERO_RESERVA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_RESERVA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_RESERVA].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_RESERVA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [TIPO_ENTRADAS] [varchar](25) NULL, [LANCAMENTO] [char](8) NULL, [FILIAL] [varchar](25) NOT NULL, [FILIAL_ENTRADA] [varchar](25) NULL, [COD_TRANSACAO] [char](23) NOT NULL, [NATUREZA] [char](15) NOT NULL, [NATUREZA_CONTABILIZAR] [char](15) NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [RECEBIMENTO] [datetime] NOT NULL, [NF_FATURA] [bit] NOT NULL, [EMISSAO] [datetime] NOT NULL, [FATURA] [char](11) NULL, [FRETE] [numeric](14, 2) NULL, [SEGURO] [numeric](14, 2) NULL, [ACERTO_CONTAS_P_R] [bit] NOT NULL, [DESCONTO] [numeric](15, 5) NULL, [DESC_FINAN] [numeric](18, 2) NULL CONSTRAINT [DF__ENTRADAS__DESC_F__2C08DD11] DEFAULT (0), [ENCARGO] [numeric](15, 5) NULL, [NF_PROPRIA_EMITIDA] [bit] NOT NULL, [IPI_VALOR] [numeric](15, 5) NULL, [ICMS_BASE] [numeric](15, 5) NULL, [ICMS_VALOR] [numeric](15, 5) NULL, [QTDE_TOTAL] [decimal](10, 3) NULL, [QTDE_TOTAL_AUX] [decimal](10, 3) NULL, [VALOR_TOTAL] [numeric](15, 5) NULL, [TABELA_FILHA] [char](18) NOT NULL, [TRANSF_FILIAL] [bit] NOT NULL, [DEVOLUCAO] [bit] NOT NULL, [NF_ENTRADA_PROPRIA] [bit] NOT NULL, [MARCA_EXPORTACAO] [char](1) NULL, [ATUALIZACAO_EXPORTAR] [datetime] NULL, [DATA_EXPORTACAO] [datetime] NULL, [STATUS_TRANSITO] [char](1) NULL, [FRETE_A_PAGAR] [bit] NOT NULL, [TRANSPORTADORA_A_PAGAR] [varchar](20) NULL, [VALOR_FRETE_TRANSPORTADORA] [numeric](14, 2) NULL, [NF_ENTRADA_CONHECIMENTO] [char](7) NULL, [MOEDA] [char](6) NULL, [MOEDA_COMPRA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [IMPORTACAO] [bit] NOT NULL, [IMPORTACAO_IMPOSTO] [numeric](14, 2) NULL, [IMPORTACAO_ICMS] [numeric](14, 2) NULL, [IMPORTACAO_IPI] [numeric](14, 2) NULL, [IMPORTACAO_ALFANDEGA] [numeric](14, 2) NULL, [IMPORTACAO_OUTRAS_DESPESAS] [numeric](14, 2) NULL, [IMPORTACAO_FRETE] [numeric](14, 2) NULL, [IMPORTACAO_SEGURO] [numeric](14, 2) NULL, [IMPORTACAO_DESEMBARACO] [numeric](14, 2) NULL, [DATA_DIGITACAO] [datetime] NULL, [OBS] [text] NULL, [ORIGEM] [char](1) NULL, [CONFERENCIA] [varchar](11) NULL, [PESO] [numeric](14, 2) NULL, [PESO_BRUTO] [numeric](14, 2) NULL, [EMBALAGENS] [int] NULL, [NUMERO_ENTRADA] [int] NULL, [VALOR_SOMENTE_CONTABIL] [numeric](14, 2) NULL, [RECARGO] [numeric](14, 2) NULL, [VALOR_ADICIONAL] [numeric](14, 2) NULL, [IPI_ADICIONAL] [numeric](14, 2) NULL, [TIPO_VOLUME] [varchar](20) NULL, [DATA_FATURAMENTO_RELATIVO] [datetime] NULL, [UTILIZA_DIAS_FIXOS_FORNECEDOR] [bit] NULL, [PORC_IRPF] [numeric](18, 2) NULL DEFAULT (0), [VALOR_IRPF] [numeric](18, 2) NULL DEFAULT (0), [VALOR_SUB_ITENS] [numeric](14, 2) NULL, [PORC_DESCONTO] [numeric](8, 5) NULL, [PORC_ENCARGO] [numeric](8, 5) NULL, [PORC_RECARGO] [numeric](8, 5) NULL, [FATURA_NUMERO] [char](7) NULL, [FATURA_NOME_CLIFOR] [char](25) NULL, [PORC_DESC_FINAN] [numeric](8, 5) NULL, [COMISSAO_MEDIA] [real] NULL, CONSTRAINT [XPKENTRADAS] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS]') AND name = N'XIE1ENTRADAS') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS] ON [ENTRADAS] ( [NF_ENTRADA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS]') AND name = N'XIE2ENTRADAS') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS] ON [ENTRADAS] ( [RECEBIMENTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS]') AND name = N'XIE3ENTRADAS') CREATE NONCLUSTERED INDEX [XIE3ENTRADAS] ON [ENTRADAS] ( [FATURA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS]') AND name = N'XIE4ENTRADAS') CREATE NONCLUSTERED INDEX [XIE4ENTRADAS] ON [ENTRADAS] ( [FILIAL] ASC, [RECEBIMENTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_ENTRADAS] on [ENTRADAS] for DELETE as /* DELETE trigger on ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE RECEBIMENTO <= @xDataSaldo AND TABELA_FILHA=''ENTRADAS_PRODUTO'' ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRODUTO.COR_PRODUTO AND DELETED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) or EXISTS(SELECT * FROM Deleted, ENTRADAS_PRO_DEVOL, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS_PRO_DEVOL.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRO_DEVOL.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRO_DEVOL.COR_PRODUTO AND DELETED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted ,ENTRADAS_PRODUTO WHERE Deleted.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRODUTO DEALLOCATE cur_ENTRADAS_PRODUTO /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ENTRADAS_MATERIAL CURSOR FOR SELECT ENTRADAS_MATERIAL.Material, Cor_Material, Filial,CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)*-1-ISNULL(SUM(PERDA),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted JOIN ENTRADAS_MATERIAL ON Deleted.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA GROUP BY ENTRADAS_MATERIAL.Material, Cor_Material, Filial OPEN cur_ENTRADAS_MATERIAL DECLARE @cMaterial Char(11), @cCor_Material Char(10), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ENTRADAS_MATERIAL INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ENTRADAS_MATERIAL DEALLOCATE cur_ENTRADAS_MATERIAL /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ENTRADAS_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida,CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1), LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE FROM Deleted,ENTRADAS_MAT_PECA WHERE Deleted.NOME_CLIFOR = ENTRADAS_MAT_PECA.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS_MAT_PECA.NF_ENTRADA GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE OPEN cur_ENTRADAS_MAT_PECA DECLARE @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3) FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE END CLOSE cur_ENTRADAS_MAT_PECA DEALLOCATE cur_ENTRADAS_MAT_PECA /*---------------------------------------------------------------------------------------------------------------------*/ /* ENTRADAS R/1381 ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.FATURA_NUMERO = deleted.NF_ENTRADA and ENTRADAS.FATURA_NOME_CLIFOR = deleted.NOME_CLIFOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS #porque existem registros em #ENTRADAS#.'' goto error end /* ENTRADAS R/2146 ENTRADAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_DESPESA where ENTRADAS_DESPESA.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_DESPESA.NF_ENTRADA = deleted.NF_ENTRADA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS #porque existem registros em #ENTRADAS_DESPESA#.'' goto error end /* ENTRADAS R/1749 FATURAMENTO_TERCEIROS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_TERCEIROS where FATURAMENTO_TERCEIROS.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAMENTO_TERCEIROS.NF_ENTRADA = deleted.NF_ENTRADA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ENTRADAS #porque existem registros em #FATURAMENTO_TERCEIROS#.'' goto error end /* ENTRADAS ENTRADAS ENTRADAS_CENTROS_CUSTO ON PARENT DELETE CASCADE */ delete ENTRADAS_CENTROS_CUSTO from ENTRADAS_CENTROS_CUSTO,deleted where ENTRADAS_CENTROS_CUSTO.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_CENTROS_CUSTO.NF_ENTRADA = deleted.NF_ENTRADA /* ENTRADAS ACERTO_A_RECEBER ENTRADA_DEVOLUCAO_ACERTO ON PARENT DELETE CASCADE */ delete ENTRADA_DEVOLUCAO_ACERTO from ENTRADA_DEVOLUCAO_ACERTO,deleted where ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADA_DEVOLUCAO_ACERTO.NF_ENTRADA = deleted.NF_ENTRADA /* ENTRADAS ENTRADAS ENTRADAS_PRO_DEVOL ON PARENT DELETE CASCADE */ delete ENTRADAS_PRO_DEVOL from ENTRADAS_PRO_DEVOL,deleted where ENTRADAS_PRO_DEVOL.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_PRO_DEVOL.NF_ENTRADA = deleted.NF_ENTRADA /* ENTRADAS ENTRADAS ENTRADAS_MATERIAL ON PARENT DELETE CASCADE */ delete ENTRADAS_MATERIAL from ENTRADAS_MATERIAL,deleted where ENTRADAS_MATERIAL.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_MATERIAL.NF_ENTRADA = deleted.NF_ENTRADA /* ENTRADAS ENTRADAS ENTRADAS_CONSUMO ON PARENT DELETE CASCADE */ delete ENTRADAS_CONSUMO from ENTRADAS_CONSUMO,deleted where ENTRADAS_CONSUMO.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_CONSUMO.NF_ENTRADA = deleted.NF_ENTRADA /* ENTRADAS ENTRADAS ENTRADAS_PRODUTO ON PARENT DELETE CASCADE */ delete ENTRADAS_PRODUTO from ENTRADAS_PRODUTO,deleted where ENTRADAS_PRODUTO.NOME_CLIFOR = deleted.NOME_CLIFOR and ENTRADAS_PRODUTO.NF_ENTRADA = deleted.NF_ENTRADA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_ENTRADAS] on [ENTRADAS] for INSERT as /* INSERT trigger on ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE RECEBIMENTO <= @xDataSaldo AND TABELA_FILHA=''ENTRADAS_PRODUTO'' ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1639 ENTRADAS ON CHILD INSERT RESTRICT */ if update(FILIAL_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ENTRADA = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ENTRADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* MOEDAS R/1373 ENTRADAS ON CHILD INSERT RESTRICT */ if update(MOEDA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA_COMPRA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #MOEDAS #não existe.'' goto error end end /* MOEDAS R/1372 ENTRADAS ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS_TIPO TIPO_ENTRADAS ENTRADAS ON CHILD INSERT RESTRICT */ if update(TIPO_ENTRADAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_TIPO where inserted.TIPO_ENTRADAS = ENTRADAS_TIPO.TIPO_ENTRADAS select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #ENTRADAS_TIPO #não existe.'' goto error end end /* NATUREZAS_ENTRADAS NATUREZA_CONTABILIZAR ENTRADAS ON CHILD INSERT RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* CONTAS_LANCAMENTOS LANC_CONTABIL ENTRADAS ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO select @nullcnt = count(*) from inserted where inserted.LANCAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR ENTRADAS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS ENTRADAS ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FILIAIS FILIAIS ENTRADAS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* SERIES_NF SERIES_NF ENTRADAS ON CHILD INSERT RESTRICT */ if update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where inserted.SERIE_NF = SERIES_NF.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #SERIES_NF #não existe.'' goto error end end /* NATUREZAS_ENTRADAS NATUREZAS_ENTRADAS ENTRADAS ON CHILD INSERT RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_ENTRADAS] on [ENTRADAS] for UPDATE as /* UPDATE trigger on ENTRADAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF UPDATE(FILIAL) OR UPDATE(FILIAL_ENTRADA) OR UPDATE(RECEBIMENTO) OR UPDATE(QTDE_TOTAL) BEGIN IF ( SELECT COUNT(*) FROM Deleted WHERE RECEBIMENTO <= @xDataSaldo AND TABELA_FILHA=''ENTRADAS_PRODUTO'' ) + ( SELECT COUNT(*) FROM Inserted WHERE RECEBIMENTO <= @xDataSaldo AND TABELA_FILHA=''ENTRADAS_PRODUTO'' ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Alterar Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(FILIAL) OR UPDATE(FILIAL_ENTRADA) OR UPDATE(RECEBIMENTO) OR UPDATE(QTDE_TOTAL) BEGIN IF EXISTS(SELECT * FROM Deleted, ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRODUTO.COR_PRODUTO AND DELETED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ENTRADAS_PRODUTO, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRODUTO.COR_PRODUTO AND INSERTED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Deleted, ENTRADAS_PRO_DEVOL, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS_PRO_DEVOL.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRO_DEVOL.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRO_DEVOL.COR_PRODUTO AND DELETED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ENTRADAS_PRO_DEVOL, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS_PRO_DEVOL.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ENTRADAS_PRO_DEVOL.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ENTRADAS_PRO_DEVOL.COR_PRODUTO AND INSERTED.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS R/1639 ENTRADAS ON CHILD UPDATE RESTRICT */ if update(FILIAL_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL_ENTRADA = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL_ENTRADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* MOEDAS R/1373 ENTRADAS ON CHILD UPDATE RESTRICT */ if update(MOEDA_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA_COMPRA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA_COMPRA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #MOEDAS #não existe.'' goto error end end /* MOEDAS R/1372 ENTRADAS ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA select @nullcnt = count(*) from inserted where inserted.MOEDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #MOEDAS #não existe.'' goto error end end /* ENTRADAS_TIPO TIPO_ENTRADAS ENTRADAS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENTRADAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_TIPO where inserted.TIPO_ENTRADAS = ENTRADAS_TIPO.TIPO_ENTRADAS select @nullcnt = count(*) from inserted where inserted.TIPO_ENTRADAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #ENTRADAS_TIPO #não existe.'' goto error end end /* NATUREZAS_ENTRADAS NATUREZA_CONTABILIZAR ENTRADAS ON CHILD UPDATE RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* CONTAS_LANCAMENTOS LANC_CONTABIL ENTRADAS ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANCAMENTOS where inserted.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO select @nullcnt = count(*) from inserted where inserted.LANCAMENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #CONTAS_LANCAMENTOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR ENTRADAS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* COND_ENT_PGTOS COND_ENT_PGTOS ENTRADAS ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ENT_PGTOS where inserted.CONDICAO_PGTO = COND_ENT_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #COND_ENT_PGTOS #não existe.'' goto error end end /* FILIAIS FILIAIS ENTRADAS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #FILIAIS #não existe.'' goto error end end /* SERIES_NF SERIES_NF ENTRADAS ON CHILD UPDATE RESTRICT */ if update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SERIES_NF where inserted.SERIE_NF = SERIES_NF.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #SERIES_NF #não existe.'' goto error end end /* NATUREZAS_ENTRADAS NATUREZAS_ENTRADAS ENTRADAS ON CHILD UPDATE RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* ENTRADAS R/2146 ENTRADAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS2146 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS2146 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS2146 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_DESPESA SET ENTRADAS_DESPESA.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_DESPESA.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_DESPESA.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_DESPESA.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS2146 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS2146 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS2146 DEALLOCATE ENTRADAS29 END /* ENTRADAS R/1749 FATURAMENTO_TERCEIROS ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS1749 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS1749 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS1749 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_TERCEIROS SET FATURAMENTO_TERCEIROS.NOME_CLIFOR=@insNOME_CLIFOR, FATURAMENTO_TERCEIROS.NF_ENTRADA=@insNF_ENTRADA WHERE FATURAMENTO_TERCEIROS.NOME_CLIFOR = @delNOME_CLIFOR and FATURAMENTO_TERCEIROS.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS1749 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS1749 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS1749 DEALLOCATE ENTRADAS29 END /* ENTRADAS ENTRADAS ENTRADAS_CENTROS_CUSTO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS1324 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS1324 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS1324 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CENTROS_CUSTO SET ENTRADAS_CENTROS_CUSTO.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_CENTROS_CUSTO.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_CENTROS_CUSTO.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_CENTROS_CUSTO.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS1324 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS1324 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS1324 DEALLOCATE ENTRADAS29 END /* ENTRADAS ACERTO_A_RECEBER ENTRADA_DEVOLUCAO_ACERTO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS1044 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS1044 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS1044 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADA_DEVOLUCAO_ACERTO SET ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADA_DEVOLUCAO_ACERTO.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADA_DEVOLUCAO_ACERTO.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADA_DEVOLUCAO_ACERTO.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS1044 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS1044 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS1044 DEALLOCATE ENTRADAS29 END /* ENTRADAS ENTRADAS ENTRADAS_PRO_DEVOL ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS947 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS947 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS947 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRO_DEVOL SET ENTRADAS_PRO_DEVOL.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_PRO_DEVOL.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_PRO_DEVOL.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_PRO_DEVOL.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS947 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS947 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS947 DEALLOCATE ENTRADAS29 END /* ENTRADAS ENTRADAS ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS818 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS818 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS818 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_MATERIAL.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_MATERIAL.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_MATERIAL.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS818 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS818 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS818 DEALLOCATE ENTRADAS29 END /* ENTRADAS ENTRADAS ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS817 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS817 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS817 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_CONSUMO.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_CONSUMO.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_CONSUMO.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS817 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS817 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS817 DEALLOCATE ENTRADAS29 END /* ENTRADAS ENTRADAS ENTRADAS_PRODUTO ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) BEGIN DECLARE ENTRADAS816 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM INSERTED DECLARE ENTRADAS29 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA FROM DELETED OPEN ENTRADAS816 OPEN ENTRADAS29 FETCH NEXT FROM ENTRADAS816 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_PRODUTO SET ENTRADAS_PRODUTO.NOME_CLIFOR=@insNOME_CLIFOR, ENTRADAS_PRODUTO.NF_ENTRADA=@insNF_ENTRADA WHERE ENTRADAS_PRODUTO.NOME_CLIFOR = @delNOME_CLIFOR and ENTRADAS_PRODUTO.NF_ENTRADA = @delNF_ENTRADA FETCH NEXT FROM ENTRADAS816 INTO @insNOME_CLIFOR, @insNF_ENTRADA FETCH NEXT FROM ENTRADAS29 INTO @delNOME_CLIFOR, @delNF_ENTRADA END END CLOSE ENTRADAS816 CLOSE ENTRADAS29 DEALLOCATE ENTRADAS816 DEALLOCATE ENTRADAS29 END /* Linx --------------------------------------------------------------*/ IF UPDATE(FILIAL) BEGIN DECLARE cursor_estoque CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted ,ENTRADAS_PRODUTO WHERE Inserted.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted ,ENTRADAS_PRODUTO WHERE Deleted.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque END /* Linx --------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[NF_FATURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[FRETE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[SEGURO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[ACERTO_CONTAS_P_R]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[NF_PROPRIA_EMITIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IPI_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[ICMS_BASE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[ICMS_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[QTDE_TOTAL_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[VALOR_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[TRANSF_FILIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[NF_ENTRADA_PROPRIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[FRETE_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[VALOR_FRETE_TRANSPORTADORA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_IMPOSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_ALFANDEGA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_OUTRAS_DESPESAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_FRETE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_SEGURO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IMPORTACAO_DESEMBARACO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[ENTRADAS].[DATA_DIGITACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[VALOR_SOMENTE_CONTABIL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[VALOR_ADICIONAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[IPI_ADICIONAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[UTILIZA_DIAS_FIXOS_FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[VALOR_SUB_ITENS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[PORC_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[PORC_ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[PORC_RECARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[PORC_DESC_FINAN]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS].[COMISSAO_MEDIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_STATUS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_STATUS]( [STATUS_PRODUTO] [char](2) NOT NULL, [DESC_STATUS_PRODUTO] [varchar](40) NULL, [TIPO_STATUS_PRODUTO] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_STATUS] PRIMARY KEY NONCLUSTERED ( [STATUS_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_STAT fecha de la secuencia de comandos: Sep 17 2001 12:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_STAT] ON [PRODUTOS_STATUS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @ESTADO VARCHAR(2) DECLARE ESTADO CURSOR FOR SELECT STATUS_PRODUTO FROM DELETED OPEN ESTADO FETCH NEXT FROM ESTADO INTO @ESTADO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_STATUS_PRODUT FROM GF_PRODUTOS_STAT WHERE GF_STATUS_PRODUT=@ESTADO) DELETE FROM GF_PRODUTOS_STAT WHERE GF_STATUS_PRODUT=@ESTADO ELSE BEGIN FETCH NEXT FROM ESTADO INTO @ESTADO END FETCH NEXT FROM ESTADO INTO @ESTADO END CLOSE ESTADO DEALLOCATE ESTADO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFI_PRODUTOS_STAT] ON [PRODUTOS_STATUS] FOR INSERT NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_STAT'')) ) =1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @ESTADO VARCHAR(2) DECLARE ESTADO CURSOR FOR SELECT STATUS_PRODUTO FROM INSERTED OPEN ESTADO FETCH NEXT FROM ESTADO INTO @ESTADO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_STATUS_PRODUT FROM GF_PRODUTOS_STAT WHERE GF_STATUS_PRODUT=@ESTADO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUTOS_STAT (ID,GF_STATUS_PRODUT,GF_DESC_STATUS_P,GF_TIPO_STATUS_P,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,STATUS_PRODUTO,DESC_STATUS_PRODUTO, (SELECT TIPO FROM GF_PROD_TIPO_STA WHERE TIPO=(SELECT TIPO_STATUS_PRODUTO FROM INSERTED WHERE STATUS_PRODUTO=@ESTADO)), @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUTOS_STATUS A, GF_PRODUTOS_STATCNT B WHERE STATUS_PRODUTO=@ESTADO UPDATE GF_PRODUTOS_STATCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Estado de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM ESTADO INTO @ESTADO END FETCH NEXT FROM ESTADO INTO @ESTADO END CLOSE ESTADO DEALLOCATE ESTADO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_STAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_STAT fecha de la secuencia de comandos: Sep 17 2001 11:45AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_STAT] ON [PRODUTOS_STATUS] FOR UPDATE NOT FOR REPLICATION AS IF (( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_STAT'')) ) =1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_STAT'')) ) =1)) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_STAT'')) ) < 2 ) BEGIN DECLARE @ESTADOD VARCHAR(2) DECLARE @ESTADO VARCHAR(2) DECLARE ESTADOD CURSOR FOR SELECT STATUS_PRODUTO FROM DELETED DECLARE ESTADO CURSOR FOR SELECT STATUS_PRODUTO FROM INSERTED OPEN ESTADOD OPEN ESTADO FETCH NEXT FROM ESTADOD INTO @ESTADOD FETCH NEXT FROM ESTADO INTO @ESTADO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_STATUS_PRODUT FROM GF_PRODUTOS_STAT WHERE GF_STATUS_PRODUT=@ESTADOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_STAT SET GF_STATUS_PRODUT=@ESTADO, GF_DESC_STATUS_P=(SELECT DESC_STATUS_PRODUTO FROM INSERTED WHERE GF_STATUS_PRODUT=@ESTADO), GF_TIPO_STATUS_P=(SELECT ID FROM GF_PROD_TIPO_STA WHERE TIPO=(SELECT TIPO_STATUS_PRODUTO FROM INSERTED WHERE GF_STATUS_PRODUT=@ESTADO)), USERM=@USER, FECHAM=GETDATE() WHERE GF_STATUS_PRODUT=@ESTADOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Estado de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM ESTADOD INTO @ESTADOD FETCH NEXT FROM ESTADO INTO @ESTADO END FETCH NEXT FROM ESTADOD INTO @ESTADOD FETCH NEXT FROM ESTADO INTO @ESTADO END CLOSE ESTADOD DEALLOCATE ESTADOD CLOSE ESTADO DEALLOCATE ESTADO END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_STATUS] on [PRODUTOS_STATUS] for DELETE as /* DELETE trigger on PRODUTOS_STATUS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_STATUS R/1697 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.STATUS_PRODUTO = deleted.STATUS_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_STATUS #porque existem registros em #PRODUTOS#.'' goto error end /* PRODUTOS_STATUS R/1695 PRODUTOS_STATUS_LOG ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_STATUS_LOG where PRODUTOS_STATUS_LOG.STATUS_PRODUTO = deleted.STATUS_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_STATUS #porque existem registros em #PRODUTOS_STATUS_LOG#.'' goto error end /* PRODUTOS_STATUS R/1694 PRODUTOS_STATUS_LOG ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_STATUS_LOG where PRODUTOS_STATUS_LOG.STATUS_ANTIGO = deleted.STATUS_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_STATUS #porque existem registros em #PRODUTOS_STATUS_LOG#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_STATUS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_PRODUTOS_STATUS] on [PRODUTOS_STATUS] for UPDATE as /* UPDATE trigger on PRODUTOS_STATUS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSTATUS_PRODUTO char(2), @delSTATUS_PRODUTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_STATUS R/1697 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(STATUS_PRODUTO) BEGIN DECLARE PRODUTOS_STATUS1697 CURSOR FOR SELECT STATUS_PRODUTO FROM INSERTED DECLARE PRODUTOS_STATUS986 CURSOR FOR SELECT STATUS_PRODUTO FROM DELETED OPEN PRODUTOS_STATUS1697 OPEN PRODUTOS_STATUS986 FETCH NEXT FROM PRODUTOS_STATUS1697 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.STATUS_PRODUTO=@insSTATUS_PRODUTO WHERE PRODUTOS.STATUS_PRODUTO = @delSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS1697 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO END END CLOSE PRODUTOS_STATUS1697 CLOSE PRODUTOS_STATUS986 DEALLOCATE PRODUTOS_STATUS1697 DEALLOCATE PRODUTOS_STATUS986 END /* PRODUTOS_STATUS R/1695 PRODUTOS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(STATUS_PRODUTO) BEGIN DECLARE PRODUTOS_STATUS1695 CURSOR FOR SELECT STATUS_PRODUTO FROM INSERTED DECLARE PRODUTOS_STATUS986 CURSOR FOR SELECT STATUS_PRODUTO FROM DELETED OPEN PRODUTOS_STATUS1695 OPEN PRODUTOS_STATUS986 FETCH NEXT FROM PRODUTOS_STATUS1695 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_STATUS_LOG SET PRODUTOS_STATUS_LOG.STATUS_PRODUTO=@insSTATUS_PRODUTO WHERE PRODUTOS_STATUS_LOG.STATUS_PRODUTO = @delSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS1695 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO END END CLOSE PRODUTOS_STATUS1695 CLOSE PRODUTOS_STATUS986 DEALLOCATE PRODUTOS_STATUS1695 DEALLOCATE PRODUTOS_STATUS986 END /* PRODUTOS_STATUS R/1694 PRODUTOS_STATUS_LOG ON PARENT UPDATE CASCADE */ IF update(STATUS_PRODUTO) BEGIN DECLARE PRODUTOS_STATUS1694 CURSOR FOR SELECT STATUS_PRODUTO FROM INSERTED DECLARE PRODUTOS_STATUS986 CURSOR FOR SELECT STATUS_PRODUTO FROM DELETED OPEN PRODUTOS_STATUS1694 OPEN PRODUTOS_STATUS986 FETCH NEXT FROM PRODUTOS_STATUS1694 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_STATUS_LOG SET PRODUTOS_STATUS_LOG.STATUS_ANTIGO=@insSTATUS_PRODUTO WHERE PRODUTOS_STATUS_LOG.STATUS_ANTIGO = @delSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS1694 INTO @insSTATUS_PRODUTO FETCH NEXT FROM PRODUTOS_STATUS986 INTO @delSTATUS_PRODUTO END END CLOSE PRODUTOS_STATUS1694 CLOSE PRODUTOS_STATUS986 DEALLOCATE PRODUTOS_STATUS1694 DEALLOCATE PRODUTOS_STATUS986 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_STATUS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_STATUS, INSERTED WHERE PRODUTOS_STATUS.STATUS_PRODUTO = INSERTED.STATUS_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_STATUS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_STATUS].[TIPO_STATUS_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_STATUS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_SIMILARES_MOV]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_SIMILARES_MOV]( [SIMILAR] [int] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [TIPO_MOVIMENTO] [int] NOT NULL, [QTDE_MOVIMENTO] [numeric](14, 2) NULL, [A1] [numeric](14, 2) NULL, [A2] [numeric](14, 2) NULL, [A3] [numeric](14, 2) NULL, [A4] [numeric](14, 2) NULL, [A5] [numeric](14, 2) NULL, [A6] [numeric](14, 2) NULL, [A7] [numeric](14, 2) NULL, [A8] [numeric](14, 2) NULL, [A9] [numeric](14, 2) NULL, [A10] [numeric](14, 2) NULL, [A11] [numeric](14, 2) NULL, [A12] [numeric](14, 2) NULL, [A13] [numeric](14, 2) NULL, [A14] [numeric](14, 2) NULL, [A15] [numeric](14, 2) NULL, [A16] [numeric](14, 2) NULL, [A17] [numeric](14, 2) NULL, [A18] [numeric](14, 2) NULL, [A19] [numeric](14, 2) NULL, [A20] [numeric](14, 2) NULL, [A21] [numeric](14, 2) NULL, [A22] [numeric](14, 2) NULL, [A23] [numeric](14, 2) NULL, [A24] [numeric](14, 2) NULL, [A25] [numeric](14, 2) NULL, [A26] [numeric](14, 2) NULL, [A27] [numeric](14, 2) NULL, [A28] [numeric](14, 2) NULL, [A29] [numeric](14, 2) NULL, [A30] [numeric](14, 2) NULL, [A31] [numeric](14, 2) NULL, [A32] [numeric](14, 2) NULL, [A33] [numeric](14, 2) NULL, [A34] [numeric](14, 2) NULL, [A35] [numeric](14, 2) NULL, [A36] [numeric](14, 2) NULL, [A37] [numeric](14, 2) NULL, [A38] [numeric](14, 2) NULL, [A39] [numeric](14, 2) NULL, [A40] [numeric](14, 2) NULL, [A41] [numeric](14, 2) NULL, [A42] [numeric](14, 2) NULL, [A43] [numeric](14, 2) NULL, [A44] [numeric](14, 2) NULL, [A45] [numeric](14, 2) NULL, [A46] [numeric](14, 2) NULL, [A47] [numeric](14, 2) NULL, [A48] [numeric](14, 2) NULL, [COMENTARIO] [varchar](250) NULL, [RESPONSAVEL] [varchar](25) NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUTOS_SIMILARES_MOV] PRIMARY KEY NONCLUSTERED ( [SIMILAR] ASC, [FILIAL] ASC, [TIPO_MOVIMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_SIMILARES_MOV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_SIMILARES_MOV] on [PRODUTOS_SIMILARES_MOV] for INSERT as /* INSERT trigger on PRODUTOS_SIMILARES_MOV */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1425 PRODUTOS_SIMILARES_MOV ON CHILD INSERT RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_SIMILARES_MOV #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_SIMILARES_MOV]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_SIMILARES_MOV] on [PRODUTOS_SIMILARES_MOV] for UPDATE as /* UPDATE trigger on PRODUTOS_SIMILARES_MOV */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSIMILAR int, @insFILIAL varchar(25), @insTIPO_MOVIMENTO int, @delSIMILAR int, @delFILIAL varchar(25), @delTIPO_MOVIMENTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1425 PRODUTOS_SIMILARES_MOV ON CHILD UPDATE RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES_MOV #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[TIPO_MOVIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[QTDE_MOVIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_MOV].[A48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_SIMILARES_QTDE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_SIMILARES_QTDE]( [SIMILAR] [int] NOT NULL, [TIPO_QTDE] [int] NOT NULL, [QTDE_TOTAL] [numeric](14, 2) NULL, [Q1] [numeric](14, 2) NULL, [Q2] [numeric](14, 2) NULL, [Q3] [numeric](14, 2) NULL, [Q4] [numeric](14, 2) NULL, [Q5] [numeric](14, 2) NULL, [Q6] [numeric](14, 2) NULL, [Q7] [numeric](14, 2) NULL, [Q8] [numeric](14, 2) NULL, [Q9] [numeric](14, 2) NULL, [Q10] [numeric](14, 2) NULL, [Q11] [numeric](14, 2) NULL, [Q12] [numeric](14, 2) NULL, [Q13] [numeric](14, 2) NULL, [Q14] [numeric](14, 2) NULL, [Q15] [numeric](14, 2) NULL, [Q16] [numeric](14, 2) NULL, [Q17] [numeric](14, 2) NULL, [Q18] [numeric](14, 2) NULL, [Q19] [numeric](14, 2) NULL, [Q20] [numeric](14, 2) NULL, [Q21] [numeric](14, 2) NULL, [Q22] [numeric](14, 2) NULL, [Q23] [numeric](14, 2) NULL, [Q24] [numeric](14, 2) NULL, [Q25] [numeric](14, 2) NULL, [Q26] [numeric](14, 2) NULL, [Q27] [numeric](14, 2) NULL, [Q28] [numeric](14, 2) NULL, [Q29] [numeric](14, 2) NULL, [Q30] [numeric](14, 2) NULL, [Q31] [numeric](14, 2) NULL, [Q32] [numeric](14, 2) NULL, [Q33] [numeric](14, 2) NULL, [Q34] [numeric](14, 2) NULL, [Q35] [numeric](14, 2) NULL, [Q36] [numeric](14, 2) NULL, [Q37] [numeric](14, 2) NULL, [Q38] [numeric](14, 2) NULL, [Q39] [numeric](14, 2) NULL, [Q40] [numeric](14, 2) NULL, [Q41] [numeric](14, 2) NULL, [Q42] [numeric](14, 2) NULL, [Q43] [numeric](14, 2) NULL, [Q44] [numeric](14, 2) NULL, [Q45] [numeric](14, 2) NULL, [Q46] [numeric](14, 2) NULL, [Q47] [numeric](14, 2) NULL, [Q48] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUTOS_SIMILARES_QTDE] PRIMARY KEY NONCLUSTERED ( [SIMILAR] ASC, [TIPO_QTDE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_SIMILARES_QTDE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_SIMILARES_QTDE] on [PRODUTOS_SIMILARES_QTDE] for INSERT as /* INSERT trigger on PRODUTOS_SIMILARES_QTDE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1421 PRODUTOS_SIMILARES_QTDE ON CHILD INSERT RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_SIMILARES_QTDE #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_SIMILARES_QTDE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_SIMILARES_QTDE] on [PRODUTOS_SIMILARES_QTDE] for UPDATE as /* UPDATE trigger on PRODUTOS_SIMILARES_QTDE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSIMILAR int, @insTIPO_QTDE int, @delSIMILAR int, @delTIPO_QTDE int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_SIMILARES R/1421 PRODUTOS_SIMILARES_QTDE ON CHILD UPDATE RESTRICT */ if update(SIMILAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SIMILARES where inserted.SIMILAR = PRODUTOS_SIMILARES.SIMILAR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_SIMILARES_QTDE #porque #PRODUTOS_SIMILARES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[TIPO_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_SIMILARES_QTDE].[Q48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PRECO_COR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PRECO_COR]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_PRECO_COR] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [CODIGO_TAB_PRECO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_PRECO_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_PRECO_COR] on [PRODUTOS_PRECO_COR] for DELETE as /* DELETE trigger on PRODUTOS_PRECO_COR */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_PRECO_COR R/1627 PRODUTOS_PRECO_COR_LOG ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_COR_LOG from PRODUTOS_PRECO_COR_LOG,deleted where PRODUTOS_PRECO_COR_LOG.PRODUTO = deleted.PRODUTO and PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR_LOG.COR_PRODUTO = deleted.COR_PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PRECO_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PRECO_COR] on [PRODUTOS_PRECO_COR] for INSERT as /* INSERT trigger on PRODUTOS_PRECO_COR */ /* default body for LXI_PRODUTOS_PRECO_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCODIGO_TAB_PRECO char(2), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_PRECO_COR ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_COR #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUTOS_PRECOS PRODUTOS_PRECOS PRODUTOS_PRECO_COR ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECOS where inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECOS.CODIGO_TAB_PRECO and inserted.PRODUTO = PRODUTOS_PRECOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_COR #porque #PRODUTOS_PRECOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'')) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=0, CUSTO_REPOSICAO2=0, CUSTO_REPOSICAO3=0, CUSTO_REPOSICAO4=0, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND VARIA_PRECO_COR=1 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND VARIA_PRECO_COR=1 END IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'')) BEGIN UPDATE PRODUTOS SET PRECO_REPOSICAO_1=0, PRECO_REPOSICAO_2=0, PRECO_REPOSICAO_3=0, PRECO_REPOSICAO_4=0, PRECO_A_VISTA_REPOSICAO_1=0, PRECO_A_VISTA_REPOSICAO_2=0, PRECO_A_VISTA_REPOSICAO_3=0, PRECO_A_VISTA_REPOSICAO_4=0, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND VARIA_PRECO_COR=1 UPDATE PRODUTO_CORES SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND VARIA_PRECO_COR=1 END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PRECO_COR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_COR, INSERTED WHERE PRODUTOS_PRECO_COR.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PRECO_COR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PRECO_COR] on [PRODUTOS_PRECO_COR] for UPDATE as /* UPDATE trigger on PRODUTOS_PRECO_COR */ /* default body for LXU_PRODUTOS_PRECO_COR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCODIGO_TAB_PRECO char(2), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delCODIGO_TAB_PRECO char(2), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_PRECO_COR ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_COR #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUTOS_PRECOS PRODUTOS_PRECOS PRODUTOS_PRECO_COR ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) or update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECOS where inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECOS.CODIGO_TAB_PRECO and inserted.PRODUTO = PRODUTOS_PRECOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_COR #porque #PRODUTOS_PRECOS #não existe.'' goto error end end /* PRODUTOS_PRECO_COR R/1627 PRODUTOS_PRECO_COR_LOG ON PARENT UPDATE CASCADE */ IF update(PRODUTO) OR update(CODIGO_TAB_PRECO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUTOS_PRECO_COR1627 CURSOR FOR SELECT PRODUTO, CODIGO_TAB_PRECO, COR_PRODUTO FROM INSERTED DECLARE PRODUTOS_PRECO_COR506 CURSOR FOR SELECT PRODUTO, CODIGO_TAB_PRECO, COR_PRODUTO FROM DELETED OPEN PRODUTOS_PRECO_COR1627 OPEN PRODUTOS_PRECO_COR506 FETCH NEXT FROM PRODUTOS_PRECO_COR1627 INTO @insPRODUTO, @insCODIGO_TAB_PRECO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTOS_PRECO_COR506 INTO @delPRODUTO, @delCODIGO_TAB_PRECO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_COR_LOG SET PRODUTOS_PRECO_COR_LOG.PRODUTO=@insPRODUTO, PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO, PRODUTOS_PRECO_COR_LOG.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUTOS_PRECO_COR_LOG.PRODUTO = @delPRODUTO and PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO and PRODUTOS_PRECO_COR_LOG.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUTOS_PRECO_COR1627 INTO @insPRODUTO, @insCODIGO_TAB_PRECO, @insCOR_PRODUTO FETCH NEXT FROM PRODUTOS_PRECO_COR506 INTO @delPRODUTO, @delCODIGO_TAB_PRECO, @delCOR_PRODUTO END END CLOSE PRODUTOS_PRECO_COR1627 CLOSE PRODUTOS_PRECO_COR506 DEALLOCATE PRODUTOS_PRECO_COR1627 DEALLOCATE PRODUTOS_PRECO_COR506 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'')) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=0, CUSTO_REPOSICAO2=0, CUSTO_REPOSICAO3=0, CUSTO_REPOSICAO4=0, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND VARIA_PRECO_COR=1 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND VARIA_PRECO_COR=1 END IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'')) BEGIN UPDATE PRODUTOS SET PRECO_REPOSICAO_1=0, PRECO_REPOSICAO_2=0, PRECO_REPOSICAO_3=0, PRECO_REPOSICAO_4=0, PRECO_A_VISTA_REPOSICAO_1=0, PRECO_A_VISTA_REPOSICAO_2=0, PRECO_A_VISTA_REPOSICAO_3=0, PRECO_A_VISTA_REPOSICAO_4=0, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND VARIA_PRECO_COR=1 UPDATE PRODUTO_CORES SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND VARIA_PRECO_COR=1 END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PRECO_COR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_COR, INSERTED WHERE PRODUTOS_PRECO_COR.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PRECO_COR.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PRECO_COR].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_FORMAS_PGTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_FORMAS_PGTO]( [COD_FORMA_PGTO] [char](2) NOT NULL, [FORMA_PGTO] [varchar](40) NOT NULL, [DATA_CRIACAO] [datetime] NULL, [PERMITE_ALTERAR] [bit] NOT NULL, [ATIVAR_EM] [datetime] NULL, [DESATIVAR_EM] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, [VALOR_MINIMO] [numeric](14, 2) NULL, [VALOR_MAXIMO] [numeric](14, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [VENC_RELATIVO] [datetime] NULL, [DESCONTO_POR_ITEM] [int] NOT NULL, [PARCELAS_CARTAO_INICIAL] [smallint] NULL, CONSTRAINT [XPKLOJA_FORMAS_PGTO] PRIMARY KEY NONCLUSTERED ( [COD_FORMA_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_FORMAS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_FORMAS_PGTO] on [LOJA_FORMAS_PGTO] for DELETE as /* DELETE trigger on LOJA_FORMAS_PGTO */ begin declare @errno int, @errmsg varchar(255) /* LOJA_FORMAS_PGTO R/1249 LOJA_VENDA_PGTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PGTO where LOJA_VENDA_PGTO.COD_FORMA_PGTO = deleted.COD_FORMA_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_FORMAS_PGTO #porque existem registros em #LOJA_VENDA_PGTO#.'' goto error end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_OPERACOES_PGTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_OPERACOES_PGTOS where LOJA_OPERACOES_PGTOS.COD_FORMA_PGTO = deleted.COD_FORMA_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_FORMAS_PGTO #porque existem registros em #LOJA_OPERACOES_PGTOS#.'' goto error end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_FORMAS_PARCELAS ON PARENT DELETE CASCADE */ delete LOJA_FORMAS_PARCELAS from LOJA_FORMAS_PARCELAS,deleted where LOJA_FORMAS_PARCELAS.COD_FORMA_PGTO = deleted.COD_FORMA_PGTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_FORMAS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_FORMAS_PGTO] on [LOJA_FORMAS_PGTO] for INSERT as /* INSERT trigger on LOJA_FORMAS_PGTO */ /* default body for LXI_LOJA_FORMAS_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_FORMAS_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_FORMAS_PGTO, INSERTED WHERE LOJA_FORMAS_PGTO.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_FORMAS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_FORMAS_PGTO] on [LOJA_FORMAS_PGTO] for UPDATE as /* UPDATE trigger on LOJA_FORMAS_PGTO */ /* default body for LXU_LOJAS_FORMAS_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_FORMA_PGTO char(2), @delCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_FORMAS_PGTO R/1249 LOJA_VENDA_PGTO ON PARENT UPDATE CASCADE */ IF update(COD_FORMA_PGTO) BEGIN DECLARE LOJA_FORMAS_PGTO1249 CURSOR FOR SELECT COD_FORMA_PGTO FROM INSERTED DECLARE LOJA_FORMAS_PGTO233 CURSOR FOR SELECT COD_FORMA_PGTO FROM DELETED OPEN LOJA_FORMAS_PGTO1249 OPEN LOJA_FORMAS_PGTO233 FETCH NEXT FROM LOJA_FORMAS_PGTO1249 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PGTO SET LOJA_VENDA_PGTO.COD_FORMA_PGTO=@insCOD_FORMA_PGTO WHERE LOJA_VENDA_PGTO.COD_FORMA_PGTO = @delCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO1249 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO END END CLOSE LOJA_FORMAS_PGTO1249 CLOSE LOJA_FORMAS_PGTO233 DEALLOCATE LOJA_FORMAS_PGTO1249 DEALLOCATE LOJA_FORMAS_PGTO233 END /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_OPERACOES_PGTOS ON PARENT UPDATE CASCADE */ IF update(COD_FORMA_PGTO) BEGIN DECLARE LOJA_FORMAS_PGTO857 CURSOR FOR SELECT COD_FORMA_PGTO FROM INSERTED DECLARE LOJA_FORMAS_PGTO233 CURSOR FOR SELECT COD_FORMA_PGTO FROM DELETED OPEN LOJA_FORMAS_PGTO857 OPEN LOJA_FORMAS_PGTO233 FETCH NEXT FROM LOJA_FORMAS_PGTO857 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_OPERACOES_PGTOS SET LOJA_OPERACOES_PGTOS.COD_FORMA_PGTO=@insCOD_FORMA_PGTO WHERE LOJA_OPERACOES_PGTOS.COD_FORMA_PGTO = @delCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO857 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO END END CLOSE LOJA_FORMAS_PGTO857 CLOSE LOJA_FORMAS_PGTO233 DEALLOCATE LOJA_FORMAS_PGTO857 DEALLOCATE LOJA_FORMAS_PGTO233 END /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_FORMAS_PARCELAS ON PARENT UPDATE CASCADE */ IF update(COD_FORMA_PGTO) BEGIN DECLARE LOJA_FORMAS_PGTO491 CURSOR FOR SELECT COD_FORMA_PGTO FROM INSERTED DECLARE LOJA_FORMAS_PGTO233 CURSOR FOR SELECT COD_FORMA_PGTO FROM DELETED OPEN LOJA_FORMAS_PGTO491 OPEN LOJA_FORMAS_PGTO233 FETCH NEXT FROM LOJA_FORMAS_PGTO491 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_FORMAS_PARCELAS SET LOJA_FORMAS_PARCELAS.COD_FORMA_PGTO=@insCOD_FORMA_PGTO WHERE LOJA_FORMAS_PARCELAS.COD_FORMA_PGTO = @delCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO491 INTO @insCOD_FORMA_PGTO FETCH NEXT FROM LOJA_FORMAS_PGTO233 INTO @delCOD_FORMA_PGTO END END CLOSE LOJA_FORMAS_PGTO491 CLOSE LOJA_FORMAS_PGTO233 DEALLOCATE LOJA_FORMAS_PGTO491 DEALLOCATE LOJA_FORMAS_PGTO233 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_FORMAS_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_FORMAS_PGTO, INSERTED WHERE LOJA_FORMAS_PGTO.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_FORMAS_PGTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PGTO].[PERMITE_ALTERAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PGTO].[VALOR_MINIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PGTO].[VALOR_MAXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_FORMAS_PGTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PGTO].[DESCONTO_POR_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PGTO].[PARCELAS_CARTAO_INICIAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_FRANQUIA_GIRO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_FRANQUIA_GIRO]( [FRANQUIA] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [DATA_INICIAL] [smalldatetime] NOT NULL, [DATA_FINAL] [smalldatetime] NOT NULL, [ULTIMA_ATUALIZACAO] [datetime] NULL, [ESTOQUE] [int] NULL, [ESTOQUE_VALORIZADO] [numeric](14, 2) NULL, [ESTOQUE_VALORIZADO_MOEDA] [numeric](14, 2) NULL, [QTDE_SAIDA] [int] NULL, [QTDE_ENTRADA] [int] NULL, [VALOR_VENDA] [numeric](14, 2) NULL, [VALOR_VENDA_MOEDA] [numeric](14, 2) NULL, [QTDE_VENDA] [int] NULL, [TOTAL_DESCONTO] [numeric](14, 2) NULL, [TOTAL_DESCONTO_MOEDA] [numeric](14, 2) NULL, [VALOR_CUSTO] [numeric](14, 2) NULL, [VALOR_CUSTO_MOEDA] [numeric](14, 2) NULL, [VALOR_TROCA] [numeric](14, 2) NULL, [VALOR_TROCA_MOEDA] [numeric](14, 2) NULL, [QTDE_TROCA] [int] NULL, [TOTAL_DESCONTO_TROCA] [numeric](14, 2) NULL, [TOTAL_DESCONTO_TROCA_MOEDA] [numeric](14, 2) NULL, [VALOR_CUSTO_TROCA] [numeric](14, 2) NULL, [VALOR_CUSTO_TROCA_MOEDA] [numeric](14, 2) NULL, [ULTIMA_ENTRADA] [smalldatetime] NULL, [ULTIMA_SAIDA] [smalldatetime] NULL, [TIPO_ICMS] [char](1) NULL, [MOEDA] [char](6) NOT NULL, [TIPO_PERIODO] [char](1) NULL, CONSTRAINT [XPKLOJA_FRANQUIA_GIRO] PRIMARY KEY NONCLUSTERED ( [FRANQUIA] ASC, [FILIAL] ASC, [PRODUTO] ASC, [DATA_INICIAL] ASC, [DATA_FINAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_FRANQUIA_GIRO]') AND name = N'XIE1LOJA_FRANQUIA_GIRO') CREATE NONCLUSTERED INDEX [XIE1LOJA_FRANQUIA_GIRO] ON [LOJA_FRANQUIA_GIRO] ( [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_FRANQUIA_GIRO]') AND name = N'XIE2LOJA_FRANQUIA_GIRO') CREATE NONCLUSTERED INDEX [XIE2LOJA_FRANQUIA_GIRO] ON [LOJA_FRANQUIA_GIRO] ( [DATA_INICIAL] ASC, [DATA_FINAL] ASC ) ON [PRIMARY] GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[ESTOQUE_VALORIZADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[ESTOQUE_VALORIZADO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_VENDA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[QTDE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[TOTAL_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[TOTAL_DESCONTO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_CUSTO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_TROCA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[QTDE_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[TOTAL_DESCONTO_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[TOTAL_DESCONTO_TROCA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_CUSTO_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_GIRO].[VALOR_CUSTO_TROCA_MOEDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CARTEIRAS_COBRANCA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CARTEIRAS_COBRANCA]( [CARTEIRA] [varchar](25) NOT NULL, [DESCONTADA] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCARTEIRAS_COBRANCA] PRIMARY KEY NONCLUSTERED ( [CARTEIRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CARTEIRAS_COBRANCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CARTEIRAS_COBRANCA] on [CARTEIRAS_COBRANCA] for DELETE as /* DELETE trigger on CARTEIRAS_COBRANCA */ begin declare @errno int, @errmsg varchar(255) /* CARTEIRAS_COBRANCA CARTEIRAS CONTAS_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANCAMENTOS where CONTAS_LANCAMENTOS.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #CONTAS_LANCAMENTOS#.'' goto error end /* CARTEIRAS_COBRANCA CARTEIRAS CONTRATOS_DESCONTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTRATOS_DESCONTO where CONTRATOS_DESCONTO.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #CONTRATOS_DESCONTO#.'' goto error end /* CARTEIRAS_COBRANCA R/1272 CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PARCELAS where A_RECEBER_PARCELAS.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #A_RECEBER_PARCELAS#.'' goto error end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_PAGAR_PARCELA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_PARCELA where A_PAGAR_PARCELA.CARTEIRA = deleted.CARTEIRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CARTEIRAS_COBRANCA #porque existem registros em #A_PAGAR_PARCELA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CARTEIRAS_COBRANCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CARTEIRAS_COBRANCA] on [CARTEIRAS_COBRANCA] for UPDATE as /* UPDATE trigger on CARTEIRAS_COBRANCA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCARTEIRA varchar(25), @delCARTEIRA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CARTEIRAS_COBRANCA CARTEIRAS CONTAS_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA1318 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA1318 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA1318 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANCAMENTOS SET CONTAS_LANCAMENTOS.CARTEIRA=@insCARTEIRA WHERE CONTAS_LANCAMENTOS.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA1318 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA1318 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA1318 DEALLOCATE CARTEIRAS_COBRANCA123 END /* CARTEIRAS_COBRANCA CARTEIRAS CONTRATOS_DESCONTO ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA1311 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA1311 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA1311 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTRATOS_DESCONTO SET CONTRATOS_DESCONTO.CARTEIRA=@insCARTEIRA WHERE CONTRATOS_DESCONTO.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA1311 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA1311 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA1311 DEALLOCATE CARTEIRAS_COBRANCA123 END /* CARTEIRAS_COBRANCA R/1272 CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA1272 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA1272 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA1272 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.CARTEIRA=@insCARTEIRA WHERE CADASTRO_CLI_FOR.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA1272 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA1272 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA1272 DEALLOCATE CARTEIRAS_COBRANCA123 END /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA399 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA399 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA399 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.CARTEIRA=@insCARTEIRA WHERE A_RECEBER_CHEQUES.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA399 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA399 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA399 DEALLOCATE CARTEIRAS_COBRANCA123 END /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA369 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA369 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA369 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PARCELAS SET A_RECEBER_PARCELAS.CARTEIRA=@insCARTEIRA WHERE A_RECEBER_PARCELAS.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA369 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA369 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA369 DEALLOCATE CARTEIRAS_COBRANCA123 END /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_PAGAR_PARCELA ON PARENT UPDATE CASCADE */ IF update(CARTEIRA) BEGIN DECLARE CARTEIRAS_COBRANCA149 CURSOR FOR SELECT CARTEIRA FROM INSERTED DECLARE CARTEIRAS_COBRANCA123 CURSOR FOR SELECT CARTEIRA FROM DELETED OPEN CARTEIRAS_COBRANCA149 OPEN CARTEIRAS_COBRANCA123 FETCH NEXT FROM CARTEIRAS_COBRANCA149 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_PARCELA SET A_PAGAR_PARCELA.CARTEIRA=@insCARTEIRA WHERE A_PAGAR_PARCELA.CARTEIRA = @delCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA149 INTO @insCARTEIRA FETCH NEXT FROM CARTEIRAS_COBRANCA123 INTO @delCARTEIRA END END CLOSE CARTEIRAS_COBRANCA149 CLOSE CARTEIRAS_COBRANCA123 DEALLOCATE CARTEIRAS_COBRANCA149 DEALLOCATE CARTEIRAS_COBRANCA123 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CARTEIRAS_COBRANCA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CARTEIRAS_COBRANCA, INSERTED WHERE CARTEIRAS_COBRANCA.CARTEIRA = INSERTED.CARTEIRA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CARTEIRAS_COBRANCA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CARTEIRAS_COBRANCA].[DESCONTADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CARTEIRAS_COBRANCA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PRECO_COR_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PRECO_COR_LOG]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [DATA_ATIVACAO] [datetime] NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DATA_DIGITACAO] [datetime] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PROCESSADO] [char](1) NOT NULL, CONSTRAINT [XPKPRODUTOS_PRECO_COR_LOG] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC, [PRODUTO] ASC, [DATA_ATIVACAO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_PRECO_COR_LOG]') AND name = N'XIE1PRODUTOS_PRECO_COR_LOG') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_PRECO_COR_LOG] ON [PRODUTOS_PRECO_COR_LOG] ( [DATA_ATIVACAO] ASC, [PROCESSADO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PRECO_COR_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PRECO_COR_LOG] on [PRODUTOS_PRECO_COR_LOG] for INSERT as /* INSERT trigger on PRODUTOS_PRECO_COR_LOG */ /* default body for LXI_PRODUTOS_PRECO_COR_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insPRODUTO char(12), @insDATA_ATIVACAO datetime, @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECOS_LOG R/1629 PRODUTOS_PRECO_COR_LOG ON CHILD INSERT RESTRICT */ if update(DATA_ATIVACAO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECOS_LOG where inserted.DATA_ATIVACAO = PRECOS_LOG.DATA_ATIVACAO and inserted.CODIGO_TAB_PRECO = PRECOS_LOG.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_COR_LOG #porque #PRECOS_LOG #não existe.'' goto error end end /* PRODUTOS_PRECO_COR R/1627 PRODUTOS_PRECO_COR_LOG ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(CODIGO_TAB_PRECO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECO_COR where inserted.PRODUTO = PRODUTOS_PRECO_COR.PRODUTO and inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO and inserted.COR_PRODUTO = PRODUTOS_PRECO_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECO_COR_LOG #porque #PRODUTOS_PRECO_COR #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PRECO_COR_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_COR_LOG, INSERTED WHERE PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR_LOG.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PRECO_COR_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRODUTOS_PRECO_COR_LOG.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PRECO_COR_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PRECO_COR_LOG] on [PRODUTOS_PRECO_COR_LOG] for UPDATE as /* UPDATE trigger on PRODUTOS_PRECO_COR_LOG */ /* default body for LXU_PRODUTOS_PRECO_COR_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insPRODUTO char(12), @insDATA_ATIVACAO datetime, @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECOS_LOG R/1629 PRODUTOS_PRECO_COR_LOG ON CHILD UPDATE RESTRICT */ if update(DATA_ATIVACAO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRECOS_LOG where inserted.DATA_ATIVACAO = PRECOS_LOG.DATA_ATIVACAO and inserted.CODIGO_TAB_PRECO = PRECOS_LOG.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_COR_LOG #porque #PRECOS_LOG #não existe.'' goto error end end /* PRODUTOS_PRECO_COR R/1627 PRODUTOS_PRECO_COR_LOG ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(CODIGO_TAB_PRECO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PRECO_COR where inserted.PRODUTO = PRODUTOS_PRECO_COR.PRODUTO and inserted.CODIGO_TAB_PRECO = PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO and inserted.COR_PRODUTO = PRODUTOS_PRECO_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECO_COR_LOG #porque #PRODUTOS_PRECO_COR #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PRECO_COR_LOG SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECO_COR_LOG, INSERTED WHERE PRODUTOS_PRECO_COR_LOG.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR_LOG.PRODUTO = INSERTED.PRODUTO and PRODUTOS_PRECO_COR_LOG.DATA_ATIVACAO = INSERTED.DATA_ATIVACAO and PRODUTOS_PRECO_COR_LOG.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PRECO_COR_LOG.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR_LOG].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR_LOG].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR_LOG].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECO_COR_LOG].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PRECO_COR_LOG].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_FRANQUIA_ESTOQUE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_FRANQUIA_ESTOQUE]( [FRANQUIA] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ULTIMA_ATUALIZACAO] [datetime] NULL, [CUSTO_MEDIO1] [numeric](14, 2) NULL, [CUSTO_MEDIO2] [numeric](14, 2) NULL, [CUSTO_MEDIO3] [numeric](14, 2) NULL, [CUSTO_MEDIO4] [numeric](14, 2) NULL, [ULTIMO_CUSTO1] [numeric](14, 2) NULL, [ULTIMO_CUSTO2] [numeric](14, 2) NULL, [ULTIMO_CUSTO3] [numeric](14, 2) NULL, [ULTIMO_CUSTO4] [numeric](14, 2) NULL, [DATA_CUSTO_MEDIO] [datetime] NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ULTIMA_SAIDA] [datetime] NULL, [ULTIMA_ENTRADA] [datetime] NULL, [ESTOQUE] [int] NULL, [ES1] [int] NULL, [ES2] [int] NULL, [ES3] [int] NULL, [ES4] [int] NULL, [ES5] [int] NULL, [ES6] [int] NULL, [ES7] [int] NULL, [ES8] [int] NULL, [ES9] [int] NULL, [ES10] [int] NULL, [ES11] [int] NULL, [ES12] [int] NULL, [ES13] [int] NULL, [ES14] [int] NULL, [ES15] [int] NULL, [ES16] [int] NULL, [ES17] [int] NULL, [ES18] [int] NULL, [ES19] [int] NULL, [ES20] [int] NULL, [ES21] [int] NULL, [ES22] [int] NULL, [ES23] [int] NULL, [ES24] [int] NULL, [ES25] [int] NULL, [ES26] [int] NULL, [ES27] [int] NULL, [ES28] [int] NULL, [ES29] [int] NULL, [ES30] [int] NULL, [ES31] [int] NULL, [ES32] [int] NULL, [ES33] [int] NULL, [ES34] [int] NULL, [ES35] [int] NULL, [ES36] [int] NULL, [ES37] [int] NULL, [ES38] [int] NULL, [ES39] [int] NULL, [ES40] [int] NULL, [ES41] [int] NULL, [ES42] [int] NULL, [ES43] [int] NULL, [ES44] [int] NULL, [ES45] [int] NULL, [ES46] [int] NULL, [ES47] [int] NULL, [ES48] [int] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKLOJA_FRANQUIA_ESTOQUE] PRIMARY KEY NONCLUSTERED ( [FRANQUIA] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[CUSTO_MEDIO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[CUSTO_MEDIO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[CUSTO_MEDIO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[CUSTO_MEDIO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ULTIMO_CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ULTIMO_CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ULTIMO_CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ULTIMO_CUSTO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_ESTOQUE].[ES48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PACKS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PACKS]( [PACK] [char](2) NOT NULL, [GRADE] [varchar](25) NOT NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [QTDE] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_PACKS] PRIMARY KEY NONCLUSTERED ( [PACK] ASC, [GRADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PACKS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PACKS] on [PRODUTOS_PACKS] for INSERT as /* INSERT trigger on PRODUTOS_PACKS */ /* default body for LXI_PRODUTOS_PACKS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPACK char(2), @insGRADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHO PRODUTOS_PACKS ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PACKS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PACKS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PACKS, INSERTED WHERE PRODUTOS_PACKS.PACK = INSERTED.PACK and PRODUTOS_PACKS.GRADE = INSERTED.GRADE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PACKS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PACKS] on [PRODUTOS_PACKS] for UPDATE as /* UPDATE trigger on PRODUTOS_PACKS */ /* default body for LXU_PRODUTOS_PACKS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPACK char(2), @insGRADE varchar(25), @delPACK char(2), @delGRADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAMANHOS PRODUTOS_TAMANHO PRODUTOS_PACKS ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PACKS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PACKS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PACKS, INSERTED WHERE PRODUTOS_PACKS.PACK = INSERTED.PACK and PRODUTOS_PACKS.GRADE = INSERTED.GRADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PACKS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[Q48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PACKS].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PACKS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_FORMAS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_FORMAS_PARCELAS]( [PARCELA] [char](2) NOT NULL, [COD_FORMA_PGTO] [char](2) NOT NULL, [TIPO_PGTO] [char](1) NOT NULL, [DIAS_VENCIMENTO] [int] NULL, [PORCENTAGEM] [real] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_FORMAS_PARCELAS] PRIMARY KEY NONCLUSTERED ( [PARCELA] ASC, [COD_FORMA_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_FORMAS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_FORMAS_PARCELAS] on [LOJA_FORMAS_PARCELAS] for INSERT as /* INSERT trigger on LOJA_FORMAS_PARCELAS */ /* default body for LXI_LOJA_FORMAS_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPARCELA char(2), @insCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_PGTO TIPOS_TITULO LOJA_FORMAS_PARCELAS ON CHILD INSERT RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_FORMAS_PARCELAS #porque #TIPOS_PGTO #não existe.'' goto error end end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_FORMAS_PARCELAS ON CHILD INSERT RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_FORMAS_PARCELAS #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_FORMAS_PARCELAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_FORMAS_PARCELAS, INSERTED WHERE LOJA_FORMAS_PARCELAS.PARCELA = INSERTED.PARCELA and LOJA_FORMAS_PARCELAS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_FORMAS_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_FORMAS_PARCELAS] on [LOJA_FORMAS_PARCELAS] for UPDATE as /* UPDATE trigger on LOJA_FORMAS_PARCELAS */ /* default body for LXU_LOJA_FORMAS_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPARCELA char(2), @insCOD_FORMA_PGTO char(2), @delPARCELA char(2), @delCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_PGTO TIPOS_TITULO LOJA_FORMAS_PARCELAS ON CHILD UPDATE RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_FORMAS_PARCELAS #porque #TIPOS_PGTO #não existe.'' goto error end end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_FORMAS_PARCELAS ON CHILD UPDATE RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_FORMAS_PARCELAS #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_FORMAS_PARCELAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_FORMAS_PARCELAS, INSERTED WHERE LOJA_FORMAS_PARCELAS.PARCELA = INSERTED.PARCELA and LOJA_FORMAS_PARCELAS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_FORMAS_PARCELAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PARCELAS].[DIAS_VENCIMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FORMAS_PARCELAS].[PORCENTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_FORMAS_PARCELAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_ENTRADAS_PRODUTO]( [FILIAL] [varchar](25) NOT NULL, [ROMANEIO_PRODUTO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [VALOR] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO1] [numeric](14, 2) NULL, [QTDE_ENTRADA] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COR_SORTIDA_TROCADA] [char](10) NULL, [PEDIDO_COMPRA] [varchar](8) NULL, [PEDIDO] [varchar](8) NULL, CONSTRAINT [XPKLOJA_ENTRADAS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [ROMANEIO_PRODUTO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_PRODUTO]') AND name = N'XIE1LOJA_ENTRADAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1LOJA_ENTRADAS_PRODUTO] ON [LOJA_ENTRADAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_PRODUTO]') AND name = N'XIE2LOJA_ENTRADAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2LOJA_ENTRADAS_PRODUTO] ON [LOJA_ENTRADAS_PRODUTO] ( [FILIAL] ASC, [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_PRODUTO]') AND name = N'XIE3LOJA_ENTRADAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE3LOJA_ENTRADAS_PRODUTO] ON [LOJA_ENTRADAS_PRODUTO] ( [FILIAL] ASC, [PRODUTO] ASC, [ROMANEIO_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_ENTRADAS_PRODUTO] on [LOJA_ENTRADAS_PRODUTO] for DELETE as /* DELETE trigger on LOJA_ENTRADAS_PRODUTO */ /* default body for LXD_LOJA_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, LOJA_ENTRADAS WHERE Deleted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND Deleted.FILIAL = LOJA_ENTRADAS.FILIAL AND LOJA_ENTRADAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, LOJA_ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND LOJA_ENTRADAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_LOJA_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_ENTRADAS_PRODUTO DEALLOCATE cur_LOJA_ENTRADAS_PRODUTO /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_ENTRADAS_PRODUTO] on [LOJA_ENTRADAS_PRODUTO] for INSERT as /* INSERT trigger on LOJA_ENTRADAS_PRODUTO */ /* default body for LXI_LOJA_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, LOJA_ENTRADAS WHERE Inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND Inserted.FILIAL = LOJA_ENTRADAS.FILIAL AND LOJA_ENTRADAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, LOJA_ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND LOJA_ENTRADAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1173 LOJA_ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_ENTRADAS R/1172 LOJA_ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_ENTRADAS where inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_ENTRADAS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS_PRODUTO #porque #LOJA_ENTRADAS #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_LOJA_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_ENTRADAS_PRODUTO DEALLOCATE cur_LOJA_ENTRADAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX- ATUALIZA CUSTO PA -----------------------------------------------------------------------------*/ IF (SELECT CONVERT(INT,VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''ENTRADA_ATUALIZA_CUSTO_PA'') IN (1,3) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 AND VARIA_CUSTO_COR=0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 AND VARIA_CUSTO_COR=1 END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_ENTRADAS_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_PRODUTO, INSERTED WHERE LOJA_ENTRADAS_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_ENTRADAS_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ CREATE trigger [LXU_LOJA_ENTRADAS_PRODUTO] on [LOJA_ENTRADAS_PRODUTO] for UPDATE as /* UPDATE trigger on LOJA_ENTRADAS_PRODUTO */ /* default body for LXU_LOJA_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delFILIAL varchar(25), @delROMANEIO_PRODUTO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, LOJA_ENTRADAS WHERE Deleted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND Deleted.FILIAL = LOJA_ENTRADAS.FILIAL AND LOJA_ENTRADAS.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, LOJA_ENTRADAS WHERE Inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND Inserted.FILIAL = LOJA_ENTRADAS.FILIAL AND LOJA_ENTRADAS.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, LOJA_ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND DELETED.FILIAL = LOJA_ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND LOJA_ENTRADAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, LOJA_ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO AND INSERTED.FILIAL = LOJA_ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND LOJA_ENTRADAS.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1173 LOJA_ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_ENTRADAS R/1172 LOJA_ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_ENTRADAS where inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_ENTRADAS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS_PRODUTO #porque #LOJA_ENTRADAS #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_LOJA_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_LOJA_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_LOJA_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_LOJA_ENTRADAS_PRODUTO DEALLOCATE cur_LOJA_ENTRADAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX- ATUALIZA CUSTO PA -----------------------------------------------------------------------------*/ IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND (SELECT CONVERT(INT,VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''ENTRADA_ATUALIZA_CUSTO_PA'') IN (1,3) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 AND VARIA_CUSTO_COR=0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES, LOJA_ENTRADAS WHERE PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND PRODUTO_CORES.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.FILIAL=LOJA_ENTRADAS.FILIAL AND INSERTED.ROMANEIO_PRODUTO=LOJA_ENTRADAS.ROMANEIO_PRODUTO AND LOJA_ENTRADAS.ENTRADA_POR=2 AND VARIA_CUSTO_COR=1 END /*-----------------------------------------------------------------------------------------------------*/ /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT DISTINCT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''',''LXU_LOJA_ENTRADAS_PRODUTO'' FROM INSERTED A JOIN LOJA_ENTRADAS B ON A.FILIAL=B.FILIAL AND A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS_DIF C ON C.FILIAL=B.FILIAL AND C.FILIAL_ORIGEM=B.FILIAL_ORIGEM AND (C.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO OR C.NUMERO_NF_TRANSFERENCIA=B.NUMERO_NF_TRANSFERENCIA) LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL AND (B.STATUS_TRANSITO<4 OR B.STATUS_TRANSITO IS NULL) /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_ENTRADAS_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_PRODUTO, INSERTED WHERE LOJA_ENTRADAS_PRODUTO.FILIAL = INSERTED.FILIAL and LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO.PRODUTO = INSERTED.PRODUTO and LOJA_ENTRADAS_PRODUTO.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_ENTRADAS_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_ENTRADAS_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_ENTRADAS_PRODUTO_DIF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_ENTRADAS_PRODUTO_DIF]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_ENTRADA] [int] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COR_SORTIDA_TROCADA] [char](10) NULL, [PEDIDO_COMPRA] [varchar](8) NULL, [PEDIDO] [varchar](8) NULL, CONSTRAINT [XPKLOJA_ENTRADAS_PRODUTO_DIF] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_ENTRADAS_PRODUTO_DIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_ENTRADAS_PRODUTO_DIF] on [LOJA_ENTRADAS_PRODUTO_DIF] for INSERT as /* INSERT trigger on LOJA_ENTRADAS_PRODUTO_DIF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_ENTRADAS_DIF R/1722 LOJA_ENTRADAS_PRODUTO_DIF ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_ENTRADAS_DIF where inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS_DIF.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_ENTRADAS_DIF.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_ENTRADAS_PRODUTO_DIF #porque #LOJA_ENTRADAS_DIF #não existe.'' goto error end end /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''',''LXI_LOJA_ENTRADAS_PRODUTO_DIF'' FROM INSERTED A LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_ENTRADAS_PRODUTO_DIF SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_PRODUTO_DIF, INSERTED WHERE LOJA_ENTRADAS_PRODUTO_DIF.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.FILIAL = INSERTED.FILIAL and LOJA_ENTRADAS_PRODUTO_DIF.PRODUTO = INSERTED.PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.COR_PRODUTO = INSERTED.COR_PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_ENTRADAS_PRODUTO_DIF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_ENTRADAS_PRODUTO_DIF] on [LOJA_ENTRADAS_PRODUTO_DIF] for UPDATE as /* UPDATE trigger on LOJA_ENTRADAS_PRODUTO_DIF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_ENTRADAS_DIF R/1722 LOJA_ENTRADAS_PRODUTO_DIF ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_ENTRADAS_DIF where inserted.ROMANEIO_PRODUTO = LOJA_ENTRADAS_DIF.ROMANEIO_PRODUTO and inserted.FILIAL = LOJA_ENTRADAS_DIF.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_ENTRADAS_PRODUTO_DIF #porque #LOJA_ENTRADAS_DIF #não existe.'' goto error end end /*--- VERIFICA TRANSITO -------------------------------------------------------------------------------*/ INSERT INTO LX_PROCESSO_LOG (PROCESSO,COMANDO,ORIGEM) SELECT ''LX_VERIFICA_TRANSITO'', ''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''',''LXU_LOJA_ENTRADAS_PRODUTO_DIF'' FROM INSERTED A JOIN LOJA_ENTRADAS_DIF B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO LEFT JOIN LX_PROCESSO_LOG L ON L.COMANDO=''LX_VERIFICA_TRANSITO @ROMANEIO_PRODUTO=''''''+RTRIM(A.ROMANEIO_PRODUTO)+'''''', @FILIAL=''''''+RTRIM(A.FILIAL)+'''''''' AND L.STATUS=0 WHERE L.COMANDO IS NULL AND (B.STATUS_TRANSITO=0 OR B.STATUS_TRANSITO IS NULL) /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_ENTRADAS_PRODUTO_DIF SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_ENTRADAS_PRODUTO_DIF, INSERTED WHERE LOJA_ENTRADAS_PRODUTO_DIF.ROMANEIO_PRODUTO = INSERTED.ROMANEIO_PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.FILIAL = INSERTED.FILIAL and LOJA_ENTRADAS_PRODUTO_DIF.PRODUTO = INSERTED.PRODUTO and LOJA_ENTRADAS_PRODUTO_DIF.COR_PRODUTO = INSERTED.COR_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_ENTRADAS_PRODUTO_DIF.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[EN48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_ENTRADAS_PRODUTO_DIF].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_OPERACOES_VENDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_OPERACOES_VENDA]( [OPERACAO_VENDA] [char](3) NOT NULL, [DESC_OPERACAO_VENDA] [varchar](50) NULL, [CADASTRA_CLIENTE] [bit] NOT NULL, [DESCONTO_OPERACAO] [numeric](5, 2) NULL, [DESCONTO_POR_ITEM] [numeric](5, 2) NULL, [LIMITE_DESCONTO] [numeric](5, 2) NULL, [USA_TABELA_PADRAO] [bit] NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [ALTERA_TABELA] [bit] NOT NULL, [ALTERA_PRECO] [bit] NOT NULL, [ALTERA_DESCONTO] [bit] NOT NULL, [PORCENTAGEM_ABATER_COMISSAO] [numeric](5, 2) NULL, [PGTOS_EM_ABERTO] [bit] NOT NULL, [OPERACAO_INATIVA] [bit] NOT NULL, [DATA_ATIVACAO] [datetime] NULL, [DATA_DESATIVACAO] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_OPERACOES_VENDA] PRIMARY KEY NONCLUSTERED ( [OPERACAO_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_OPERACOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_OPERACOES_VENDA] on [LOJA_OPERACOES_VENDA] for DELETE as /* DELETE trigger on LOJA_OPERACOES_VENDA */ begin declare @errno int, @errmsg varchar(255) /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_OPERACOES_PGTOS ON PARENT DELETE CASCADE */ delete LOJA_OPERACOES_PGTOS from LOJA_OPERACOES_PGTOS,deleted where LOJA_OPERACOES_PGTOS.OPERACAO_VENDA = deleted.OPERACAO_VENDA /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.OPERACAO_VENDA = deleted.OPERACAO_VENDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_OPERACOES_VENDA #porque existem registros em #LOJA_VENDA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_OPERACOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_OPERACOES_VENDA] on [LOJA_OPERACOES_VENDA] for INSERT as /* INSERT trigger on LOJA_OPERACOES_VENDA */ /* default body for LXI_LOJA_OPERACOES_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO_VENDA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO TABELAS_PRECO LOJA_OPERACOES_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_OPERACOES_VENDA #porque #TABELAS_PRECO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_OPERACOES_VENDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_OPERACOES_VENDA, INSERTED WHERE LOJA_OPERACOES_VENDA.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_OPERACOES_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_OPERACOES_VENDA] on [LOJA_OPERACOES_VENDA] for UPDATE as /* UPDATE trigger on LOJA_OPERACOES_VENDA */ /* default body for LXU_LOJA_OPERACOES_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO_VENDA char(3), @delOPERACAO_VENDA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO TABELAS_PRECO LOJA_OPERACOES_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_OPERACOES_VENDA #porque #TABELAS_PRECO #não existe.'' goto error end end /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_OPERACOES_PGTOS ON PARENT UPDATE CASCADE */ IF update(OPERACAO_VENDA) BEGIN DECLARE LOJA_OPERACOES_VENDA858 CURSOR FOR SELECT OPERACAO_VENDA FROM INSERTED DECLARE LOJA_OPERACOES_VENDA534 CURSOR FOR SELECT OPERACAO_VENDA FROM DELETED OPEN LOJA_OPERACOES_VENDA858 OPEN LOJA_OPERACOES_VENDA534 FETCH NEXT FROM LOJA_OPERACOES_VENDA858 INTO @insOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA534 INTO @delOPERACAO_VENDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_OPERACOES_PGTOS SET LOJA_OPERACOES_PGTOS.OPERACAO_VENDA=@insOPERACAO_VENDA WHERE LOJA_OPERACOES_PGTOS.OPERACAO_VENDA = @delOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA858 INTO @insOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA534 INTO @delOPERACAO_VENDA END END CLOSE LOJA_OPERACOES_VENDA858 CLOSE LOJA_OPERACOES_VENDA534 DEALLOCATE LOJA_OPERACOES_VENDA858 DEALLOCATE LOJA_OPERACOES_VENDA534 END /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(OPERACAO_VENDA) BEGIN DECLARE LOJA_OPERACOES_VENDA779 CURSOR FOR SELECT OPERACAO_VENDA FROM INSERTED DECLARE LOJA_OPERACOES_VENDA534 CURSOR FOR SELECT OPERACAO_VENDA FROM DELETED OPEN LOJA_OPERACOES_VENDA779 OPEN LOJA_OPERACOES_VENDA534 FETCH NEXT FROM LOJA_OPERACOES_VENDA779 INTO @insOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA534 INTO @delOPERACAO_VENDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.OPERACAO_VENDA=@insOPERACAO_VENDA WHERE LOJA_VENDA.OPERACAO_VENDA = @delOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA779 INTO @insOPERACAO_VENDA FETCH NEXT FROM LOJA_OPERACOES_VENDA534 INTO @delOPERACAO_VENDA END END CLOSE LOJA_OPERACOES_VENDA779 CLOSE LOJA_OPERACOES_VENDA534 DEALLOCATE LOJA_OPERACOES_VENDA779 DEALLOCATE LOJA_OPERACOES_VENDA534 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_OPERACOES_VENDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_OPERACOES_VENDA, INSERTED WHERE LOJA_OPERACOES_VENDA.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_OPERACOES_VENDA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[CADASTRA_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[USA_TABELA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[ALTERA_TABELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[ALTERA_PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[ALTERA_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[PORCENTAGEM_ABATER_COMISSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[PGTOS_EM_ABERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_VENDA].[OPERACAO_INATIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_OPERACOES_VENDA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_ATAC_PONT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_ATAC_PONT]( [PONTUALIDADE] [varchar](25) NOT NULL, [PESO_PONTUALIDADE] [int] NULL, [MAIOR_ATRASO] [int] NULL, [FREQUENCIA] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_ATAC_PONT] PRIMARY KEY NONCLUSTERED ( [PONTUALIDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_ATAC_PONT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_ATAC_PONT] on [CLIENTE_ATAC_PONT] for DELETE as /* DELETE trigger on CLIENTE_ATAC_PONT */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_ATAC_PONT CLIENTE_ATAC_PONT CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.PONTUALIDADE = deleted.PONTUALIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_ATAC_PONT #porque existem registros em #CLIENTES_ATACADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_ATAC_PONT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_ATAC_PONT] on [CLIENTE_ATAC_PONT] for UPDATE as /* UPDATE trigger on CLIENTE_ATAC_PONT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPONTUALIDADE varchar(25), @delPONTUALIDADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_ATAC_PONT CLIENTE_ATAC_PONT CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(PONTUALIDADE) BEGIN DECLARE CLIENTE_ATAC_PONT546 CURSOR FOR SELECT PONTUALIDADE FROM INSERTED DECLARE CLIENTE_ATAC_PONT248 CURSOR FOR SELECT PONTUALIDADE FROM DELETED OPEN CLIENTE_ATAC_PONT546 OPEN CLIENTE_ATAC_PONT248 FETCH NEXT FROM CLIENTE_ATAC_PONT546 INTO @insPONTUALIDADE FETCH NEXT FROM CLIENTE_ATAC_PONT248 INTO @delPONTUALIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.PONTUALIDADE=@insPONTUALIDADE WHERE CLIENTES_ATACADO.PONTUALIDADE = @delPONTUALIDADE FETCH NEXT FROM CLIENTE_ATAC_PONT546 INTO @insPONTUALIDADE FETCH NEXT FROM CLIENTE_ATAC_PONT248 INTO @delPONTUALIDADE END END CLOSE CLIENTE_ATAC_PONT546 CLOSE CLIENTE_ATAC_PONT248 DEALLOCATE CLIENTE_ATAC_PONT546 DEALLOCATE CLIENTE_ATAC_PONT248 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_ATAC_PONT SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_ATAC_PONT, INSERTED WHERE CLIENTE_ATAC_PONT.PONTUALIDADE = INSERTED.PONTUALIDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_ATAC_PONT.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_PONT].[PESO_PONTUALIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_PONT].[MAIOR_ATRASO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_PONT].[FREQUENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_ATAC_PONT].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_ATAC_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_ATAC_TIPOS]( [TIPO] [varchar](25) NOT NULL, [PESO_DO_TIPO] [int] NULL, [DESCONTO_MARGEM_CONTRIBUICAO] [numeric](6, 3) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_ATAC_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_ATAC_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_ATAC_TIPOS] on [CLIENTE_ATAC_TIPOS] for DELETE as /* DELETE trigger on CLIENTE_ATAC_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_ATAC_TIPOS CLIENTE_ATAC_TIPOS CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_ATAC_TIPOS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_ATAC_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_ATAC_TIPOS] on [CLIENTE_ATAC_TIPOS] for UPDATE as /* UPDATE trigger on CLIENTE_ATAC_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_ATAC_TIPOS CLIENTE_ATAC_TIPOS CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE CLIENTE_ATAC_TIPOS157 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE CLIENTE_ATAC_TIPOS124 CURSOR FOR SELECT TIPO FROM DELETED OPEN CLIENTE_ATAC_TIPOS157 OPEN CLIENTE_ATAC_TIPOS124 FETCH NEXT FROM CLIENTE_ATAC_TIPOS157 INTO @insTIPO FETCH NEXT FROM CLIENTE_ATAC_TIPOS124 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.TIPO=@insTIPO WHERE CLIENTES_ATACADO.TIPO = @delTIPO FETCH NEXT FROM CLIENTE_ATAC_TIPOS157 INTO @insTIPO FETCH NEXT FROM CLIENTE_ATAC_TIPOS124 INTO @delTIPO END END CLOSE CLIENTE_ATAC_TIPOS157 CLOSE CLIENTE_ATAC_TIPOS124 DEALLOCATE CLIENTE_ATAC_TIPOS157 DEALLOCATE CLIENTE_ATAC_TIPOS124 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_ATAC_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_ATAC_TIPOS, INSERTED WHERE CLIENTE_ATAC_TIPOS.TIPO = INSERTED.TIPO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_ATAC_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_TIPOS].[PESO_DO_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_TIPOS].[DESCONTO_MARGEM_CONTRIBUICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_ATAC_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_CONCEITOS]( [CONCEITO] [varchar](25) NOT NULL, [PESO_DO_CONCEITO] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_CONCEITOS] PRIMARY KEY NONCLUSTERED ( [CONCEITO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_CONCEITOS] on [CLIENTE_CONCEITOS] for DELETE as /* DELETE trigger on CLIENTE_CONCEITOS */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_CONCEITOS CLIENTE_CONCEITOS CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CONCEITO = deleted.CONCEITO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_CONCEITOS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_CONCEITOS] on [CLIENTE_CONCEITOS] for UPDATE as /* UPDATE trigger on CLIENTE_CONCEITOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONCEITO varchar(25), @delCONCEITO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_CONCEITOS CLIENTE_CONCEITOS CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CONCEITO) BEGIN DECLARE CLIENTE_CONCEITOS39 CURSOR FOR SELECT CONCEITO FROM INSERTED DECLARE CLIENTE_CONCEITOS40 CURSOR FOR SELECT CONCEITO FROM DELETED OPEN CLIENTE_CONCEITOS39 OPEN CLIENTE_CONCEITOS40 FETCH NEXT FROM CLIENTE_CONCEITOS39 INTO @insCONCEITO FETCH NEXT FROM CLIENTE_CONCEITOS40 INTO @delCONCEITO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.CONCEITO=@insCONCEITO WHERE CLIENTES_ATACADO.CONCEITO = @delCONCEITO FETCH NEXT FROM CLIENTE_CONCEITOS39 INTO @insCONCEITO FETCH NEXT FROM CLIENTE_CONCEITOS40 INTO @delCONCEITO END END CLOSE CLIENTE_CONCEITOS39 CLOSE CLIENTE_CONCEITOS40 DEALLOCATE CLIENTE_CONCEITOS39 DEALLOCATE CLIENTE_CONCEITOS40 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_CONCEITOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_CONCEITOS, INSERTED WHERE CLIENTE_CONCEITOS.CONCEITO = INSERTED.CONCEITO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_CONCEITOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_CONCEITOS].[PESO_DO_CONCEITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_CONCEITOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_PGTO_CLIENTE_QUITADOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_PGTO_CLIENTE_QUITADOS]( [CHEQUE_CARTAO_QUITADO] [varchar](35) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [TERMINAL] [char](3) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [CHEQUE_CARTAO] [varchar](35) NOT NULL, [VALOR_PAGO] [numeric](14, 2) NULL, [DOCUMENTO] [varchar](12) NULL, [PARCELAMENTO_NA_VENDA] [char](4) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [JUROS_DESCONTO] [numeric](14, 2) NULL, CONSTRAINT [XPKLOJA_PGTO_CLIENTE_QUITADOS] PRIMARY KEY NONCLUSTERED ( [CHEQUE_CARTAO_QUITADO] ASC, [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [LANCAMENTO_CAIXA] ASC, [CHEQUE_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_PGTO_CLIENTE_QUITADOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_PGTO_CLIENTE_QUITADOS] on [LOJA_PGTO_CLIENTE_QUITADOS] for DELETE as /* DELETE trigger on LOJA_PGTO_CLIENTE_QUITADOS */ /* default body for LXD_LOJA_PGTO_CLIENTE_QUITADOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO_QUITADO varchar(35), @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO_QUITADO varchar(35), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*------------------------------------------------------------------------------------------------------------------*/ UPDATE A_RECEBER_CHEQUES SET VALOR= VALOR_ORIGINAL-(SELECT ISNULL(SUM(VALOR_PAGO) ,0) FROM LOJA_PGTO_CLIENTE_QUITADOS WHERE LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO_QUITADO=DELETED.CHEQUE_CARTAO_QUITADO) FROM A_RECEBER_CHEQUES JOIN DELETED ON A_RECEBER_CHEQUES.CHEQUE_CARTAO=DELETED.CHEQUE_CARTAO_QUITADO DELETE A_RECEBER_CHEQUES FROM DELETED INNER JOIN LOJAS_VAREJO ON LOJAS_VAREJO.CODIGO_FILIAL=DELETED.CODIGO_FILIAL INNER JOIN A_RECEBER_CHEQUES ON A_RECEBER_CHEQUES.FILIAL=LOJAS_VAREJO.FILIAL AND A_RECEBER_CHEQUES.TERMINAL=DELETED.TERMINAL AND A_RECEBER_CHEQUES.LANCAMENTO_CAIXA=DELETED.LANCAMENTO_CAIXA LEFT JOIN LOJA_PGTO_CLIENTE_QUITADOS ON DELETED.CHEQUE_CARTAO=LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO_QUITADO OR DELETED.CHEQUE_CARTAO=LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO WHERE LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO_QUITADO IS NULL /*------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_PGTO_CLIENTE_QUITADOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_PGTO_CLIENTE_QUITADOS] on [LOJA_PGTO_CLIENTE_QUITADOS] for INSERT as /* INSERT trigger on LOJA_PGTO_CLIENTE_QUITADOS */ /* default body for LXI_LOJA_PGTO_CLIENTE_QUITADOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO_QUITADO varchar(35), @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO_QUITADO varchar(35), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_PGTO_CLIENTE R/1770 LOJA_PGTO_CLIENTE_QUITADOS ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) or update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_PGTO_CLIENTE where inserted.CODIGO_FILIAL = LOJA_PGTO_CLIENTE.CODIGO_FILIAL and inserted.TERMINAL = LOJA_PGTO_CLIENTE.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA and inserted.CHEQUE_CARTAO = LOJA_PGTO_CLIENTE.CHEQUE_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_PGTO_CLIENTE_QUITADOS #porque #LOJA_PGTO_CLIENTE #não existe.'' goto error end end /*------------------------------------------------------------------------------------------------------------------*/ DECLARE @xCHEQUE_CARTAO varchar(35), @xCODIGO_ADMINISTRADORA char(2), @xTIPO_PGTO Char(1), @xBANCO_DO_CHEQUE char(3), @xNUMERO_TITULO varchar(16), @xFILIAL varchar(25), @xAGENCIA char(4), @xVENCIMENTO datetime, @xVALOR numeric(14,2), @xCONTA_CORRENTE varchar(15), @xCADASTRAMENTO datetime, @xVALOR_ORIGINAL numeric(14,2), @xEMISSAO datetime, @xCODIGO_CLIENTE varchar(14), @xINDICA_CARTAO smallint, @xLANCAMENTO_CAIXA varchar(7), @xTERMINAL varchar(3), @xVALOR_PAGO numeric(14,2), @xCHEQUE_CARTAO_QUITADO varchar(35) DECLARE CUR_INSERTED CURSOR FOR SELECT INSERTED.CHEQUE_CARTAO,LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA,LOJA_PGTO_CLIENTE.TIPO_PGTO, LOJA_PGTO_CLIENTE.BANCO,LOJA_PGTO_CLIENTE.NUMERO_TITULO,LOJAS_VAREJO.FILIAL,LOJA_PGTO_CLIENTE.AGENCIA, LOJA_PGTO_CLIENTE.VENCIMENTO,LOJA_PGTO_CLIENTE.VALOR_PAGO_TOTAL,LOJA_PGTO_CLIENTE.CONTA_CORRENTE, LOJA_CAIXA_LANCAMENTOS.DIGITACAO,LOJA_PGTO_CLIENTE.VALOR_PAGO_TOTAL, LOJA_CAIXA_LANCAMENTOS.DATA,LOJA_PGTO_CLIENTE.CODIGO_CLIENTE,CONVERT(smallint,CASE WHEN LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA IS NULL THEN 0 ELSE 1 END), INSERTED.LANCAMENTO_CAIXA,INSERTED.TERMINAL,INSERTED.CHEQUE_CARTAO_QUITADO FROM INSERTED INNER JOIN LOJA_PGTO_CLIENTE ON LOJA_PGTO_CLIENTE.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_PGTO_CLIENTE.TERMINAL=INSERTED.TERMINAL AND LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA=INSERTED.LANCAMENTO_CAIXA AND LOJA_PGTO_CLIENTE.CHEQUE_CARTAO=INSERTED.CHEQUE_CARTAO INNER JOIN LOJAS_VAREJO ON LOJAS_VAREJO.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL INNER JOIN LOJA_CAIXA_LANCAMENTOS ON LOJA_CAIXA_LANCAMENTOS.TERMINAL=INSERTED.TERMINAL AND LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA=INSERTED.LANCAMENTO_CAIXA OPEN CUR_INSERTED FETCH NEXT FROM CUR_INSERTED INTO @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, @xLANCAMENTO_CAIXA, @xTERMINAL, @xCHEQUE_CARTAO_QUITADO WHILE (@@Fetch_Status = 0) BEGIN SELECT @xVALOR_PAGO=0 SELECT @xVALOR_PAGO=ISNULL(SUM(VALOR_PAGO),0) FROM LOJA_PGTO_CLIENTE_QUITADOS WHERE CHEQUE_CARTAO_QUITADO=@xCHEQUE_CARTAO_QUITADO IF EXISTS (SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@xCHEQUE_CARTAO_QUITADO) BEGIN UPDATE A_RECEBER_CHEQUES SET VALOR= VALOR_ORIGINAL-@xVALOR_PAGO WHERE CHEQUE_CARTAO=@xCHEQUE_CARTAO_QUITADO END IF EXISTS (SELECT * FROM A_RECEBER_CHEQUES WHERE FILIAL=@xFILIAL AND TERMINAL=@xTERMINAL AND LANCAMENTO_CAIXA=@xLANCAMENTO_CAIXA) BEGIN UPDATE A_RECEBER_CHEQUES SET CODIGO_ADMINISTRADORA = @xCODIGO_ADMINISTRADORA, TIPO_PGTO = @xTIPO_PGTO, BANCO_DO_CHEQUE = @xBANCO_DO_CHEQUE, NUMERO_TITULO = @xNUMERO_TITULO, AGENCIA = @xAGENCIA, VENCIMENTO = @xVENCIMENTO, CONTA_CORRENTE = @xCONTA_CORRENTE, CADASTRAMENTO = @xCADASTRAMENTO, VALOR_ORIGINAL = @xVALOR_ORIGINAL, EMISSAO = @xEMISSAO, CODIGO_CLIENTE = @xCODIGO_CLIENTE, VALOR = @xVALOR_ORIGINAL WHERE FILIAL=@xFILIAL AND TERMINAL=@xTERMINAL AND LANCAMENTO_CAIXA=@xLANCAMENTO_CAIXA END ELSE BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE,NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LANCAMENTO_CAIXA, TERMINAL) VALUES( @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, ''CARTEIRA DE LOJA'', @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, 0,''L'', @xLANCAMENTO_CAIXA, @xTERMINAL) END FETCH NEXT FROM CUR_INSERTED INTO @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, @xLANCAMENTO_CAIXA, @xTERMINAL, @xCHEQUE_CARTAO_QUITADO END CLOSE CUR_INSERTED DEALLOCATE CUR_INSERTED /*------------------------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_PGTO_CLIENTE_QUITADOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_PGTO_CLIENTE_QUITADOS, INSERTED WHERE LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO_QUITADO = INSERTED.CHEQUE_CARTAO_QUITADO and LOJA_PGTO_CLIENTE_QUITADOS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_PGTO_CLIENTE_QUITADOS.TERMINAL = INSERTED.TERMINAL and LOJA_PGTO_CLIENTE_QUITADOS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_PGTO_CLIENTE_QUITADOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_PGTO_CLIENTE_QUITADOS] on [LOJA_PGTO_CLIENTE_QUITADOS] for UPDATE as /* UPDATE trigger on LOJA_PGTO_CLIENTE_QUITADOS */ /* default body for LXU_LOJA_PGTO_CLIENTE_QUITADOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO_QUITADO varchar(35), @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO_QUITADO varchar(35), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_PGTO_CLIENTE R/1770 LOJA_PGTO_CLIENTE_QUITADOS ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) or update(LANCAMENTO_CAIXA) or update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_PGTO_CLIENTE where inserted.CODIGO_FILIAL = LOJA_PGTO_CLIENTE.CODIGO_FILIAL and inserted.TERMINAL = LOJA_PGTO_CLIENTE.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA and inserted.CHEQUE_CARTAO = LOJA_PGTO_CLIENTE.CHEQUE_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_PGTO_CLIENTE_QUITADOS #porque #LOJA_PGTO_CLIENTE #não existe.'' goto error end end /*------------------------------------------------------------------------------------------------------------------*/ DECLARE @xCHEQUE_CARTAO varchar(35), @xCODIGO_ADMINISTRADORA char(2), @xTIPO_PGTO Char(1), @xBANCO_DO_CHEQUE char(3), @xNUMERO_TITULO varchar(16), @xFILIAL varchar(25), @xAGENCIA char(4), @xVENCIMENTO datetime, @xVALOR numeric(14,2), @xCONTA_CORRENTE varchar(15), @xCADASTRAMENTO datetime, @xVALOR_ORIGINAL numeric(14,2), @xEMISSAO datetime, @xCODIGO_CLIENTE varchar(14), @xINDICA_CARTAO smallint, @xLANCAMENTO_CAIXA varchar(7), @xTERMINAL varchar(3), @xVALOR_PAGO numeric(14,2), @xCHEQUE_CARTAO_QUITADO varchar(35) DECLARE CUR_INSERTED CURSOR FOR SELECT INSERTED.CHEQUE_CARTAO,LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA,LOJA_PGTO_CLIENTE.TIPO_PGTO, LOJA_PGTO_CLIENTE.BANCO,LOJA_PGTO_CLIENTE.NUMERO_TITULO,LOJAS_VAREJO.FILIAL,LOJA_PGTO_CLIENTE.AGENCIA, LOJA_PGTO_CLIENTE.VENCIMENTO,LOJA_PGTO_CLIENTE.VALOR_PAGO_TOTAL,LOJA_PGTO_CLIENTE.CONTA_CORRENTE, LOJA_CAIXA_LANCAMENTOS.DIGITACAO,LOJA_PGTO_CLIENTE.VALOR_PAGO_TOTAL, LOJA_CAIXA_LANCAMENTOS.DATA,LOJA_PGTO_CLIENTE.CODIGO_CLIENTE,CONVERT(smallint,CASE WHEN LOJA_PGTO_CLIENTE.CODIGO_ADMINISTRADORA IS NULL THEN 0 ELSE 1 END), INSERTED.LANCAMENTO_CAIXA,INSERTED.TERMINAL,INSERTED.CHEQUE_CARTAO_QUITADO FROM INSERTED INNER JOIN LOJA_PGTO_CLIENTE ON LOJA_PGTO_CLIENTE.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_PGTO_CLIENTE.TERMINAL=INSERTED.TERMINAL AND LOJA_PGTO_CLIENTE.LANCAMENTO_CAIXA=INSERTED.LANCAMENTO_CAIXA AND LOJA_PGTO_CLIENTE.CHEQUE_CARTAO=INSERTED.CHEQUE_CARTAO INNER JOIN LOJAS_VAREJO ON LOJAS_VAREJO.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL INNER JOIN LOJA_CAIXA_LANCAMENTOS ON LOJA_CAIXA_LANCAMENTOS.TERMINAL=INSERTED.TERMINAL AND LOJA_CAIXA_LANCAMENTOS.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_CAIXA_LANCAMENTOS.LANCAMENTO_CAIXA=INSERTED.LANCAMENTO_CAIXA OPEN CUR_INSERTED FETCH NEXT FROM CUR_INSERTED INTO @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, @xLANCAMENTO_CAIXA, @xTERMINAL, @xCHEQUE_CARTAO_QUITADO WHILE (@@Fetch_Status = 0) BEGIN SELECT @xVALOR_PAGO=0 SELECT @xVALOR_PAGO=ISNULL(SUM(VALOR_PAGO),0) FROM LOJA_PGTO_CLIENTE_QUITADOS WHERE CHEQUE_CARTAO_QUITADO=@xCHEQUE_CARTAO_QUITADO IF EXISTS (SELECT * FROM A_RECEBER_CHEQUES WHERE CHEQUE_CARTAO=@xCHEQUE_CARTAO_QUITADO) BEGIN UPDATE A_RECEBER_CHEQUES SET VALOR= VALOR_ORIGINAL-@xVALOR_PAGO WHERE CHEQUE_CARTAO=@xCHEQUE_CARTAO_QUITADO END IF EXISTS (SELECT * FROM A_RECEBER_CHEQUES WHERE FILIAL=@xFILIAL AND TERMINAL=@xTERMINAL AND LANCAMENTO_CAIXA=@xLANCAMENTO_CAIXA) BEGIN UPDATE A_RECEBER_CHEQUES SET CODIGO_ADMINISTRADORA = @xCODIGO_ADMINISTRADORA, TIPO_PGTO = @xTIPO_PGTO, BANCO_DO_CHEQUE = @xBANCO_DO_CHEQUE, NUMERO_TITULO = @xNUMERO_TITULO, AGENCIA = @xAGENCIA, VENCIMENTO = @xVENCIMENTO, CONTA_CORRENTE = @xCONTA_CORRENTE, CADASTRAMENTO = @xCADASTRAMENTO, VALOR_ORIGINAL = @xVALOR_ORIGINAL, EMISSAO = @xEMISSAO, CODIGO_CLIENTE = @xCODIGO_CLIENTE, VALOR = @xVALOR_ORIGINAL WHERE FILIAL=@xFILIAL AND TERMINAL=@xTERMINAL AND LANCAMENTO_CAIXA=@xLANCAMENTO_CAIXA END ELSE BEGIN INSERT INTO A_RECEBER_CHEQUES (CHEQUE_CARTAO, CODIGO_ADMINISTRADORA, TIPO_PGTO, BANCO_DO_CHEQUE,NUMERO_TITULO, FILIAL, AGENCIA, VENCIMENTO, VALOR, CONTA_CORRENTE, CADASTRAMENTO, CARTEIRA, VALOR_ORIGINAL, EMISSAO, CODIGO_CLIENTE, INDICA_CARTAO, VALOR_TAXA_ADMINISTRACAO, ORIGEM, LANCAMENTO_CAIXA, TERMINAL) VALUES( @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, ''CARTEIRA DE LOJA'', @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, 0,''L'', @xLANCAMENTO_CAIXA, @xTERMINAL) END FETCH NEXT FROM CUR_INSERTED INTO @xCHEQUE_CARTAO, @xCODIGO_ADMINISTRADORA, @xTIPO_PGTO, @xBANCO_DO_CHEQUE, @xNUMERO_TITULO, @xFILIAL, @xAGENCIA, @xVENCIMENTO, @xVALOR, @xCONTA_CORRENTE, @xCADASTRAMENTO, @xVALOR_ORIGINAL, @xEMISSAO, @xCODIGO_CLIENTE, @xINDICA_CARTAO, @xLANCAMENTO_CAIXA, @xTERMINAL, @xCHEQUE_CARTAO_QUITADO END CLOSE CUR_INSERTED DEALLOCATE CUR_INSERTED /*------------------------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_PGTO_CLIENTE_QUITADOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_PGTO_CLIENTE_QUITADOS, INSERTED WHERE LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO_QUITADO = INSERTED.CHEQUE_CARTAO_QUITADO and LOJA_PGTO_CLIENTE_QUITADOS.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_PGTO_CLIENTE_QUITADOS.TERMINAL = INSERTED.TERMINAL and LOJA_PGTO_CLIENTE_QUITADOS.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA and LOJA_PGTO_CLIENTE_QUITADOS.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_PGTO_CLIENTE_QUITADOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_PGTO_CLIENTE_QUITADOS].[VALOR_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_PGTO_CLIENTE_QUITADOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_PGTO_CLIENTE_QUITADOS].[JUROS_DESCONTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_RECEBER_LAYOUT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_RECEBER_LAYOUT]( [BANCO] [char](4) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [POSICAO] [int] NULL, [TAMANHO] [int] NULL, [TIPO_DADO] [char](1) NULL, [TIPO_CONTEUDO] [char](1) NULL, [DECIMAIS] [int] NULL, [TOPOLOGIA] [char](1) NULL, [CAMPO_ALTERAR] [varchar](50) NULL, CONSTRAINT [XPKRETORNO_A_RECEBER_LAYOUT] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [NOME_CAMPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_RETORNO_A_RECEBER_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_RETORNO_A_RECEBER_LAYOUT] on [RETORNO_A_RECEBER_LAYOUT] for DELETE as /* DELETE trigger on RETORNO_A_RECEBER_LAYOUT */ begin declare @errno int, @errmsg varchar(255) /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_CAMPOS ON PARENT DELETE CASCADE */ delete RETORNO_A_RECEBER_CAMPOS from RETORNO_A_RECEBER_CAMPOS,deleted where RETORNO_A_RECEBER_CAMPOS.BANCO = deleted.BANCO and RETORNO_A_RECEBER_CAMPOS.NOME_CAMPO = deleted.NOME_CAMPO /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,RETORNO_A_RECEBER_PARCELAS where RETORNO_A_RECEBER_PARCELAS.BANCO = deleted.BANCO and RETORNO_A_RECEBER_PARCELAS.NOME_CAMPO = deleted.NOME_CAMPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #RETORNO_A_RECEBER_LAYOUT #porque existem registros em #RETORNO_A_RECEBER_PARCELAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_RECEBER_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_RECEBER_LAYOUT] on [RETORNO_A_RECEBER_LAYOUT] for INSERT as /* INSERT trigger on RETORNO_A_RECEBER_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS BANCOS RETORNO_A_RECEBER_LAYOUT ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_RECEBER_LAYOUT #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_RECEBER_LAYOUT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_RECEBER_LAYOUT] on [RETORNO_A_RECEBER_LAYOUT] for UPDATE as /* UPDATE trigger on RETORNO_A_RECEBER_LAYOUT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insNOME_CAMPO varchar(25), @delBANCO char(4), @delNOME_CAMPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_CAMPOS ON PARENT UPDATE CASCADE */ IF update(BANCO) OR update(NOME_CAMPO) BEGIN DECLARE RETORNO_A_RECEBER_LAYOUT1023 CURSOR FOR SELECT BANCO, NOME_CAMPO FROM INSERTED DECLARE RETORNO_A_RECEBER_LAYOUT663 CURSOR FOR SELECT BANCO, NOME_CAMPO FROM DELETED OPEN RETORNO_A_RECEBER_LAYOUT1023 OPEN RETORNO_A_RECEBER_LAYOUT663 FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT1023 INTO @insBANCO, @insNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT663 INTO @delBANCO, @delNOME_CAMPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_RECEBER_CAMPOS SET RETORNO_A_RECEBER_CAMPOS.BANCO=@insBANCO, RETORNO_A_RECEBER_CAMPOS.NOME_CAMPO=@insNOME_CAMPO WHERE RETORNO_A_RECEBER_CAMPOS.BANCO = @delBANCO and RETORNO_A_RECEBER_CAMPOS.NOME_CAMPO = @delNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT1023 INTO @insBANCO, @insNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT663 INTO @delBANCO, @delNOME_CAMPO END END CLOSE RETORNO_A_RECEBER_LAYOUT1023 CLOSE RETORNO_A_RECEBER_LAYOUT663 DEALLOCATE RETORNO_A_RECEBER_LAYOUT1023 DEALLOCATE RETORNO_A_RECEBER_LAYOUT663 END /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(BANCO) OR update(NOME_CAMPO) BEGIN DECLARE RETORNO_A_RECEBER_LAYOUT1020 CURSOR FOR SELECT BANCO, NOME_CAMPO FROM INSERTED DECLARE RETORNO_A_RECEBER_LAYOUT663 CURSOR FOR SELECT BANCO, NOME_CAMPO FROM DELETED OPEN RETORNO_A_RECEBER_LAYOUT1020 OPEN RETORNO_A_RECEBER_LAYOUT663 FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT1020 INTO @insBANCO, @insNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT663 INTO @delBANCO, @delNOME_CAMPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE RETORNO_A_RECEBER_PARCELAS SET RETORNO_A_RECEBER_PARCELAS.BANCO=@insBANCO, RETORNO_A_RECEBER_PARCELAS.NOME_CAMPO=@insNOME_CAMPO WHERE RETORNO_A_RECEBER_PARCELAS.BANCO = @delBANCO and RETORNO_A_RECEBER_PARCELAS.NOME_CAMPO = @delNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT1020 INTO @insBANCO, @insNOME_CAMPO FETCH NEXT FROM RETORNO_A_RECEBER_LAYOUT663 INTO @delBANCO, @delNOME_CAMPO END END CLOSE RETORNO_A_RECEBER_LAYOUT1020 CLOSE RETORNO_A_RECEBER_LAYOUT663 DEALLOCATE RETORNO_A_RECEBER_LAYOUT1020 DEALLOCATE RETORNO_A_RECEBER_LAYOUT663 END /* BANCOS BANCOS RETORNO_A_RECEBER_LAYOUT ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_RECEBER_LAYOUT #porque #BANCOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_LAYOUT].[POSICAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_LAYOUT].[TAMANHO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_FRANQUIA_VENDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_FRANQUIA_VENDA]( [FRANQUIA] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [DATA] [datetime] NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [VALOR_VENDA] [numeric](14, 2) NULL, [QTDE_VENDA] [int] NULL, [VALOR_CUSTO_VENDA] [numeric](14, 2) NULL, CONSTRAINT [XPKLOJA_FRANQUIA_VENDA] PRIMARY KEY NONCLUSTERED ( [FRANQUIA] ASC, [FILIAL] ASC, [DATA] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_FRANQUIA_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_FRANQUIA_VENDA] on [LOJA_FRANQUIA_VENDA] for INSERT as /* INSERT trigger on LOJA_FRANQUIA_VENDA */ /* default body for LXI_LOJA_FRANQUIA_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFRANQUIA varchar(25), @insFILIAL varchar(25), @insDATA datetime, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*------------------------------------------------------------------------------------------------------------------------*/ DECLARE @xCODIGO_TAB_PRECO CHAR(2) SELECT @xCODIGO_TAB_PRECO=RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_CUSTO_FRANQUIA'' UPDATE Loja_Franquia_Venda SET VALOR_CUSTO_VENDA=ISNULL(PRECO1,0)*CONVERT(NUMERIC(8,3),ISNULL(FATOR_CUSTO_FRANQUIA,1)) FROM INSERTED INNER JOIN LOJA_FRANQUIA_VENDA ON INSERTED.FRANQUIA=LOJA_FRANQUIA_VENDA.FRANQUIA AND INSERTED.FILIAL=LOJA_FRANQUIA_VENDA.FILIAL AND INSERTED.DATA=LOJA_FRANQUIA_VENDA.DATA AND INSERTED.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND INSERTED.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN PRODUTOS_PRECO_COR ON PRODUTOS_PRECO_COR.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND PRODUTOS_PRECO_COR.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN CLIENTES_ATACADO ON CLIENTES_ATACADO.CLIENTE_ATACADO=INSERTED.FRANQUIA INNER JOIN PRODUTOS ON PRODUTOS.PRODUTO=INSERTED.PRODUTO WHERE PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=@xCODIGO_TAB_PRECO AND VARIA_PRECO_COR=1 UPDATE Loja_Franquia_Venda SET VALOR_CUSTO_VENDA=ISNULL(PRECO1,0)*CONVERT(NUMERIC(8,3),ISNULL(FATOR_CUSTO_FRANQUIA,1)) FROM INSERTED INNER JOIN LOJA_FRANQUIA_VENDA ON INSERTED.FRANQUIA=LOJA_FRANQUIA_VENDA.FRANQUIA AND INSERTED.FILIAL=LOJA_FRANQUIA_VENDA.FILIAL AND INSERTED.DATA=LOJA_FRANQUIA_VENDA.DATA AND INSERTED.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND INSERTED.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN PRODUTOS_PRECOS ON PRODUTOS_PRECOS.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO LEFT JOIN CLIENTES_ATACADO ON CLIENTES_ATACADO.CLIENTE_ATACADO=INSERTED.FRANQUIA INNER JOIN PRODUTOS ON PRODUTOS.PRODUTO=INSERTED.PRODUTO WHERE PRODUTOS_PRECOS.CODIGO_TAB_PRECO=@xCODIGO_TAB_PRECO AND (VARIA_PRECO_COR=0 OR VARIA_PRECO_COR IS NULL) /*------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_FRANQUIA_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_FRANQUIA_VENDA] on [LOJA_FRANQUIA_VENDA] for UPDATE as /* UPDATE trigger on LOJA_FRANQUIA_VENDA */ /* default body for LXU_LOJA_FRANQUIA_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFRANQUIA varchar(25), @insFILIAL varchar(25), @insDATA datetime, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*------------------------------------------------------------------------------------------------------------------------*/ IF UPDATE(FRANQUIA) OR UPDATE(FILIAL) OR UPDATE(DATA) OR UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) BEGIN DECLARE @xCODIGO_TAB_PRECO CHAR(2) SELECT @xCODIGO_TAB_PRECO=RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_CUSTO_FRANQUIA'' UPDATE Loja_Franquia_Venda SET VALOR_CUSTO_VENDA=ISNULL(PRECO1,0)*CONVERT(NUMERIC(8,3),ISNULL(FATOR_CUSTO_FRANQUIA,1)) FROM INSERTED INNER JOIN LOJA_FRANQUIA_VENDA ON INSERTED.FRANQUIA=LOJA_FRANQUIA_VENDA.FRANQUIA AND INSERTED.FILIAL=LOJA_FRANQUIA_VENDA.FILIAL AND INSERTED.DATA=LOJA_FRANQUIA_VENDA.DATA AND INSERTED.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND INSERTED.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN PRODUTOS_PRECO_COR ON PRODUTOS_PRECO_COR.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND PRODUTOS_PRECO_COR.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN CLIENTES_ATACADO ON CLIENTES_ATACADO.CLIENTE_ATACADO=INSERTED.FRANQUIA INNER JOIN PRODUTOS ON PRODUTOS.PRODUTO=INSERTED.PRODUTO WHERE PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=@xCODIGO_TAB_PRECO AND VARIA_PRECO_COR=1 UPDATE Loja_Franquia_Venda SET VALOR_CUSTO_VENDA=ISNULL(PRECO1,0)*CONVERT(NUMERIC(8,3),ISNULL(FATOR_CUSTO_FRANQUIA,1)) FROM INSERTED INNER JOIN LOJA_FRANQUIA_VENDA ON INSERTED.FRANQUIA=LOJA_FRANQUIA_VENDA.FRANQUIA AND INSERTED.FILIAL=LOJA_FRANQUIA_VENDA.FILIAL AND INSERTED.DATA=LOJA_FRANQUIA_VENDA.DATA AND INSERTED.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO AND INSERTED.COR_PRODUTO=LOJA_FRANQUIA_VENDA.COR_PRODUTO LEFT JOIN PRODUTOS_PRECOS ON PRODUTOS_PRECOS.PRODUTO=LOJA_FRANQUIA_VENDA.PRODUTO LEFT JOIN CLIENTES_ATACADO ON CLIENTES_ATACADO.CLIENTE_ATACADO=INSERTED.FRANQUIA INNER JOIN PRODUTOS ON PRODUTOS.PRODUTO=INSERTED.PRODUTO WHERE PRODUTOS_PRECOS.CODIGO_TAB_PRECO=@xCODIGO_TAB_PRECO AND (VARIA_PRECO_COR=0 OR VARIA_PRECO_COR IS NULL) END /*------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_VENDA].[VALOR_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_VENDA].[QTDE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_FRANQUIA_VENDA].[VALOR_CUSTO_VENDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PRECOS]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [LIMITE_DESCONTO] [real] NULL, [PROMOCAO_DESCONTO] [real] NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [INICIO_PROMOCAO] [datetime] NULL, [FIM_PROMOCAO] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [xml_envio] [binary](10) NOT NULL DEFAULT (0), CONSTRAINT [XPKPRODUTOS_PRECOS] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC, [PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_PRECOS]') AND name = N'XIE1PRODUTOS_PRECOS') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_PRECOS] ON [PRODUTOS_PRECOS] ( [PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_PRECOS] on [PRODUTOS_PRECOS] for DELETE as /* DELETE trigger on PRODUTOS_PRECOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_PRECOS R/1624 PRODUTOS_PRECO_LOG ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_LOG from PRODUTOS_PRECO_LOG,deleted where PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO and PRODUTOS_PRECO_LOG.PRODUTO = deleted.PRODUTO /* PRODUTOS_PRECOS PRODUTOS_PRECOS PRODUTOS_PRECO_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_PRECO_COR from PRODUTOS_PRECO_COR,deleted where PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO and PRODUTOS_PRECO_COR.PRODUTO = deleted.PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PRECOS] on [PRODUTOS_PRECOS] for INSERT as /* INSERT trigger on PRODUTOS_PRECOS */ /* default body for LXI_PRODUTOS_PRECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO TABELAS_PRECO PRODUTOS_PRECOS ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECOS #porque #TABELAS_PRECO #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUTOS_PRECOS ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PRECOS #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'')) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND VARIA_PRECO_COR=0 END IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'')) BEGIN UPDATE PRODUTOS SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO UPDATE PRODUTO_CORES SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND VARIA_PRECO_COR=0 END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PRECOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECOS, INSERTED WHERE PRODUTOS_PRECOS.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECOS.PRODUTO = INSERTED.PRODUTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PRECOS] on [PRODUTOS_PRECOS] for UPDATE as /* UPDATE trigger on PRODUTOS_PRECOS */ /* default body for LXU_PRODUTOS_PRECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insPRODUTO char(12), @delCODIGO_TAB_PRECO char(2), @delPRODUTO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO TABELAS_PRECO PRODUTOS_PRECOS ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECOS #porque #TABELAS_PRECO #não existe.'' goto error end end /* PRODUTOS PRODUTOS PRODUTOS_PRECOS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PRECOS #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTOS_PRECOS R/1624 PRODUTOS_PRECO_LOG ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) OR update(PRODUTO) BEGIN DECLARE PRODUTOS_PRECOS1624 CURSOR FOR SELECT CODIGO_TAB_PRECO, PRODUTO FROM INSERTED DECLARE PRODUTOS_PRECOS174 CURSOR FOR SELECT CODIGO_TAB_PRECO, PRODUTO FROM DELETED OPEN PRODUTOS_PRECOS1624 OPEN PRODUTOS_PRECOS174 FETCH NEXT FROM PRODUTOS_PRECOS1624 INTO @insCODIGO_TAB_PRECO, @insPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS174 INTO @delCODIGO_TAB_PRECO, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_LOG SET PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO, PRODUTOS_PRECO_LOG.PRODUTO=@insPRODUTO WHERE PRODUTOS_PRECO_LOG.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO and PRODUTOS_PRECO_LOG.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS1624 INTO @insCODIGO_TAB_PRECO, @insPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS174 INTO @delCODIGO_TAB_PRECO, @delPRODUTO END END CLOSE PRODUTOS_PRECOS1624 CLOSE PRODUTOS_PRECOS174 DEALLOCATE PRODUTOS_PRECOS1624 DEALLOCATE PRODUTOS_PRECOS174 END /* PRODUTOS_PRECOS PRODUTOS_PRECOS PRODUTOS_PRECO_COR ON PARENT UPDATE CASCADE */ IF update(CODIGO_TAB_PRECO) OR update(PRODUTO) BEGIN DECLARE PRODUTOS_PRECOS711 CURSOR FOR SELECT CODIGO_TAB_PRECO, PRODUTO FROM INSERTED DECLARE PRODUTOS_PRECOS174 CURSOR FOR SELECT CODIGO_TAB_PRECO, PRODUTO FROM DELETED OPEN PRODUTOS_PRECOS711 OPEN PRODUTOS_PRECOS174 FETCH NEXT FROM PRODUTOS_PRECOS711 INTO @insCODIGO_TAB_PRECO, @insPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS174 INTO @delCODIGO_TAB_PRECO, @delPRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PRECO_COR SET PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO, PRODUTOS_PRECO_COR.PRODUTO=@insPRODUTO WHERE PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO and PRODUTOS_PRECO_COR.PRODUTO = @delPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS711 INTO @insCODIGO_TAB_PRECO, @insPRODUTO FETCH NEXT FROM PRODUTOS_PRECOS174 INTO @delCODIGO_TAB_PRECO, @delPRODUTO END END CLOSE PRODUTOS_PRECOS711 CLOSE PRODUTOS_PRECOS174 DEALLOCATE PRODUTOS_PRECOS711 DEALLOCATE PRODUTOS_PRECOS174 END /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'')) BEGIN DECLARE @Fator_Custo real SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO'' UPDATE PRODUTOS SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=PRECO1*@Fator_Custo, CUSTO_REPOSICAO2=PRECO2*@Fator_Custo, CUSTO_REPOSICAO3=PRECO3*@Fator_Custo, CUSTO_REPOSICAO4=PRECO4*@Fator_Custo, DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND VARIA_PRECO_COR=0 END IF (UPDATE(PRECO1) OR UPDATE(PRECO2) OR UPDATE(PRECO3) OR UPDATE(PRECO4)) AND EXISTS (SELECT * FROM INSERTED WHERE CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'')) BEGIN UPDATE PRODUTOS SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTOS.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO UPDATE PRODUTO_CORES SET PRECO_REPOSICAO_1=PRECO1, PRECO_REPOSICAO_2=PRECO2, PRECO_REPOSICAO_3=PRECO3, PRECO_REPOSICAO_4=PRECO4, PRECO_A_VISTA_REPOSICAO_1=PRECO1*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_2=PRECO2*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(1.*ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_3=PRECO3*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), PRECO_A_VISTA_REPOSICAO_4=PRECO4*1.*(1-(1.*ISNULL(PRODUTOS.FABRICANTE_ICMS_ABATER,0)/100)) /CASE WHEN ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0) > 0 AND POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) <> 0 THEN POWER(POWER(1+(ISNULL(PRODUTOS.TAXA_JUROS_DEFLACIONAR,0)/100),(1/30)),ISNULL(PRODUTOS.FABRICANTE_PRAZO_PGTO,0)) ELSE 1 END * (1+(1.*ISNULL(PRODUTOS.FABRICANTE_FRETE,0)/100)) * (1+(1.*ISNULL(PRODUTOS.TAXAS_IMPOSTOS_APLICAR,0)/100)), DATA_PARA_TRANSFERENCIA=PRODUTO_CORES.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTOS, PRODUTO_CORES WHERE INSERTED.CODIGO_TAB_PRECO=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_COMPRA'') AND PRODUTOS.PRODUTO = INSERTED.PRODUTO AND PRODUTO_CORES.PRODUTO=INSERTED.PRODUTO AND VARIA_PRECO_COR=0 END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PRECOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PRECOS, INSERTED WHERE PRODUTOS_PRECOS.CODIGO_TAB_PRECO = INSERTED.CODIGO_TAB_PRECO and PRODUTOS_PRECOS.PRODUTO = INSERTED.PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PRECOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[LIMITE_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_PRECOS].[PROMOCAO_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PRECOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_OPERACOES_PGTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_OPERACOES_PGTOS]( [OPERACAO_VENDA] [char](3) NOT NULL, [COD_FORMA_PGTO] [char](2) NOT NULL, [DESCONTO_PGTO] [real] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_OPERACOES_PGTOS] PRIMARY KEY NONCLUSTERED ( [OPERACAO_VENDA] ASC, [COD_FORMA_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_OPERACOES_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_OPERACOES_PGTOS] on [LOJA_OPERACOES_PGTOS] for INSERT as /* INSERT trigger on LOJA_OPERACOES_PGTOS */ /* default body for LXI_LOJA_OPERACOES_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO_VENDA char(3), @insCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_OPERACOES_PGTOS ON CHILD INSERT RESTRICT */ if update(OPERACAO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_OPERACOES_VENDA where inserted.OPERACAO_VENDA = LOJA_OPERACOES_VENDA.OPERACAO_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_OPERACOES_PGTOS #porque #LOJA_OPERACOES_VENDA #não existe.'' goto error end end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_OPERACOES_PGTOS ON CHILD INSERT RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_OPERACOES_PGTOS #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_OPERACOES_PGTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_OPERACOES_PGTOS, INSERTED WHERE LOJA_OPERACOES_PGTOS.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA and LOJA_OPERACOES_PGTOS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_OPERACOES_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_OPERACOES_PGTOS] on [LOJA_OPERACOES_PGTOS] for UPDATE as /* UPDATE trigger on LOJA_OPERACOES_PGTOS */ /* default body for LXU_LOJA_OPERACOES_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insOPERACAO_VENDA char(3), @insCOD_FORMA_PGTO char(2), @delOPERACAO_VENDA char(3), @delCOD_FORMA_PGTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_OPERACOES_PGTOS ON CHILD UPDATE RESTRICT */ if update(OPERACAO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_OPERACOES_VENDA where inserted.OPERACAO_VENDA = LOJA_OPERACOES_VENDA.OPERACAO_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_OPERACOES_PGTOS #porque #LOJA_OPERACOES_VENDA #não existe.'' goto error end end /* LOJA_FORMAS_PGTO LOJA_PGTO_FORMA LOJA_OPERACOES_PGTOS ON CHILD UPDATE RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_OPERACOES_PGTOS #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_OPERACOES_PGTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_OPERACOES_PGTOS, INSERTED WHERE LOJA_OPERACOES_PGTOS.OPERACAO_VENDA = INSERTED.OPERACAO_VENDA and LOJA_OPERACOES_PGTOS.COD_FORMA_PGTO = INSERTED.COD_FORMA_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_OPERACOES_PGTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_OPERACOES_PGTOS].[DESCONTO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_OPERACOES_PGTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_ATAC_BLOQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_ATAC_BLOQ]( [TIPO_BLOQUEIO] [varchar](25) NOT NULL, [BLOQUEIA_CREDITO] [bit] NOT NULL, [EXCLUSIVO_LINX] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_ATAC_BLOQ] PRIMARY KEY NONCLUSTERED ( [TIPO_BLOQUEIO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_ATAC_BLOQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_ATAC_BLOQ] on [CLIENTE_ATAC_BLOQ] for DELETE as /* DELETE trigger on CLIENTE_ATAC_BLOQ */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_ATAC_BLOQ CLIENTE_ATAC_BLOQ CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.TIPO_BLOQUEIO = deleted.TIPO_BLOQUEIO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_ATAC_BLOQ #porque existem registros em #CLIENTES_ATACADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_ATAC_BLOQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_ATAC_BLOQ] on [CLIENTE_ATAC_BLOQ] for UPDATE as /* UPDATE trigger on CLIENTE_ATAC_BLOQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_BLOQUEIO varchar(25), @delTIPO_BLOQUEIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_ATAC_BLOQ CLIENTE_ATAC_BLOQ CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(TIPO_BLOQUEIO) BEGIN DECLARE CLIENTE_ATAC_BLOQ247 CURSOR FOR SELECT TIPO_BLOQUEIO FROM INSERTED DECLARE CLIENTE_ATAC_BLOQ162 CURSOR FOR SELECT TIPO_BLOQUEIO FROM DELETED OPEN CLIENTE_ATAC_BLOQ247 OPEN CLIENTE_ATAC_BLOQ162 FETCH NEXT FROM CLIENTE_ATAC_BLOQ247 INTO @insTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_ATAC_BLOQ162 INTO @delTIPO_BLOQUEIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.TIPO_BLOQUEIO=@insTIPO_BLOQUEIO WHERE CLIENTES_ATACADO.TIPO_BLOQUEIO = @delTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_ATAC_BLOQ247 INTO @insTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_ATAC_BLOQ162 INTO @delTIPO_BLOQUEIO END END CLOSE CLIENTE_ATAC_BLOQ247 CLOSE CLIENTE_ATAC_BLOQ162 DEALLOCATE CLIENTE_ATAC_BLOQ247 DEALLOCATE CLIENTE_ATAC_BLOQ162 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_ATAC_BLOQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_ATAC_BLOQ, INSERTED WHERE CLIENTE_ATAC_BLOQ.TIPO_BLOQUEIO = INSERTED.TIPO_BLOQUEIO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_ATAC_BLOQ.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_BLOQ].[BLOQUEIA_CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_ATAC_BLOQ].[EXCLUSIVO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_ATAC_BLOQ].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CENTROS_CUSTO]( [CENTRO_CUSTO] [varchar](25) NOT NULL, [CODIGO_QUEBRA] [char](8) NOT NULL, [PREVISAO_GLOBAL] [numeric](14, 2) NULL, [DESC_CENTRO_CUSTO] [varchar](40) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCENTROS_CUSTO] PRIMARY KEY NONCLUSTERED ( [CENTRO_CUSTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CENTROS_CUSTO] ON [CENTROS_CUSTO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_CENTRO_CUSTO FROM GF_CENTROS_CUSTO A, DELETED B WHERE A.GF_CENTRO_CUSTO=B.CENTRO_CUSTO) DELETE FROM GF_CENTROS_CUSTO WHERE GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CENTROS_CUSTO] ON [CENTROS_CUSTO] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA =1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_CENTRO_CUSTO FROM GF_CENTROS_CUSTO A, INSERTED B WHERE A.GF_CENTRO_CUSTO=B.CENTRO_CUSTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CENTROS_CUSTO (ID,GF_CENTRO_CUSTO,GF_CODIGO_QUEBRA,GF_PREVISAO_GLOB,GF_DESC_CENTRO_C,GF_DATA_PARA_TRANSFERENCIA, EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,CENTRO_CUSTO,CODIGO_QUEBRA,PREVISAO_GLOBAL,DESC_CENTRO_CUSTO,DATA_PARA_TRANSFERENCIA, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM CENTROS_CUSTO A, GF_CENTROS_CUSTOCNT B WHERE CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM INSERTED) UPDATE GF_CENTROS_CUSTOCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_CENTROS_CUSTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_CENTROS_CUSTO] ON [CENTROS_CUSTO] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CENTROS_CUSTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_CENTRO_CUSTO FROM GF_CENTROS_CUSTO A, DELETED B WHERE A.GF_CENTRO_CUSTO=B.CENTRO_CUSTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_CENTROS_CUSTO SET GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM INSERTED), GF_CODIGO_QUEBRA=(SELECT CODIGO_QUEBRA FROM INSERTED), GF_PREVISAO_GLOB=(SELECT PREVISAO_GLOBAL FROM INSERTED), GF_DESC_CENTRO_C=(SELECT DESC_CENTRO_CUSTO FROM INSERTED), GF_DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_CENTRO_CUSTO=(SELECT CENTRO_CUSTO FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CENTROS_CUSTO] on [CENTROS_CUSTO] for DELETE as /* DELETE trigger on CENTROS_CUSTO */ begin declare @errno int, @errmsg varchar(255) /* CENTROS_CUSTO R/1799 A_PAGAR_FATURA_CENTROS ON PARENT DELETE CASCADE */ delete A_PAGAR_FATURA_CENTROS from A_PAGAR_FATURA_CENTROS,deleted where A_PAGAR_FATURA_CENTROS.CENTRO_CUSTO = deleted.CENTRO_CUSTO /* CENTROS_CUSTO R/1796 FORNECEDOR_CENTRO_CUSTO ON PARENT DELETE CASCADE */ delete FORNECEDOR_CENTRO_CUSTO from FORNECEDOR_CENTRO_CUSTO,deleted where FORNECEDOR_CENTRO_CUSTO.CENTRO_CUSTO = deleted.CENTRO_CUSTO /* CENTROS_CUSTO CENTROS_CUSTO ENTRADAS_CENTROS_CUSTO ON PARENT DELETE CASCADE */ delete ENTRADAS_CENTROS_CUSTO from ENTRADAS_CENTROS_CUSTO,deleted where ENTRADAS_CENTROS_CUSTO.CENTRO_CUSTO = deleted.CENTRO_CUSTO /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_LANC_CENTROS_CUSTO ON PARENT DELETE CASCADE */ delete CONTAS_LANC_CENTROS_CUSTO from CONTAS_LANC_CENTROS_CUSTO,deleted where CONTAS_LANC_CENTROS_CUSTO.CENTRO_CUSTO = deleted.CENTRO_CUSTO /* CENTROS_CUSTO CENTRO_CUSTO ESTOQUE_RET_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_RET_MAT where ESTOQUE_RET_MAT.CENTRO_CUSTO = deleted.CENTRO_CUSTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CENTROS_CUSTO #porque existem registros em #ESTOQUE_RET_MAT#.'' goto error end /* CENTROS_CUSTO CENTROS_CUSTO ESTOQUE_SAI_MAT ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ESTOQUE_SAI_MAT where ESTOQUE_SAI_MAT.CENTRO_CUSTO = deleted.CENTRO_CUSTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CENTROS_CUSTO #porque existem registros em #ESTOQUE_SAI_MAT#.'' goto error end /* CENTROS_CUSTO CENTROS_CUSTO REQUISICOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICOES where REQUISICOES.CENTRO_CUSTO = deleted.CENTRO_CUSTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CENTROS_CUSTO #porque existem registros em #REQUISICOES#.'' goto error end /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_CENTROCUSTO ON PARENT DELETE CASCADE */ delete CONTAS_CENTROCUSTO from CONTAS_CENTROCUSTO,deleted where CONTAS_CENTROCUSTO.CENTRO_CUSTO = deleted.CENTRO_CUSTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CENTROS_CUSTO] on [CENTROS_CUSTO] for UPDATE as /* UPDATE trigger on CENTROS_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCENTRO_CUSTO varchar(25), @delCENTRO_CUSTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO R/1799 A_PAGAR_FATURA_CENTROS ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1799 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1799 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1799 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA_CENTROS SET A_PAGAR_FATURA_CENTROS.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE A_PAGAR_FATURA_CENTROS.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1799 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1799 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1799 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO R/1796 FORNECEDOR_CENTRO_CUSTO ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1796 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1796 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1796 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDOR_CENTRO_CUSTO SET FORNECEDOR_CENTRO_CUSTO.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE FORNECEDOR_CENTRO_CUSTO.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1796 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1796 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1796 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTROS_CUSTO ENTRADAS_CENTROS_CUSTO ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1325 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1325 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1325 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CENTROS_CUSTO SET ENTRADAS_CENTROS_CUSTO.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE ENTRADAS_CENTROS_CUSTO.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1325 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1325 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1325 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_LANC_CENTROS_CUSTO ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1299 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1299 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1299 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANC_CENTROS_CUSTO SET CONTAS_LANC_CENTROS_CUSTO.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE CONTAS_LANC_CENTROS_CUSTO.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1299 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1299 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1299 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTRO_CUSTO ESTOQUE_RET_MAT ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1227 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1227 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1227 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET_MAT SET ESTOQUE_RET_MAT.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE ESTOQUE_RET_MAT.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1227 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1227 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1227 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTROS_CUSTO ESTOQUE_SAI_MAT ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1226 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1226 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1226 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_SAI_MAT SET ESTOQUE_SAI_MAT.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE ESTOQUE_SAI_MAT.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1226 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1226 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1226 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTROS_CUSTO REQUISICOES ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO1222 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO1222 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO1222 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICOES SET REQUISICOES.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE REQUISICOES.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO1222 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO1222 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO1222 DEALLOCATE CENTROS_CUSTO496 END /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_CENTROCUSTO ON PARENT UPDATE CASCADE */ IF update(CENTRO_CUSTO) BEGIN DECLARE CENTROS_CUSTO742 CURSOR FOR SELECT CENTRO_CUSTO FROM INSERTED DECLARE CENTROS_CUSTO496 CURSOR FOR SELECT CENTRO_CUSTO FROM DELETED OPEN CENTROS_CUSTO742 OPEN CENTROS_CUSTO496 FETCH NEXT FROM CENTROS_CUSTO742 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_CENTROCUSTO SET CONTAS_CENTROCUSTO.CENTRO_CUSTO=@insCENTRO_CUSTO WHERE CONTAS_CENTROCUSTO.CENTRO_CUSTO = @delCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO742 INTO @insCENTRO_CUSTO FETCH NEXT FROM CENTROS_CUSTO496 INTO @delCENTRO_CUSTO END END CLOSE CENTROS_CUSTO742 CLOSE CENTROS_CUSTO496 DEALLOCATE CENTROS_CUSTO742 DEALLOCATE CENTROS_CUSTO496 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CENTROS_CUSTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CENTROS_CUSTO, INSERTED WHERE CENTROS_CUSTO.CENTRO_CUSTO = INSERTED.CENTRO_CUSTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CENTROS_CUSTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CENTROS_CUSTO].[PREVISAO_GLOBAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CENTROS_CUSTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLASSIF_FISCAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLASSIF_FISCAL]( [CLASSIF_FISCAL] [char](10) NOT NULL, [IPI] [real] NULL, [DESC_CLASSIFICACAO] [varchar](40) NOT NULL, [CLASSIF_REDUZIDA] [char](6) NOT NULL, [ABATER_ICMS_NO_MEDIO] [bit] NOT NULL, [ABATER_IPI_NO_MEDIO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKCLASSIF_FISCAL] PRIMARY KEY NONCLUSTERED ( [CLASSIF_FISCAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CLASSIF_FISCA] ON [CLASSIF_FISCAL] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA A, DELETED B WHERE A.GF_CLASSIF_FISCA=B.CLASSIF_FISCAL) DELETE FROM GF_CLASSIF_FISCA WHERE GF_CLASSIF_FISCA=(SELECT CLASSIF_FISCAL FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CLASSIF_FISCA] ON [CLASSIF_FISCAL] FOR INSERT NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CLASSIF_FISCA'')) ) =1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) BEGIN IF NOT EXISTS (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA A, INSERTED B WHERE A.GF_CLASSIF_FISCA=B.CLASSIF_FISCAL) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CLASSIF_FISCA (ID,GF_CLASSIF_FISCA,GF_IPI,GF_DESC_CLASSIFI,GF_CLASSIF_REDUZ,GF_ABATER_ICMS_N,GF_ABATER_IPI_NO, DATA_PARA_TRANSFERENCIA,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,CLASSIF_FISCAL,IPI,DESC_CLASSIFICACAO,CLASSIF_REDUZIDA,ABATER_ICMS_NO_MEDIO, ABATER_IPI_NO_MEDIO,DATA_PARA_TRANSFERENCIA, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM CLASSIF_FISCAL A, GF_CLASSIF_FISCACNT B WHERE CLASSIF_FISCAL =(SELECT CLASSIF_FISCAL FROM INSERTED) UPDATE GF_CLASSIF_FISCACNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CLASSIF_FISCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_CLASSIF_FISCA fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_CLASSIF_FISCA] ON [CLASSIF_FISCAL] FOR UPDATE NOT FOR REPLICATION AS IF (( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CLASSIF_FISCA'')) ) =1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CLASSIF_FISCA'')) ) =1)) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CLASSIF_FISCA'')) ) < 2 ) BEGIN -- IF EXISTS (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA A, DELETED B WHERE A.GF_CLASSIF_FISCA=B.CLASSIF_FISCAL) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CLASSIF_FISCA'')) ) < 2 ) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_CLASSIF_FISCA SET GF_CLASSIF_FISCA=(SELECT CLASSIF_FISCAL FROM INSERTED), GF_IPI=(SELECT IPI FROM INSERTED), GF_DESC_CLASSIFI=(SELECT DESC_CLASSIFICACAO FROM INSERTED), GF_CLASSIF_REDUZ=(SELECT CLASSIF_REDUZIDA FROM INSERTED), GF_ABATER_ICMS_N=(SELECT ABATER_ICMS_NO_MEDIO FROM INSERTED), GF_ABATER_IPI_NO=(SELECT ABATER_IPI_NO_MEDIO FROM INSERTED), DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_CLASSIF_FISCA=(SELECT CLASSIF_FISCAL FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLASSIF_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_CLASSIF_FISCAL] on [CLASSIF_FISCAL] for DELETE as /* DELETE trigger on CLASSIF_FISCAL */ begin declare @errno int, @errmsg varchar(255) /* CLASSIF_FISCAL R/2132 SERVICOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,SERVICOS where SERVICOS.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #SERVICOS#.'' goto error end /* CLASSIF_FISCAL R/1613 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* CLASSIF_FISCAL CLASSIF FATURAMENTO_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CONSUMO where FATURAMENTO_CONSUMO.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #FATURAMENTO_CONSUMO#.'' goto error end /* CLASSIF_FISCAL CLASSIF_FISCAL PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #PRODUTOS#.'' goto error end /* CLASSIF_FISCAL CLASSIF_FISCAL MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #MATERIAIS#.'' goto error end /* ERwin Builtin Thu Jan 16 10:37:14 2003 */ /* CLASSIF_FISCAL R/10 FATURAMENTO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_ITEM where /* FATURAMENTO_ITEM.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL */ FATURAMENTO_ITEM.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLASSIF_FISCAL #porque existem registros em #FATURAMENTO_ITEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLASSIF_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLASSIF_FISCAL] on [CLASSIF_FISCAL] for INSERT as /* INSERT trigger on CLASSIF_FISCAL */ /* default body for LXI_CLASSIF_FISCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLASSIF_FISCAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLASSIF_FISCAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLASSIF_FISCAL, INSERTED WHERE CLASSIF_FISCAL.CLASSIF_FISCAL = inserted.CLASSIF_FISCAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLASSIF_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_CLASSIF_FISCAL] on [CLASSIF_FISCAL] for UPDATE as /* UPDATE trigger on CLASSIF_FISCAL */ /* default body for LXU_CLASSIF_FISCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLASSIF_FISCAL char(10), @delCLASSIF_FISCAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLASSIF_FISCAL R/2132 SERVICOS ON PARENT UPDATE CASCADE */ IF update(CLASSIF_FISCAL) BEGIN DECLARE CLASSIF_FISCAL2132 CURSOR FOR SELECT CLASSIF_FISCAL FROM INSERTED DECLARE CLASSIF_FISCAL41 CURSOR FOR SELECT CLASSIF_FISCAL FROM DELETED OPEN CLASSIF_FISCAL2132 OPEN CLASSIF_FISCAL41 FETCH NEXT FROM CLASSIF_FISCAL2132 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SERVICOS SET SERVICOS.CLASSIF_FISCAL=@insCLASSIF_FISCAL WHERE SERVICOS.CLASSIF_FISCAL = @delCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL2132 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL END END CLOSE CLASSIF_FISCAL2132 CLOSE CLASSIF_FISCAL41 DEALLOCATE CLASSIF_FISCAL2132 DEALLOCATE CLASSIF_FISCAL41 END /* CLASSIF_FISCAL R/1613 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(CLASSIF_FISCAL) BEGIN DECLARE CLASSIF_FISCAL1613 CURSOR FOR SELECT CLASSIF_FISCAL FROM INSERTED DECLARE CLASSIF_FISCAL41 CURSOR FOR SELECT CLASSIF_FISCAL FROM DELETED OPEN CLASSIF_FISCAL1613 OPEN CLASSIF_FISCAL41 FETCH NEXT FROM CLASSIF_FISCAL1613 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.CLASSIF_FISCAL=@insCLASSIF_FISCAL WHERE ENTRADAS_CONSUMO.CLASSIF_FISCAL = @delCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL1613 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL END END CLOSE CLASSIF_FISCAL1613 CLOSE CLASSIF_FISCAL41 DEALLOCATE CLASSIF_FISCAL1613 DEALLOCATE CLASSIF_FISCAL41 END /* CLASSIF_FISCAL CLASSIF FATURAMENTO_CONSUMO ON PARENT UPDATE CASCADE */ IF update(CLASSIF_FISCAL) BEGIN DECLARE CLASSIF_FISCAL1219 CURSOR FOR SELECT CLASSIF_FISCAL FROM INSERTED DECLARE CLASSIF_FISCAL41 CURSOR FOR SELECT CLASSIF_FISCAL FROM DELETED OPEN CLASSIF_FISCAL1219 OPEN CLASSIF_FISCAL41 FETCH NEXT FROM CLASSIF_FISCAL1219 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CONSUMO SET FATURAMENTO_CONSUMO.CLASSIF_FISCAL=@insCLASSIF_FISCAL WHERE FATURAMENTO_CONSUMO.CLASSIF_FISCAL = @delCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL1219 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL END END CLOSE CLASSIF_FISCAL1219 CLOSE CLASSIF_FISCAL41 DEALLOCATE CLASSIF_FISCAL1219 DEALLOCATE CLASSIF_FISCAL41 END /* CLASSIF_FISCAL CLASSIF_FISCAL PRODUTOS ON PARENT UPDATE CASCADE */ IF update(CLASSIF_FISCAL) BEGIN DECLARE CLASSIF_FISCAL670 CURSOR FOR SELECT CLASSIF_FISCAL FROM INSERTED DECLARE CLASSIF_FISCAL41 CURSOR FOR SELECT CLASSIF_FISCAL FROM DELETED OPEN CLASSIF_FISCAL670 OPEN CLASSIF_FISCAL41 FETCH NEXT FROM CLASSIF_FISCAL670 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.CLASSIF_FISCAL=@insCLASSIF_FISCAL WHERE PRODUTOS.CLASSIF_FISCAL = @delCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL670 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL END END CLOSE CLASSIF_FISCAL670 CLOSE CLASSIF_FISCAL41 DEALLOCATE CLASSIF_FISCAL670 DEALLOCATE CLASSIF_FISCAL41 END /* CLASSIF_FISCAL CLASSIF_FISCAL MATERIAIS ON PARENT UPDATE CASCADE */ IF update(CLASSIF_FISCAL) BEGIN DECLARE CLASSIF_FISCAL667 CURSOR FOR SELECT CLASSIF_FISCAL FROM INSERTED DECLARE CLASSIF_FISCAL41 CURSOR FOR SELECT CLASSIF_FISCAL FROM DELETED OPEN CLASSIF_FISCAL667 OPEN CLASSIF_FISCAL41 FETCH NEXT FROM CLASSIF_FISCAL667 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.CLASSIF_FISCAL=@insCLASSIF_FISCAL WHERE MATERIAIS.CLASSIF_FISCAL = @delCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL667 INTO @insCLASSIF_FISCAL FETCH NEXT FROM CLASSIF_FISCAL41 INTO @delCLASSIF_FISCAL END END CLOSE CLASSIF_FISCAL667 CLOSE CLASSIF_FISCAL41 DEALLOCATE CLASSIF_FISCAL667 DEALLOCATE CLASSIF_FISCAL41 END /* ERwin Builtin Thu Jan 16 10:40:28 2003 */ /* CLASSIF_FISCAL R/10 FATURAMENTO_ITEM ON PARENT UPDATE CASCADE */ if /* update(CLASSIF_FISCAL) */ update(CLASSIF_FISCAL) begin if @numrows = 1 begin select @insCLASSIF_FISCAL = inserted.CLASSIF_FISCAL from inserted update FATURAMENTO_ITEM set /* FATURAMENTO_ITEM.CLASSIF_FISCAL = @insCLASSIF_FISCAL */ FATURAMENTO_ITEM.CLASSIF_FISCAL = @insCLASSIF_FISCAL from FATURAMENTO_ITEM,inserted,deleted where /* FATURAMENTO_ITEM.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL */ FATURAMENTO_ITEM.CLASSIF_FISCAL = deleted.CLASSIF_FISCAL end else begin select @errno = 30006, @errmsg = ''Cannot cascade CLASSIF_FISCAL UPDATE because more than one row has been affected.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLASSIF_FISCAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLASSIF_FISCAL, INSERTED WHERE CLASSIF_FISCAL.CLASSIF_FISCAL = inserted.CLASSIF_FISCAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLASSIF_FISCAL.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLASSIF_FISCAL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLASSIF_FISCAL].[ABATER_ICMS_NO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLASSIF_FISCAL].[ABATER_IPI_NO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLASSIF_FISCAL].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SERIES_NF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SERIES_NF]( [SERIE_NF] [char](2) NOT NULL, [USO_PROPRIO] [bit] NOT NULL, [DESCRICAO] [varchar](25) NOT NULL, [TIPO_SERIE] [smallint] NULL, [ANO_FISCAL] [char](4) NULL, [DATA_INICIO] [datetime] NULL, [DATA_FIM] [datetime] NULL, [SERIE_EXPORTACAO] [bit] NOT NULL, CONSTRAINT [XPKSERIES_NF] PRIMARY KEY NONCLUSTERED ( [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SERIES_NF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_SERIES_NF] on [SERIES_NF] for DELETE as /* DELETE trigger on SERIES_NF */ begin declare @errno int, @errmsg varchar(255) /* SERIES_NF SERIES_NF FATURAMENTO_SEQUENCIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_SEQUENCIAIS where FATURAMENTO_SEQUENCIAIS.SERIE_NF = deleted.SERIE_NF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERIES_NF #porque existem registros em #FATURAMENTO_SEQUENCIAIS#.'' goto error end /* SERIES_NF SERIES_NF ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.SERIE_NF = deleted.SERIE_NF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SERIES_NF #porque existem registros em #ENTRADAS#.'' goto error end /* ERwin Builtin Thu Jan 16 11:19:48 2003 */ /* SERIES_NF R/31 NATUREZAS_SERIES ON PARENT DELETE CASCADE */ delete NATUREZAS_SERIES from NATUREZAS_SERIES,deleted where /* NATUREZAS_SERIES.SERIE_NF = deleted.SERIE_NF */ NATUREZAS_SERIES.SERIE_NF = deleted.SERIE_NF return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SERIES_NF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_SERIES_NF] on [SERIES_NF] for UPDATE as /* UPDATE trigger on SERIES_NF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSERIE_NF char(2), @delSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SERIES_NF SERIES_NF FATURAMENTO_SEQUENCIAIS ON PARENT UPDATE CASCADE */ IF update(SERIE_NF) BEGIN DECLARE SERIES_NF953 CURSOR FOR SELECT SERIE_NF FROM INSERTED DECLARE SERIES_NF16 CURSOR FOR SELECT SERIE_NF FROM DELETED OPEN SERIES_NF953 OPEN SERIES_NF16 FETCH NEXT FROM SERIES_NF953 INTO @insSERIE_NF FETCH NEXT FROM SERIES_NF16 INTO @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_SEQUENCIAIS SET FATURAMENTO_SEQUENCIAIS.SERIE_NF=@insSERIE_NF WHERE FATURAMENTO_SEQUENCIAIS.SERIE_NF = @delSERIE_NF FETCH NEXT FROM SERIES_NF953 INTO @insSERIE_NF FETCH NEXT FROM SERIES_NF16 INTO @delSERIE_NF END END CLOSE SERIES_NF953 CLOSE SERIES_NF16 DEALLOCATE SERIES_NF953 DEALLOCATE SERIES_NF16 END /* SERIES_NF SERIES_NF ENTRADAS ON PARENT UPDATE CASCADE */ IF update(SERIE_NF) BEGIN DECLARE SERIES_NF19 CURSOR FOR SELECT SERIE_NF FROM INSERTED DECLARE SERIES_NF16 CURSOR FOR SELECT SERIE_NF FROM DELETED OPEN SERIES_NF19 OPEN SERIES_NF16 FETCH NEXT FROM SERIES_NF19 INTO @insSERIE_NF FETCH NEXT FROM SERIES_NF16 INTO @delSERIE_NF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.SERIE_NF=@insSERIE_NF WHERE ENTRADAS.SERIE_NF = @delSERIE_NF FETCH NEXT FROM SERIES_NF19 INTO @insSERIE_NF FETCH NEXT FROM SERIES_NF16 INTO @delSERIE_NF END END CLOSE SERIES_NF19 CLOSE SERIES_NF16 DEALLOCATE SERIES_NF19 DEALLOCATE SERIES_NF16 END /* ERwin Builtin Thu Jan 16 11:19:48 2003 */ /* SERIES_NF R/31 NATUREZAS_SERIES ON PARENT UPDATE CASCADE */ if /* update(SERIE_NF) */ update(SERIE_NF) begin if @numrows = 1 begin select @insSERIE_NF = inserted.SERIE_NF from inserted update NATUREZAS_SERIES set /* NATUREZAS_SERIES.SERIE_NF = @insSERIE_NF */ NATUREZAS_SERIES.SERIE_NF = @insSERIE_NF from NATUREZAS_SERIES,inserted,deleted where /* NATUREZAS_SERIES.SERIE_NF = deleted.SERIE_NF */ NATUREZAS_SERIES.SERIE_NF = deleted.SERIE_NF end else begin select @errno = 30006, @errmsg = ''Cannot cascade SERIES_NF UPDATE because more than one row has been affected.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SERIES_NF].[USO_PROPRIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SERIES_NF].[TIPO_SERIE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SERIES_NF].[SERIE_EXPORTACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDA]( [CODIGO_FILIAL] [char](6) NOT NULL, [TICKET] [char](8) NOT NULL, [DATA_VENDA] [datetime] NOT NULL, [CODIGO_DESCONTO] [char](2) NULL, [CODIGO_CLIENTE] [varchar](14) NULL, [PERIODO] [char](1) NULL, [DATA_DIGITACAO] [datetime] NULL, [VENDEDOR] [char](4) NULL, [OPERACAO_VENDA] [char](3) NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [COMISSAO] [numeric](7, 2) NULL, [DESCONTO] [numeric](14, 2) NULL, [QTDE_TOTAL] [int] NULL, [VALOR_TIKET] [numeric](14, 2) NULL, [VALOR_PAGO] [numeric](14, 2) NULL, [VALOR_VENDA_BRUTA] [numeric](14, 2) NULL, [VALOR_TROCA] [numeric](14, 2) NULL, [QTDE_TROCA_TOTAL] [int] NULL, [TICKET_IMPRESSO] [bit] NOT NULL, [TERMINAL] [char](3) NOT NULL, [GERENTE_LOJA] [char](4) NOT NULL, [GERENTE_PERIODO] [char](4) NOT NULL, [CODIGO_FILIAL_PGTO] [char](6) NULL, [TERMINAL_PGTO] [char](3) NULL, [LANCAMENTO_CAIXA] [char](7) NULL, [TIMESTAMP] [timestamp] NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [TOTAL_QTDE_CANCELADA] [int] NULL, [DATA_HORA_CANCELAMENTO] [datetime] NULL, [PERIODO_FECHAMENTO] [char](2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [FATOR] [numeric](3, 2) NULL, [SUGESTAO_COD_FORMA_PGTO] [varchar](2) NULL, [VALOR_IPI] [numeric](14, 2) NULL, [QTDE_ITEM] [smallint] NULL, CONSTRAINT [XPKLOJA_VENDA] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TICKET] ASC, [DATA_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA]') AND name = N'XIE1LOJA_VENDA') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDA] ON [LOJA_VENDA] ( [DATA_VENDA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA]') AND name = N'XIE2LOJA_VENDA') CREATE NONCLUSTERED INDEX [XIE2LOJA_VENDA] ON [LOJA_VENDA] ( [TICKET] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA]') AND name = N'XIE3LOJA_VENDA') CREATE NONCLUSTERED INDEX [XIE3LOJA_VENDA] ON [LOJA_VENDA] ( [CODIGO_FILIAL_PGTO] ASC, [TERMINAL_PGTO] ASC, [LANCAMENTO_CAIXA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDA] on [LOJA_VENDA] for DELETE as /* DELETE trigger on LOJA_VENDA */ /* default body for LXD_LOJA_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTICKET char(8), @insDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF EXISTS(SELECT * FROM Deleted, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Deleted, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_TROCA.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_VENDA LOJA_TROCA_VENDA LOJA_VENDA_TROCA ON PARENT DELETE CASCADE */ delete LOJA_VENDA_TROCA from LOJA_VENDA_TROCA,deleted where LOJA_VENDA_TROCA.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_VENDA_TROCA.TICKET = deleted.TICKET and LOJA_VENDA_TROCA.DATA_VENDA = deleted.DATA_VENDA /* LOJA_VENDA LOJA_VENDA LOJA_VENDA_PRODUTO ON PARENT DELETE CASCADE */ delete LOJA_VENDA_PRODUTO from LOJA_VENDA_PRODUTO,deleted where LOJA_VENDA_PRODUTO.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_VENDA_PRODUTO.TICKET = deleted.TICKET and LOJA_VENDA_PRODUTO.DATA_VENDA = deleted.DATA_VENDA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDA] on [LOJA_VENDA] for INSERT as /* INSERT trigger on LOJA_VENDA */ /* default body for LXI_LOJA_VENDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTICKET char(8), @insDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_MOTIVOS_DESCONTO LOJA_TIPO_DESCONTO LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_DESCONTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_MOTIVOS_DESCONTO where inserted.CODIGO_DESCONTO = LOJA_MOTIVOS_DESCONTO.CODIGO_DESCONTO select @nullcnt = count(*) from inserted where inserted.CODIGO_DESCONTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_MOTIVOS_DESCONTO #não existe.'' goto error end end /* LOJA_VENDEDORES GERENTE_PERIODO LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(GERENTE_PERIODO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.GERENTE_PERIODO = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_VENDEDORES GERENTES LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(GERENTE_LOJA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.GERENTE_LOJA = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS TERMINAL LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_TERMINAIS #não existe.'' goto error end end /* CLIENTES_VAREJO clientes_varejo LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJAS_VAREJO LOJAS_VAREJO LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJAS_VAREJO #não existe.'' goto error end end /* LOJA_VENDA_PGTO CAIXA_LANC LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL_PGTO) or update(TERMINAL_PGTO) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA_PGTO where inserted.CODIGO_FILIAL_PGTO = LOJA_VENDA_PGTO.CODIGO_FILIAL and inserted.TERMINAL_PGTO = LOJA_VENDA_PGTO.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_VENDA_PGTO.LANCAMENTO_CAIXA select @nullcnt = count(*) from inserted where inserted.CODIGO_FILIAL_PGTO is null or inserted.TERMINAL_PGTO is null or inserted.LANCAMENTO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_VENDA_PGTO #não existe.'' goto error end end /* TABELAS_PRECO TABELAS_PRECO LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #TABELAS_PRECO #não existe.'' goto error end end /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(OPERACAO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_OPERACOES_VENDA where inserted.OPERACAO_VENDA = LOJA_OPERACOES_VENDA.OPERACAO_VENDA select @nullcnt = count(*) from inserted where inserted.OPERACAO_VENDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_OPERACOES_VENDA #não existe.'' goto error end end /* LOJA_VENDEDORES LOJA_FUNCIONARIOS LOJA_VENDA ON CHILD INSERT RESTRICT */ if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /*-- Ultima Compra ----------------------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAREJO SET ULTIMA_COMPRA=DATA_VENDA FROM CLIENTES_VAREJO JOIN INSERTED ON CLIENTES_VAREJO.CODIGO_CLIENTE=INSERTED.CODIGO_CLIENTE WHERE ULTIMA_COMPRA 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Alterar Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(DATA_VENDA) BEGIN IF EXISTS(SELECT * FROM Deleted, LOJA_VENDA_PRODUTO, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL = LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND DELETED.TICKET = LOJA_VENDA_PRODUTO.TICKET AND DELETED.DATA_VENDA = LOJA_VENDA_PRODUTO.DATA_VENDA AND DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_PRODUTO.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, LOJA_VENDA_TROCA, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE INSERTED.CODIGO_FILIAL = LOJA_VENDA_TROCA.CODIGO_FILIAL AND INSERTED.TICKET = LOJA_VENDA_TROCA.TICKET AND INSERTED.DATA_VENDA = LOJA_VENDA_TROCA.DATA_VENDA AND INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=LOJA_VENDA_TROCA.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=LOJA_VENDA_TROCA.COR_PRODUTO AND INSERTED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* LOJA_MOTIVOS_DESCONTO LOJA_TIPO_DESCONTO LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_DESCONTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_MOTIVOS_DESCONTO where inserted.CODIGO_DESCONTO = LOJA_MOTIVOS_DESCONTO.CODIGO_DESCONTO select @nullcnt = count(*) from inserted where inserted.CODIGO_DESCONTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_MOTIVOS_DESCONTO #não existe.'' goto error end end /* LOJA_VENDEDORES GERENTE_PERIODO LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(GERENTE_PERIODO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.GERENTE_PERIODO = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_VENDEDORES GERENTES LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(GERENTE_LOJA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.GERENTE_LOJA = LOJA_VENDEDORES.VENDEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS TERMINAL LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_TERMINAIS #não existe.'' goto error end end /* CLIENTES_VAREJO clientes_varejo LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE select @nullcnt = count(*) from inserted where inserted.CODIGO_CLIENTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* LOJAS_VAREJO LOJAS_VAREJO LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_VAREJO where inserted.CODIGO_FILIAL = LOJAS_VAREJO.CODIGO_FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJAS_VAREJO #não existe.'' goto error end end /* LOJA_VENDA_PGTO CAIXA_LANC LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL_PGTO) or update(TERMINAL_PGTO) or update(LANCAMENTO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA_PGTO where inserted.CODIGO_FILIAL_PGTO = LOJA_VENDA_PGTO.CODIGO_FILIAL and inserted.TERMINAL_PGTO = LOJA_VENDA_PGTO.TERMINAL and inserted.LANCAMENTO_CAIXA = LOJA_VENDA_PGTO.LANCAMENTO_CAIXA select @nullcnt = count(*) from inserted where inserted.CODIGO_FILIAL_PGTO is null and inserted.TERMINAL_PGTO is null and inserted.LANCAMENTO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_VENDA_PGTO #não existe.'' goto error end end /* TABELAS_PRECO TABELAS_PRECO LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #TABELAS_PRECO #não existe.'' goto error end end /* LOJA_OPERACOES_VENDA LOJA_OPERACAO LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(OPERACAO_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_OPERACOES_VENDA where inserted.OPERACAO_VENDA = LOJA_OPERACOES_VENDA.OPERACAO_VENDA select @nullcnt = count(*) from inserted where inserted.OPERACAO_VENDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_OPERACOES_VENDA #não existe.'' goto error end end /* LOJA_VENDEDORES LOJA_FUNCIONARIOS LOJA_VENDA ON CHILD UPDATE RESTRICT */ if update(VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_VENDA LOJA_TROCA_VENDA LOJA_VENDA_TROCA ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TICKET) OR update(DATA_VENDA) BEGIN DECLARE LOJA_VENDA1090 CURSOR FOR SELECT CODIGO_FILIAL, TICKET, DATA_VENDA FROM INSERTED DECLARE LOJA_VENDA227 CURSOR FOR SELECT CODIGO_FILIAL, TICKET, DATA_VENDA FROM DELETED OPEN LOJA_VENDA1090 OPEN LOJA_VENDA227 FETCH NEXT FROM LOJA_VENDA1090 INTO @insCODIGO_FILIAL, @insTICKET, @insDATA_VENDA FETCH NEXT FROM LOJA_VENDA227 INTO @delCODIGO_FILIAL, @delTICKET, @delDATA_VENDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_TROCA SET LOJA_VENDA_TROCA.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_VENDA_TROCA.TICKET=@insTICKET, LOJA_VENDA_TROCA.DATA_VENDA=@insDATA_VENDA WHERE LOJA_VENDA_TROCA.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_VENDA_TROCA.TICKET = @delTICKET and LOJA_VENDA_TROCA.DATA_VENDA = @delDATA_VENDA FETCH NEXT FROM LOJA_VENDA1090 INTO @insCODIGO_FILIAL, @insTICKET, @insDATA_VENDA FETCH NEXT FROM LOJA_VENDA227 INTO @delCODIGO_FILIAL, @delTICKET, @delDATA_VENDA END END CLOSE LOJA_VENDA1090 CLOSE LOJA_VENDA227 DEALLOCATE LOJA_VENDA1090 DEALLOCATE LOJA_VENDA227 END /* LOJA_VENDA LOJA_VENDA LOJA_VENDA_PRODUTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TICKET) OR update(DATA_VENDA) BEGIN DECLARE LOJA_VENDA478 CURSOR FOR SELECT CODIGO_FILIAL, TICKET, DATA_VENDA FROM INSERTED DECLARE LOJA_VENDA227 CURSOR FOR SELECT CODIGO_FILIAL, TICKET, DATA_VENDA FROM DELETED OPEN LOJA_VENDA478 OPEN LOJA_VENDA227 FETCH NEXT FROM LOJA_VENDA478 INTO @insCODIGO_FILIAL, @insTICKET, @insDATA_VENDA FETCH NEXT FROM LOJA_VENDA227 INTO @delCODIGO_FILIAL, @delTICKET, @delDATA_VENDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PRODUTO SET LOJA_VENDA_PRODUTO.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_VENDA_PRODUTO.TICKET=@insTICKET, LOJA_VENDA_PRODUTO.DATA_VENDA=@insDATA_VENDA WHERE LOJA_VENDA_PRODUTO.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_VENDA_PRODUTO.TICKET = @delTICKET and LOJA_VENDA_PRODUTO.DATA_VENDA = @delDATA_VENDA FETCH NEXT FROM LOJA_VENDA478 INTO @insCODIGO_FILIAL, @insTICKET, @insDATA_VENDA FETCH NEXT FROM LOJA_VENDA227 INTO @delCODIGO_FILIAL, @delTICKET, @delDATA_VENDA END END CLOSE LOJA_VENDA478 CLOSE LOJA_VENDA227 DEALLOCATE LOJA_VENDA478 DEALLOCATE LOJA_VENDA227 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF UPDATE(VALOR_PAGO) BEGIN UPDATE LOJA_VENDA_PRODUTO SET QTDE=QTDE FROM LOJA_VENDA_PRODUTO JOIN INSERTED ON LOJA_VENDA_PRODUTO.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_VENDA_PRODUTO.TICKET=INSERTED.TICKET AND LOJA_VENDA_PRODUTO.DATA_VENDA=INSERTED.DATA_VENDA UPDATE LOJA_VENDA_TROCA SET QTDE=QTDE FROM LOJA_VENDA_TROCA JOIN INSERTED ON LOJA_VENDA_TROCA.CODIGO_FILIAL=INSERTED.CODIGO_FILIAL AND LOJA_VENDA_TROCA.TICKET=INSERTED.TICKET AND LOJA_VENDA_TROCA.DATA_VENDA=INSERTED.DATA_VENDA END IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA, INSERTED WHERE LOJA_VENDA.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA.TICKET = INSERTED.TICKET and LOJA_VENDA.DATA_VENDA = INSERTED.DATA_VENDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[QTDE_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_TIKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_VENDA_BRUTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[QTDE_TROCA_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[TICKET_IMPRESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[TOTAL_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[FATOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA].[VALOR_IPI]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDA_PGTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDA_PGTO]( [CODIGO_FILIAL] [char](6) NOT NULL, [TERMINAL] [char](3) NOT NULL, [LANCAMENTO_CAIXA] [char](7) NOT NULL, [COD_FORMA_PGTO] [char](2) NULL, [CAIXA_VENDEDOR] [char](4) NULL, [DIGITACAO] [datetime] NULL, [DATA] [datetime] NULL, [NUMERO_CUPOM_FISCAL] [varchar](8) NULL, [DESCONTO_PGTO] [numeric](14, 2) NULL, [TOTAL_VENDA] [numeric](14, 2) NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [PERIODO_FECHAMENTO] [char](2) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [SERIE_NF_ENTRADA] [char](2) NULL, [SERIE_NF_SAIDA] [char](2) NULL, [FATOR] [numeric](3, 2) NULL, [NUMERO_FISCAL_TROCA] [varchar](8) NULL, [CANCELADO_FISCAL] [smallint] NULL, CONSTRAINT [XPKLOJA_VENDA_PGTO] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [LANCAMENTO_CAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_PGTO]') AND name = N'XIE1LOJA_VENDA_PGTO') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDA_PGTO] ON [LOJA_VENDA_PGTO] ( [DATA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDA_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDA_PGTO] on [LOJA_VENDA_PGTO] for DELETE as /* DELETE trigger on LOJA_VENDA_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_VENDA_PGTO CAIXA_LANC LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.CODIGO_FILIAL_PGTO = deleted.CODIGO_FILIAL and LOJA_VENDA.TERMINAL_PGTO = deleted.TERMINAL and LOJA_VENDA.LANCAMENTO_CAIXA = deleted.LANCAMENTO_CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_VENDA_PGTO #porque existem registros em #LOJA_VENDA#.'' goto error end /* LOJA_VENDA_PGTO LOJA_PARCELAS LOJA_VENDA_PARCELAS ON PARENT DELETE CASCADE */ delete LOJA_VENDA_PARCELAS from LOJA_VENDA_PARCELAS,deleted where LOJA_VENDA_PARCELAS.CODIGO_FILIAL = deleted.CODIGO_FILIAL and LOJA_VENDA_PARCELAS.TERMINAL = deleted.TERMINAL and LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA = deleted.LANCAMENTO_CAIXA /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ BEGIN DECLARE CUR_LOG_DELETE CURSOR FOR SELECT DISTINCT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM DELETED DECLARE @xDATA DATETIME OPEN CUR_LOG_DELETE FETCH NEXT FROM CUR_LOG_DELETE INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA) VALUES(@insCODIGO_FILIAL,@insTERMINAL,@insLANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''D'',''LOJA_VENDA_PGTO'') END FETCH NEXT FROM CUR_LOG_DELETE INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA END END CLOSE CUR_LOG_DELETE DEALLOCATE CUR_LOG_DELETE END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDA_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDA_PGTO] on [LOJA_VENDA_PGTO] for INSERT as /* INSERT trigger on LOJA_VENDA_PGTO */ /* default body for LXI_LOJA_VENDA_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_FORMAS_PGTO R/1249 LOJA_VENDA_PGTO ON CHILD INSERT RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO select @nullcnt = count(*) from inserted where inserted.COD_FORMA_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PGTO #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /* LOJA_VENDEDORES VENDEDOR LOJA_VENDA_PGTO ON CHILD INSERT RESTRICT */ if update(CAIXA_VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.CAIXA_VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.CAIXA_VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PGTO #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS CAIXAS LOJA_VENDA_PGTO ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PGTO #porque #LOJA_TERMINAIS #não existe.'' goto error end end /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ BEGIN DECLARE CUR_LOG_INSERT CURSOR FOR SELECT DISTINCT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM INSERTED DECLARE @xDATA DATETIME OPEN CUR_LOG_INSERT FETCH NEXT FROM CUR_LOG_INSERT INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA) VALUES(@insCODIGO_FILIAL,@insTERMINAL,@insLANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''I'',''LOJA_VENDA_PGTO'') END FETCH NEXT FROM CUR_LOG_INSERT INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA END END CLOSE CUR_LOG_INSERT DEALLOCATE CUR_LOG_INSERT END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PGTO, INSERTED WHERE LOJA_VENDA_PGTO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PGTO.TERMINAL = INSERTED.TERMINAL and LOJA_VENDA_PGTO.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_VENDA_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_VENDA_PGTO] on [LOJA_VENDA_PGTO] for UPDATE as /* UPDATE trigger on LOJA_VENDA_PGTO */ /* default body for LXU_LOJA_VENDA_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insLANCAMENTO_CAIXA char(7), @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delLANCAMENTO_CAIXA char(7), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_FORMAS_PGTO R/1249 LOJA_VENDA_PGTO ON CHILD UPDATE RESTRICT */ if update(COD_FORMA_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_FORMAS_PGTO where inserted.COD_FORMA_PGTO = LOJA_FORMAS_PGTO.COD_FORMA_PGTO select @nullcnt = count(*) from inserted where inserted.COD_FORMA_PGTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PGTO #porque #LOJA_FORMAS_PGTO #não existe.'' goto error end end /* LOJA_VENDEDORES VENDEDOR LOJA_VENDA_PGTO ON CHILD UPDATE RESTRICT */ if update(CAIXA_VENDEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDEDORES where inserted.CAIXA_VENDEDOR = LOJA_VENDEDORES.VENDEDOR select @nullcnt = count(*) from inserted where inserted.CAIXA_VENDEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PGTO #porque #LOJA_VENDEDORES #não existe.'' goto error end end /* LOJA_TERMINAIS CAIXAS LOJA_VENDA_PGTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PGTO #porque #LOJA_TERMINAIS #não existe.'' goto error end end /* LOJA_VENDA_PGTO CAIXA_LANC LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) OR update(LANCAMENTO_CAIXA) BEGIN DECLARE LOJA_VENDA_PGTO1098 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM INSERTED DECLARE LOJA_VENDA_PGTO698 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM DELETED OPEN LOJA_VENDA_PGTO1098 OPEN LOJA_VENDA_PGTO698 FETCH NEXT FROM LOJA_VENDA_PGTO1098 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO698 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_FILIAL_PGTO=@insCODIGO_FILIAL, LOJA_VENDA.TERMINAL_PGTO=@insTERMINAL, LOJA_VENDA.LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA WHERE LOJA_VENDA.CODIGO_FILIAL_PGTO = @delCODIGO_FILIAL and LOJA_VENDA.TERMINAL_PGTO = @delTERMINAL and LOJA_VENDA.LANCAMENTO_CAIXA = @delLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO1098 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO698 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA END END CLOSE LOJA_VENDA_PGTO1098 CLOSE LOJA_VENDA_PGTO698 DEALLOCATE LOJA_VENDA_PGTO1098 DEALLOCATE LOJA_VENDA_PGTO698 END /* LOJA_VENDA_PGTO LOJA_PARCELAS LOJA_VENDA_PARCELAS ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) OR update(TERMINAL) OR update(LANCAMENTO_CAIXA) BEGIN DECLARE LOJA_VENDA_PGTO1095 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM INSERTED DECLARE LOJA_VENDA_PGTO698 CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM DELETED OPEN LOJA_VENDA_PGTO1095 OPEN LOJA_VENDA_PGTO698 FETCH NEXT FROM LOJA_VENDA_PGTO1095 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO698 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PARCELAS SET LOJA_VENDA_PARCELAS.CODIGO_FILIAL=@insCODIGO_FILIAL, LOJA_VENDA_PARCELAS.TERMINAL=@insTERMINAL, LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA WHERE LOJA_VENDA_PARCELAS.CODIGO_FILIAL = @delCODIGO_FILIAL and LOJA_VENDA_PARCELAS.TERMINAL = @delTERMINAL and LOJA_VENDA_PARCELAS.LANCAMENTO_CAIXA = @delLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO1095 INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM LOJA_VENDA_PGTO698 INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA END END CLOSE LOJA_VENDA_PGTO1095 CLOSE LOJA_VENDA_PGTO698 DEALLOCATE LOJA_VENDA_PGTO1095 DEALLOCATE LOJA_VENDA_PGTO698 END /*---LOG_CAIXA_LOJA------------------------------------------------------------------------------------*/ IF UPDATE(CODIGO_FILIAL) OR UPDATE(TERMINAL) OR UPDATE(LANCAMENTO_CAIXA) OR UPDATE(CAIXA_VENDEDOR) OR UPDATE(DIGITACAO) OR UPDATE(COD_FORMA_PGTO) OR UPDATE(DATA) OR UPDATE(NUMERO_CUPOM_FISCAL) OR UPDATE(DESCONTO_PGTO) OR UPDATE(TOTAL_VENDA) OR UPDATE(TIMESTAMP) OR UPDATE(VALOR_CANCELADO) OR UPDATE(PERIODO_FECHAMENTO) OR UPDATE(FATOR) OR UPDATE(NUMERO_FISCAL_TROCA) OR UPDATE(SERIE_NF_ENTRADA) OR UPDATE(SERIE_NF_SAIDA) OR UPDATE(CANCELADO_FISCAL) OR UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN DECLARE CUR_LOG_INSERT CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM INSERTED DECLARE CUR_LOG_DELETED CURSOR FOR SELECT CODIGO_FILIAL, TERMINAL, LANCAMENTO_CAIXA FROM DELETED DECLARE @xDATA DATETIME OPEN CUR_LOG_INSERT OPEN CUR_LOG_DELETED FETCH NEXT FROM CUR_LOG_INSERT INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM CUR_LOG_DELETED INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @xDATA=DATA FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND LANCAMENTO_CAIXA=@insLANCAMENTO_CAIXA IF (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''00'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) > (SELECT COUNT(*) FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''99'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) AND EXISTS (SELECT * FROM LOJA_CAIXA_LANCAMENTOS WHERE TIPO_LANCAMENTO_CAIXA=''RT'' AND CODIGO_FILIAL=@insCODIGO_FILIAL AND TERMINAL=@insTERMINAL AND DATA=@xDATA) BEGIN INSERT INTO LOG_CAIXA_LOJA (CODIGO_FILIAL,TERMINAL,LANCAMENTO_CAIXA,DATA_ALTERACAO,USUARIO,ESTACAO,ACAO,TABELA,COLUNA,VALOR_ORIGINAL,VALOR_NOVO) SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''CODIGO_FILIAL'',CONVERT(VARCHAR(250),DELETED.CODIGO_FILIAL),CONVERT(VARCHAR(250),INSERTED.CODIGO_FILIAL) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CODIGO_FILIAL <> DELETED.CODIGO_FILIAL OR (INSERTED.CODIGO_FILIAL IS NULL AND DELETED.CODIGO_FILIAL IS NOT NULL) OR (INSERTED.CODIGO_FILIAL IS NOT NULL AND DELETED.CODIGO_FILIAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''TERMINAL'',DELETED.TERMINAL,INSERTED.TERMINAL FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.TERMINAL <> DELETED.TERMINAL OR (INSERTED.TERMINAL IS NULL AND DELETED.TERMINAL IS NOT NULL) OR (INSERTED.TERMINAL IS NOT NULL AND DELETED.TERMINAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''LANCAMENTO_CAIXA'',DELETED.LANCAMENTO_CAIXA,INSERTED.LANCAMENTO_CAIXA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.LANCAMENTO_CAIXA <> DELETED.LANCAMENTO_CAIXA OR (INSERTED.LANCAMENTO_CAIXA IS NULL AND DELETED.LANCAMENTO_CAIXA IS NOT NULL) OR (INSERTED.LANCAMENTO_CAIXA IS NOT NULL AND DELETED.LANCAMENTO_CAIXA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''CAIXA_VENDEDOR'',DELETED.CAIXA_VENDEDOR,INSERTED.CAIXA_VENDEDOR FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CAIXA_VENDEDOR <> DELETED.CAIXA_VENDEDOR OR (INSERTED.CAIXA_VENDEDOR IS NULL AND DELETED.CAIXA_VENDEDOR IS NOT NULL) OR (INSERTED.CAIXA_VENDEDOR IS NOT NULL AND DELETED.CAIXA_VENDEDOR IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''DIGITACAO'',CONVERT(VARCHAR(250),DELETED.DIGITACAO),CONVERT(VARCHAR(250),INSERTED.DIGITACAO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.DIGITACAO <> DELETED.DIGITACAO OR (INSERTED.DIGITACAO IS NULL AND DELETED.DIGITACAO IS NOT NULL) OR (INSERTED.DIGITACAO IS NOT NULL AND DELETED.DIGITACAO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''COD_FORMA_PGTO'',DELETED.COD_FORMA_PGTO,INSERTED.COD_FORMA_PGTO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.COD_FORMA_PGTO <> DELETED.COD_FORMA_PGTO OR (INSERTED.COD_FORMA_PGTO IS NULL AND DELETED.COD_FORMA_PGTO IS NOT NULL) OR (INSERTED.COD_FORMA_PGTO IS NOT NULL AND DELETED.COD_FORMA_PGTO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''DATA'',CONVERT(VARCHAR(250),DELETED.DATA),CONVERT(VARCHAR(250),INSERTED.DATA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.DATA <> DELETED.DATA OR (INSERTED.DATA IS NULL AND DELETED.DATA IS NOT NULL) OR (INSERTED.DATA IS NOT NULL AND DELETED.DATA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''NUMERO_CUPOM_FISCAL'',DELETED.NUMERO_CUPOM_FISCAL,INSERTED.NUMERO_CUPOM_FISCAL FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.NUMERO_CUPOM_FISCAL <> DELETED.NUMERO_CUPOM_FISCAL OR (INSERTED.NUMERO_CUPOM_FISCAL IS NULL AND DELETED.NUMERO_CUPOM_FISCAL IS NOT NULL) OR (INSERTED.NUMERO_CUPOM_FISCAL IS NOT NULL AND DELETED.NUMERO_CUPOM_FISCAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''DESCONTO_PGTO'',CONVERT(VARCHAR(250),DELETED.DESCONTO_PGTO),CONVERT(VARCHAR(250),INSERTED.DESCONTO_PGTO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.DESCONTO_PGTO <> DELETED.DESCONTO_PGTO OR (INSERTED.DESCONTO_PGTO IS NULL AND DELETED.DESCONTO_PGTO IS NOT NULL) OR (INSERTED.DESCONTO_PGTO IS NOT NULL AND DELETED.DESCONTO_PGTO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''TOTAL_VENDA'',CONVERT(VARCHAR(250),DELETED.TOTAL_VENDA),CONVERT(VARCHAR(250),INSERTED.TOTAL_VENDA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.TOTAL_VENDA <> DELETED.TOTAL_VENDA OR (INSERTED.TOTAL_VENDA IS NULL AND DELETED.TOTAL_VENDA IS NOT NULL) OR (INSERTED.TOTAL_VENDA IS NOT NULL AND DELETED.TOTAL_VENDA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''VALOR_CANCELADO'',CONVERT(VARCHAR(250),DELETED.VALOR_CANCELADO),CONVERT(VARCHAR(250),INSERTED.VALOR_CANCELADO) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.VALOR_CANCELADO <> DELETED.VALOR_CANCELADO OR (INSERTED.VALOR_CANCELADO IS NULL AND DELETED.VALOR_CANCELADO IS NOT NULL) OR (INSERTED.VALOR_CANCELADO IS NOT NULL AND DELETED.VALOR_CANCELADO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''PERIODO_FECHAMENTO'',DELETED.PERIODO_FECHAMENTO,INSERTED.PERIODO_FECHAMENTO FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.PERIODO_FECHAMENTO <> DELETED.PERIODO_FECHAMENTO OR (INSERTED.PERIODO_FECHAMENTO IS NULL AND DELETED.PERIODO_FECHAMENTO IS NOT NULL) OR (INSERTED.PERIODO_FECHAMENTO IS NOT NULL AND DELETED.PERIODO_FECHAMENTO IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''FATOR'',CONVERT(VARCHAR(250),DELETED.FATOR),CONVERT(VARCHAR(250),INSERTED.FATOR) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.FATOR <> DELETED.FATOR OR (INSERTED.FATOR IS NULL AND DELETED.FATOR IS NOT NULL) OR (INSERTED.FATOR IS NOT NULL AND DELETED.FATOR IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''NUMERO_FISCAL_TROCA'',DELETED.NUMERO_FISCAL_TROCA,INSERTED.NUMERO_FISCAL_TROCA FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.NUMERO_FISCAL_TROCA <> DELETED.NUMERO_FISCAL_TROCA OR (INSERTED.NUMERO_FISCAL_TROCA IS NULL AND DELETED.NUMERO_FISCAL_TROCA IS NOT NULL) OR (INSERTED.NUMERO_FISCAL_TROCA IS NOT NULL AND DELETED.NUMERO_FISCAL_TROCA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''SERIE_NF_ENTRADA'',CONVERT(VARCHAR(250),DELETED.SERIE_NF_ENTRADA),CONVERT(VARCHAR(250),INSERTED.SERIE_NF_ENTRADA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.SERIE_NF_ENTRADA <> DELETED.SERIE_NF_ENTRADA OR (INSERTED.SERIE_NF_ENTRADA IS NULL AND DELETED.SERIE_NF_ENTRADA IS NOT NULL) OR (INSERTED.SERIE_NF_ENTRADA IS NOT NULL AND DELETED.SERIE_NF_ENTRADA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''SERIE_NF_SAIDA'',CONVERT(VARCHAR(250),DELETED.SERIE_NF_SAIDA),CONVERT(VARCHAR(250),INSERTED.SERIE_NF_SAIDA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.SERIE_NF_SAIDA <> DELETED.SERIE_NF_SAIDA OR (INSERTED.SERIE_NF_SAIDA IS NULL AND DELETED.SERIE_NF_SAIDA IS NOT NULL) OR (INSERTED.SERIE_NF_SAIDA IS NOT NULL AND DELETED.SERIE_NF_SAIDA IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''CANCELADO_FISCAL'',CONVERT(VARCHAR(250),DELETED.CANCELADO_FISCAL),CONVERT(VARCHAR(250),INSERTED.CANCELADO_FISCAL) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.CANCELADO_FISCAL <> DELETED.CANCELADO_FISCAL OR (INSERTED.CANCELADO_FISCAL IS NULL AND DELETED.CANCELADO_FISCAL IS NOT NULL) OR (INSERTED.CANCELADO_FISCAL IS NOT NULL AND DELETED.CANCELADO_FISCAL IS NULL) UNION ALL SELECT INSERTED.CODIGO_FILIAL,INSERTED.TERMINAL,INSERTED.LANCAMENTO_CAIXA,GETDATE(),SYSTEM_USER,HOST_NAME(),''U'', ''LOJA_VENDA_PGTO'',''DATA_PARA_TRANSFERENCIA'',CONVERT(VARCHAR(250),DELETED.DATA_PARA_TRANSFERENCIA),CONVERT(VARCHAR(250),INSERTED.DATA_PARA_TRANSFERENCIA) FROM INSERTED JOIN DELETED ON DELETED.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and DELETED.TERMINAL = INSERTED.TERMINAL and DELETED.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA WHERE INSERTED.DATA_PARA_TRANSFERENCIA <> DELETED.DATA_PARA_TRANSFERENCIA OR (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL AND DELETED.DATA_PARA_TRANSFERENCIA IS NOT NULL) OR (INSERTED.DATA_PARA_TRANSFERENCIA IS NOT NULL AND DELETED.DATA_PARA_TRANSFERENCIA IS NULL) END FETCH NEXT FROM CUR_LOG_INSERT INTO @insCODIGO_FILIAL, @insTERMINAL, @insLANCAMENTO_CAIXA FETCH NEXT FROM CUR_LOG_DELETED INTO @delCODIGO_FILIAL, @delTERMINAL, @delLANCAMENTO_CAIXA END END CLOSE CUR_LOG_INSERT CLOSE CUR_LOG_DELETED DEALLOCATE CUR_LOG_INSERT DEALLOCATE CUR_LOG_DELETED END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDA_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PGTO, INSERTED WHERE LOJA_VENDA_PGTO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PGTO.TERMINAL = INSERTED.TERMINAL and LOJA_VENDA_PGTO.LANCAMENTO_CAIXA = INSERTED.LANCAMENTO_CAIXA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDA_PGTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PGTO].[DESCONTO_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PGTO].[TOTAL_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PGTO].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDA_PGTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PGTO].[FATOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PGTO].[CANCELADO_FISCAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDA_PRODUTO]( [TICKET] [char](8) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [DATA_VENDA] [datetime] NOT NULL, [ITEM] [char](4) NOT NULL, [CODIGO_BARRA] [varchar](25) NOT NULL, [PRODUTO] [char](12) NULL, [COR_PRODUTO] [char](10) NULL, [TAMANHO] [smallint] NULL, [QTDE] [int] NULL, [PRECO_LIQUIDO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [NUMERO_IMP_FISCAL] [varchar](10) NULL, [QTDE_CANCELADA] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CUSTO] [numeric](14, 2) NULL, [FATOR_DESCONTO_VENDA] [real] NULL, [FATOR_VENDA_LIQ] [real] NULL, [IPI] [numeric](5, 2) NULL, CONSTRAINT [XPKLOJA_VENDA_PRODUTO] PRIMARY KEY NONCLUSTERED ( [TICKET] ASC, [CODIGO_FILIAL] ASC, [DATA_VENDA] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_PRODUTO]') AND name = N'XIE1LOJA_VENDA_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDA_PRODUTO] ON [LOJA_VENDA_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [CODIGO_FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_PRODUTO]') AND name = N'XIE2LOJA_VENDA_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2LOJA_VENDA_PRODUTO] ON [LOJA_VENDA_PRODUTO] ( [CODIGO_FILIAL] ASC, [DATA_VENDA] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDA_PRODUTO] on [LOJA_VENDA_PRODUTO] for DELETE as /* DELETE trigger on LOJA_VENDA_PRODUTO */ /* default body for LXD_LOJA_VENDA_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insDATA_VENDA datetime, @insITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ DECLARE cursor_estoque CURSOR FOR SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END) FROM Deleted, Lojas_Varejo WHERE Deleted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial,DATA_VENDA OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDA_PRODUTO] on [LOJA_VENDA_PRODUTO] for INSERT as /* INSERT trigger on LOJA_VENDA_PRODUTO */ /* default body for LXI_LOJA_VENDA_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insDATA_VENDA datetime, @insITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1618 LOJA_VENDA_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null or inserted.COR_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_PRODUTO ON CHILD INSERT RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PRODUTO #porque #PRODUTOS_BARRA #não existe.'' goto error end end /* LOJA_VENDA LOJA_VENDA LOJA_VENDA_PRODUTO ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TICKET) or update(DATA_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA where inserted.CODIGO_FILIAL = LOJA_VENDA.CODIGO_FILIAL and inserted.TICKET = LOJA_VENDA.TICKET and inserted.DATA_VENDA = LOJA_VENDA.DATA_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_PRODUTO #porque #LOJA_VENDA #não existe.'' goto error end end /*---LINX---------------------------------------------------------------------------------------------*/ UPDATE Loja_Venda_Produto SET Produto=Produtos_Barra.Produto, Cor_Produto=Produtos_Barra.Cor_Produto, Tamanho=Produtos_Barra.Tamanho FROM Inserted, Produtos_Barra, Loja_Venda_Produto WHERE Inserted.Codigo_Barra=Produtos_Barra.Codigo_Barra AND Loja_Venda_Produto.Ticket=Inserted.Ticket AND Loja_Venda_Produto.Codigo_Filial=Inserted.Codigo_Filial AND Loja_Venda_Produto.Data_VEnda=Inserted.Data_VEnda AND Loja_Venda_Produto.Produto=Inserted.Produto AND Loja_Venda_Produto.Cor_Produto=Inserted.Cor_Produto AND (Inserted.Produto IS NULL OR Inserted.Cor_Produto IS NULL OR Inserted.Tamanho IS NULL) /*----------------------------------------------------------------------------------------------------*/ /*---LINX-FATOR DESCONTO------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PRODUTO SET FATOR_DESCONTO_VENDA=1.*(VALOR_VENDA_BRUTA-VALOR_TROCA-VALOR_PAGO)/VALOR_VENDA_BRUTA, FATOR_VENDA_LIQ=1.*(Valor_Pago)/(Valor_Venda_Bruta) FROM Loja_Venda, INSERTED WHERE Loja_Venda.Codigo_Filial=INSERTED.Codigo_Filial AND Loja_Venda.Ticket=INSERTED.Ticket AND Loja_Venda.Data_Venda=INSERTED.Data_Venda AND Valor_Venda_Bruta <> 0 AND INSERTED.TICKET=LOJA_VENDA_PRODUTO.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_PRODUTO.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_PRODUTO.ITEM /*----------------------------------------------------------------------------------------------------*/ /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PRODUTO SET CUSTO=CUSTO_REPOSICAO1*ISNULL(FILIAIS.FATOR_CUSTO_LOJA,1) FROM INSERTED, PRODUTO_CORES,LOJA_VENDA_PRODUTO, LOJAS_VAREJO, FILIAIS WHERE INSERTED.PRODUTO=PRODUTO_CORES.PRODUTO AND INSERTED.COR_PRODUTO=PRODUTO_CORES.COR_PRODUTO AND INSERTED.TICKET=LOJA_VENDA_PRODUTO.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_PRODUTO.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_PRODUTO.ITEM AND INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND LOJAS_VAREJO.FILIAL=FILIAIS.FILIAL /*------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ DECLARE cursor_estoque CURSOR FOR SELECT ISNULL(Inserted.Produto,Produtos_Barra.Produto),ISNULL(Inserted.Cor_Produto,Produtos_Barra.Cor_Produto), Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 2 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 6 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 10 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 14 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 18 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 22 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 26 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 30 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 34 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 38 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 42 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 46 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 48 THEN Qtde ELSE 0 END) FROM Inserted, Lojas_Varejo, Produtos_Barra WHERE Inserted.Codigo_Filial=Lojas_Varejo.Codigo_Filial AND Produtos_Barra.Codigo_Barra=Inserted.Codigo_Barra GROUP BY Inserted.Produto, Inserted.Cor_Produto, Filial, Data_Venda, Produtos_Barra.Produto, Produtos_Barra.Cor_Produto OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial, @Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PRODUTO, INSERTED WHERE LOJA_VENDA_PRODUTO.TICKET = INSERTED.TICKET and LOJA_VENDA_PRODUTO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PRODUTO.DATA_VENDA = INSERTED.DATA_VENDA and LOJA_VENDA_PRODUTO.ITEM = INSERTED.ITEM AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_VENDA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_VENDA_PRODUTO] on [LOJA_VENDA_PRODUTO] for UPDATE as /* UPDATE trigger on LOJA_VENDA_PRODUTO */ /* default body for LXU_LOJA_VENDA_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insDATA_VENDA datetime, @insITEM char(4), @delTICKET char(8), @delCODIGO_FILIAL char(6), @delDATA_VENDA datetime, @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE DATA_VENDA <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1618 LOJA_VENDA_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null and inserted.COR_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_PRODUTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PRODUTO #porque #PRODUTOS_BARRA #não existe.'' goto error end end /* LOJA_VENDA LOJA_VENDA LOJA_VENDA_PRODUTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TICKET) or update(DATA_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA where inserted.CODIGO_FILIAL = LOJA_VENDA.CODIGO_FILIAL and inserted.TICKET = LOJA_VENDA.TICKET and inserted.DATA_VENDA = LOJA_VENDA.DATA_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_PRODUTO #porque #LOJA_VENDA #não existe.'' goto error end end /*---LINX---------------------------------------------------------------------------------------------*/ UPDATE Loja_Venda_Produto SET Produto=Produtos_Barra.Produto, Cor_Produto=Produtos_Barra.Cor_Produto, Tamanho=Produtos_Barra.Tamanho FROM Inserted, Produtos_Barra, Loja_Venda_Produto WHERE Inserted.Codigo_Barra=Produtos_Barra.Codigo_Barra AND Loja_Venda_Produto.Ticket=Inserted.Ticket AND Loja_Venda_Produto.Codigo_Filial=Inserted.Codigo_Filial AND Loja_Venda_Produto.Data_VEnda=Inserted.Data_VEnda AND Loja_Venda_Produto.Produto=Inserted.Produto AND Loja_Venda_Produto.Cor_Produto=Inserted.Cor_Produto AND (Inserted.Produto IS NULL OR Inserted.Cor_Produto IS NULL OR Inserted.Tamanho IS NULL) /*----------------------------------------------------------------------------------------------------*/ /*---LINX-FATOR DESCONTO------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PRODUTO SET FATOR_DESCONTO_VENDA=1.*(VALOR_VENDA_BRUTA-VALOR_TROCA-VALOR_PAGO)/VALOR_VENDA_BRUTA, FATOR_VENDA_LIQ=1.*(Valor_Pago)/(Valor_Venda_Bruta), DATA_PARA_TRANSFERENCIA=LOJA_VENDA_PRODUTO.DATA_PARA_TRANSFERENCIA FROM Loja_Venda, INSERTED WHERE Loja_Venda.Codigo_Filial=INSERTED.Codigo_Filial AND Loja_Venda.Ticket=INSERTED.Ticket AND Loja_Venda.Data_Venda=INSERTED.Data_Venda AND Valor_Venda_Bruta <> 0 AND INSERTED.TICKET=LOJA_VENDA_PRODUTO.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_PRODUTO.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_PRODUTO.ITEM AND LOJA_VENDA.VALOR_VENDA_BRUTA IS NOT NULL AND LOJA_VENDA.VALOR_VENDA_BRUTA<>0 AND (CONVERT(NUMERIC(14,2),INSERTED.FATOR_DESCONTO_VENDA*VALOR_VENDA_BRUTA)<>(Valor_Venda_Bruta-Valor_Troca-Valor_Pago) OR CONVERT(NUMERIC(14,2),INSERTED.FATOR_VENDA_LIQ*VALOR_VENDA_BRUTA)<>Valor_Pago OR INSERTED.FATOR_DESCONTO_VENDA IS NULL OR INSERTED.FATOR_VENDA_LIQ IS NULL) /*----------------------------------------------------------------------------------------------------*/ /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_PRODUTO SET CUSTO=CUSTO_REPOSICAO1*ISNULL(FILIAIS.FATOR_CUSTO_LOJA,1), DATA_PARA_TRANSFERENCIA=LOJA_VENDA_PRODUTO.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTO_CORES,LOJA_VENDA_PRODUTO, LOJAS_VAREJO, FILIAIS WHERE INSERTED.PRODUTO=PRODUTO_CORES.PRODUTO AND INSERTED.COR_PRODUTO=PRODUTO_CORES.COR_PRODUTO AND INSERTED.TICKET=LOJA_VENDA_PRODUTO.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_PRODUTO.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_PRODUTO.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_PRODUTO.ITEM AND INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND LOJAS_VAREJO.FILIAL=FILIAIS.FILIAL AND CUSTO_REPOSICAO1 > 0 AND (INSERTED.CUSTO IS NULL OR INSERTED.CUSTO=0) /*------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ IF UPDATE(CODIGO_FILIAL) OR UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(TAMANHO) OR UPDATE(QTDE) BEGIN DECLARE cursor_estoque CURSOR FOR SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END) FROM Inserted, Lojas_Varejo WHERE Inserted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial, Data_Venda UNION SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END)*-1 FROM Deleted, Lojas_Varejo WHERE Deleted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial,Data_Venda OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDA_PRODUTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_PRODUTO, INSERTED WHERE LOJA_VENDA_PRODUTO.TICKET = INSERTED.TICKET and LOJA_VENDA_PRODUTO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_PRODUTO.DATA_VENDA = INSERTED.DATA_VENDA and LOJA_VENDA_PRODUTO.ITEM = INSERTED.ITEM AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDA_PRODUTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[PRECO_LIQUIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDA_PRODUTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[FATOR_DESCONTO_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[FATOR_VENDA_LIQ]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_PRODUTO].[IPI]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_VENDA_TROCA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_VENDA_TROCA]( [TICKET] [char](8) NOT NULL, [CODIGO_FILIAL] [char](6) NOT NULL, [ITEM] [char](4) NOT NULL, [DATA_VENDA] [datetime] NOT NULL, [CODIGO_BARRA] [varchar](25) NOT NULL, [PRODUTO] [char](12) NULL, [COR_PRODUTO] [char](10) NULL, [TAMANHO] [smallint] NULL, [QTDE] [int] NULL, [PRECO_LIQUIDO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [QTDE_CANCELADA] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CUSTO] [numeric](14, 2) NULL, [FATOR_DESCONTO_VENDA] [real] NULL, [IPI] [numeric](5, 2) NULL, CONSTRAINT [XPKLOJA_VENDA_TROCA] PRIMARY KEY NONCLUSTERED ( [TICKET] ASC, [CODIGO_FILIAL] ASC, [ITEM] ASC, [DATA_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_TROCA]') AND name = N'XIE1LOJA_VENDA_TROCA') CREATE NONCLUSTERED INDEX [XIE1LOJA_VENDA_TROCA] ON [LOJA_VENDA_TROCA] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [CODIGO_FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJA_VENDA_TROCA]') AND name = N'XIE2LOJA_VENDA_TROCA') CREATE NONCLUSTERED INDEX [XIE2LOJA_VENDA_TROCA] ON [LOJA_VENDA_TROCA] ( [DATA_VENDA] ASC, [CODIGO_FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_VENDA_TROCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_VENDA_TROCA] on [LOJA_VENDA_TROCA] for DELETE as /* DELETE trigger on LOJA_VENDA_TROCA */ /* default body for LXD_LOJA_VENDA_TROCA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insITEM char(4), @insDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ DECLARE cursor_estoque CURSOR FOR SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END) FROM Deleted, Lojas_Varejo WHERE Deleted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial,Data_Venda OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1, @nEs3*-1, @nEs4*-1, @nEs5*-1, @nEs6*-1, @nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1, @nEs11*-1, @nEs12*-1, @nEs13*-1, @nEs14*-1, @nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1, @nEs19*-1, @nEs20*-1, @nEs21*-1, @nEs22*-1, @nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1, @nEs27*-1, @nEs28*-1, @nEs29*-1, @nEs30*-1, @nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1, @nEs35*-1, @nEs36*-1, @nEs37*-1, @nEs38*-1, @nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1, @nEs43*-1, @nEs44*-1, @nEs45*-1, @nEs46*-1, @nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_VENDA_TROCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_VENDA_TROCA] on [LOJA_VENDA_TROCA] for INSERT as /* INSERT trigger on LOJA_VENDA_TROCA */ /* default body for LXI_LOJA_VENDA_TROCA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insITEM char(4), @insDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1617 LOJA_VENDA_TROCA ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null or inserted.COR_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_TROCA #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_VENDA LOJA_TROCA_VENDA LOJA_VENDA_TROCA ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TICKET) or update(DATA_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA where inserted.CODIGO_FILIAL = LOJA_VENDA.CODIGO_FILIAL and inserted.TICKET = LOJA_VENDA.TICKET and inserted.DATA_VENDA = LOJA_VENDA.DATA_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_TROCA #porque #LOJA_VENDA #não existe.'' goto error end end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_TROCA ON CHILD INSERT RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_VENDA_TROCA #porque #PRODUTOS_BARRA #não existe.'' goto error end end /*---LINX-----------------------------------------------------------------------------------------------*/ UPDATE Loja_Venda_Troca SET Produto=Produtos_Barra.Produto, Cor_Produto=Produtos_Barra.Cor_Produto, Tamanho=Produtos_Barra.Tamanho FROM Inserted, Produtos_Barra, Loja_Venda_Troca WHERE Inserted.Codigo_Barra=Produtos_Barra.Codigo_Barra AND Loja_Venda_Troca.Ticket=Inserted.Ticket AND Loja_Venda_Troca.Codigo_Filial=Inserted.Codigo_Filial AND Loja_Venda_Troca.Data_Venda=Inserted.Data_Venda AND Loja_Venda_Troca.Produto=Inserted.Produto AND Loja_Venda_Troca.Cor_Produto=Inserted.Cor_Produto AND (Inserted.Produto IS NULL OR Inserted.Cor_Produto IS NULL OR Inserted.Tamanho IS NULL) /*------------------------------------------------------------------------------------------------------*/ /*---LINX-FATOR DESCONTO------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_TROCA SET FATOR_DESCONTO_VENDA=0 FROM INSERTED WHERE INSERTED.TICKET=LOJA_VENDA_TROCA.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_TROCA.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_TROCA.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_TROCA.ITEM /*----------------------------------------------------------------------------------------------------*/ /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_TROCA SET CUSTO=CUSTO_REPOSICAO1*ISNULL(FILIAIS.FATOR_CUSTO_LOJA,1) FROM INSERTED, PRODUTO_CORES, LOJAS_VAREJO, FILIAIS WHERE INSERTED.PRODUTO=PRODUTO_CORES.PRODUTO AND INSERTED.COR_PRODUTO=PRODUTO_CORES.COR_PRODUTO AND INSERTED.TICKET=LOJA_VENDA_TROCA.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_TROCA.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_TROCA.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_TROCA.ITEM AND INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND LOJAS_VAREJO.FILIAL=FILIAIS.FILIAL /*------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ DECLARE cursor_estoque CURSOR FOR SELECT ISNULL(Inserted.Produto,Produtos_Barra.Produto),ISNULL(Inserted.Cor_Produto,Produtos_Barra.Cor_Produto), Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 2 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 6 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 10 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 14 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 18 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 22 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 26 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 30 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 34 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 38 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 42 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 46 THEN Qtde ELSE 0 END), SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE ISNULL(Inserted.Tamanho,Produtos_Barra.Tamanho) WHEN 48 THEN Qtde ELSE 0 END) FROM Inserted, Lojas_Varejo, Produtos_Barra WHERE Inserted.Codigo_Filial=Lojas_Varejo.Codigo_Filial AND Produtos_Barra.Codigo_Barra=Inserted.Codigo_Barra GROUP BY Inserted.Produto, Inserted.Cor_Produto, Filial,Data_Venda, Produtos_Barra.Produto, Produtos_Barra.Cor_Produto OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_TROCA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_TROCA, INSERTED WHERE LOJA_VENDA_TROCA.TICKET = INSERTED.TICKET and LOJA_VENDA_TROCA.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_TROCA.ITEM = INSERTED.ITEM and LOJA_VENDA_TROCA.DATA_VENDA = INSERTED.DATA_VENDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_VENDA_TROCA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_VENDA_TROCA] on [LOJA_VENDA_TROCA] for UPDATE as /* UPDATE trigger on LOJA_VENDA_TROCA */ /* default body for LXU_LOJA_VENDA_TROCA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTICKET char(8), @insCODIGO_FILIAL char(6), @insITEM char(4), @insDATA_VENDA datetime, @delTICKET char(8), @delCODIGO_FILIAL char(6), @delITEM char(4), @delDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE DATA_VENDA <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE DATA_VENDA <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE DELETED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND DELETED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PRODUTOS, LOJAS_VAREJO WHERE INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND ESTOQUE_PRODUTOS.FILIAL=LOJAS_VAREJO.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND INSERTED.DATA_VENDA < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1617 LOJA_VENDA_TROCA ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null and inserted.COR_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_TROCA #porque #PRODUTO_CORES #não existe.'' goto error end end /* LOJA_VENDA LOJA_TROCA_VENDA LOJA_VENDA_TROCA ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TICKET) or update(DATA_VENDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_VENDA where inserted.CODIGO_FILIAL = LOJA_VENDA.CODIGO_FILIAL and inserted.TICKET = LOJA_VENDA.TICKET and inserted.DATA_VENDA = LOJA_VENDA.DATA_VENDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_TROCA #porque #LOJA_VENDA #não existe.'' goto error end end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_TROCA ON CHILD UPDATE RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_VENDA_TROCA #porque #PRODUTOS_BARRA #não existe.'' goto error end end /*---LINX-----------------------------------------------------------------------------------------------*/ UPDATE Loja_Venda_Troca SET Produto=Produtos_Barra.Produto, Cor_Produto=Produtos_Barra.Cor_Produto, Tamanho=Produtos_Barra.Tamanho FROM Inserted, Produtos_Barra WHERE Inserted.Codigo_Barra=Produtos_Barra.Codigo_Barra AND (Inserted.Produto IS NULL OR Inserted.Cor_Produto IS NULL OR Inserted.Tamanho IS NULL) /*------------------------------------------------------------------------------------------------------*/ /*---LINX-FATOR DESCONTO------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_TROCA SET FATOR_DESCONTO_VENDA=0 FROM INSERTED WHERE INSERTED.TICKET=LOJA_VENDA_TROCA.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_TROCA.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_TROCA.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_TROCA.ITEM AND (INSERTED.FATOR_DESCONTO_VENDA<>0 OR INSERTED.FATOR_DESCONTO_VENDA IS NULL) /*----------------------------------------------------------------------------------------------------*/ /*---LINX-CUSTO---------------------------------------------------------------------------------------*/ UPDATE LOJA_VENDA_TROCA SET CUSTO=CUSTO_REPOSICAO1*ISNULL(FILIAIS.FATOR_CUSTO_LOJA,1), DATA_PARA_TRANSFERENCIA=INSERTED.DATA_PARA_TRANSFERENCIA FROM INSERTED, PRODUTO_CORES, LOJAS_VAREJO, FILIAIS WHERE INSERTED.PRODUTO=PRODUTO_CORES.PRODUTO AND INSERTED.COR_PRODUTO=PRODUTO_CORES.COR_PRODUTO AND INSERTED.TICKET=LOJA_VENDA_TROCA.TICKET AND INSERTED.CODIGO_FILIAL=LOJA_VENDA_TROCA.CODIGO_FILIAL AND INSERTED.DATA_VENDA=LOJA_VENDA_TROCA.DATA_VENDA AND INSERTED.ITEM=LOJA_VENDA_TROCA.ITEM AND INSERTED.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL AND LOJAS_VAREJO.FILIAL=FILIAIS.FILIAL AND CUSTO_REPOSICAO1 > 0 AND (INSERTED.CUSTO IS NULL OR INSERTED.CUSTO=0) /*------------------------------------------------------------------------------------------------------*/ /*---LINX-ESTOQUE---------------------------------------------------------------------------------------*/ IF UPDATE(CODIGO_FILIAL) OR UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(TAMANHO) OR UPDATE(QTDE) BEGIN DECLARE cursor_estoque CURSOR FOR SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Qtde*Custo)),CONVERT(NUMERIC(14,2),SUM(Qtde*Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Qtde*Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END), SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END),SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END) FROM Inserted, Lojas_Varejo WHERE Inserted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial,Data_Venda UNION SELECT Produto, Cor_Produto, Filial, Data_Venda,CONVERT(NUMERIC(14,2),SUM(Custo)),CONVERT(NUMERIC(14,2),SUM(Preco_Liquido)),CONVERT(NUMERIC(14,2),SUM(Desconto_Item)),CONVERT(INT,COUNT(TICKET)), SUM(CASE Tamanho WHEN 1 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 2 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 3 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 4 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 5 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 6 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 7 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 8 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 9 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 10 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 11 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 12 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 13 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 14 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 15 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 16 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 17 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 18 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 19 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 20 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 21 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 22 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 23 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 24 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 25 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 26 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 27 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 28 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 29 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 30 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 31 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 32 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 33 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 34 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 35 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 36 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 37 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 38 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 39 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 40 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 41 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 42 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 43 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 44 THEN Qtde ELSE 0 END)*-1, SUM(CASE Tamanho WHEN 45 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 46 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 47 THEN Qtde ELSE 0 END)*-1,SUM(CASE Tamanho WHEN 48 THEN Qtde ELSE 0 END)*-1 FROM Deleted, Lojas_Varejo WHERE Deleted.Codigo_Filial=Lojas_Varejo.Codigo_Filial GROUP BY Produto, Cor_Produto, Filial,Data_Venda OPEN cursor_estoque DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @Data_Venda DateTime, @Custo Numeric(14,2), @Venda Numeric(14,2), @Desconto Numeric(14,2), @Tickets Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cursor_estoque INTO @cProduto,@cCor_Produto,@cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cursor_estoque INTO @cProduto, @cCor_Produto, @cFilial,@Data_Venda,@Custo,@Venda,@Desconto,@Tickets, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cursor_estoque DEALLOCATE cursor_estoque END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_VENDA_TROCA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_VENDA_TROCA, INSERTED WHERE LOJA_VENDA_TROCA.TICKET = INSERTED.TICKET and LOJA_VENDA_TROCA.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_VENDA_TROCA.ITEM = INSERTED.ITEM and LOJA_VENDA_TROCA.DATA_VENDA = INSERTED.DATA_VENDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_VENDA_TROCA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[PRECO_LIQUIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_VENDA_TROCA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[FATOR_DESCONTO_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJA_VENDA_TROCA].[IPI]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_ENVIOS_FILTROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_ENVIOS_FILTROS]( [NOME_TABELA] [char](50) NOT NULL, [FILIAL] [char](25) NOT NULL, [FILTRO_DADOS] [text] NULL, [NAO_ENVIA_TABELA] [bit] NOT NULL, [NAO_RECEBE_TABELA] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJAS_ENVIOS_FILTROS] PRIMARY KEY NONCLUSTERED ( [NOME_TABELA] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_ENVIOS_FILTROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_ENVIOS_FILTROS] on [LOJAS_ENVIOS_FILTROS] for INSERT as /* INSERT trigger on LOJAS_ENVIOS_FILTROS */ /* default body for LXI_LOJAS_ENVIOS_FILTROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_TABELA char(50), @insFILIAL char(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_ENVIOS_FILIAIS R/1287 LOJAS_ENVIOS_FILTROS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_ENVIOS_FILIAIS where inserted.FILIAL = LOJAS_ENVIOS_FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJAS_ENVIOS_FILTROS #porque #LOJAS_ENVIOS_FILIAIS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJAS_ENVIOS_FILTROS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_FILTROS, INSERTED WHERE LOJAS_ENVIOS_FILTROS.NOME_TABELA = INSERTED.NOME_TABELA and LOJAS_ENVIOS_FILTROS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_ENVIOS_FILTROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_ENVIOS_FILTROS] on [LOJAS_ENVIOS_FILTROS] for UPDATE as /* UPDATE trigger on LOJAS_ENVIOS_FILTROS */ /* default body for LXU_LOJAS_ENVIOS_FILTROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_TABELA char(50), @insFILIAL char(25), @delNOME_TABELA char(50), @delFILIAL char(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_ENVIOS_FILIAIS R/1287 LOJAS_ENVIOS_FILTROS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_ENVIOS_FILIAIS where inserted.FILIAL = LOJAS_ENVIOS_FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJAS_ENVIOS_FILTROS #porque #LOJAS_ENVIOS_FILIAIS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_ENVIOS_FILTROS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_FILTROS, INSERTED WHERE LOJAS_ENVIOS_FILTROS.NOME_TABELA = INSERTED.NOME_TABELA and LOJAS_ENVIOS_FILTROS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_ENVIOS_FILTROS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ENVIOS_FILTROS].[NAO_ENVIA_TABELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ENVIOS_FILTROS].[NAO_RECEBE_TABELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_ENVIOS_FILTROS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_ENVIOS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_ENVIOS_FILIAIS]( [FILIAL] [char](25) NOT NULL, [ENVIA_ESTOQUE] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJAS_ENVIOS_FILIAIS] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJAS_ENVIOS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJAS_ENVIOS_FILIAIS] on [LOJAS_ENVIOS_FILIAIS] for DELETE as /* DELETE trigger on LOJAS_ENVIOS_FILIAIS */ begin declare @errno int, @errmsg varchar(255) /* LOJAS_ENVIOS_FILIAIS R/1287 LOJAS_ENVIOS_FILTROS ON PARENT DELETE CASCADE */ delete LOJAS_ENVIOS_FILTROS from LOJAS_ENVIOS_FILTROS,deleted where LOJAS_ENVIOS_FILTROS.FILIAL = deleted.FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_ENVIOS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_ENVIOS_FILIAIS] on [LOJAS_ENVIOS_FILIAIS] for INSERT as /* INSERT trigger on LOJAS_ENVIOS_FILIAIS */ /* default body for LXI_LOJAS_ENVIOS_FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL char(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJAS_ENVIOS_FILIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_FILIAIS, INSERTED WHERE LOJAS_ENVIOS_FILIAIS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_ENVIOS_FILIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_ENVIOS_FILIAIS] on [LOJAS_ENVIOS_FILIAIS] for UPDATE as /* UPDATE trigger on LOJAS_ENVIOS_FILIAIS */ /* default body for LXU_LOJAS_ENVIOS_FILIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL char(25), @delFILIAL char(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_ENVIOS_FILIAIS R/1287 LOJAS_ENVIOS_FILTROS ON PARENT UPDATE CASCADE */ IF update(FILIAL) BEGIN DECLARE LOJAS_ENVIOS_FILIAIS1287 CURSOR FOR SELECT FILIAL FROM INSERTED DECLARE LOJAS_ENVIOS_FILIAIS778 CURSOR FOR SELECT FILIAL FROM DELETED OPEN LOJAS_ENVIOS_FILIAIS1287 OPEN LOJAS_ENVIOS_FILIAIS778 FETCH NEXT FROM LOJAS_ENVIOS_FILIAIS1287 INTO @insFILIAL FETCH NEXT FROM LOJAS_ENVIOS_FILIAIS778 INTO @delFILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJAS_ENVIOS_FILTROS SET LOJAS_ENVIOS_FILTROS.FILIAL=@insFILIAL WHERE LOJAS_ENVIOS_FILTROS.FILIAL = @delFILIAL FETCH NEXT FROM LOJAS_ENVIOS_FILIAIS1287 INTO @insFILIAL FETCH NEXT FROM LOJAS_ENVIOS_FILIAIS778 INTO @delFILIAL END END CLOSE LOJAS_ENVIOS_FILIAIS1287 CLOSE LOJAS_ENVIOS_FILIAIS778 DEALLOCATE LOJAS_ENVIOS_FILIAIS1287 DEALLOCATE LOJAS_ENVIOS_FILIAIS778 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_ENVIOS_FILIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_FILIAIS, INSERTED WHERE LOJAS_ENVIOS_FILIAIS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_ENVIOS_FILIAIS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_ENVIOS_FILIAIS].[ENVIA_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_ENVIOS_FILIAIS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_PROD_CANCELADA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_PROD_CANCELADA]( [PRODUTO] [char](12) NOT NULL, [PEDIDO] [char](8) NOT NULL, [ENTREGA] [datetime] NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [DATA] [datetime] NOT NULL, [QTDE_CANCELADA] [int] NULL, [CODIGO_MOTIVO] [char](2) NULL, [CO1] [int] NULL, [CO2] [int] NULL, [CO3] [int] NULL, [CO4] [int] NULL, [CO5] [int] NULL, [CO6] [int] NULL, [CO7] [int] NULL, [CO8] [int] NULL, [CO9] [int] NULL, [CO10] [int] NULL, [CO11] [int] NULL, [CO12] [int] NULL, [CO13] [int] NULL, [CO14] [int] NULL, [CO15] [int] NULL, [CO16] [int] NULL, [CO17] [int] NULL, [CO18] [int] NULL, [CO19] [int] NULL, [CO20] [int] NULL, [CO21] [int] NULL, [CO22] [int] NULL, [CO23] [int] NULL, [CO24] [int] NULL, [CO25] [int] NULL, [CO26] [int] NULL, [CO27] [int] NULL, [CO28] [int] NULL, [CO29] [int] NULL, [CO30] [int] NULL, [CO31] [int] NULL, [CO32] [int] NULL, [CO33] [int] NULL, [CO34] [int] NULL, [CO35] [int] NULL, [CO36] [int] NULL, [CO37] [int] NULL, [CO38] [int] NULL, [CO39] [int] NULL, [CO40] [int] NULL, [CO41] [int] NULL, [CO42] [int] NULL, [CO43] [int] NULL, [CO44] [int] NULL, [CO45] [int] NULL, [CO46] [int] NULL, [CO47] [int] NULL, [CO48] [int] NULL, CONSTRAINT [XPKCOMPRAS_PROD_CANCELADA] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [PEDIDO] ASC, [ENTREGA] ASC, [COR_PRODUTO] ASC, [ITEM] ASC, [DATA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_PROD_CANCELADA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_PROD_CANCELADA] on [COMPRAS_PROD_CANCELADA] for INSERT as /* INSERT trigger on COMPRAS_PROD_CANCELADA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_PRODUTO R/1302 COMPRAS_PROD_CANCELADA ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_PRODUTO where inserted.PEDIDO = COMPRAS_PRODUTO.PEDIDO and inserted.PRODUTO = COMPRAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = COMPRAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = COMPRAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_PROD_CANCELADA #porque #COMPRAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_PROD_CANCELADA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_PROD_CANCELADA] on [COMPRAS_PROD_CANCELADA] for UPDATE as /* UPDATE trigger on COMPRAS_PROD_CANCELADA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insPEDIDO char(8), @insENTREGA datetime, @insCOR_PRODUTO char(10), @insITEM char(3), @insDATA datetime, @delPRODUTO char(12), @delPEDIDO char(8), @delENTREGA datetime, @delCOR_PRODUTO char(10), @delITEM char(3), @delDATA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS_PRODUTO R/1302 COMPRAS_PROD_CANCELADA ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_PRODUTO where inserted.PEDIDO = COMPRAS_PRODUTO.PEDIDO and inserted.PRODUTO = COMPRAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = COMPRAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = COMPRAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_PROD_CANCELADA #porque #COMPRAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_PROD_CANCELADA].[CO48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_NATUREZA_OPERACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_NATUREZA_OPERACAO]( [NATUREZA_OPERACAO_CODIGO] [varchar](8) NOT NULL, [NATUREZA_OPERACAO] [varchar](30) NOT NULL, [NATUREZA_DESCRICAO] [varchar](40) NULL, [MODULO_FILTRO] [char](1) NULL, [OPERACAO_DENTRO_ESTADO] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBSERVACAO] [text] NULL, CONSTRAINT [XPKLOJAS_NATUREZA_OPERACAO] PRIMARY KEY NONCLUSTERED ( [NATUREZA_OPERACAO_CODIGO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_NATUREZA_OPERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_NATUREZA_OPERACAO] on [LOJAS_NATUREZA_OPERACAO] for INSERT as /* INSERT trigger on LOJAS_NATUREZA_OPERACAO */ /* default body for LXI_LOJAS_NATUREZA_OPERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA_OPERACAO_CODIGO varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJAS_NATUREZA_OPERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_NATUREZA_OPERACAO, INSERTED WHERE LOJAS_NATUREZA_OPERACAO.NATUREZA_OPERACAO_CODIGO = INSERTED.NATUREZA_OPERACAO_CODIGO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_NATUREZA_OPERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_NATUREZA_OPERACAO] on [LOJAS_NATUREZA_OPERACAO] for UPDATE as /* UPDATE trigger on LOJAS_NATUREZA_OPERACAO */ /* default body for LXU_LOJAS_NATUREZA_OPERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNATUREZA_OPERACAO_CODIGO varchar(8), @delNATUREZA_OPERACAO_CODIGO varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_NATUREZA_OPERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_NATUREZA_OPERACAO, INSERTED WHERE LOJAS_NATUREZA_OPERACAO.NATUREZA_OPERACAO_CODIGO = INSERTED.NATUREZA_OPERACAO_CODIGO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_NATUREZA_OPERACAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_NATUREZA_OPERACAO].[OPERACAO_DENTRO_ESTADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_NATUREZA_OPERACAO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_GIRO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_GIRO]( [FILIAL] [varchar](25) NOT NULL, [DATA_INICIAL] [smalldatetime] NOT NULL, [PRODUTO] [char](12) NOT NULL, [DATA_FINAL] [smalldatetime] NOT NULL, [ESTOQUE] [int] NULL, [ESTOQUE_VALORIZADO] [numeric](14, 2) NULL, [ESTOQUE_VALORIZADO_MOEDA] [numeric](14, 2) NULL, [QTDE_SAIDA] [int] NULL, [QTDE_ENTRADA] [int] NULL, [VALOR_VENDA] [numeric](14, 2) NULL, [VALOR_VENDA_MOEDA] [numeric](14, 2) NULL, [QTDE_VENDA] [int] NULL, [TOTAL_DESCONTO] [numeric](14, 2) NULL, [TOTAL_DESCONTO_MOEDA] [numeric](14, 2) NULL, [VALOR_CUSTO] [numeric](14, 2) NULL, [VALOR_CUSTO_MOEDA] [numeric](14, 2) NULL, [VALOR_TROCA] [numeric](14, 2) NULL, [VALOR_TROCA_MOEDA] [numeric](14, 2) NULL, [QTDE_TROCA] [int] NULL, [TOTAL_DESCONTO_TROCA] [numeric](14, 2) NULL, [TOTAL_DESCONTO_TROCA_MOEDA] [numeric](14, 2) NULL, [VALOR_CUSTO_TROCA] [numeric](14, 2) NULL, [VALOR_CUSTO_TROCA_MOEDA] [numeric](14, 2) NULL, [ULTIMA_ENTRADA] [smalldatetime] NULL, [ULTIMA_SAIDA] [smalldatetime] NULL, [TIPO_ICMS] [char](1) NULL, [MOEDA] [char](6) NULL, [TIPO_PERIODO] [char](1) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [TOTAL_DESCONTO_VENDA] [numeric](14, 2) NULL, [TOTAL_DESCONTO_VENDA_MOEDA] [numeric](14, 2) NULL, [QTDE_AJUSTE] [int] NULL, [QTDE_COMPRA] [int] NULL, [QTDE_FATURAMENTO] [int] NULL, [QTDE_ENTRADA_RET] [int] NULL, [QTDE_SAIDA_RET] [int] NULL, [QTDE_DEVOLUCAO] [int] NULL, CONSTRAINT [XPKLOJAS_GIRO] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [DATA_INICIAL] ASC, [PRODUTO] ASC, [DATA_FINAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJAS_GIRO]') AND name = N'XIE1LOJAS_GIRO') CREATE NONCLUSTERED INDEX [XIE1LOJAS_GIRO] ON [LOJAS_GIRO] ( [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJAS_GIRO]') AND name = N'XIE2LOJAS_GIRO') CREATE NONCLUSTERED INDEX [XIE2LOJAS_GIRO] ON [LOJAS_GIRO] ( [DATA_INICIAL] ASC, [DATA_FINAL] ASC ) ON [PRIMARY] GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[ESTOQUE_VALORIZADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[ESTOQUE_VALORIZADO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_VENDA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[QTDE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_CUSTO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_TROCA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[QTDE_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO_TROCA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_CUSTO_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[VALOR_CUSTO_TROCA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_GIRO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_GIRO].[TOTAL_DESCONTO_VENDA_MOEDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_TIMESTAMP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_TIMESTAMP]( [COD_TIMESTAMP] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_TIMESTAMP].[COD_TIMESTAMP]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_PREVISAO_VENDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_PREVISAO_VENDAS]( [FILIAL] [varchar](25) NOT NULL, [DATA_VENDA] [datetime] NOT NULL, [PREVISAO_QTDE] [int] NULL, [PREVISAO_VALOR] [numeric](14, 2) NULL, [ESTOQUE] [int] NULL, [ESTOQUE_VALORIZADO] [numeric](14, 2) NULL, [ESTOQUE_VALORIZADO_MOEDA] [numeric](14, 2) NULL, [QTDE_SAIDA] [int] NULL, [QTDE_ENTRADA] [int] NULL, [QTDE_VENDA] [int] NULL, [QTDE_TROCA] [int] NULL, [VENDA] [numeric](14, 2) NULL, [DESCONTO] [numeric](14, 2) NULL, [CUSTO] [numeric](14, 2) NULL, [TROCA] [numeric](14, 2) NULL, [TROCA_CUSTO] [numeric](14, 2) NULL, [TROCA_DESCONTO] [numeric](14, 2) NULL, [NUMERO_TICKETS] [int] NULL, [PRAZO_MEDIO] [int] NOT NULL, CONSTRAINT [XPKLOJAS_PREVISAO_VENDAS] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [DATA_VENDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_PREVISAO_VENDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_PREVISAO_VENDAS] on [LOJAS_PREVISAO_VENDAS] for INSERT as /* INSERT trigger on LOJAS_PREVISAO_VENDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1601 LOJAS_PREVISAO_VENDAS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJAS_PREVISAO_VENDAS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_PREVISAO_VENDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_PREVISAO_VENDAS] on [LOJAS_PREVISAO_VENDAS] for UPDATE as /* UPDATE trigger on LOJAS_PREVISAO_VENDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insDATA_VENDA datetime, @delFILIAL varchar(25), @delDATA_VENDA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1601 LOJAS_PREVISAO_VENDAS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJAS_PREVISAO_VENDAS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[PREVISAO_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[PREVISAO_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[ESTOQUE_VALORIZADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[ESTOQUE_VALORIZADO_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[QTDE_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[QTDE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[QTDE_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[TROCA_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[TROCA_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_PREVISAO_VENDAS].[PRAZO_MEDIO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COMPRAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COMPRAS_STATUS_LOG]( [PEDIDO] [char](8) NOT NULL, [DATA_ALTERACAO_STATUS] [datetime] NOT NULL, [STATUS_COMPRA] [varchar](2) NOT NULL, [USUARIO] [varchar](25) NOT NULL, CONSTRAINT [XPKCOMPRAS_STATUS_LOG] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [DATA_ALTERACAO_STATUS] ASC, [STATUS_COMPRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMPRAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMPRAS_STATUS_LOG] on [COMPRAS_STATUS_LOG] for INSERT as /* INSERT trigger on COMPRAS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1709 COMPRAS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_STATUS_LOG #porque #COMPRAS #não existe.'' goto error end end /* COMPRAS_STATUS R/1708 COMPRAS_STATUS_LOG ON CHILD INSERT RESTRICT */ if update(STATUS_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_STATUS where inserted.STATUS_COMPRA = COMPRAS_STATUS.STATUS_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COMPRAS_STATUS_LOG #porque #COMPRAS_STATUS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMPRAS_STATUS_LOG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMPRAS_STATUS_LOG] on [COMPRAS_STATUS_LOG] for UPDATE as /* UPDATE trigger on COMPRAS_STATUS_LOG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(8), @insDATA_ALTERACAO_STATUS datetime, @insSTATUS_COMPRA varchar(2), @delPEDIDO char(8), @delDATA_ALTERACAO_STATUS datetime, @delSTATUS_COMPRA varchar(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COMPRAS R/1709 COMPRAS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS where inserted.PEDIDO = COMPRAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_STATUS_LOG #porque #COMPRAS #não existe.'' goto error end end /* COMPRAS_STATUS R/1708 COMPRAS_STATUS_LOG ON CHILD UPDATE RESTRICT */ if update(STATUS_COMPRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COMPRAS_STATUS where inserted.STATUS_COMPRA = COMPRAS_STATUS.STATUS_COMPRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COMPRAS_STATUS_LOG #porque #COMPRAS_STATUS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COMPRAS_STATUS_LOG].[STATUS_COMPRA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_LOTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_LOTES]( [ORDEM_SERVICO] [char](8) NOT NULL, [NUMERO_LOTE] [int] NOT NULL, [TAREFA] [char](10) NOT NULL, [LOTE_EM_RETRABALHO] [int] NULL, [RETRABALHO_NO_LOTE] [bit] NOT NULL, CONSTRAINT [XPKPRODUCAO_OS_LOTES] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [NUMERO_LOTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_OS_LOTES]') AND name = N'XIE1PRODUCAO_OS_LOTES') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_OS_LOTES] ON [PRODUCAO_OS_LOTES] ( [NUMERO_LOTE] ASC, [TAREFA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_OS_LOTES]') AND name = N'XIE2PRODUCAO_OS_LOTES') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_OS_LOTES] ON [PRODUCAO_OS_LOTES] ( [TAREFA] ASC, [NUMERO_LOTE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_OS_LOTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_OS_LOTES] on [PRODUCAO_OS_LOTES] for DELETE as /* DELETE trigger on PRODUCAO_OS_LOTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*--TRIGGER DE DELETE - PRODUCAO_OS_LOTES --*/ /*--LINX---------------------------------------------------------------------------------*/ declare @DELORDEM_SERVICO char(8), @DELNUMERO_LOTE int, @DELTAREFA char(10), @DELLOTE_EM_RETRABALHO bit, @DELRETRABALHO_NO_LOTE bit, @DELINDICADOR_TIPO_MOV smallint DECLARE CURDELETE_PRODUCAO_OS_LOTES CURSOR FOR SELECT ORDEM_SERVICO,NUMERO_LOTE,TAREFA,ISNULL(LOTE_EM_RETRABALHO,0),ISNULL(RETRABALHO_NO_LOTE,0) FROM DELETED OPEN CURDELETE_PRODUCAO_OS_LOTES FETCH NEXT FROM CURDELETE_PRODUCAO_OS_LOTES INTO @DELORDEM_SERVICO, @DELNUMERO_LOTE, @DELTAREFA, @DELLOTE_EM_RETRABALHO, @DELRETRABALHO_NO_LOTE IF @@ROWCOUNT >= 0 BEGIN WHILE @@FETCH_STATUS = 0 BEGIN SELECT @DELINDICADOR_TIPO_MOV = INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS WHERE ORDEM_SERVICO = @DELORDEM_SERVICO /* MOVIMENTO DE RETRABALHO */ IF @DELINDICADOR_TIPO_MOV = 5 AND ISNULL(@DELRETRABALHO_NO_LOTE,0)=1 BEGIN UPDATE PRODUCAO_OS_LOTES SET LOTE_EM_RETRABALHO = ISNULL(LOTE_EM_RETRABALHO,0)-1 WHERE NUMERO_LOTE=@DELNUMERO_LOTE --AND ISNULL(RETRABALHO_NO_LOTE,0)=0 IF (SELECT COUNT(*) FROM PRODUCAO_OS_LOTES WHERE NUMERO_LOTE=@DELNUMERO_LOTE AND ORDEM_SERVICO <> @DELORDEM_SERVICO AND ISNULL(RETRABALHO_NO_LOTE,0)=1)=0 UPDATE PRODUCAO_OS_LOTES SET RETRABALHO_NO_LOTE = 0 WHERE NUMERO_LOTE=@DELNUMERO_LOTE AND TAREFA = @DELTAREFA END /* IF @DELINDICADOR_TIPO_MOV = 5 */ IF @DELINDICADOR_TIPO_MOV <> 5 BEGIN SELECT @DELLOTE_EM_RETRABALHO = MAX(LOTE_EM_RETRABALHO) FROM PRODUCAO_OS_LOTES WHERE NUMERO_LOTE=@DELNUMERO_LOTE AND TAREFA = @DELTAREFA UPDATE PRODUCAO_OS_LOTES SET LOTE_EM_RETRABALHO = ISNULL(LOTE_EM_RETRABALHO,0)-1 WHERE NUMERO_LOTE=@DELNUMERO_LOTE AND TAREFA = @DELTAREFA --AND LOTE_EM_RETRABALHO = @DELLOTE_EM_RETRABALHO END /* IF @DELINDICADOR_TIPO_MOV <> 5 */ FETCH NEXT FROM CURDELETE_PRODUCAO_OS_LOTES INTO @DELORDEM_SERVICO, @DELNUMERO_LOTE, @DELTAREFA, @DELLOTE_EM_RETRABALHO, @DELRETRABALHO_NO_LOTE END /* WHILE @@FETCH_STATUS = 0 */ END /* IF @@ROWCOUNT >= 0 */ CLOSE CURDELETE_PRODUCAO_OS_LOTES DEALLOCATE CURDELETE_PRODUCAO_OS_LOTES /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_LOTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_PRODUCAO_OS_LOTES] on [PRODUCAO_OS_LOTES] for INSERT as /* INSERT trigger on PRODUCAO_OS_LOTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1584 PRODUCAO_OS_LOTES ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_LOTES #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1594 PRODUCAO_OS_LOTES ON CHILD INSERT RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_LOTES #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /*--TRIGGER DE INSERT - PRODUCAO_OS_LOTES --*/ /*--LINX---------------------------------------------------------------------------------*/ declare @INSORDEM_SERVICO char(8), @INSNUMERO_LOTE int, @INSTAREFA char(10), @INSLOTE_EM_RETRABALHO INT, @INSRETRABALHO_NO_LOTE bit, @INSINDICADOR_TIPO_MOV smallint DECLARE CURINSERT_PRODUCAO_OS_LOTES CURSOR FOR SELECT ORDEM_SERVICO,NUMERO_LOTE,TAREFA,ISNULL(LOTE_EM_RETRABALHO,0),ISNULL(RETRABALHO_NO_LOTE,0) FROM INSERTED OPEN CURINSERT_PRODUCAO_OS_LOTES FETCH NEXT FROM CURINSERT_PRODUCAO_OS_LOTES INTO @INSORDEM_SERVICO, @INSNUMERO_LOTE, @INSTAREFA, @INSLOTE_EM_RETRABALHO, @INSRETRABALHO_NO_LOTE IF @@ROWCOUNT >= 0 BEGIN WHILE @@FETCH_STATUS = 0 BEGIN SELECT @INSINDICADOR_TIPO_MOV = INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS WHERE ORDEM_SERVICO = @INSORDEM_SERVICO /* MOVIMENTO DE RETRABALHO */ IF @INSINDICADOR_TIPO_MOV = 5 BEGIN UPDATE PRODUCAO_OS_LOTES SET LOTE_EM_RETRABALHO = ISNULL(LOTE_EM_RETRABALHO,0)+1 WHERE NUMERO_LOTE=@INSNUMERO_LOTE UPDATE PRODUCAO_OS_LOTES SET RETRABALHO_NO_LOTE = 1 WHERE NUMERO_LOTE=@INSNUMERO_LOTE AND TAREFA = @INSTAREFA AND ORDEM_SERVICO = @INSORDEM_SERVICO END /* IF @INSINDICADOR_TIPO_MOV = 5 */ IF @INSINDICADOR_TIPO_MOV <> 5 BEGIN SELECT @INSLOTE_EM_RETRABALHO = MAX(ISNULL(LOTE_EM_RETRABALHO,0)) FROM PRODUCAO_OS_LOTES WHERE NUMERO_LOTE=@INSNUMERO_LOTE AND TAREFA = @INSTAREFA UPDATE PRODUCAO_OS_LOTES SET LOTE_EM_RETRABALHO = ISNULL(@INSLOTE_EM_RETRABALHO,0)+1 WHERE NUMERO_LOTE=@INSNUMERO_LOTE AND TAREFA = @INSTAREFA AND LOTE_EM_RETRABALHO = @INSLOTE_EM_RETRABALHO IF @INSLOTE_EM_RETRABALHO>0 UPDATE PRODUCAO_OS_LOTES SET LOTE_EM_RETRABALHO = ISNULL(LOTE_EM_RETRABALHO,0)+1 --CASE WHEN ISNULL(LOTE_EM_RETRABALHO,0)=0 THEN 0 ELSE ISNULL(LOTE_EM_RETRABALHO,0)+1 END WHERE NUMERO_LOTE=@INSNUMERO_LOTE AND TAREFA = @INSTAREFA AND ORDEM_SERVICO = @INSORDEM_SERVICO END /* IF @INSINDICADOR_TIPO_MOV <> 5 */ FETCH NEXT FROM CURINSERT_PRODUCAO_OS_LOTES INTO @INSORDEM_SERVICO, @INSNUMERO_LOTE, @INSTAREFA, @INSLOTE_EM_RETRABALHO, @INSRETRABALHO_NO_LOTE END /* WHILE @@FETCH_STATUS = 0 */ END /* IF @@ROWCOUNT >= 0 */ CLOSE CURINSERT_PRODUCAO_OS_LOTES DEALLOCATE CURINSERT_PRODUCAO_OS_LOTES /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_LOTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS_LOTES] on [PRODUCAO_OS_LOTES] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_LOTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insNUMERO_LOTE int, @delORDEM_SERVICO char(8), @delNUMERO_LOTE int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1584 PRODUCAO_OS_LOTES ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_LOTES #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1594 PRODUCAO_OS_LOTES ON CHILD UPDATE RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_LOTES #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_LOTES].[NUMERO_LOTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_LOTES].[RETRABALHO_NO_LOTE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COND_ATAC_PGTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COND_ATAC_PGTOS]( [CONDICAO_PGTO] [char](3) NOT NULL, [TIPO_CONDICAO] [char](6) NOT NULL, [DESC_COND_PGTO] [varchar](40) NOT NULL, [NUMERO_PARCELAS] [int] NULL, [PARCELA_1] [int] NULL, [PARCELA_2] [int] NULL, [PARCELA_3] [int] NULL, [PARCELA_4] [int] NULL, [PARCELA_5] [int] NULL, [PARCELA_6] [int] NULL, [PARCELA_7] [int] NULL, [PARCELA_8] [int] NULL, [PARCELA_9] [int] NULL, [PARCELA_10] [int] NULL, [PARCELA_11] [int] NULL, [PARCELA_12] [int] NULL, [PORCENTAGEM_1] [real] NULL, [PORCENTAGEM_2] [real] NULL, [PORCENTAGEM_3] [real] NULL, [PORCENTAGEM_4] [real] NULL, [PORCENTAGEM_5] [real] NULL, [PORCENTAGEM_6] [real] NULL, [PORCENTAGEM_7] [real] NULL, [PORCENTAGEM_8] [real] NULL, [PORCENTAGEM_9] [real] NULL, [PORCENTAGEM_10] [real] NULL, [PORCENTAGEM_11] [real] NULL, [PORCENTAGEM_12] [real] NULL, [DESCONTO] [numeric](14, 2) NULL, [ENCARGO] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](7, 2) NULL, [DESCONTO_FATURAMENTO] [bit] NOT NULL, [ENCARGO_FATURAMENTO] [bit] NOT NULL, [DESCONTO_ITEM_FATURAMENTO] [bit] NOT NULL, [DIAS_DESCONTO_VENCIMENTO] [numeric](7, 2) NULL, [DESCONTO_VENCIMENTO] [numeric](7, 2) NULL, [EXCLUSIVO_LINX] [bit] NOT NULL, [CONDICAO_ESPECIAL] [bit] NOT NULL, [VALOR_MINIMO_PARCELAMENTO] [numeric](14, 2) NULL, [VALOR_MAXIMO_PARCELAMENTO] [numeric](14, 2) NULL, [NOVO_PARCELAMENTO_MINIMO] [int] NULL, [NOVO_PARCELAMENTO_MAXIMO] [int] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCOND_ATAC_PGTOS] PRIMARY KEY NONCLUSTERED ( [CONDICAO_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COND_ATAC_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COND_ATAC_PGTOS] on [COND_ATAC_PGTOS] for DELETE as /* DELETE trigger on COND_ATAC_PGTOS */ begin declare @errno int, @errmsg varchar(255) /* COND_ATAC_PGTOS R/1402 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ATAC_PGTOS #porque existem registros em #VENDAS_LOTE#.'' goto error end /* COND_ATAC_PGTOS R/1377 COND_PGTO_PRODUTOS ON PARENT DELETE CASCADE */ delete COND_PGTO_PRODUTOS from COND_PGTO_PRODUTOS,deleted where COND_PGTO_PRODUTOS.CONDICAO_PGTO = deleted.CONDICAO_PGTO /* COND_ATAC_PGTOS COND_ATAC_PGTOS CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ATAC_PGTOS #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* COND_ATAC_PGTOS COND_ATAC_PGTOS FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ATAC_PGTOS #porque existem registros em #FATURAMENTO#.'' goto error end /* COND_ATAC_PGTOS COND_ATAC_PGTOS VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ATAC_PGTOS #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COND_ATAC_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COND_ATAC_PGTOS] on [COND_ATAC_PGTOS] for UPDATE as /* UPDATE trigger on COND_ATAC_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONDICAO_PGTO char(3), @delCONDICAO_PGTO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COND_ATAC_PGTOS R/1402 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ATAC_PGTOS1402 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ATAC_PGTOS340 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ATAC_PGTOS1402 OPEN COND_ATAC_PGTOS340 FETCH NEXT FROM COND_ATAC_PGTOS1402 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE VENDAS_LOTE.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS1402 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO END END CLOSE COND_ATAC_PGTOS1402 CLOSE COND_ATAC_PGTOS340 DEALLOCATE COND_ATAC_PGTOS1402 DEALLOCATE COND_ATAC_PGTOS340 END /* COND_ATAC_PGTOS R/1377 COND_PGTO_PRODUTOS ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ATAC_PGTOS1377 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ATAC_PGTOS340 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ATAC_PGTOS1377 OPEN COND_ATAC_PGTOS340 FETCH NEXT FROM COND_ATAC_PGTOS1377 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COND_PGTO_PRODUTOS SET COND_PGTO_PRODUTOS.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE COND_PGTO_PRODUTOS.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS1377 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO END END CLOSE COND_ATAC_PGTOS1377 CLOSE COND_ATAC_PGTOS340 DEALLOCATE COND_ATAC_PGTOS1377 DEALLOCATE COND_ATAC_PGTOS340 END /* COND_ATAC_PGTOS COND_ATAC_PGTOS CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ATAC_PGTOS908 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ATAC_PGTOS340 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ATAC_PGTOS908 OPEN COND_ATAC_PGTOS340 FETCH NEXT FROM COND_ATAC_PGTOS908 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE CLIENTES_ATACADO.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS908 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO END END CLOSE COND_ATAC_PGTOS908 CLOSE COND_ATAC_PGTOS340 DEALLOCATE COND_ATAC_PGTOS908 DEALLOCATE COND_ATAC_PGTOS340 END /* COND_ATAC_PGTOS COND_ATAC_PGTOS FATURAMENTO ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ATAC_PGTOS882 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ATAC_PGTOS340 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ATAC_PGTOS882 OPEN COND_ATAC_PGTOS340 FETCH NEXT FROM COND_ATAC_PGTOS882 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO SET FATURAMENTO.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE FATURAMENTO.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS882 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ATAC_PGTOS340 INTO @delCONDICAO_PGTO END END CLOSE COND_ATAC_PGTOS882 CLOSE COND_ATAC_PGTOS340 DEALLOCATE COND_ATAC_PGTOS882 DEALLOCATE COND_ATAC_PGTOS340 END /* COND_ATAC_PGTOS COND_ATAC_PGTOS VENDAS ON PARENT UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin if exists ( select * from deleted,VENDAS where VENDAS.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #COND_ATAC_PGTOS #porque existem registros em #VENDAS#.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE COND_ATAC_PGTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COND_ATAC_PGTOS, INSERTED WHERE COND_ATAC_PGTOS.CONDICAO_PGTO = INSERTED.CONDICAO_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR COND_ATAC_PGTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[NUMERO_PARCELAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PARCELA_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[PORCENTAGEM_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[ENCARGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[DESCONTO_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[ENCARGO_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[DESCONTO_ITEM_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[EXCLUSIVO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[CONDICAO_ESPECIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[VALOR_MINIMO_PARCELAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[VALOR_MAXIMO_PARCELAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[NOVO_PARCELAMENTO_MINIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ATAC_PGTOS].[NOVO_PARCELAMENTO_MAXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[COND_ATAC_PGTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COND_PGTO_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COND_PGTO_PRODUTOS]( [PRODUTO] [char](12) NOT NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [DESCONTO_ITEM_PRODUTO] [numeric](7, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCOND_PGTO_PRODUTOS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [CONDICAO_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COND_PGTO_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COND_PGTO_PRODUTOS] on [COND_PGTO_PRODUTOS] for INSERT as /* INSERT trigger on COND_PGTO_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COND_ATAC_PGTOS R/1377 COND_PGTO_PRODUTOS ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COND_PGTO_PRODUTOS #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* PRODUTOS R/1376 COND_PGTO_PRODUTOS ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COND_PGTO_PRODUTOS #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE COND_PGTO_PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COND_PGTO_PRODUTOS, INSERTED WHERE COND_PGTO_PRODUTOS.PRODUTO = INSERTED.PRODUTO and COND_PGTO_PRODUTOS.CONDICAO_PGTO = INSERTED.CONDICAO_PGTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COND_PGTO_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COND_PGTO_PRODUTOS] on [COND_PGTO_PRODUTOS] for UPDATE as /* UPDATE trigger on COND_PGTO_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCONDICAO_PGTO char(3), @delPRODUTO char(12), @delCONDICAO_PGTO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COND_ATAC_PGTOS R/1377 COND_PGTO_PRODUTOS ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COND_PGTO_PRODUTOS #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* PRODUTOS R/1376 COND_PGTO_PRODUTOS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COND_PGTO_PRODUTOS #porque #PRODUTOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE COND_PGTO_PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COND_PGTO_PRODUTOS, INSERTED WHERE COND_PGTO_PRODUTOS.PRODUTO = INSERTED.PRODUTO and COND_PGTO_PRODUTOS.CONDICAO_PGTO = INSERTED.CONDICAO_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR COND_PGTO_PRODUTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_PGTO_PRODUTOS].[DESCONTO_ITEM_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[COND_PGTO_PRODUTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COND_ENT_PGTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COND_ENT_PGTOS]( [CONDICAO_PGTO] [char](3) NOT NULL, [TIPO_CONDICAO] [char](6) NOT NULL, [DESC_COND_PGTO] [varchar](40) NOT NULL, [NUMERO_PARCELAS] [int] NULL, [PARCELA_1] [int] NULL, [PARCELA_2] [int] NULL, [PARCELA_3] [int] NULL, [PARCELA_4] [int] NULL, [PARCELA_5] [int] NULL, [PARCELA_6] [int] NULL, [PORCENTAGEM_1] [real] NULL, [PORCENTAGEM_2] [real] NULL, [PORCENTAGEM_3] [real] NULL, [PORCENTAGEM_4] [real] NULL, [PORCENTAGEM_5] [real] NULL, [PORCENTAGEM_6] [real] NULL, [EXCLUSIVO_LINX] [bit] NOT NULL, [CONDICAO_ESPECIAL] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PARCELA_7] [int] NULL, [PARCELA_8] [int] NULL, [PARCELA_9] [int] NULL, [PARCELA_10] [int] NULL, [PARCELA_11] [int] NULL, [PARCELA_12] [int] NULL, [PORCENTAGEM_7] [real] NULL, [PORCENTAGEM_8] [real] NULL, [PORCENTAGEM_9] [real] NULL, [PORCENTAGEM_10] [real] NULL, [PORCENTAGEM_11] [real] NULL, [PORCENTAGEM_12] [real] NULL, CONSTRAINT [XPKCOND_ENT_PGTOS] PRIMARY KEY NONCLUSTERED ( [CONDICAO_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_COND_ENT_PGTO] ON [COND_ENT_PGTOS] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO A, DELETED B WHERE A.GF_CONDICAO_PGTO=B.CONDICAO_PGTO) DELETE FROM GF_COND_ENT_PGTO WHERE GF_CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_COND_ENT_PGTO] ON [COND_ENT_PGTOS] FOR INSERT NOT FOR REPLICATION AS IF (( SELECT trigger_nestlevel(OBJECT_ID(''GFIV_COND_ENT_PGTO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO A, INSERTED B WHERE A.GF_CONDICAO_PGTO=B.CONDICAO_PGTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_COND_ENT_PGTO (ID,GF_CONDICAO_PGTO,GF_TIPO_CONDICAO,GF_DESC_COND_PGT,GF_NUMERO_PARCEL,GF_EXCLUSIVO_LIN, GF_PARCELA_1,GF_PARCELA_2,GF_PARCELA_3,GF_PARCELA_4,GF_PARCELA_5,GF_PARCELA_6, GF_PARCELA_7,GF_PARCELA_8,GF_PARCELA_9,GF_PARCELA_10,GF_PARCELA_11,GF_PARCELA_12, GF_PORCENTAGEM_1,GF_PORCENTAGEM_2,GF_PORCENTAGEM_3,GF_PORCENTAGEM_4,GF_PORCENTAGEM_5,GF_PORCENTAGEM_6, GF_PORCENTAGEM_7,GF_PORCENTAGEM_8,GF_PORCENTAGEM_9,GF_PORCENTAGEM_0,GF_PORCENTAGEM11,GF_PORCENTAGEM12, GF_CONDICAO_ESPE,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,CONDICAO_PGTO,TIPO_CONDICAO,DESC_COND_PGTO,NUMERO_PARCELAS,EXCLUSIVO_LINX, CONDICAO_ESPECIAL,PARCELA_1,PARCELA_2,PARCELA_3,PARCELA_4,PARCELA_5,PARCELA_6, PARCELA_7,PARCELA_8,PARCELA_9,PARCELA_10,PARCELA_11,PARCELA_12,PORCENTAGEM_1,PORCENTAGEM_2, PORCENTAGEM_3,PORCENTAGEM_4,PORCENTAGEM_5,PORCENTAGEM_6,PORCENTAGEM_7,PORCENTAGEM_8, PORCENTAGEM_9,PORCENTAGEM_10,PORCENTAGEM_11,PORCENTAGEM_12,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM COND_ENT_PGTOS A, GF_COND_ENT_PGTOCNT B WHERE CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM INSERTED) UPDATE GF_COND_ENT_PGTOCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Origen de Tributación, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_COND_ENT_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_COND_ENT_PGTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_COND_ENT_PGTO] ON [COND_ENT_PGTOS] FOR UPDATE NOT FOR REPLICATION AS IF (((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_COND_ENT_PGTO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_COND_ENT_PGTO'')))=1)) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_COND_ENT_PGTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO A, DELETED B WHERE A.GF_CONDICAO_PGTO=B.CONDICAO_PGTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_COND_ENT_PGTO SET GF_CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM INSERTED), GF_TIPO_CONDICAO=(SELECT TIPO_CONDICAO FROM INSERTED), GF_DESC_COND_PGT=(SELECT DESC_COND_PGTO FROM INSERTED), GF_NUMERO_PARCEL=(SELECT NUMERO_PARCELAS FROM INSERTED), GF_EXCLUSIVO_LIN=(SELECT EXCLUSIVO_LINX FROM INSERTED), GF_CONDICAO_ESPE=(SELECT CONDICAO_ESPECIAL FROM INSERTED), GF_PARCELA_1=(SELECT PARCELA_1 FROM INSERTED), GF_PARCELA_2=(SELECT PARCELA_2 FROM INSERTED), GF_PARCELA_3=(SELECT PARCELA_3 FROM INSERTED), GF_PARCELA_4=(SELECT PARCELA_4 FROM INSERTED), GF_PARCELA_5=(SELECT PARCELA_5 FROM INSERTED), GF_PARCELA_6=(SELECT PARCELA_6 FROM INSERTED), GF_PARCELA_7=(SELECT PARCELA_7 FROM INSERTED), GF_PARCELA_8=(SELECT PARCELA_8 FROM INSERTED), GF_PARCELA_9=(SELECT PARCELA_9 FROM INSERTED), GF_PARCELA_10=(SELECT PARCELA_10 FROM INSERTED), GF_PARCELA_11=(SELECT PARCELA_11 FROM INSERTED), GF_PARCELA_12=(SELECT PARCELA_12 FROM INSERTED), GF_PORCENTAGEM_1=(SELECT PORCENTAGEM_1 FROM INSERTED), GF_PORCENTAGEM_2=(SELECT PORCENTAGEM_2 FROM INSERTED), GF_PORCENTAGEM_3=(SELECT PORCENTAGEM_3 FROM INSERTED), GF_PORCENTAGEM_4=(SELECT PORCENTAGEM_4 FROM INSERTED), GF_PORCENTAGEM_5=(SELECT PORCENTAGEM_5 FROM INSERTED), GF_PORCENTAGEM_6=(SELECT PORCENTAGEM_6 FROM INSERTED), GF_PORCENTAGEM_7=(SELECT PORCENTAGEM_7 FROM INSERTED), GF_PORCENTAGEM_8=(SELECT PORCENTAGEM_8 FROM INSERTED), GF_PORCENTAGEM_9=(SELECT PORCENTAGEM_9 FROM INSERTED), GF_PORCENTAGEM_0=(SELECT PORCENTAGEM_10 FROM INSERTED), GF_PORCENTAGEM11=(SELECT PORCENTAGEM_11 FROM INSERTED), GF_PORCENTAGEM12=(SELECT PORCENTAGEM_12 FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Origen de Tributación, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COND_ENT_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COND_ENT_PGTOS] on [COND_ENT_PGTOS] for DELETE as /* DELETE trigger on COND_ENT_PGTOS */ begin declare @errno int, @errmsg varchar(255) /* COND_ENT_PGTOS R/2148 ENTRADAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_DESPESA where ENTRADAS_DESPESA.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #ENTRADAS_DESPESA#.'' goto error end /* COND_ENT_PGTOS R/2141 COMPRAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA where COMPRAS_DESPESA.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #COMPRAS_DESPESA#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_CONS_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_CONS_FORNECEDOR where COTACOES_CONS_FORNECEDOR.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #COTACOES_CONS_FORNECEDOR#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_MAT_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_MAT_FORNECEDOR where COTACOES_MAT_FORNECEDOR.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #COTACOES_MAT_FORNECEDOR#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #COMPRAS#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #ENTRADAS#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #MATERIAIS#.'' goto error end /* COND_ENT_PGTOS COND_ENT_PGTOS FORNECEDORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FORNECEDORES where FORNECEDORES.CONDICAO_PGTO = deleted.CONDICAO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COND_ENT_PGTOS #porque existem registros em #FORNECEDORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COND_ENT_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COND_ENT_PGTOS] on [COND_ENT_PGTOS] for UPDATE as /* UPDATE trigger on COND_ENT_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONDICAO_PGTO char(3), @delCONDICAO_PGTO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COND_ENT_PGTOS R/2148 ENTRADAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS2148 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS2148 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS2148 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_DESPESA SET ENTRADAS_DESPESA.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE ENTRADAS_DESPESA.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS2148 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS2148 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS2148 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS R/2141 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS2141 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS2141 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS2141 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE COMPRAS_DESPESA.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS2141 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS2141 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS2141 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_CONS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS807 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS807 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS807 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONS_FORNECEDOR SET COTACOES_CONS_FORNECEDOR.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE COTACOES_CONS_FORNECEDOR.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS807 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS807 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS807 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS COTACOES_MAT_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS795 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS795 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS795 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_MAT_FORNECEDOR SET COTACOES_MAT_FORNECEDOR.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE COTACOES_MAT_FORNECEDOR.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS795 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS795 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS795 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS COMPRAS ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS97 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS97 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS97 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE COMPRAS.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS97 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS97 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS97 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS ENTRADAS ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS98 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS98 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS98 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE ENTRADAS.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS98 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS98 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS98 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS MATERIAIS ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS99 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS99 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS99 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE MATERIAIS.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS99 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS99 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS99 DEALLOCATE COND_ENT_PGTOS79 END /* COND_ENT_PGTOS COND_ENT_PGTOS FORNECEDORES ON PARENT UPDATE CASCADE */ IF update(CONDICAO_PGTO) BEGIN DECLARE COND_ENT_PGTOS96 CURSOR FOR SELECT CONDICAO_PGTO FROM INSERTED DECLARE COND_ENT_PGTOS79 CURSOR FOR SELECT CONDICAO_PGTO FROM DELETED OPEN COND_ENT_PGTOS96 OPEN COND_ENT_PGTOS79 FETCH NEXT FROM COND_ENT_PGTOS96 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FORNECEDORES SET FORNECEDORES.CONDICAO_PGTO=@insCONDICAO_PGTO WHERE FORNECEDORES.CONDICAO_PGTO = @delCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS96 INTO @insCONDICAO_PGTO FETCH NEXT FROM COND_ENT_PGTOS79 INTO @delCONDICAO_PGTO END END CLOSE COND_ENT_PGTOS96 CLOSE COND_ENT_PGTOS79 DEALLOCATE COND_ENT_PGTOS96 DEALLOCATE COND_ENT_PGTOS79 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE COND_ENT_PGTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COND_ENT_PGTOS, INSERTED WHERE COND_ENT_PGTOS.CONDICAO_PGTO = INSERTED.CONDICAO_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR COND_ENT_PGTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[NUMERO_PARCELAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PARCELA_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[EXCLUSIVO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[CONDICAO_ESPECIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[COND_ENT_PGTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_ENT_PGTOS].[PORCENTAGEM_12]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_2_QUALI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_2_QUALI]( [COD_MAQUINA] [char](6) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [Q_TEMPO_MAQUINA] [int] NULL, [V_TEMPO_MAQUINA] [int] NULL, CONSTRAINT [XPKMATERIAIS_2_QUALI] PRIMARY KEY NONCLUSTERED ( [COD_MAQUINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_2_QUALI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_2_QUALI] on [MATERIAIS_2_QUALI] for INSERT as /* INSERT trigger on MATERIAIS_2_QUALI */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO MATERIAIS_TABELA MATERIAIS_2_QUALI ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_2_QUALI #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_2_QUALI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_2_QUALI] on [MATERIAIS_2_QUALI] for UPDATE as /* UPDATE trigger on MATERIAIS_2_QUALI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_MAQUINA char(6), @delCOD_MAQUINA char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO MATERIAIS_TABELA MATERIAIS_2_QUALI ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_2_QUALI #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_2_QUALI].[Q_TEMPO_MAQUINA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_2_QUALI].[V_TEMPO_MAQUINA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COND_VAR_PGTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COND_VAR_PGTOS]( [CONDICAO_PGTO] [char](3) NOT NULL, [TIPO_CONDICAO] [char](6) NOT NULL, [DESC_COND_PGTO] [varchar](40) NOT NULL, [NUMERO_PARCELAS] [int] NULL, [PARCELA_1] [int] NULL, [PARCELA_2] [int] NULL, [PARCELA_3] [int] NULL, [PARCELA_4] [int] NULL, [PARCELA_5] [int] NULL, [PARCELA_6] [int] NULL, [PORCENTAGEM_1] [real] NULL, [PORCENTAGEM_2] [real] NULL, [PORCENTAGEM_3] [real] NULL, [PORCENTAGEM_4] [real] NULL, [PORCENTAGEM_5] [real] NULL, [PORCENTAGEM_6] [real] NULL, [DESCONTO] [numeric](14, 2) NULL, [EXCLUSIVO_LINX] [bit] NOT NULL, [CONDICAO_ESPECIAL] [bit] NOT NULL, CONSTRAINT [XPKCOND_VAR_PGTOS] PRIMARY KEY NONCLUSTERED ( [CONDICAO_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[NUMERO_PARCELAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PARCELA_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[PORCENTAGEM_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[EXCLUSIVO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COND_VAR_PGTOS].[CONDICAO_ESPECIAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPO_FRETE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPO_FRETE]( [TIPO_FRETE] [char](2) NOT NULL, [DESCRICAO_TIPO] [varchar](40) NOT NULL, [FRETE_PAGO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKTIPO_FRETE] PRIMARY KEY NONCLUSTERED ( [TIPO_FRETE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TIPO_FRETE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TIPO_FRETE] on [TIPO_FRETE] for DELETE as /* DELETE trigger on TIPO_FRETE */ begin declare @errno int, @errmsg varchar(255) /* TIPO_FRETE TIPO_FRETE FATURAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.TIPO_FRETE = deleted.TIPO_FRETE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPO_FRETE #porque existem registros em #FATURAMENTO#.'' goto error end /* TIPO_FRETE TIPO_FRETE VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.TIPO_FRETE = deleted.TIPO_FRETE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPO_FRETE #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TIPO_FRETE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TIPO_FRETE] on [TIPO_FRETE] for UPDATE as /* UPDATE trigger on TIPO_FRETE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_FRETE char(2), @delTIPO_FRETE char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPO_FRETE TIPO_FRETE FATURAMENTO ON PARENT UPDATE RESTRICT */ if update(TIPO_FRETE) begin if exists ( select * from deleted,FATURAMENTO where FATURAMENTO.TIPO_FRETE = deleted.TIPO_FRETE ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #TIPO_FRETE #porque existem registros em #FATURAMENTO#.'' goto error end end /* TIPO_FRETE TIPO_FRETE VENDAS ON PARENT UPDATE RESTRICT */ if update(TIPO_FRETE) begin if exists ( select * from deleted,VENDAS where VENDAS.TIPO_FRETE = deleted.TIPO_FRETE ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #TIPO_FRETE #porque existem registros em #VENDAS#.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TIPO_FRETE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TIPO_FRETE, INSERTED WHERE TIPO_FRETE.TIPO_FRETE = INSERTED.TIPO_FRETE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TIPO_FRETE.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TIPO_FRETE].[FRETE_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TIPO_FRETE].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_TERCEIRO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_TERCEIRO_PRODUTO]( [PEDIDO] [char](12) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [NF_FORNECEDOR] [varchar](12) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [QTDE_ENTREGUE] [int] NULL, [QTDE_CANCELADA] [int] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [VALOR_ENTREGUE] [numeric](14, 2) NULL, [F1] [int] NULL, [F2] [int] NULL, [F3] [int] NULL, [F4] [int] NULL, [F5] [int] NULL, [F6] [int] NULL, [F7] [int] NULL, [F8] [int] NULL, [F9] [int] NULL, [F10] [int] NULL, [F11] [int] NULL, [F12] [int] NULL, [F13] [int] NULL, [F14] [int] NULL, [F15] [int] NULL, [F16] [int] NULL, [F17] [int] NULL, [F18] [int] NULL, [F19] [int] NULL, [F20] [int] NULL, [F21] [int] NULL, [F22] [int] NULL, [F23] [int] NULL, [F24] [int] NULL, [F25] [int] NULL, [F26] [int] NULL, [F27] [int] NULL, [F28] [int] NULL, [F29] [int] NULL, [F30] [int] NULL, [F31] [int] NULL, [F32] [int] NULL, [F33] [int] NULL, [F34] [int] NULL, [F35] [int] NULL, [F36] [int] NULL, [F37] [int] NULL, [F38] [int] NULL, [F39] [int] NULL, [F40] [int] NULL, [F41] [int] NULL, [F42] [int] NULL, [F43] [int] NULL, [F44] [int] NULL, [F45] [int] NULL, [F46] [int] NULL, [F47] [int] NULL, [F48] [int] NULL, [FAIXA] [char](1) NOT NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKVENDAS_TERCEIRO_PRODUTO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC, [NF_FORNECEDOR] ASC, [FORNECEDOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_TERCEIRO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_TERCEIRO_PRODUTO] on [VENDAS_TERCEIRO_PRODUTO] for DELETE as /* DELETE trigger on VENDAS_TERCEIRO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insNF_FORNECEDOR varchar(12), @insFORNECEDOR varchar(25), @delPEDIDO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delNF_FORNECEDOR varchar(12), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT PEDIDO FROM DELETED WHERE PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_TERCEIRO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_TERCEIRO_PRODUTO] on [VENDAS_TERCEIRO_PRODUTO] for INSERT as /* INSERT trigger on VENDAS_TERCEIRO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insNF_FORNECEDOR varchar(12), @insFORNECEDOR varchar(25), @delPEDIDO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delNF_FORNECEDOR varchar(12), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_PRODUTO R/1831 VENDAS_TERCEIRO_PRODUTO ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_TERCEIRO_PRODUTO #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* VENDAS_TERCEIRO_FATURAMENTO R/1829 VENDAS_TERCEIRO_PRODUTO ON CHILD INSERT RESTRICT */ if update(NF_FORNECEDOR) or update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TERCEIRO_FATURAMENTO where inserted.NF_FORNECEDOR = VENDAS_TERCEIRO_FATURAMENTO.NF_FORNECEDOR and inserted.FORNECEDOR = VENDAS_TERCEIRO_FATURAMENTO.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_TERCEIRO_PRODUTO #porque #VENDAS_TERCEIRO_FATURAMENTO #não existe.'' goto error end end /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT PEDIDO FROM INSERTED WHERE PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_TERCEIRO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_TERCEIRO_PRODUTO] on [VENDAS_TERCEIRO_PRODUTO] for UPDATE as /* UPDATE trigger on VENDAS_TERCEIRO_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insNF_FORNECEDOR varchar(12), @insFORNECEDOR varchar(25), @delPEDIDO char(12), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delNF_FORNECEDOR varchar(12), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_PRODUTO R/1831 VENDAS_TERCEIRO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_TERCEIRO_PRODUTO #porque #VENDAS_PRODUTO #não existe.'' goto error end end /* VENDAS_TERCEIRO_FATURAMENTO R/1829 VENDAS_TERCEIRO_PRODUTO ON CHILD UPDATE RESTRICT */ if update(NF_FORNECEDOR) or update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TERCEIRO_FATURAMENTO where inserted.NF_FORNECEDOR = VENDAS_TERCEIRO_FATURAMENTO.NF_FORNECEDOR and inserted.FORNECEDOR = VENDAS_TERCEIRO_FATURAMENTO.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_TERCEIRO_PRODUTO #porque #VENDAS_TERCEIRO_FATURAMENTO #não existe.'' goto error end end /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT PEDIDO FROM INSERTED WHERE PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_TERCEIRO_PRODUTO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_TERCEIRO_PRODUTO].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_PRODUTO_FICHA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_PRODUTO_FICHA]( [PRODUTO] [char](12) NOT NULL, [PEDIDO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [ITEM] [char](4) NOT NULL, [COR_MATERIAL] [char](10) NULL, [MATERIAL] [char](11) NULL, [RECURSO_PRODUTIVO] [char](5) NULL, [RECEITA] [varchar](20) NULL, [OBSERVACAO_MATERIAL_PEDIDO] [varchar](50) NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKVENDAS_PRODUTO_FICHA] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [PEDIDO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_PRODUTO_FICHA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_PRODUTO_FICHA] on [VENDAS_PRODUTO_FICHA] for INSERT as /* INSERT trigger on VENDAS_PRODUTO_FICHA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/1991 VENDAS_PRODUTO_FICHA ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_FICHA #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* MATERIAIS_CORES R/1990 VENDAS_PRODUTO_FICHA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_FICHA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* VENDAS_PRODUTO R/1989 VENDAS_PRODUTO_FICHA ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_PRODUTO_FICHA #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_PRODUTO_FICHA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_PRODUTO_FICHA] on [VENDAS_PRODUTO_FICHA] for UPDATE as /* UPDATE trigger on VENDAS_PRODUTO_FICHA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insPEDIDO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insITEM char(4), @delPRODUTO char(12), @delPEDIDO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RECURSOS R/1991 VENDAS_PRODUTO_FICHA ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO select @nullcnt = count(*) from inserted where inserted.RECURSO_PRODUTIVO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_FICHA #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end /* MATERIAIS_CORES R/1990 VENDAS_PRODUTO_FICHA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_FICHA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* VENDAS_PRODUTO R/1989 VENDAS_PRODUTO_FICHA ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_PRODUTO_FICHA #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_PRODUTO_FICHA].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_LANC_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_LANC_CENTROS_CUSTO]( [LANCAMENTO] [char](8) NOT NULL, [ITEM] [char](4) NOT NULL, [CENTRO_CUSTO] [varchar](25) NOT NULL, [PORCENTAGEM] [numeric](15, 5) NULL, CONSTRAINT [XPKCONTAS_LANC_CENTROS_CUSTO] PRIMARY KEY NONCLUSTERED ( [LANCAMENTO] ASC, [ITEM] ASC, [CENTRO_CUSTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTAS_LANC_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTAS_LANC_CENTROS_CUSTO] on [CONTAS_LANC_CENTROS_CUSTO] for INSERT as /* INSERT trigger on CONTAS_LANC_CENTROS_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_LANC_CENTROS_CUSTO ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANC_CENTROS_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* CONTAS_LANC_ITENS LANC_ITENS CONTAS_LANC_CENTROS_CUSTO ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_LANC_CENTROS_CUSTO #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_LANC_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_LANC_CENTROS_CUSTO] on [CONTAS_LANC_CENTROS_CUSTO] for UPDATE as /* UPDATE trigger on CONTAS_LANC_CENTROS_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLANCAMENTO char(8), @insITEM char(4), @insCENTRO_CUSTO varchar(25), @delLANCAMENTO char(8), @delITEM char(4), @delCENTRO_CUSTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_LANC_CENTROS_CUSTO ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANC_CENTROS_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* CONTAS_LANC_ITENS LANC_ITENS CONTAS_LANC_CENTROS_CUSTO ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_LANC_CENTROS_CUSTO #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_LANC_CENTROS_CUSTO].[PORCENTAGEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_CANC_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_CANC_PROD]( [PRODUTO] [char](12) NOT NULL, [ENTREGA] [datetime] NOT NULL, [PEDIDO] [char](12) NOT NULL, [NUM_CANCELAMENTO] [char](5) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_CANCELADA] [int] NULL, [PRECO1] [numeric](14, 2) NULL, [PRECO2] [numeric](14, 2) NULL, [PRECO3] [numeric](14, 2) NULL, [PRECO4] [numeric](14, 2) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [VO1] [int] NULL, [VO2] [int] NULL, [VO3] [int] NULL, [VO4] [int] NULL, [VO5] [int] NULL, [VO6] [int] NULL, [VO7] [int] NULL, [VO8] [int] NULL, [VO9] [int] NULL, [VO10] [int] NULL, [VO11] [int] NULL, [VO12] [int] NULL, [VO13] [int] NULL, [VO14] [int] NULL, [VO15] [int] NULL, [VO16] [int] NULL, [VO17] [int] NULL, [VO18] [int] NULL, [VO19] [int] NULL, [VO20] [int] NULL, [VO21] [int] NULL, [VO22] [int] NULL, [VO23] [int] NULL, [VO24] [int] NULL, [VO25] [int] NULL, [VO26] [int] NULL, [VO27] [int] NULL, [VO28] [int] NULL, [VO29] [int] NULL, [VO30] [int] NULL, [VO31] [int] NULL, [VO32] [int] NULL, [VO33] [int] NULL, [VO34] [int] NULL, [VO35] [int] NULL, [VO36] [int] NULL, [VO37] [int] NULL, [VO38] [int] NULL, [VO39] [int] NULL, [VO40] [int] NULL, [VO41] [int] NULL, [VO42] [int] NULL, [VO43] [int] NULL, [VO44] [int] NULL, [VO45] [int] NULL, [VO46] [int] NULL, [VO47] [int] NULL, [VO48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKVENDAS_CANC_PROD] PRIMARY KEY NONCLUSTERED ( [NUM_CANCELAMENTO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC, [PEDIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_CANC_PROD]') AND name = N'XIE1VENDAS_CANC_PROD') CREATE NONCLUSTERED INDEX [XIE1VENDAS_CANC_PROD] ON [VENDAS_CANC_PROD] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_CANC_PROD]') AND name = N'XIE2VENDAS_CANC_PROD') CREATE NONCLUSTERED INDEX [XIE2VENDAS_CANC_PROD] ON [VENDAS_CANC_PROD] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_CANC_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_CANC_PROD] on [VENDAS_CANC_PROD] for INSERT as /* INSERT trigger on VENDAS_CANC_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_CANCELAMENTO VENDAS_CANCELAMENTO VENDAS_CANC_PROD ON CHILD INSERT RESTRICT */ if update(NUM_CANCELAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_CANCELAMENTO where inserted.NUM_CANCELAMENTO = VENDAS_CANCELAMENTO.NUM_CANCELAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_CANC_PROD #porque #VENDAS_CANCELAMENTO #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_CANC_PROD ON CHILD INSERT RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_CANC_PROD #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_CANC_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_CANC_PROD] on [VENDAS_CANC_PROD] for UPDATE as /* UPDATE trigger on VENDAS_CANC_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUM_CANCELAMENTO char(5), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA datetime, @insPEDIDO char(12), @delNUM_CANCELAMENTO char(5), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA datetime, @delPEDIDO char(12), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_CANCELAMENTO VENDAS_CANCELAMENTO VENDAS_CANC_PROD ON CHILD UPDATE RESTRICT */ if update(NUM_CANCELAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_CANCELAMENTO where inserted.NUM_CANCELAMENTO = VENDAS_CANCELAMENTO.NUM_CANCELAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_CANC_PROD #porque #VENDAS_CANCELAMENTO #não existe.'' goto error end end /* VENDAS_PRODUTO VENDAS_PRODUTO VENDAS_CANC_PROD ON CHILD UPDATE RESTRICT */ if update(PEDIDO) or update(PRODUTO) or update(COR_PRODUTO) or update(ENTREGA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_PRODUTO where inserted.PEDIDO = VENDAS_PRODUTO.PEDIDO and inserted.PRODUTO = VENDAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = VENDAS_PRODUTO.COR_PRODUTO and inserted.ENTREGA = VENDAS_PRODUTO.ENTREGA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_CANC_PROD #porque #VENDAS_PRODUTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[PRECO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[PRECO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[PRECO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[PRECO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[VO48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANC_PROD].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_OBS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_OBS_PRODUTO]( [PEDIDO] [char](12) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [DESC_VENDA_CLIENTE] [varchar](40) NOT NULL, [ITEM_PEDIDO] [char](4) NOT NULL, CONSTRAINT [XPKVENDAS_OBS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_OBS_PRODUTO].[ITEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_PROD]( [NUMERO_CONTAGEM] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [NUMERO_LOCAL] [int] NOT NULL, [ITEM] [char](7) NOT NULL, [NOME_CONTAGEM] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_CONTAGEM] [int] NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_PROD] PRIMARY KEY NONCLUSTERED ( [NUMERO_CONTAGEM] ASC, [PRODUTO] ASC, [NUMERO_LOCAL] ASC, [ITEM] ASC, [NOME_CONTAGEM] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_PROD] on [ESTOQUE_PROD_CTG_PROD] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_PROD ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTAGEM) or update(NUMERO_LOCAL) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_LOCAL where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM and inserted.NUMERO_LOCAL = ESTOQUE_PROD_CTG_LOCAL.NUMERO_LOCAL and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_PROD #porque #ESTOQUE_PROD_CTG_LOCAL #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_PROD ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_PROD] on [ESTOQUE_PROD_CTG_PROD] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_CONTAGEM char(2), @insPRODUTO char(12), @insNUMERO_LOCAL int, @insITEM char(7), @insNOME_CONTAGEM varchar(25), @insCOR_PRODUTO char(10), @delNUMERO_CONTAGEM char(2), @delPRODUTO char(12), @delNUMERO_LOCAL int, @delITEM char(7), @delNOME_CONTAGEM varchar(25), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_PROD ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTAGEM) or update(NUMERO_LOCAL) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_LOCAL where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM and inserted.NUMERO_LOCAL = ESTOQUE_PROD_CTG_LOCAL.NUMERO_LOCAL and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_PROD #porque #ESTOQUE_PROD_CTG_LOCAL #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_PROD ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_PROD].[NUMERO_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_PROD].[NUMERO_LOCAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_PROD].[QTDE_CONTAGEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_PRECOS]( [ORCAMENTO] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [MOEDA] [char](6) NOT NULL, [PRECO_POLITICO] [numeric](14, 2) NULL, [PRECO_FINAL] [numeric](14, 2) NULL, [PRECO_NA_MOEDA] [numeric](14, 2) NULL, [CAMBIO_ORCAMENTO] [numeric](15, 6) NULL, [DATA_CAMBIO_ORCAMENTO] [smalldatetime] NULL, CONSTRAINT [XPKORCAMENTOS_PRECOS] PRIMARY KEY NONCLUSTERED ( [ORCAMENTO] ASC, [CODIGO_TAB_PRECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ORCAMENTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ORCAMENTOS_PRECOS] on [ORCAMENTOS_PRECOS] for DELETE as /* DELETE trigger on ORCAMENTOS_PRECOS */ begin declare @errno int, @errmsg varchar(255) /* ORCAMENTOS_PRECOS R/1340 ORCAMENTOS_FATORES ON PARENT DELETE CASCADE */ delete ORCAMENTOS_FATORES from ORCAMENTOS_FATORES,deleted where ORCAMENTOS_FATORES.ORCAMENTO = deleted.ORCAMENTO and ORCAMENTOS_FATORES.CODIGO_TAB_PRECO = deleted.CODIGO_TAB_PRECO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ORCAMENTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ORCAMENTOS_PRECOS] on [ORCAMENTOS_PRECOS] for INSERT as /* INSERT trigger on ORCAMENTOS_PRECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TABELAS_PRECO R/1351 ORCAMENTOS_PRECOS ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_PRECOS #porque #TABELAS_PRECO #não existe.'' goto error end end /* ORCAMENTOS R/1339 ORCAMENTOS_PRECOS ON CHILD INSERT RESTRICT */ if update(ORCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS where inserted.ORCAMENTO = ORCAMENTOS.ORCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_PRECOS #porque #ORCAMENTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS_PRECOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS_PRECOS] on [ORCAMENTOS_PRECOS] for UPDATE as /* UPDATE trigger on ORCAMENTOS_PRECOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORCAMENTO varchar(25), @insCODIGO_TAB_PRECO char(2), @delORCAMENTO varchar(25), @delCODIGO_TAB_PRECO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_PRECOS R/1340 ORCAMENTOS_FATORES ON PARENT UPDATE CASCADE */ IF update(ORCAMENTO) OR update(CODIGO_TAB_PRECO) BEGIN DECLARE ORCAMENTOS_PRECOS1340 CURSOR FOR SELECT ORCAMENTO, CODIGO_TAB_PRECO FROM INSERTED DECLARE ORCAMENTOS_PRECOS812 CURSOR FOR SELECT ORCAMENTO, CODIGO_TAB_PRECO FROM DELETED OPEN ORCAMENTOS_PRECOS1340 OPEN ORCAMENTOS_PRECOS812 FETCH NEXT FROM ORCAMENTOS_PRECOS1340 INTO @insORCAMENTO, @insCODIGO_TAB_PRECO FETCH NEXT FROM ORCAMENTOS_PRECOS812 INTO @delORCAMENTO, @delCODIGO_TAB_PRECO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_FATORES SET ORCAMENTOS_FATORES.ORCAMENTO=@insORCAMENTO, ORCAMENTOS_FATORES.CODIGO_TAB_PRECO=@insCODIGO_TAB_PRECO WHERE ORCAMENTOS_FATORES.ORCAMENTO = @delORCAMENTO and ORCAMENTOS_FATORES.CODIGO_TAB_PRECO = @delCODIGO_TAB_PRECO FETCH NEXT FROM ORCAMENTOS_PRECOS1340 INTO @insORCAMENTO, @insCODIGO_TAB_PRECO FETCH NEXT FROM ORCAMENTOS_PRECOS812 INTO @delORCAMENTO, @delCODIGO_TAB_PRECO END END CLOSE ORCAMENTOS_PRECOS1340 CLOSE ORCAMENTOS_PRECOS812 DEALLOCATE ORCAMENTOS_PRECOS1340 DEALLOCATE ORCAMENTOS_PRECOS812 END /* TABELAS_PRECO R/1351 ORCAMENTOS_PRECOS ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_PRECOS #porque #TABELAS_PRECO #não existe.'' goto error end end /* ORCAMENTOS R/1339 ORCAMENTOS_PRECOS ON CHILD UPDATE RESTRICT */ if update(ORCAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS where inserted.ORCAMENTO = ORCAMENTOS.ORCAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_PRECOS #porque #ORCAMENTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_PRECOS].[PRECO_POLITICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_PRECOS].[PRECO_FINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_PRECOS].[PRECO_NA_MOEDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ORCAMENTOS_PRECOS].[CAMBIO_ORCAMENTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_ANTERIOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_ANTERIOR]( [TAREFA] [char](10) NOT NULL, [TAREFA_ANTERIOR] [char](10) NOT NULL, [ORDEM_SERVICO] [char](8) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [COR_ANTERIOR] [char](10) NOT NULL, [QTDE_A] [int] NULL, [A1] [int] NULL, [A2] [int] NULL, [A3] [int] NULL, [A4] [int] NULL, [A5] [int] NULL, [A6] [int] NULL, [A7] [int] NULL, [A8] [int] NULL, [A9] [int] NULL, [A10] [int] NULL, [A11] [int] NULL, [A12] [int] NULL, [A13] [int] NULL, [A14] [int] NULL, [A15] [int] NULL, [A16] [int] NULL, [A17] [int] NULL, [A18] [int] NULL, [A19] [int] NULL, [A20] [int] NULL, [A21] [int] NULL, [A22] [int] NULL, [A23] [int] NULL, [A24] [int] NULL, [A25] [int] NULL, [A26] [int] NULL, [A27] [int] NULL, [A28] [int] NULL, [A29] [int] NULL, [A30] [int] NULL, [A31] [int] NULL, [A32] [int] NULL, [A33] [int] NULL, [A34] [int] NULL, [A35] [int] NULL, [A36] [int] NULL, [A37] [int] NULL, [A38] [int] NULL, [A39] [int] NULL, [A40] [int] NULL, [A41] [int] NULL, [A42] [int] NULL, [A43] [int] NULL, [A44] [int] NULL, [A45] [int] NULL, [A46] [int] NULL, [A47] [int] NULL, [A48] [int] NULL, [CUSTO_EFETIVO] [numeric](14, 2) NULL, [DESCONTO_APLICADO] [numeric](14, 2) NULL, [VALOR_CREDITADO] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, [NOME_CLIFOR] [varchar](25) NULL, [NF_ENTRADA] [char](7) NULL, CONSTRAINT [XPKPRODUCAO_OS_ANTERIOR] PRIMARY KEY NONCLUSTERED ( [TAREFA] ASC, [TAREFA_ANTERIOR] ASC, [ORDEM_SERVICO] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [COR_ANTERIOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_OS_ANTERIOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_OS_ANTERIOR] on [PRODUCAO_OS_ANTERIOR] for DELETE as /* DELETE trigger on PRODUCAO_OS_ANTERIOR */ /* default body for LXD_PRODUCAO_OS_ANTERIOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @delTAREFA char(10), @delTAREFA_ANTERIOR char(10), @delORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delCOR_ANTERIOR char(10), @insTAREFA char(10), @insTAREFA_ANTERIOR char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insCOR_ANTERIOR char(10), @insTAREFA_PARALELA char(10), @insConta int, @insINDICADOR_TIPO_MOV smallint, @insQTDE_A QTDE_PRODUTO, @InsA1 QTDE_PRODUTO, @InsA2 QTDE_PRODUTO, @InsA3 QTDE_PRODUTO, @InsA4 QTDE_PRODUTO, @InsA5 QTDE_PRODUTO, @InsA6 QTDE_PRODUTO, @InsA7 QTDE_PRODUTO, @InsA8 QTDE_PRODUTO, @InsA9 QTDE_PRODUTO, @InsA10 QTDE_PRODUTO, @InsA11 QTDE_PRODUTO, @InsA12 QTDE_PRODUTO, @InsA13 QTDE_PRODUTO, @InsA14 QTDE_PRODUTO, @InsA15 QTDE_PRODUTO, @InsA16 QTDE_PRODUTO, @InsA17 QTDE_PRODUTO, @InsA18 QTDE_PRODUTO, @InsA19 QTDE_PRODUTO, @InsA20 QTDE_PRODUTO, @InsA21 QTDE_PRODUTO, @InsA22 QTDE_PRODUTO, @InsA23 QTDE_PRODUTO, @InsA24 QTDE_PRODUTO, @InsA25 QTDE_PRODUTO, @InsA26 QTDE_PRODUTO, @InsA27 QTDE_PRODUTO, @InsA28 QTDE_PRODUTO, @InsA29 QTDE_PRODUTO, @InsA30 QTDE_PRODUTO, @InsA31 QTDE_PRODUTO, @InsA32 QTDE_PRODUTO, @InsA33 QTDE_PRODUTO, @InsA34 QTDE_PRODUTO, @InsA35 QTDE_PRODUTO, @InsA36 QTDE_PRODUTO, @InsA37 QTDE_PRODUTO, @InsA38 QTDE_PRODUTO, @InsA39 QTDE_PRODUTO, @InsA40 QTDE_PRODUTO, @InsA41 QTDE_PRODUTO, @InsA42 QTDE_PRODUTO, @InsA43 QTDE_PRODUTO, @InsA44 QTDE_PRODUTO, @InsA45 QTDE_PRODUTO, @InsA46 QTDE_PRODUTO, @InsA47 QTDE_PRODUTO, @InsA48 QTDE_PRODUTO, @insCUSTO_EFETIVO NUMERIC(14,2), @insCUSTO_PREVISTO NUMERIC(14,2), @insDESCONTO_APLICADO NUMERIC(14,2), @insVALOR_CREDITADO NUMERIC(14,2), @insDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*--TRIGGER DE DELETE - PRODUCAO_OS_ANTERIOR --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurDelete_Producao_Os_Anterior CURSOR FOR SELECT Tarefa, Tarefa_Anterior,Ordem_Servico,Ordem_Producao, Produto, Cor_Produto,Cor_Anterior, ISNULL(Qtde_A,0), ISNULL(A1,0) ,ISNULL(A2,0) ,ISNULL(A3,0) ,ISNULL(A4,0) ,ISNULL(A5,0) ,ISNULL(A6,0) ,ISNULL(A7,0) ,ISNULL(A8,0) ,ISNULL(A9,0) ,ISNULL(A10,0),ISNULL(A11,0),ISNULL(A12,0), ISNULL(A13,0),ISNULL(A14,0),ISNULL(A15,0),ISNULL(A16,0),ISNULL(A17,0),ISNULL(A18,0),ISNULL(A19,0),ISNULL(A20,0),ISNULL(A21,0),ISNULL(A22,0),ISNULL(A23,0),ISNULL(A24,0), ISNULL(A25,0),ISNULL(A26,0),ISNULL(A27,0),ISNULL(A28,0),ISNULL(A29,0),ISNULL(A30,0),ISNULL(A31,0),ISNULL(A32,0),ISNULL(A33,0),ISNULL(A34,0),ISNULL(A35,0),ISNULL(A36,0), ISNULL(A37,0),ISNULL(A38,0),ISNULL(A39,0),ISNULL(A40,0),ISNULL(A41,0),ISNULL(A42,0),ISNULL(A43,0),ISNULL(A44,0),ISNULL(A45,0),ISNULL(A46,0),ISNULL(A47,0),ISNULL(A48,0), ISNULL(CUSTO_EFETIVO,0),ISNULL(DESCONTO_APLICADO,0),ISNULL(VALOR_CREDITADO,0) FROM DELETED OPEN CurDelete_Producao_Os_Anterior FETCH NEXT FROM CurDelete_Producao_Os_Anterior INTO @insTarefa, @insTarefa_Anterior,@insOrdem_Servico,@insOrdem_Producao, @insProduto, @insCor_Produto,@insCor_Anterior, @insQtde_A, @InsA1 ,@InsA2 ,@InsA3 ,@InsA4 ,@InsA5 ,@InsA6 ,@InsA7 ,@InsA8 ,@InsA9 ,@InsA10,@InsA11,@InsA12, @InsA13,@InsA14,@InsA15,@InsA16,@InsA17,@InsA18,@InsA19,@InsA20,@InsA21,@InsA22,@InsA23,@InsA24, @InsA25,@InsA26,@InsA27,@InsA28,@InsA29,@InsA30,@InsA31,@InsA32,@InsA33,@InsA34,@InsA35,@InsA36, @InsA37,@InsA38,@InsA39,@InsA40,@InsA41,@InsA42,@InsA43,@InsA44,@InsA45,@InsA46,@InsA47,@InsA48, @InsCUSTO_EFETIVO,@InsDESCONTO_APLICADO,@InsVALOR_CREDITADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insDATA_OS=DATA FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO SELECT @insCUSTO_PREVISTO=CUSTO_TAREFA FROM PRODUCAO_TAREFAS WHERE TAREFA=@insTAREFA_ANTERIOR select @insConta = count(*) from producao_os_anterior where ordem_Producao = @insOrdem_Producao and ordem_servico = @insOrdem_Servico group by tarefa,tarefa_anterior,PRODUTO,COR_PRODUTO,COR_ANTERIOR UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA-@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA -@insVALOR_CREDITADO---(@insCUSTO_EFETIVO*-1*QTDE_PERDAS) WHERE TAREFA = @insTarefa_Anterior UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+@insQtde_A, QTDE_FINALIZADA = QTDE_FINALIZADA-@insQtde_A WHERE TAREFA = @insTarefa_Anterior UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE Tarefa=@insTarefa_Anterior IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa AND QTDE_FINALIZADA = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE Tarefa=@insTarefa /* INICIO DO TEXTO ALTERADO */ If @InsCor_Produto=@insCor_Anterior begin IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_A, S1 =S1 +@InsA1 ,S2 =S2 +@InsA2 ,S3 =S3 +@InsA3 ,S4 =S4 +@InsA4 ,S5 =S5 +@InsA5 ,S6 =S6 +@InsA6 ,S7 =S7 +@InsA7 ,S8 =S8 +@InsA8 , S9 =S9 +@InsA9 ,S10=S10+@InsA10,S11=S11+@InsA11,S12=S12+@InsA12,S13=S13+@InsA13,S14=S14+@InsA14,S15=S15+@InsA15,S16=S16+@InsA16, S17=S17+@InsA17,S18=S18+@InsA18,S19=S19+@InsA19,S20=S20+@InsA20,S21=S21+@InsA21,S22=S22+@InsA22,S23=S23+@InsA23,S24=S24+@InsA24, S25=S25+@InsA25,S26=S26+@InsA26,S27=S27+@InsA27,S28=S28+@InsA28,S29=S29+@InsA29,S30=S30+@InsA30,S31=S31+@InsA31,S32=S32+@InsA32, S33=S33+@InsA33,S34=S34+@InsA34,S35=S35+@InsA35,S36=S36+@InsA36,S37=S37+@InsA37,S38=S38+@InsA38,S39=S39+@InsA39,S40=S40+@InsA40, S41=S41+@InsA41,S42=S42+@InsA42,S43=S43+@InsA43,S44=S44+@InsA44,S45=S45+@InsA45,S46=S46+@InsA46,S47=S47+@InsA47,S48=S48+@InsA48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@InsOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa_Anterior,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_A, @InsA1,@InsA2,@InsA3,@InsA4,@InsA5,@InsA6,@InsA7,@InsA8,@InsA9,@InsA10,@InsA11,@InsA12, @InsA13,@InsA14,@InsA15,@InsA16,@InsA17,@InsA18,@InsA19,@InsA20,@InsA21,@InsA22,@InsA23,@InsA24, @InsA25,@InsA26,@InsA27,@InsA28,@InsA29,@InsA30,@InsA31,@InsA32,@InsA33,@InsA34,@InsA35,@InsA36, @InsA37,@InsA38,@InsA39,@InsA40,@InsA41,@InsA42,@InsA43,@InsA44,@InsA45,@InsA46,@InsA47,@InsA48,@insCUSTO_PREVISTO) end If @InsCor_Produto<>@insCor_Anterior begin IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Anterior)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_A, S1 =S1 +@InsA1 ,S2 =S2 +@InsA2 ,S3 =S3 +@InsA3 ,S4 =S4 +@InsA4 ,S5 =S5 +@InsA5 ,S6 =S6 +@InsA6 ,S7 =S7 +@InsA7 ,S8 =S8 +@InsA8 , S9 =S9 +@InsA9 ,S10=S10+@InsA10,S11=S11+@InsA11,S12=S12+@InsA12,S13=S13+@InsA13,S14=S14+@InsA14,S15=S15+@InsA15,S16=S16+@InsA16, S17=S17+@InsA17,S18=S18+@InsA18,S19=S19+@InsA19,S20=S20+@InsA20,S21=S21+@InsA21,S22=S22+@InsA22,S23=S23+@InsA23,S24=S24+@InsA24, S25=S25+@InsA25,S26=S26+@InsA26,S27=S27+@InsA27,S28=S28+@InsA28,S29=S29+@InsA29,S30=S30+@InsA30,S31=S31+@InsA31,S32=S32+@InsA32, S33=S33+@InsA33,S34=S34+@InsA34,S35=S35+@InsA35,S36=S36+@InsA36,S37=S37+@InsA37,S38=S38+@InsA38,S39=S39+@InsA39,S40=S40+@InsA40, S41=S41+@InsA41,S42=S42+@InsA42,S43=S43+@InsA43,S44=S44+@InsA44,S45=S45+@InsA45,S46=S46+@InsA46,S47=S47+@InsA47,S48=S48+@InsA48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@InsOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Anterior ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa_Anterior,@InsOrdem_Producao,@InsProduto,@insCor_Anterior,@InsQtde_A, @InsA1,@InsA2,@InsA3,@InsA4,@InsA5,@InsA6,@InsA7,@InsA8,@InsA9,@InsA10,@InsA11,@InsA12, @InsA13,@InsA14,@InsA15,@InsA16,@InsA17,@InsA18,@InsA19,@InsA20,@InsA21,@InsA22,@InsA23,@InsA24, @InsA25,@InsA26,@InsA27,@InsA28,@InsA29,@InsA30,@InsA31,@InsA32,@InsA33,@InsA34,@InsA35,@InsA36, @InsA37,@InsA38,@InsA39,@InsA40,@InsA41,@InsA42,@InsA43,@InsA44,@InsA45,@InsA46,@InsA47,@InsA48,@insCUSTO_PREVISTO) end /* FIM DO TEXTO ALTERADO */ FETCH NEXT FROM CurDelete_Producao_Os_Anterior INTO @insTarefa, @insTarefa_Anterior,@insOrdem_Servico,@insOrdem_Producao, @insProduto, @insCor_Produto,@insCor_Anterior, @insQtde_A, @InsA1 ,@InsA2 ,@InsA3 ,@InsA4 ,@InsA5 ,@InsA6 ,@InsA7 ,@InsA8 ,@InsA9 ,@InsA10,@InsA11,@InsA12, @InsA13,@InsA14,@InsA15,@InsA16,@InsA17,@InsA18,@InsA19,@InsA20,@InsA21,@InsA22,@InsA23,@InsA24, @InsA25,@InsA26,@InsA27,@InsA28,@InsA29,@InsA30,@InsA31,@InsA32,@InsA33,@InsA34,@InsA35,@InsA36, @InsA37,@InsA38,@InsA39,@InsA40,@InsA41,@InsA42,@InsA43,@InsA44,@InsA45,@InsA46,@InsA47,@InsA48, @InsCUSTO_EFETIVO,@InsDESCONTO_APLICADO,@InsVALOR_CREDITADO END /* @@fetch_status = 0 */ END /* @@rowcount >= 0 */ CLOSE CurDelete_Producao_Os_Anterior DEALLOCATE CurDelete_Producao_Os_Anterior /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ /*-- GERA BAIXA AUTOMATICA ----------------------------------------------------------------------------------------*/ DELETE A FROM ESTOQUE_SAI_MAT A JOIN DELETED B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE A.RESPONSAVEL=''BAIXA AUTOMATICA'' /*-----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_ANTERIOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS_ANTERIOR] on [PRODUCAO_OS_ANTERIOR] for INSERT as /* INSERT trigger on PRODUCAO_OS_ANTERIOR */ /* default body for LXI_PRODUCAO_OS_ANTERIOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @insTAREFA_ANTERIOR char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insCOR_ANTERIOR char(10), @insConta int, @insTarefa_Paralela char(10), @insTarefa_Para char(10), @insSeq char(10), @insORDEM_SERVICO_PARALELA char(8), @insINDICADOR_TIPO_MOV smallint, @insQtde_A int,@insA1 int,@insA2 int,@insA3 int,@insA4 int,@insA5 int,@insA6 int,@insA7 int,@insA8 int, @insA9 int,@insA10 int,@insA11 int,@insA12 int,@insA13 int,@insA14 int,@insA15 int,@insA16 int, @insA17 int,@insA18 int,@insA19 int,@insA20 int,@insA21 int,@insA22 int,@insA23 int,@insA24 int, @insA25 int,@insA26 int,@insA27 int,@insA28 int,@insA29 int,@insA30 int,@insA31 int,@insA32 int, @insA33 int,@insA34 int,@insA35 int,@insA36 int,@insA37 int,@insA38 int,@insA39 int,@insA40 int, @insA41 int,@insA42 int,@insA43 int,@insA44 int,@insA45 int,@insA46 int,@insA47 int,@insA48 int, @insDESCONTO_APLICADO NUMERIC(14,2), @insVALOR_CREDITADO NUMERIC(14,2), @insCUSTO_EFETIVO NUMERIC(14,2), @insDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_OS_TAREFAS R/1591 PRODUCAO_OS_ANTERIOR ON CHILD INSERT RESTRICT */ if update(TAREFA) or update(ORDEM_SERVICO) or update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS_TAREFAS where inserted.TAREFA = PRODUCAO_OS_TAREFAS.TAREFA and inserted.ORDEM_SERVICO = PRODUCAO_OS_TAREFAS.ORDEM_SERVICO and inserted.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_OS_TAREFAS.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_OS_TAREFAS.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_ANTERIOR #porque #PRODUCAO_OS_TAREFAS #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1590 PRODUCAO_OS_ANTERIOR ON CHILD INSERT RESTRICT */ if update(TAREFA_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA_ANTERIOR = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_ANTERIOR #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /*--TRIGGER DE INSERT - PRODUCAO_OS_ANTERIOR --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurInsert_Paralela CURSOR FOR SELECT tarefa FROM PRODUCAO_OS_TAREFAS where TAREFA_PARALELA = @instarefa_paralela DECLARE CurInsert_Producao_Os_Anterior CURSOR FOR SELECT Tarefa,Tarefa_Anterior, Ordem_Servico,Ordem_Producao, Produto, Cor_Produto, Cor_Anterior,ISNULL(Qtde_A,0), ISNULL(A1,0) ,ISNULL(A2,0) ,ISNULL(A3,0) ,ISNULL(A4,0) ,ISNULL(A5,0) ,ISNULL(A6,0) ,ISNULL(A7,0) ,ISNULL(A8,0) ,ISNULL(A9,0) ,ISNULL(A10,0),ISNULL(A11,0),ISNULL(A12,0), ISNULL(A13,0),ISNULL(A14,0),ISNULL(A15,0),ISNULL(A16,0),ISNULL(A17,0),ISNULL(A18,0),ISNULL(A19,0),ISNULL(A20,0),ISNULL(A21,0),ISNULL(A22,0),ISNULL(A23,0),ISNULL(A24,0), ISNULL(A25,0),ISNULL(A26,0),ISNULL(A27,0),ISNULL(A28,0),ISNULL(A29,0),ISNULL(A30,0),ISNULL(A31,0),ISNULL(A32,0),ISNULL(A33,0),ISNULL(A34,0),ISNULL(A35,0),ISNULL(A36,0), ISNULL(A37,0),ISNULL(A38,0),ISNULL(A39,0),ISNULL(A40,0),ISNULL(A41,0),ISNULL(A42,0),ISNULL(A43,0),ISNULL(A44,0),ISNULL(A45,0),ISNULL(A46,0),ISNULL(A47,0),ISNULL(A48,0), ISNULL(DESCONTO_APLICADO,0),ISNULL(VALOR_CREDITADO,0),ISNULL(CUSTO_EFETIVO,0) FROM INSERTED OPEN CurInsert_Producao_Os_Anterior FETCH NEXT FROM CurInsert_Producao_Os_Anterior INTO @insTarefa,@insTarefa_Anterior, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto,@insCor_Produto,@insCor_Anterior,@insQtde_A, @insA1 ,@insA2 ,@insA3 ,@insA4 ,@insA5 ,@insA6 ,@insA7 ,@insA8 ,@insA9 ,@insA10,@insA11,@insA12, @insA13,@insA14,@insA15,@insA16,@insA17,@insA18,@insA19,@insA20,@insA21,@insA22,@insA23,@insA24, @insA25,@insA26,@insA27,@insA28,@insA29,@insA30,@insA31,@insA32,@insA33,@insA34,@insA35,@insA36, @insA37,@insA38,@insA39,@insA40,@insA41,@insA42,@insA43,@insA44,@insA45,@insA46,@insA47,@insA48, @insDESCONTO_APLICADO,@insVALOR_CREDITADO,@insCUSTO_EFETIVO WHILE @@fetch_status >= 0 BEGIN SELECT @insIndicador_Tipo_Mov=Indicador_Tipo_Mov FROM PRODUCAO_OS_TAREFAS where TAREFA=@insTarefa and Ordem_Servico=@insOrdem_Servico AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto /* Movimento Normal */ IF @insIndicador_Tipo_Mov = 1 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-@insQtde_A, QTDE_FINALIZADA = QTDE_FINALIZADA+@insQtde_A WHERE TAREFA = @insTAREFA_anterior SELECT @insDATA_OS=DATA,@insOrdem_Servico_Paralela=Ordem_Servico_Paralela FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO SELECT @insTarefa_Paralela=Tarefa from producao_os_tarefas where ORDEM_SERVICO = @insORDEM_SERVICO IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa_Anterior AND QTDE_EM_PROCESSO = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS,FIM_ATUALIZADO=@insDATA_OS WHERE Tarefa=@insTarefa_Anterior IF @insORDEM_SERVICO_PARALELA is null BEGIN UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO--+(@insCUSTO_EFETIVO*-1*QTDE_PERDAS) WHERE TAREFA = @insTAREFA_anterior END IF @insORDEM_SERVICO_PARALELA is not null BEGIN select @insSeq = sequencia_produtiva from producao_tarefas where tarefa = @insTAREFA_anterior UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO--+(@insCUSTO_EFETIVO*-1*QTDE_PERDAS) WHERE ordem_producao = @insOrdem_Producao and sequencia_produtiva = @insSeq END IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_A, S1 =S1 -@InsA1 ,S2 =S2 -@InsA2 ,S3 =S3 -@InsA3 ,S4 =S4 -@InsA4 ,S5 =S5 -@InsA5 ,S6 =S6 -@InsA6 ,S7 =S7 -@InsA7 ,S8 =S8 -@InsA8 , S9 =S9 -@InsA9 ,S10=S10-@InsA10,S11=S11-@InsA11,S12=S12-@InsA12,S13=S13-@InsA13,S14=S14-@InsA14,S15=S15-@InsA15,S16=S16-@InsA16, S17=S17-@InsA17,S18=S18-@InsA18,S19=S19-@InsA19,S20=S20-@InsA20,S21=S21-@InsA21,S22=S22-@InsA22,S23=S23-@InsA23,S24=S24-@InsA24, S25=S25-@InsA25,S26=S26-@InsA26,S27=S27-@InsA27,S28=S28-@InsA28,S29=S29-@InsA29,S30=S30-@InsA30,S31=S31-@InsA31,S32=S32-@InsA32, S33=S33-@InsA33,S34=S34-@InsA34,S35=S35-@InsA35,S36=S36-@InsA36,S37=S37-@InsA37,S38=S38-@InsA38,S39=S39-@InsA39,S40=S40-@InsA40, S41=S41-@InsA41,S42=S42-@InsA42,S43=S43-@InsA43,S44=S44-@InsA44,S45=S45-@InsA45,S46=S46-@InsA46,S47=S47-@InsA47,S48=S48-@InsA48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto END /* IF @insIndicador_Tipo_Mov = 1 */ /* Lavagem */ IF @insIndicador_Tipo_Mov = 3 BEGIN /* Atualizo a cor nova */ IF @insCOR_ANTERIOR <> @insCOR_PRODUTO BEGIN UPDATE PRODUCAO_ORDEM_COR SET QTDE_O =QTDE_O-(@insQtde_A),QTDE_P = QTDE_P-(@insQtde_A), O1 =O1 -@InsA1 ,O2 =O2 -@InsA2 ,O3 =O3 -@InsA3 ,O4 =O4 -@InsA4 ,O5 =O5 -@InsA5 ,O6 =O6 -@InsA6 ,O7 =O7 -@InsA7 ,O8 =O8 -@InsA8, O9 =O9 -@InsA9 ,O10=O10-@InsA10,O11=O11-@InsA11,O12=O12-@InsA12,O13=O13-@InsA13,O14=O14-@InsA14,O15=O15-@InsA15,O16=O16-@InsA16, O17=O17-@InsA17,O18=O18-@InsA18,O19=O19-@InsA19,O20=O20-@InsA20,O21=O21-@InsA21,O22=O22-@InsA22,O23=O23-@InsA23,O24=O24-@InsA24, O25=O25-@InsA25,O26=O26-@InsA26,O27=O27-@InsA27,O28=O28-@InsA28,O29=O29-@InsA29,O30=O30-@InsA30,O31=O31-@InsA31,O32=O32-@InsA32, O33=O33-@InsA33,O34=O34-@InsA34,O35=O35-@InsA35,O36=O36-@InsA36,O37=O37-@InsA37,O38=O38-@InsA38,O39=O39-@InsA39,O40=O40-@InsA40, O41=O41-@InsA41,O42=O42-@InsA42,O43=O43-@InsA43,O44=O44-@InsA44,O45=O45-@InsA45,O46=O46-@InsA46,O47=O47-@InsA47,O48=O48-@InsA48, P1 =P1 -@InsA1 ,P2 =P2 -@InsA2 ,P3 =P3 -@InsA3 ,P4 =P4 -@InsA4 ,P5 =P5 -@InsA5 ,P6 =P6 -@InsA6 ,P7 =P7 -@InsA7 ,P8 =P8 -@InsA8, P9 =P9 -@InsA9 ,P10=P10-@InsA10,P11=P11-@InsA11,P12=P12-@InsA12,P13=P13-@InsA13,P14=P14-@InsA14,P15=P15-@InsA15,P16=P16-@InsA16, P17=P17-@InsA17,P18=P18-@InsA18,P19=P19-@InsA19,P20=P20-@InsA20,P21=P21-@InsA21,P22=P22-@InsA22,P23=P23-@InsA23,P24=P24-@InsA24, P25=P25-@InsA25,P26=P26-@InsA26,P27=P27-@InsA27,P28=P28-@InsA28,P29=P29-@InsA29,P30=P30-@InsA30,P31=P31-@InsA31,P32=P32-@InsA32, P33=P33-@InsA33,P34=P34-@InsA34,P35=P35-@InsA35,P36=P36-@InsA36,P37=P37-@InsA37,P38=P38-@InsA38,P39=P39-@InsA39,P40=P40-@InsA40, P41=P41-@InsA41,P42=P42-@InsA42,P43=P43-@InsA43,P44=P44-@InsA44,P45=P45-@InsA45,P46=P46-@InsA46,P47=P47-@InsA47,P48=P48-@InsA48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Anterior UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-@insQtde_A,QTDE_FINALIZADA = QTDE_FINALIZADA+@insQtde_A WHERE TAREFA = @insTAREFA_anterior SELECT @insDATA_OS=DATA FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa_Anterior AND QTDE_EM_PROCESSO = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS,FIM_ATUALIZADO=@insDATA_OS WHERE Tarefa=@insTarefa_Anterior UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA+@insVALOR_CREDITADO WHERE TAREFA = @insTAREFA_anterior IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Anterior AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Anterior ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_A, S1 =S1 -@InsA1 ,S2 =S2 -@InsA2 ,S3 =S3 -@InsA3 ,S4 =S4 -@InsA4 ,S5 =S5 -@InsA5 ,S6 =S6 -@InsA6 ,S7 =S7 -@InsA7 ,S8 =S8 -@InsA8 , S9 =S9 -@InsA9 ,S10=S10-@InsA10,S11=S11-@InsA11,S12=S12-@InsA12,S13=S13-@InsA13,S14=S14-@InsA14,S15=S15-@InsA15,S16=S16-@InsA16, S17=S17-@InsA17,S18=S18-@InsA18,S19=S19-@InsA19,S20=S20-@InsA20,S21=S21-@InsA21,S22=S22-@InsA22,S23=S23-@InsA23,S24=S24-@InsA24, S25=S25-@InsA25,S26=S26-@InsA26,S27=S27-@InsA27,S28=S28-@InsA28,S29=S29-@InsA29,S30=S30-@InsA30,S31=S31-@InsA31,S32=S32-@InsA32, S33=S33-@InsA33,S34=S34-@InsA34,S35=S35-@InsA35,S36=S36-@InsA36,S37=S37-@InsA37,S38=S38-@InsA38,S39=S39-@InsA39,S40=S40-@InsA40, S41=S41-@InsA41,S42=S42-@InsA42,S43=S43-@InsA43,S44=S44-@InsA44,S45=S45-@InsA45,S46=S46-@InsA46,S47=S47-@InsA47,S48=S48-@InsA48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Anterior END /* IF @insCOR_ANTERIOR <> @insCOR_PRODUTO */ /* Atualizo a cor anterior */ IF @insCOR_ANTERIOR = @insCOR_PRODUTO BEGIN IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_A, S1 =S1 -@InsA1 ,S2 =S2 -@InsA2 ,S3 =S3 -@InsA3 ,S4 =S4 -@InsA4 ,S5 =S5 -@InsA5 ,S6 =S6 -@InsA6 ,S7 =S7 -@InsA7 ,S8 =S8 -@InsA8 , S9 =S9 -@InsA9 ,S10=S10-@InsA10,S11=S11-@InsA11,S12=S12-@InsA12,S13=S13-@InsA13,S14=S14-@InsA14,S15=S15-@InsA15,S16=S16-@InsA16, S17=S17-@InsA17,S18=S18-@InsA18,S19=S19-@InsA19,S20=S20-@InsA20,S21=S21-@InsA21,S22=S22-@InsA22,S23=S23-@InsA23,S24=S24-@InsA24, S25=S25-@InsA25,S26=S26-@InsA26,S27=S27-@InsA27,S28=S28-@InsA28,S29=S29-@InsA29,S30=S30-@InsA30,S31=S31-@InsA31,S32=S32-@InsA32, S33=S33-@InsA33,S34=S34-@InsA34,S35=S35-@InsA35,S36=S36-@InsA36,S37=S37-@InsA37,S38=S38-@InsA38,S39=S39-@InsA39,S40=S40-@InsA40, S41=S41-@InsA41,S42=S42-@InsA42,S43=S43-@InsA43,S44=S44-@InsA44,S45=S45-@InsA45,S46=S46-@InsA46,S47=S47-@InsA47,S48=S48-@InsA48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto END /* IF @insCOR_ANTERIOR = @insCOR_PRODUTO */ END /* IF @insIndicador_Tipo_Mov = 3 */ /* Movimento Normal */ IF @insIndicador_Tipo_Mov = 5 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-@insQtde_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+@insQtde_A WHERE TAREFA = @insTAREFA_anterior -- Texto adicionado em 25/07/01 por Szalontai DECLARE @INSSEQINICIAL char(10), @INSSEQFINAL char(10) SELECT @insTAREFA = TAREFA FROM PRODUCAO_OS_ANTERIOR WHERE ORDEM_SERVICO = @INSORDEM_SERVICO AND ORDEM_PRODUCAO = @INSORDEM_PRODUCAO AND PRODUTO = @INSPRODUTO AND COR_PRODUTO = @INSCOR_PRODUTO AND TAREFA_ANTERIOR = @insTAREFA_anterior SELECT @INSSEQINICIAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA SELECT @INSSEQFINAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA_anterior UPDATE PRODUCAO_TAREFAS SET QTDE_FINALIZADA = QTDE_FINALIZADA-@insQtde_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+@insQtde_A, INICIO_REAl =@insDATA_OS, ENCERRAMENTO = null WHERE ORDEM_PRODUCAO =@INSORDEM_PRODUCAO AND SEQUENCIA_PRODUTIVA > @INSSEQINICIAL and SEQUENCIA_PRODUTIVA < @INSSEQFINAL -- Fim do texto adicionado em 25/07/01 por Szalontai SELECT @insDATA_OS=DATA,@insOrdem_Servico_Paralela=Ordem_Servico_Paralela FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO SELECT @insTarefa_Paralela=Tarefa from producao_os_tarefas where ORDEM_SERVICO = @insORDEM_SERVICO IF @insORDEM_SERVICO_PARALELA is null BEGIN select @insConta = count(*) from producao_os_anterior where ordem_Producao = @insOrdem_Producao and ordem_servico = @insOrdem_Servico group by tarefa,tarefa_anterior IF @@rowcount =1 UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO WHERE TAREFA = @insTAREFA_anterior END IF @insORDEM_SERVICO_PARALELA is not null BEGIN select @insSeq = sequencia_produtiva from producao_tarefas where tarefa = @instarefa_paralela UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO WHERE ordem_producao = @insOrdem_Producao and sequencia_produtiva = @insSeq END IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_A, S1 =S1 -@InsA1 ,S2 =S2 -@InsA2 ,S3 =S3 -@InsA3 ,S4 =S4 -@InsA4 ,S5 =S5 -@InsA5 ,S6 =S6 -@InsA6 ,S7 =S7 -@InsA7 ,S8 =S8 -@InsA8 , S9 =S9 -@InsA9 ,S10=S10-@InsA10,S11=S11-@InsA11,S12=S12-@InsA12,S13=S13-@InsA13,S14=S14-@InsA14,S15=S15-@InsA15,S16=S16-@InsA16, S17=S17-@InsA17,S18=S18-@InsA18,S19=S19-@InsA19,S20=S20-@InsA20,S21=S21-@InsA21,S22=S22-@InsA22,S23=S23-@InsA23,S24=S24-@InsA24, S25=S25-@InsA25,S26=S26-@InsA26,S27=S27-@InsA27,S28=S28-@InsA28,S29=S29-@InsA29,S30=S30-@InsA30,S31=S31-@InsA31,S32=S32-@InsA32, S33=S33-@InsA33,S34=S34-@InsA34,S35=S35-@InsA35,S36=S36-@InsA36,S37=S37-@InsA37,S38=S38-@InsA38,S39=S39-@InsA39,S40=S40-@InsA40, S41=S41-@InsA41,S42=S42-@InsA42,S43=S43-@InsA43,S44=S44-@InsA44,S45=S45-@InsA45,S46=S46-@InsA46,S47=S47-@InsA47,S48=S48-@InsA48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto END /* IF @insIndicador_Tipo_Mov = 5 */ FETCH NEXT FROM CurInsert_Producao_Os_Anterior INTO @insTarefa,@insTarefa_Anterior, @insORDEM_SERVICO, @insOrdem_Producao, @insProduto, @insCor_Produto,@insCor_Anterior,@insQtde_A, @insA1 ,@insA2 ,@insA3 ,@insA4 ,@insA5 ,@insA6 ,@insA7 ,@insA8 ,@insA9 ,@insA10,@insA11,@insA12, @insA13,@insA14,@insA15,@insA16,@insA17,@insA18,@insA19,@insA20,@insA21,@insA22,@insA23,@insA24, @insA25,@insA26,@insA27,@insA28,@insA29,@insA30,@insA31,@insA32,@insA33,@insA34,@insA35,@insA36, @insA37,@insA38,@insA39,@insA40,@insA41,@insA42,@insA43,@insA44,@insA45,@insA46,@insA47,@insA48, @insDESCONTO_APLICADO,@insVALOR_CREDITADO,@insCUSTO_EFETIVO END /* WHILE @@fetch_status = 0 */ CLOSE CurInsert_Producao_Os_Anterior DEALLOCATE CurInsert_Producao_Os_Anterior DEALLOCATE CurInsert_Paralela /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ /*-- GERA BAIXA AUTOMATICA ---------------------------------------------------------------------------------------- DECLARE CUR_BAIXA CURSOR FOR SELECT DISTINCT ORDEM_SERVICO FROM INSERTED OPEN CUR_BAIXA FETCH NEXT FROM CUR_BAIXA INTO @insORDEM_SERVICO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_GERA_SAIDA_BAIXA_AUTOMATICA @insORDEM_SERVICO FETCH NEXT FROM CUR_BAIXA INTO @insORDEM_SERVICO END CLOSE CUR_BAIXA DEALLOCATE CUR_BAIXA -----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_ANTERIOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS_ANTERIOR] on [PRODUCAO_OS_ANTERIOR] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_ANTERIOR */ /* default body for LXU_PRODUCAO_OS_ANTERIOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @delTAREFA char(10), @delTAREFA_ANTERIOR char(10), @delORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delCOR_ANTERIOR char(10), @insTAREFA char(10), @insTAREFA_ANTERIOR char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insCOR_ANTERIOR char(10), @insINDICADOR_TIPO_MOV smallint, @insQtde_A int,@insA1 int,@insA2 int,@insA3 int,@insA4 int,@insA5 int,@insA6 int,@insA7 int,@insA8 int, @insA9 int,@insA10 int,@insA11 int,@insA12 int,@insA13 int,@insA14 int,@insA15 int,@insA16 int, @insA17 int,@insA18 int,@insA19 int,@insA20 int,@insA21 int,@insA22 int,@insA23 int,@insA24 int, @insA25 int,@insA26 int,@insA27 int,@insA28 int,@insA29 int,@insA30 int,@insA31 int,@insA32 int, @insA33 int,@insA34 int,@insA35 int,@insA36 int,@insA37 int,@insA38 int,@insA39 int,@insA40 int, @insA41 int,@insA42 int,@insA43 int,@insA44 int,@insA45 int,@insA46 int,@insA47 int,@insA48 int, @insDESCONTO_APLICADO NUMERIC(14,2), @insVALOR_CREDITADO NUMERIC(14,2), @insDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_OS_TAREFAS R/1591 PRODUCAO_OS_ANTERIOR ON CHILD UPDATE RESTRICT */ if update(TAREFA) or update(ORDEM_SERVICO) or update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS_TAREFAS where inserted.TAREFA = PRODUCAO_OS_TAREFAS.TAREFA and inserted.ORDEM_SERVICO = PRODUCAO_OS_TAREFAS.ORDEM_SERVICO and inserted.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_OS_TAREFAS.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_OS_TAREFAS.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_ANTERIOR #porque #PRODUCAO_OS_TAREFAS #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1590 PRODUCAO_OS_ANTERIOR ON CHILD UPDATE RESTRICT */ if update(TAREFA_ANTERIOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA_ANTERIOR = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_ANTERIOR #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /*--TRIGGER DE UPDATE - PRODUCAO_OS_ANTERIOR --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE @insConta int, @insTarefa_Paralela char(10), @insSeq char(10), @insORDEM_SERVICO_PARALELA char(8) DECLARE CurUpdate_Producao_Os_Anterior CURSOR FOR SELECT Tarefa,Tarefa_Anterior, Ordem_Servico,Ordem_Producao, Produto, Cor_Produto, Cor_Anterior,ISNULL(Qtde_A,0), ISNULL(A1,0) ,ISNULL(A2,0) ,ISNULL(A3,0) ,ISNULL(A4,0) ,ISNULL(A5,0) ,ISNULL(A6,0) ,ISNULL(A7,0) ,ISNULL(A8,0) ,ISNULL(A9,0) ,ISNULL(A10,0),ISNULL(A11,0),ISNULL(A12,0), ISNULL(A13,0),ISNULL(A14,0),ISNULL(A15,0),ISNULL(A16,0),ISNULL(A17,0),ISNULL(A18,0),ISNULL(A19,0),ISNULL(A20,0),ISNULL(A21,0),ISNULL(A22,0),ISNULL(A23,0),ISNULL(A24,0), ISNULL(A25,0),ISNULL(A26,0),ISNULL(A27,0),ISNULL(A28,0),ISNULL(A29,0),ISNULL(A30,0),ISNULL(A31,0),ISNULL(A32,0),ISNULL(A33,0),ISNULL(A34,0),ISNULL(A35,0),ISNULL(A36,0), ISNULL(A37,0),ISNULL(A38,0),ISNULL(A39,0),ISNULL(A40,0),ISNULL(A41,0),ISNULL(A42,0),ISNULL(A43,0),ISNULL(A44,0),ISNULL(A45,0),ISNULL(A46,0),ISNULL(A47,0),ISNULL(A48,0), CONVERT(NUMERIC(14,2),ISNULL(DESCONTO_APLICADO,0)),CONVERT(NUMERIC(14,2),ISNULL(VALOR_CREDITADO,0)) FROM INSERTED UNION SELECT Tarefa,Tarefa_Anterior, Ordem_Servico,Ordem_Producao, Produto, Cor_Produto, Cor_Anterior,ISNULL(Qtde_A,0)*-1, ISNULL(A1,0)*-1 ,ISNULL(A2,0)*-1 ,ISNULL(A3,0)*-1 ,ISNULL(A4,0)*-1 ,ISNULL(A5,0)*-1 ,ISNULL(A6,0)*-1 ,ISNULL(A7,0)*-1 ,ISNULL(A8,0)*-1 ,ISNULL(A9,0)*-1 ,ISNULL(A10,0)*-1,ISNULL(A11,0)*-1,ISNULL(A12,0)*-1, ISNULL(A13,0)*-1,ISNULL(A14,0)*-1,ISNULL(A15,0)*-1,ISNULL(A16,0)*-1,ISNULL(A17,0)*-1,ISNULL(A18,0)*-1,ISNULL(A19,0)*-1,ISNULL(A20,0)*-1,ISNULL(A21,0)*-1,ISNULL(A22,0)*-1,ISNULL(A23,0)*-1,ISNULL(A24,0)*-1, ISNULL(A25,0)*-1,ISNULL(A26,0)*-1,ISNULL(A27,0)*-1,ISNULL(A28,0)*-1,ISNULL(A29,0)*-1,ISNULL(A30,0)*-1,ISNULL(A31,0)*-1,ISNULL(A32,0)*-1,ISNULL(A33,0)*-1,ISNULL(A34,0)*-1,ISNULL(A35,0)*-1,ISNULL(A36,0)*-1, ISNULL(A37,0)*-1,ISNULL(A38,0)*-1,ISNULL(A39,0)*-1,ISNULL(A40,0)*-1,ISNULL(A41,0)*-1,ISNULL(A42,0)*-1,ISNULL(A43,0)*-1,ISNULL(A44,0)*-1,ISNULL(A45,0)*-1,ISNULL(A46,0)*-1,ISNULL(A47,0)*-1,ISNULL(A48,0)*-1, CONVERT(NUMERIC(14,2),ISNULL(DESCONTO_APLICADO,0)*-1),CONVERT(NUMERIC(14,2),ISNULL(VALOR_CREDITADO,0)*-1) FROM DELETED OPEN CurUpdate_Producao_Os_Anterior FETCH NEXT FROM CurUpdate_Producao_Os_Anterior INTO @insTarefa,@insTarefa_Anterior, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto,@insCor_Produto,@insCor_Anterior,@insQtde_A, @insA1 ,@insA2 ,@insA3 ,@insA4 ,@insA5 ,@insA6 ,@insA7 ,@insA8 ,@insA9 ,@insA10,@insA11,@insA12, @insA13,@insA14,@insA15,@insA16,@insA17,@insA18,@insA19,@insA20,@insA21,@insA22,@insA23,@insA24, @insA25,@insA26,@insA27,@insA28,@insA29,@insA30,@insA31,@insA32,@insA33,@insA34,@insA35,@insA36, @insA37,@insA38,@insA39,@insA40,@insA41,@insA42,@insA43,@insA44,@insA45,@insA46,@insA47,@insA48, @insDESCONTO_APLICADO,@insVALOR_CREDITADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insIndicador_Tipo_Mov=Indicador_Tipo_Mov FROM PRODUCAO_OS_TAREFAS where TAREFA=@insTarefa and Ordem_Servico=@insOrdem_Servico AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto /* Movimento Normal */ IF @insIndicador_Tipo_Mov = 1 or @insIndicador_Tipo_Mov = 3 BEGIN UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO WHERE TAREFA = @insTarefa_Anterior END /* IF @insIndicador_Tipo_Mov = 1 */ /* Movimento Retrabalho */ IF @insIndicador_Tipo_Mov = 5 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-@insQtde_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+@insQtde_A WHERE TAREFA = @insTAREFA_anterior -- Texto adicionado em 25/07/01 por Szalontai DECLARE @INSSEQINICIAL char(10), @INSSEQFINAL char(10) SELECT @insTAREFA = TAREFA FROM PRODUCAO_OS_ANTERIOR WHERE ORDEM_SERVICO = @INSORDEM_SERVICO AND ORDEM_PRODUCAO = @INSORDEM_PRODUCAO AND PRODUTO = @INSPRODUTO AND COR_PRODUTO = @INSCOR_PRODUTO AND TAREFA_ANTERIOR = @insTAREFA_anterior SELECT @INSSEQINICIAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA SELECT @INSSEQFINAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA_anterior UPDATE PRODUCAO_TAREFAS SET QTDE_FINALIZADA = QTDE_FINALIZADA-@insQtde_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+@insQtde_A, INICIO_REAl =@insDATA_OS, ENCERRAMENTO = null WHERE ORDEM_PRODUCAO =@INSORDEM_PRODUCAO AND SEQUENCIA_PRODUTIVA > @INSSEQINICIAL and SEQUENCIA_PRODUTIVA < @INSSEQFINAL -- Fim do texto adicionado em 25/07/01 por Szalontai SELECT @insDATA_OS=DATA,@insOrdem_Servico_Paralela=Ordem_Servico_Paralela FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO SELECT @insTarefa_Paralela=Tarefa from producao_os_tarefas where ORDEM_SERVICO = @insORDEM_SERVICO IF @insORDEM_SERVICO_PARALELA is null BEGIN select @insConta = count(*) from producao_os_anterior where ordem_Producao = @insOrdem_Producao and ordem_servico = @insOrdem_Servico group by tarefa,tarefa_anterior IF @@rowcount =1 UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO WHERE TAREFA = @insTAREFA_anterior END IF @insORDEM_SERVICO_PARALELA is not null BEGIN select @insSeq = sequencia_produtiva from producao_tarefas where tarefa = @instarefa_paralela UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA+@insDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA +@insVALOR_CREDITADO WHERE ordem_producao = @insOrdem_Producao and sequencia_produtiva = @insSeq END IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) > 0 begin DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto end IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insA1 =0 AND S2 -@insA2 =0 AND S3 -@insA3 =0 AND S4 -@insA4 =0 AND S5 -@insA5 =0 AND S6 -@insA6 =0 AND S7 -@insA7 =0 AND S8 -@insA8 =0 AND S9 -@insA9 =0 AND S10-@insA10=0 AND S11-@insA11=0 AND S12-@insA12=0 AND S13-@insA13=0 AND S14-@insA14=0 AND S15-@insA15=0 AND S16-@insA16=0 AND S17-@insA17=0 AND S18-@insA18=0 AND S19-@insA19=0 AND S20-@insA20=0 AND S21-@insA21=0 AND S22-@insA22=0 AND S23-@insA23=0 AND S24-@insA24=0 AND S25-@insA25=0 AND S26-@insA26=0 AND S27-@insA27=0 AND S28-@insA28=0 AND S29-@insA29=0 AND S30-@insA30=0 AND S31-@insA31=0 AND S32-@insA32=0 AND S33-@insA33=0 AND S34-@insA34=0 AND S35-@insA35=0 AND S36-@insA36=0 AND S37-@insA37=0 AND S38-@insA38=0 AND S39-@insA39=0 AND S40-@insA40=0 AND S41-@insA41=0 AND S42-@insA42=0 AND S43-@insA43=0 AND S44-@insA44=0 AND S45-@insA45=0 AND S46-@insA46=0 AND S47-@insA47=0 AND S48-@insA48=0) = 0 begin /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_A, S1 =S1 -@InsA1 ,S2 =S2 -@InsA2 ,S3 =S3 -@InsA3 ,S4 =S4 -@InsA4 ,S5 =S5 -@InsA5 ,S6 =S6 -@InsA6 ,S7 =S7 -@InsA7 ,S8 =S8 -@InsA8 , S9 =S9 -@InsA9 ,S10=S10-@InsA10,S11=S11-@InsA11,S12=S12-@InsA12,S13=S13-@InsA13,S14=S14-@InsA14,S15=S15-@InsA15,S16=S16-@InsA16, S17=S17-@InsA17,S18=S18-@InsA18,S19=S19-@InsA19,S20=S20-@InsA20,S21=S21-@InsA21,S22=S22-@InsA22,S23=S23-@InsA23,S24=S24-@InsA24, S25=S25-@InsA25,S26=S26-@InsA26,S27=S27-@InsA27,S28=S28-@InsA28,S29=S29-@InsA29,S30=S30-@InsA30,S31=S31-@InsA31,S32=S32-@InsA32, S33=S33-@InsA33,S34=S34-@InsA34,S35=S35-@InsA35,S36=S36-@InsA36,S37=S37-@InsA37,S38=S38-@InsA38,S39=S39-@InsA39,S40=S40-@InsA40, S41=S41-@InsA41,S42=S42-@InsA42,S43=S43-@InsA43,S44=S44-@InsA44,S45=S45-@InsA45,S46=S46-@InsA46,S47=S47-@InsA47,S48=S48-@InsA48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@insTarefa_Anterior,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,-1*@InsQtde_A, -1*@insA1,-1*@insA2,-1*@insA3,-1*@insA4,-1*@insA5,-1*@insA6,-1*@insA7,-1*@insA8,-1*@insA9,-1*@insA10,-1*@insA11,-1*@insA12, -1*@insA13,-1*@insA14,-1*@insA15,-1*@insA16,-1*@insA17,-1*@insA18,-1*@insA19,-1*@insA20,-1*@insA21,-1*@insA22,-1*@insA23,-1*@insA24, -1*@insA25,-1*@insA26,-1*@insA27,-1*@insA28,-1*@insA29,-1*@insA30,-1*@insA31,-1*@insA32,-1*@insA33,-1*@insA34,-1*@insA35,-1*@insA36, -1*@insA37,-1*@insA38,-1*@insA39,-1*@insA40,-1*@insA41,-1*@insA42,-1*@insA43,-1*@insA44,-1*@insA45,-1*@insA46,-1*@insA47,-1*@insA48) end END /* IF @insIndicador_Tipo_Mov = 5 */ FETCH NEXT FROM CurUpdate_Producao_Os_Anterior INTO @insTarefa,@insTarefa_Anterior, @insORDEM_SERVICO, @insOrdem_Producao, @insProduto, @insCor_Produto,@insCor_Anterior,@insQtde_A, @insA1 ,@insA2 ,@insA3 ,@insA4 ,@insA5 ,@insA6 ,@insA7 ,@insA8 ,@insA9 ,@insA10,@insA11,@insA12, @insA13,@insA14,@insA15,@insA16,@insA17,@insA18,@insA19,@insA20,@insA21,@insA22,@insA23,@insA24, @insA25,@insA26,@insA27,@insA28,@insA29,@insA30,@insA31,@insA32,@insA33,@insA34,@insA35,@insA36, @insA37,@insA38,@insA39,@insA40,@insA41,@insA42,@insA43,@insA44,@insA45,@insA46,@insA47,@insA48, @insDESCONTO_APLICADO,@insVALOR_CREDITADO END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurUpdate_Producao_Os_Anterior DEALLOCATE CurUpdate_Producao_Os_Anterior /*--LINX FIM---------------------------------------------------------------------------------*/ /*--------------------------------------------*/ /*-- GERA BAIXA AUTOMATICA ----------------------------------------------------------------------------------------*/ DECLARE CUR_BAIXA CURSOR FOR SELECT DISTINCT ORDEM_SERVICO FROM INSERTED OPEN CUR_BAIXA FETCH NEXT FROM CUR_BAIXA INTO @insORDEM_SERVICO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_GERA_SAIDA_BAIXA_AUTOMATICA @insORDEM_SERVICO FETCH NEXT FROM CUR_BAIXA INTO @insORDEM_SERVICO END CLOSE CUR_BAIXA DEALLOCATE CUR_BAIXA /*-----------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[QTDE_A]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[A48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[CUSTO_EFETIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[DESCONTO_APLICADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_ANTERIOR].[VALOR_CREDITADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_TRATAMENTO]( [TRATAMENTO] [char](5) NOT NULL, [FASE_PRODUTIVA] [varchar](25) NULL, [DESC_TRATAMENTO] [varchar](40) NOT NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, [OBS] [text] NULL, CONSTRAINT [XPKMATERIAIS_TIPO_TRATAMENTO] PRIMARY KEY NONCLUSTERED ( [TRATAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_TRATAMENTO] ON [MATERIAIS_TRATAMENTO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA A, DELETED B WHERE A.GF_TRATAMENTO=B.TRATAMENTO) DELETE FROM GF_MATERIAIS_TRA WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_TRATAMENTO] ON [MATERIAIS_TRATAMENTO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_TRATAMENTO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN IF NOT EXISTS (SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA A, INSERTED B WHERE A.GF_TRATAMENTO=B.TRATAMENTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MATERIAIS_TRA (ID,GF_TRATAMENTO,GF_FASE_PRODUTIV,GF_DESC_TRATAMEN, GF_CUSTO_SERVICO,GF_CUSTO_MATERIA,GF_OBS,EMPRESA,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TRATAMENTO, (SELECT ID FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=A.FASE_PRODUTIVA), DESC_TRATAMENTO,CUSTO_SERVICO_PREVISTO,CUSTO_MATERIAL_TERCEIRO_PREVISTO, ''OBS''=(SELECT CONVERT(CHAR(254),OBS) FROM MATERIAIS_TRATAMENTO WHERE TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MATERIAIS_TRATAMENTO A, GF_MATERIAIS_TRACNT B WHERE TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED) UPDATE GF_MATERIAIS_TRACNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_TRATAMENTO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_TRATAMENTO] ON [MATERIAIS_TRATAMENTO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_TRATAMENTO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MATERIAIS_TRATAMENTO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_TRATAMENTO'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_TRATAMENTO FROM GF_MATERIAIS_TRA A, DELETED B WHERE A.GF_TRATAMENTO=B.TRATAMENTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MATERIAIS_TRA SET GF_TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED), GF_FASE_PRODUTIV=(SELECT ID FROM GF_MATERIAIS_FAS WHERE GF_FASE_PRODUTIV=(SELECT FASE_PRODUTIVA FROM INSERTED)), GF_DESC_TRATAMEN=(SELECT DESC_TRATAMENTO FROM INSERTED), GF_CUSTO_SERVICO=(SELECT CUSTO_SERVICO_PREVISTO FROM INSERTED), GF_CUSTO_MATERIA=(SELECT CUSTO_MATERIAL_TERCEIRO_PREVISTO FROM INSERTED), GF_OBS=(SELECT CONVERT(CHAR(254),OBS) FROM MATERIAIS_TRATAMENTO WHERE TRATAMENTO=(SELECT TRATAMENTO FROM INSERTED)), USERM=@USER, FECHAM=GETDATE() WHERE GF_TRATAMENTO=(SELECT TRATAMENTO FROM DELETED) --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE RETURN --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_TRATAMENTO] on [MATERIAIS_TRATAMENTO] for DELETE as /* DELETE trigger on MATERIAIS_TRATAMENTO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_TRATAMENTO R/2120 M_ORDEM_FABRICACAO_PROCESSO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO_PROCESSO where M_ORDEM_FABRICACAO_PROCESSO.TRATAMENTO = deleted.TRATAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TRATAMENTO #porque existem registros em #M_ORDEM_FABRICACAO_PROCESSO#.'' goto error end /* MATERIAIS_TRATAMENTO R/1937 MATERIAIS_BASE_TRATAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE_TRATAMENTO where MATERIAIS_BASE_TRATAMENTO.TRATAMENTO = deleted.TRATAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TRATAMENTO #porque existem registros em #MATERIAIS_BASE_TRATAMENTO#.'' goto error end /* MATERIAIS_TRATAMENTO R/1916 MATERIAIS_MAQUINA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_MAQUINA where MATERIAIS_MAQUINA.TRATAMENTO = deleted.TRATAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TRATAMENTO #porque existem registros em #MATERIAIS_MAQUINA#.'' goto error end /* MATERIAIS_TRATAMENTO R/1912 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_PROCESSO_TRATAMENTO where MATERIAIS_PROCESSO_TRATAMENTO.TRATAMENTO = deleted.TRATAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_TRATAMENTO #porque existem registros em #MATERIAIS_PROCESSO_TRATAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_TRATAMENTO] on [MATERIAIS_TRATAMENTO] for INSERT as /* INSERT trigger on MATERIAIS_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_FASE_PRODUTIVA R/1914 MATERIAIS_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(FASE_PRODUTIVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FASE_PRODUTIVA where inserted.FASE_PRODUTIVA = MATERIAIS_FASE_PRODUTIVA.FASE_PRODUTIVA select @nullcnt = count(*) from inserted where inserted.FASE_PRODUTIVA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_TRATAMENTO #porque #MATERIAIS_FASE_PRODUTIVA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_TRATAMENTO] on [MATERIAIS_TRATAMENTO] for UPDATE as /* UPDATE trigger on MATERIAIS_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRATAMENTO char(5), @delTRATAMENTO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TRATAMENTO R/2120 M_ORDEM_FABRICACAO_PROCESSO ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) BEGIN DECLARE MATERIAIS_TRATAMENTO2120 CURSOR FOR SELECT TRATAMENTO FROM INSERTED DECLARE MATERIAIS_TRATAMENTO1059 CURSOR FOR SELECT TRATAMENTO FROM DELETED OPEN MATERIAIS_TRATAMENTO2120 OPEN MATERIAIS_TRATAMENTO1059 FETCH NEXT FROM MATERIAIS_TRATAMENTO2120 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO_PROCESSO SET M_ORDEM_FABRICACAO_PROCESSO.TRATAMENTO=@insTRATAMENTO WHERE M_ORDEM_FABRICACAO_PROCESSO.TRATAMENTO = @delTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO2120 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO END END CLOSE MATERIAIS_TRATAMENTO2120 CLOSE MATERIAIS_TRATAMENTO1059 DEALLOCATE MATERIAIS_TRATAMENTO2120 DEALLOCATE MATERIAIS_TRATAMENTO1059 END /* MATERIAIS_TRATAMENTO R/1937 MATERIAIS_BASE_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) BEGIN DECLARE MATERIAIS_TRATAMENTO1937 CURSOR FOR SELECT TRATAMENTO FROM INSERTED DECLARE MATERIAIS_TRATAMENTO1059 CURSOR FOR SELECT TRATAMENTO FROM DELETED OPEN MATERIAIS_TRATAMENTO1937 OPEN MATERIAIS_TRATAMENTO1059 FETCH NEXT FROM MATERIAIS_TRATAMENTO1937 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_TRATAMENTO SET MATERIAIS_BASE_TRATAMENTO.TRATAMENTO=@insTRATAMENTO WHERE MATERIAIS_BASE_TRATAMENTO.TRATAMENTO = @delTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1937 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO END END CLOSE MATERIAIS_TRATAMENTO1937 CLOSE MATERIAIS_TRATAMENTO1059 DEALLOCATE MATERIAIS_TRATAMENTO1937 DEALLOCATE MATERIAIS_TRATAMENTO1059 END /* MATERIAIS_TRATAMENTO R/1916 MATERIAIS_MAQUINA ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) BEGIN DECLARE MATERIAIS_TRATAMENTO1916 CURSOR FOR SELECT TRATAMENTO FROM INSERTED DECLARE MATERIAIS_TRATAMENTO1059 CURSOR FOR SELECT TRATAMENTO FROM DELETED OPEN MATERIAIS_TRATAMENTO1916 OPEN MATERIAIS_TRATAMENTO1059 FETCH NEXT FROM MATERIAIS_TRATAMENTO1916 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_MAQUINA SET MATERIAIS_MAQUINA.TRATAMENTO=@insTRATAMENTO WHERE MATERIAIS_MAQUINA.TRATAMENTO = @delTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1916 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO END END CLOSE MATERIAIS_TRATAMENTO1916 CLOSE MATERIAIS_TRATAMENTO1059 DEALLOCATE MATERIAIS_TRATAMENTO1916 DEALLOCATE MATERIAIS_TRATAMENTO1059 END /* MATERIAIS_TRATAMENTO R/1912 MATERIAIS_PROCESSO_TRATAMENTO ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) BEGIN DECLARE MATERIAIS_TRATAMENTO1912 CURSOR FOR SELECT TRATAMENTO FROM INSERTED DECLARE MATERIAIS_TRATAMENTO1059 CURSOR FOR SELECT TRATAMENTO FROM DELETED OPEN MATERIAIS_TRATAMENTO1912 OPEN MATERIAIS_TRATAMENTO1059 FETCH NEXT FROM MATERIAIS_TRATAMENTO1912 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_PROCESSO_TRATAMENTO SET MATERIAIS_PROCESSO_TRATAMENTO.TRATAMENTO=@insTRATAMENTO WHERE MATERIAIS_PROCESSO_TRATAMENTO.TRATAMENTO = @delTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1912 INTO @insTRATAMENTO FETCH NEXT FROM MATERIAIS_TRATAMENTO1059 INTO @delTRATAMENTO END END CLOSE MATERIAIS_TRATAMENTO1912 CLOSE MATERIAIS_TRATAMENTO1059 DEALLOCATE MATERIAIS_TRATAMENTO1912 DEALLOCATE MATERIAIS_TRATAMENTO1059 END /* MATERIAIS_FASE_PRODUTIVA R/1914 MATERIAIS_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUTIVA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_FASE_PRODUTIVA where inserted.FASE_PRODUTIVA = MATERIAIS_FASE_PRODUTIVA.FASE_PRODUTIVA select @nullcnt = count(*) from inserted where inserted.FASE_PRODUTIVA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_TRATAMENTO #porque #MATERIAIS_FASE_PRODUTIVA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_TRATAMENTO].[CUSTO_SERVICO_PREVISTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_TRATAMENTO].[CUSTO_MATERIAL_TERCEIRO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_TIPO]( [TIPO] [char](25) NOT NULL, [APROVACAO] [char](1) NOT NULL, [Data_para_transferencia] [datetime] NULL, [INIBE_DESCONTO_CLIENTE] [bit] NOT NULL, [PRONTA_ENTREGA] [bit] NOT NULL, CONSTRAINT [XPKVENDAS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_TIPO] on [VENDAS_TIPO] for DELETE as /* DELETE trigger on VENDAS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_TIPO R/1403 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_TIPO #porque existem registros em #VENDAS_LOTE#.'' goto error end /* VENDAS_TIPO R/1382 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_TIPO #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* VENDAS_TIPO VENDAS_TIPO VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_TIPO #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_TIPO] on [VENDAS_TIPO] for UPDATE as /* UPDATE trigger on VENDAS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO char(25), @delTIPO char(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TIPO R/1403 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE VENDAS_TIPO1403 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE VENDAS_TIPO206 CURSOR FOR SELECT TIPO FROM DELETED OPEN VENDAS_TIPO1403 OPEN VENDAS_TIPO206 FETCH NEXT FROM VENDAS_TIPO1403 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.TIPO=@insTIPO WHERE VENDAS_LOTE.TIPO = @delTIPO FETCH NEXT FROM VENDAS_TIPO1403 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO END END CLOSE VENDAS_TIPO1403 CLOSE VENDAS_TIPO206 DEALLOCATE VENDAS_TIPO1403 DEALLOCATE VENDAS_TIPO206 END /* VENDAS_TIPO R/1382 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE VENDAS_TIPO1382 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE VENDAS_TIPO206 CURSOR FOR SELECT TIPO FROM DELETED OPEN VENDAS_TIPO1382 OPEN VENDAS_TIPO206 FETCH NEXT FROM VENDAS_TIPO1382 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.TIPO=@insTIPO WHERE VENDAS_HISTORICO.TIPO = @delTIPO FETCH NEXT FROM VENDAS_TIPO1382 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO END END CLOSE VENDAS_TIPO1382 CLOSE VENDAS_TIPO206 DEALLOCATE VENDAS_TIPO1382 DEALLOCATE VENDAS_TIPO206 END /* VENDAS_TIPO VENDAS_TIPO VENDAS ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE VENDAS_TIPO406 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE VENDAS_TIPO206 CURSOR FOR SELECT TIPO FROM DELETED OPEN VENDAS_TIPO406 OPEN VENDAS_TIPO206 FETCH NEXT FROM VENDAS_TIPO406 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.TIPO=@insTIPO WHERE VENDAS.TIPO = @delTIPO FETCH NEXT FROM VENDAS_TIPO406 INTO @insTIPO FETCH NEXT FROM VENDAS_TIPO206 INTO @delTIPO END END CLOSE VENDAS_TIPO406 CLOSE VENDAS_TIPO206 DEALLOCATE VENDAS_TIPO406 DEALLOCATE VENDAS_TIPO206 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_TIPO, INSERTED WHERE VENDAS_TIPO.TIPO = INSERTED.TIPO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_TIPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_TIPO].[Data_para_transferencia]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_TIPO].[INIBE_DESCONTO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_TIPO].[PRONTA_ENTREGA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_TAREFAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_TAREFAS]( [TAREFA] [char](10) NOT NULL, [ORDEM_SERVICO] [char](8) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [TAREFA_PARALELA] [char](10) NULL, [INDICADOR_TIPO_MOV] [smallint] NULL, [QTDE_O] [int] NULL, [O1] [int] NULL, [O2] [int] NULL, [O3] [int] NULL, [O4] [int] NULL, [O5] [int] NULL, [O6] [int] NULL, [O7] [int] NULL, [O8] [int] NULL, [O9] [int] NULL, [O10] [int] NULL, [O11] [int] NULL, [O12] [int] NULL, [O13] [int] NULL, [O14] [int] NULL, [O15] [int] NULL, [O16] [int] NULL, [O17] [int] NULL, [O18] [int] NULL, [O19] [int] NULL, [O20] [int] NULL, [O21] [int] NULL, [O22] [int] NULL, [O23] [int] NULL, [O24] [int] NULL, [O25] [int] NULL, [O26] [int] NULL, [O27] [int] NULL, [O28] [int] NULL, [O29] [int] NULL, [O30] [int] NULL, [O31] [int] NULL, [O32] [int] NULL, [O33] [int] NULL, [O34] [int] NULL, [O35] [int] NULL, [O36] [int] NULL, [O37] [int] NULL, [O38] [int] NULL, [O39] [int] NULL, [O40] [int] NULL, [O41] [int] NULL, [O42] [int] NULL, [O43] [int] NULL, [O44] [int] NULL, [O45] [int] NULL, [O46] [int] NULL, [O47] [int] NULL, [O48] [int] NULL, [CUSTO_PREVISTO] [numeric](14, 2) NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKPRODUCAO_OS_TAREFAS] PRIMARY KEY NONCLUSTERED ( [TAREFA] ASC, [ORDEM_SERVICO] ASC, [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_OS_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXD_PRODUCAO_OS_TAREFAS] on [PRODUCAO_OS_TAREFAS] for DELETE as /* DELETE trigger on PRODUCAO_OS_TAREFAS */ /* default body for LXD_PRODUCAO_OS_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @dTAREFA_ANTERIOR char(10), @dTAREFA_PARALELA char(10), @insTAREFA_PARA CHAR(10), @dORDEM_SERVICO_PARALELA char(8), @dSEQ_PRO char(2), @dSEQ_ANT varchar(25), @dCOR_ANTERIOR char(10), @dINDICADOR_TIPO_MOV smallint, @dQTDE_O QTDE_PRODUTO, @dO1 QTDE_PRODUTO, @dO2 QTDE_PRODUTO, @dO3 QTDE_PRODUTO, @dO4 QTDE_PRODUTO, @dO5 QTDE_PRODUTO, @dO6 QTDE_PRODUTO, @dO7 QTDE_PRODUTO, @dO8 QTDE_PRODUTO, @dO9 QTDE_PRODUTO, @dO10 QTDE_PRODUTO, @dO11 QTDE_PRODUTO, @dO12 QTDE_PRODUTO, @dO13 QTDE_PRODUTO, @dO14 QTDE_PRODUTO, @dO15 QTDE_PRODUTO, @dO16 QTDE_PRODUTO, @dO17 QTDE_PRODUTO, @dO18 QTDE_PRODUTO, @dO19 QTDE_PRODUTO, @dO20 QTDE_PRODUTO, @dO21 QTDE_PRODUTO, @dO22 QTDE_PRODUTO, @dO23 QTDE_PRODUTO, @dO24 QTDE_PRODUTO, @dO25 QTDE_PRODUTO, @dO26 QTDE_PRODUTO, @dO27 QTDE_PRODUTO, @dO28 QTDE_PRODUTO, @dO29 QTDE_PRODUTO, @dO30 QTDE_PRODUTO, @dO31 QTDE_PRODUTO, @dO32 QTDE_PRODUTO, @dO33 QTDE_PRODUTO, @dO34 QTDE_PRODUTO, @dO35 QTDE_PRODUTO, @dO36 QTDE_PRODUTO, @dO37 QTDE_PRODUTO, @dO38 QTDE_PRODUTO, @dO39 QTDE_PRODUTO, @dO40 QTDE_PRODUTO, @dO41 QTDE_PRODUTO, @dO42 QTDE_PRODUTO, @dO43 QTDE_PRODUTO, @dO44 QTDE_PRODUTO, @dO45 QTDE_PRODUTO, @dO46 QTDE_PRODUTO, @dO47 QTDE_PRODUTO, @dO48 QTDE_PRODUTO, @dCUSTO_PREVISTO NUMERIC(14,2), @dTotal NUMERIC(14,2), @dCusto NUMERIC(14,2), @dDESCONTO_APLICADO NUMERIC(14,2), @dVALOR_CREDITADO NUMERIC(14,2), @dDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*--------LINX----*/ select @DCor_Anterior = Cor_Anterior, @dTAREFA_anterior=TAREFA_anterior, @DDESCONTO_APLICADO = DESCONTO_APLICADO , @DVALOR_CREDITADO=VALOR_CREDITADO from PRODUCAO_OS_ANTERIOR,deleted where PRODUCAO_OS_ANTERIOR.TAREFA = deleted.TAREFA and PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = deleted.ORDEM_SERVICO and PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_OS_ANTERIOR.PRODUTO = deleted.PRODUTO and PRODUCAO_OS_ANTERIOR.COR_PRODUTO = deleted.COR_PRODUTO /*---linx-----*/ /* PRODUCAO_OS_TAREFAS R/1591 PRODUCAO_OS_ANTERIOR ON PARENT DELETE CASCADE */ delete PRODUCAO_OS_ANTERIOR from PRODUCAO_OS_ANTERIOR,deleted where PRODUCAO_OS_ANTERIOR.TAREFA = deleted.TAREFA and PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = deleted.ORDEM_SERVICO and PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO = deleted.ORDEM_PRODUCAO and PRODUCAO_OS_ANTERIOR.PRODUTO = deleted.PRODUTO and PRODUCAO_OS_ANTERIOR.COR_PRODUTO = deleted.COR_PRODUTO /*--TRIGGER DE DELETE - PRODUCAO_OS_TAREFAS --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurDelete_Producao_Os_Tarefa CURSOR FOR SELECT Tarefa, Ordem_Producao, Produto, Cor_Produto, ISNULL(Qtde_O,0), ISNULL(O1,0) ,ISNULL(O2,0) ,ISNULL(O3,0) ,ISNULL(O4,0) ,ISNULL(O5,0) ,ISNULL(O6,0) ,ISNULL(O7,0) ,ISNULL(O8,0) ,ISNULL(O9,0) ,ISNULL(O10,0),ISNULL(O11,0),ISNULL(O12,0), ISNULL(O13,0),ISNULL(O14,0),ISNULL(O15,0),ISNULL(O16,0),ISNULL(O17,0),ISNULL(O18,0),ISNULL(O19,0),ISNULL(O20,0),ISNULL(O21,0),ISNULL(O22,0),ISNULL(O23,0),ISNULL(O24,0), ISNULL(O25,0),ISNULL(O26,0),ISNULL(O27,0),ISNULL(O28,0),ISNULL(O29,0),ISNULL(O30,0),ISNULL(O31,0),ISNULL(O32,0),ISNULL(O33,0),ISNULL(O34,0),ISNULL(O35,0),ISNULL(O36,0), ISNULL(O37,0),ISNULL(O38,0),ISNULL(O39,0),ISNULL(O40,0),ISNULL(O41,0),ISNULL(O42,0),ISNULL(O43,0),ISNULL(O44,0),ISNULL(O45,0),ISNULL(O46,0),ISNULL(O47,0),ISNULL(O48,0), ISNULL(CUSTO_PREVISTO,0),Indicador_tipo_Mov,Ordem_servico,Tarefa_Paralela FROM DELETED OPEN CurDelete_Producao_Os_Tarefa FETCH NEXT FROM CurDelete_Producao_Os_Tarefa INTO @instarefa, @insordem_producao, @insproduto, @inscor_produto,@DQtde_O, @DO1 ,@DO2 ,@DO3 ,@DO4 ,@DO5 ,@DO6 ,@DO7 ,@DO8 ,@DO9 ,@DO10,@DO11,@DO12, @DO13,@DO14,@DO15,@DO16,@DO17,@DO18,@DO19,@DO20,@DO21,@DO22,@DO23,@DO24, @DO25,@DO26,@DO27,@DO28,@DO29,@DO30,@DO31,@DO32,@DO33,@DO34,@DO35,@DO36, @DO37,@DO38,@DO39,@DO40,@DO41,@DO42,@DO43,@DO44,@DO45,@DO46,@DO47,@DO48, @DCUSTO_PREVISTO,@DIndicador_tipo_Mov,@insordem_servico,@dtarefa_Paralela IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN /* Movimento Normal */ IF @DIndicador_Tipo_Mov = 1 BEGIN IF (SELECT COUNT(*) FROM PRODUCAO_OS_TAREFAS WHERE ORDEM_PRODUCAO = @insordem_producao)=0 UPDATE PRODUCAO_ORDEM SET STATUS = ''S'' WHERE ORDEM_PRODUCAO = @insordem_producao UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO-@DQtde_O,QTDE_A_PRODUZIR =QTDE_A_PRODUZIR +@DQtde_O, INICIO_REAl=INICIO_PREVISTO,CUSTO_TAREFA=@DCUSTO_PREVISTO WHERE TAREFA = @instarefa IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND S1 -@DO1 =0 AND S2 -@DO2 =0 AND S3 -@DO3 =0 AND S4 -@DO4 =0 AND S5 -@DO5 =0 AND S6 -@DO6 =0 AND S7 -@DO7 =0 AND S8 -@DO8 =0 AND S9 -@DO9 =0 AND S10-@DO10=0 AND S11-@DO11=0 AND S12-@DO12=0 AND S13-@DO13=0 AND S14-@DO14=0 AND S15-@DO15=0 AND S16-@DO16=0 AND S17-@DO17=0 AND S18-@DO18=0 AND S19-@DO19=0 AND S20-@DO20=0 AND S21-@DO21=0 AND S22-@DO22=0 AND S23-@DO23=0 AND S24-@DO24=0 AND S25-@DO25=0 AND S26-@DO26=0 AND S27-@DO27=0 AND S28-@DO28=0 AND S29-@DO29=0 AND S30-@DO30=0 AND S31-@DO31=0 AND S32-@DO32=0 AND S33-@DO33=0 AND S34-@DO34=0 AND S35-@DO35=0 AND S36-@DO36=0 AND S37-@DO37=0 AND S38-@DO38=0 AND S39-@DO39=0 AND S40-@DO40=0 AND S41-@DO41=0 AND S42-@DO42=0 AND S43-@DO43=0 AND S44-@DO44=0 AND S45-@DO45=0 AND S46-@DO46=0 AND S47-@DO47=0 AND S48-@DO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto DELETE PRODUCAO_OS_ANTERIOR where TAREFA = @instarefa and ORDEM_SERVICO = @insordem_servico and ORDEM_PRODUCAO=@insordem_producao AND PRODUTO =@insproduto AND COR_PRODUTO =@inscor_produto END /* @DIndicador_Tipo_Mov = 1 */ /* Alteracao de PCP e Perda */ IF @DIndicador_Tipo_Mov = 2 BEGIN SELECT @DSeq_Pro=Sequencia_Produtiva,@DSeq_ANT=Sequencia_Anterior, @DCusto = (VALOR_TAREFA+DESCONTOS_TAREFA)/(qtde_finalizada) FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto)>0 BEGIN IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND Tarefa IN (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) END IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto)=0 BEGIN SELECT @insTAREFA_PARA = (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 begin IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND S1 -@DO1 =0 AND S2 -@DO2 =0 AND S3 -@DO3 =0 AND S4 -@DO4 =0 AND S5 -@DO5 =0 AND S6 -@DO6 =0 AND S7 -@DO7 =0 AND S8 -@DO8 =0 AND S9 -@DO9 =0 AND S10-@DO10=0 AND S11-@DO11=0 AND S12-@DO12=0 AND S13-@DO13=0 AND S14-@DO14=0 AND S15-@DO15=0 AND S16-@DO16=0 AND S17-@DO17=0 AND S18-@DO18=0 AND S19-@DO19=0 AND S20-@DO20=0 AND S21-@DO21=0 AND S22-@DO22=0 AND S23-@DO23=0 AND S24-@DO24=0 AND S25-@DO25=0 AND S26-@DO26=0 AND S27-@DO27=0 AND S28-@DO28=0 AND S29-@DO29=0 AND S30-@DO30=0 AND S31-@DO31=0 AND S32-@DO32=0 AND S33-@DO33=0 AND S34-@DO34=0 AND S35-@DO35=0 AND S36-@DO36=0 AND S37-@DO37=0 AND S38-@DO38=0 AND S39-@DO39=0 AND S40-@DO40=0 AND S41-@DO41=0 AND S42-@DO42=0 AND S43-@DO43=0 AND S44-@DO44=0 AND S45-@DO45=0 AND S46-@DO46=0 AND S47-@DO47=0 AND S48-@DO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto else UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto end IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )<>0 begin IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTAREFA_PARA AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND S1 -@DO1 =0 AND S2 -@DO2 =0 AND S3 -@DO3 =0 AND S4 -@DO4 =0 AND S5 -@DO5 =0 AND S6 -@DO6 =0 AND S7 -@DO7 =0 AND S8 -@DO8 =0 AND S9 -@DO9 =0 AND S10-@DO10=0 AND S11-@DO11=0 AND S12-@DO12=0 AND S13-@DO13=0 AND S14-@DO14=0 AND S15-@DO15=0 AND S16-@DO16=0 AND S17-@DO17=0 AND S18-@DO18=0 AND S19-@DO19=0 AND S20-@DO20=0 AND S21-@DO21=0 AND S22-@DO22=0 AND S23-@DO23=0 AND S24-@DO24=0 AND S25-@DO25=0 AND S26-@DO26=0 AND S27-@DO27=0 AND S28-@DO28=0 AND S29-@DO29=0 AND S30-@DO30=0 AND S31-@DO31=0 AND S32-@DO32=0 AND S33-@DO33=0 AND S34-@DO34=0 AND S35-@DO35=0 AND S36-@DO36=0 AND S37-@DO37=0 AND S38-@DO38=0 AND S39-@DO39=0 AND S40-@DO40=0 AND S41-@DO41=0 AND S42-@DO42=0 AND S43-@DO43=0 AND S44-@DO44=0 AND S45-@DO45=0 AND S46-@DO46=0 AND S47-@DO47=0 AND S48-@DO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTAREFA_PARA AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto else UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@insTAREFA_PARA AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto end END UPDATE PRODUCAO_ORDEM_COR SET ALTERACAO_DE_PROGRAMACAO=ALTERACAO_DE_PROGRAMACAO-@DQtde_o,QTDE_O =QTDE_O-(@DQtde_o),QTDE_P = QTDE_P-(@DQtde_o), O1 =O1 -@DO1 ,O2 =O2 -@DO2 ,O3 =O3 -@DO3 ,O4 =O4 -@DO4 ,O5 =O5 -@DO5 ,O6 =O6 -@DO6 ,O7 =O7 -@DO7 ,O8 =O8 -@DO8, O9 =O9 -@DO9 ,O10=O10-@DO10,O11=O11-@DO11,O12=O12-@DO12,O13=O13-@DO13,O14=O14-@DO14,O15=O15-@DO15,O16=O16-@DO16, O17=O17-@DO17,O18=O18-@DO18,O19=O19-@DO19,O20=O20-@DO20,O21=O21-@DO21,O22=O22-@DO22,O23=O23-@DO23,O24=O24-@DO24, O25=O25-@DO25,O26=O26-@DO26,O27=O27-@DO27,O28=O28-@DO28,O29=O29-@DO29,O30=O30-@DO30,O31=O31-@DO31,O32=O32-@DO32, O33=O33-@DO33,O34=O34-@DO34,O35=O35-@DO35,O36=O36-@DO36,O37=O37-@DO37,O38=O38-@DO38,O39=O39-@DO39,O40=O40-@DO40, O41=O41-@DO41,O42=O42-@DO42,O43=O43-@DO43,O44=O44-@DO44,O45=O45-@DO45,O46=O46-@DO46,O47=O47-@DO47,O48=O48-@DO48, P1 =P1 -@DO1 ,P2 =P2 -@DO2 ,P3 =P3 -@DO3 ,P4 =P4 -@DO4 ,P5 =P5 -@DO5 ,P6 =P6 -@DO6 ,P7 =P7 -@DO7 ,P8 =p8 -@DO8, P9 =P9 -@DO9 ,P10=P10-@DO10,P11=P11-@DO11,P12=P12-@DO12,P13=P13-@DO13,P14=P14-@DO14,P15=P15-@DO15,P16=p16-@DO16, P17=P17-@DO17,P18=P18-@DO18,P19=P19-@DO19,P20=P20-@DO20,P21=P21-@DO21,P22=P22-@DO22,P23=P23-@DO23,P24=p24-@DO24, P25=P25-@DO25,P26=P26-@DO26,P27=P27-@DO27,P28=P28-@DO28,P29=P29-@DO29,P30=P30-@DO30,P31=P31-@DO31,P32=p32-@DO32, P33=P33-@DO33,P34=P34-@DO34,P35=P35-@DO35,P36=P36-@DO36,P37=P37-@DO37,P38=P38-@DO38,P39=P39-@DO39,P40=p40-@DO40, P41=P41-@DO41,P42=P42-@DO42,P43=P43-@DO43,P44=P44-@DO44,P45=P45-@DO45,P46=P46-@DO46,P47=P47-@DO47,P48=p48-@DO48 WHERE ORDEM_PRODUCAO=@insordem_producao AND PRODUTO = @insproduto AND COR_PRODUTO =@inscor_produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL-(@DQtde_o),QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO-(@DQtde_o) WHERE ORDEM_PRODUCAO=@insordem_producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP -(@DQtde_o),QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) ,QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-(@DQtde_o) WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP -(@DQtde_o),QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) ,QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-(@DQtde_o) WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS-(@DQtde_o),QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) ,QTDE_A_PRODUZIR = QTDE_A_PRODUZIR-(@DQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@dSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@dSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO group by FASE_PRODUCAO+SETOR_PRODUCAO) UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = qtde_finalizada*isnull(@DCusto,0) WHERE SEQUENCIA_PRODUTIVA=@DSEQ_PRO AND SEQUENCIA_ANTERIOR=@DSEQ_ANT and ORDEM_PRODUCAO=@insordem_producao DELETE PRODUCAO_OS_ANTERIOR where TAREFA = @instarefa and ORDEM_SERVICO = @insordem_servico and ORDEM_PRODUCAO=@insordem_producao AND PRODUTO =@insproduto AND COR_PRODUTO =@inscor_produto IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa AND QTDE_em_processo <> 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE Tarefa=@insTarefa END /* @DIndicador_Tipo_Mov = 2 */ /* Lavagem */ IF @DIndicador_Tipo_Mov = 3 BEGIN SELECT @DDATA_OS=INICIO_REAl FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa IF @DCor_Anterior<>@inscor_produto BEGIN UPDATE PRODUCAO_ORDEM_COR SET QTDE_O =QTDE_O+(@DQtde_O),QTDE_P = QTDE_P+(@DQtde_O), O1 =O1 +@DO1 ,O2 =O2 +@DO2 ,O3 =O3 +@DO3 ,O4 =O4 +@DO4 ,O5 =O5 +@DO5 ,O6 =O6 +@DO6 ,O7 =O7 +@DO7 ,O8 =O8 +@DO8, O9 =O9 +@DO9 ,O10=O10+@DO10,O11=O11+@DO11,O12=O12+@DO12,O13=O13+@DO13,O14=O14+@DO14,O15=O15+@DO15,O16=O16+@DO16, O17=O17+@DO17,O18=O18+@DO18,O19=O19+@DO19,O20=O20+@DO20,O21=O21+@DO21,O22=O22+@DO22,O23=O23+@DO23,O24=O24+@DO24, O25=O25+@DO25,O26=O26+@DO26,O27=O27+@DO27,O28=O28+@DO28,O29=O29+@DO29,O30=O30+@DO30,O31=O31+@DO31,O32=O32+@DO32, O33=O33+@DO33,O34=O34+@DO34,O35=O35+@DO35,O36=O36+@DO36,O37=O37+@DO37,O38=O38+@DO38,O39=O39+@DO39,O40=O40+@DO40, O41=O41+@DO41,O42=O42+@DO42,O43=O43+@DO43,O44=O44+@DO44,O45=O45+@DO45,O46=O46+@DO46,O47=O47+@DO47,O48=O48+@DO48, P1 =P1 +@DO1 ,P2 =P2 +@DO2 ,P3 =P3 +@DO3 ,P4 =P4 +@DO4 ,P5 =P5 +@DO5 ,P6 =P6 +@DO6 ,P7 =P7 +@DO7 ,P8 =P8 +@DO8, P9 =P9 +@DO9 ,P10=P10+@DO10,P11=P11+@DO11,P12=P12+@DO12,P13=P13+@DO13,P14=P14+@DO14,P15=P15+@DO15,P16=P16+@DO16, P17=P17+@DO7,P18=P18+@DO18,P19=P19+@DO19,P20=P20+@DO20,P21=P21+@DO21,P22=P22+@DO22,P23=P23+@DO23,P24=P24+@DO24, P25=P25+@DO25,P26=P26+@DO26,P27=P27+@DO27,P28=P28+@DO28,P29=P29+@DO29,P30=P30+@DO30,P31=P31+@DO31,P32=P32+@DO32, P33=P33+@DO33,P34=P34+@DO34,P35=P35+@DO35,P36=P36+@DO36,P37=P37+@DO37,P38=P38+@DO38,P39=P39+@DO39,P40=P40+@DO40, P41=P41+@DO41,P42=P42+@DO42,P43=P43+@DO43,P44=P44+@DO44,P45=P45+@DO45,P46=P46+@DO46,P47=P47+@DO47,P48=P48+@DO48 WHERE ORDEM_PRODUCAO=@insordem_producao AND PRODUTO = @insproduto AND COR_PRODUTO =@DCor_Anterior IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@dtarefa_anterior AND QTDE_FINALIZADA = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = NULL WHERE Tarefa=@dtarefa_anterior UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO-@DQtde_O,QTDE_A_PRODUZIR =QTDE_A_PRODUZIR +@DQtde_O, INICIO_REAl=INICIO_PREVISTO,CUSTO_TAREFA=@DCUSTO_PREVISTO WHERE TAREFA = @instarefa IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND S1 -@DO1 =0 AND S2 -@DO2 =0 AND S3 -@DO3 =0 AND S4 -@DO4 =0 AND S5 -@DO5 =0 AND S6 -@DO6 =0 AND S7 -@DO7 =0 AND S8 -@DO8 =0 AND S9 -@DO9 =0 AND S10-@DO10=0 AND S11-@DO11=0 AND S12-@DO12=0 AND S13-@DO13=0 AND S14-@DO14=0 AND S15-@DO15=0 AND S16-@DO16=0 AND S17-@DO17=0 AND S18-@DO18=0 AND S19-@DO19=0 AND S20-@DO20=0 AND S21-@DO21=0 AND S22-@DO22=0 AND S23-@DO23=0 AND S24-@DO24=0 AND S25-@DO25=0 AND S26-@DO26=0 AND S27-@DO27=0 AND S28-@DO28=0 AND S29-@DO29=0 AND S30-@DO30=0 AND S31-@DO31=0 AND S32-@DO32=0 AND S33-@DO33=0 AND S34-@DO34=0 AND S35-@DO35=0 AND S36-@DO36=0 AND S37-@DO37=0 AND S38-@DO38=0 AND S39-@DO39=0 AND S40-@DO40=0 AND S41-@DO41=0 AND S42-@DO42=0 AND S43-@DO43=0 AND S44-@DO44=0 AND S45-@DO45=0 AND S46-@DO46=0 AND S47-@DO47=0 AND S48-@DO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto END /* @DCor_Anterior<>@inscor_produto */ IF @DCor_Anterior = @inscor_produto BEGIN IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@dtarefa_anterior AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@DQtde_O, S1 =S1 +@DO1 ,S2 =S2 +@DO2 ,S3 =S3 +@DO3 ,S4 =S4 +@DO4 ,S5 =S5 +@DO5 ,S6 =S6 +@DO6 ,S7 =S7 +@DO7 ,S8 =S8 +@DO8 , S9 =S9 +@DO9 ,S10=S10+@DO10,S11=S11+@DO11,S12=S12+@DO12,S13=S13+@DO13,S14=S14+@DO14,S15=S15+@DO15,S16=S16+@DO16, S17=S17+@DO17,S18=S18+@DO18,S19=S19+@DO19,S20=S20+@DO20,S21=S21+@DO21,S22=S22+@DO22,S23=S23+@DO23,S24=S24+@DO24, S25=S25+@DO25,S26=S26+@DO26,S27=S27+@DO27,S28=S28+@DO28,S29=S29+@DO29,S30=S30+@DO30,S31=S31+@DO31,S32=S32+@DO32, S33=S33+@DO33,S34=S34+@DO34,S35=S35+@DO35,S36=S36+@DO36,S37=S37+@DO37,S38=S38+@DO38,S39=S39+@DO39,S40=S40+@DO40, S41=S41+@DO41,S42=S42+@DO42,S43=S43+@DO43,S44=S44+@DO44,S45=S45+@DO45,S46=S46+@DO46,S47=S47+@DO47,S48=S48+@DO48 WHERE Tarefa=@dtarefa_anterior AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@dtarefa_anterior,@insordem_producao,@insproduto,@inscor_produto,@DQtde_O, @DO1,@DO2,@DO3,@DO4,@DO5,@DO6,@DO7,@DO8,@DO9,@DO10,@DO11,@DO12, @DO13,@DO14,@DO15,@DO16,@DO17,@DO18,@DO19,@DO20,@DO21,@DO22,@DO23,@DO24, @DO25,@DO26,@DO27,@DO28,@DO29,@DO30,@DO31,@DO32,@DO33,@DO34,@DO35,@DO36, @DO37,@DO38,@DO39,@DO40,@DO41,@DO42,@DO43,@DO44,@DO45,@DO46,@DO47,@DO48) END /* @DCor_Anterior = @inscor_produto */ END /* @DIndicador_Tipo_Mov = 3 */ /* Alteracao de PCP e Perda */ IF @DIndicador_Tipo_Mov = 4 BEGIN SELECT @DSeq_Pro=Sequencia_Produtiva,@DSeq_ANT=Sequencia_Anterior, @DCusto = (VALOR_TAREFA+DESCONTOS_TAREFA)/(qtde_finalizada-QTDE_PERDAS) FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto) > 0 IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND Tarefa IN (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@instarefa,@insordem_producao,@insproduto,@inscor_produto,-1*@DQtde_O, -1*@DO1,-1*@DO2,-1*@DO3,-1*@DO4,-1*@DO5,-1*@DO6,-1*@DO7,-1*@DO8,-1*@DO9,-1*@DO10,-1*@DO11,-1*@DO12, -1*@DO13,-1*@DO14,-1*@DO15,-1*@DO16,-1*@DO17,-1*@DO18,-1*@DO19,-1*@DO20,-1*@DO21,-1*@DO22,-1*@DO23,-1*@DO24, -1*@DO25,-1*@DO26,-1*@DO27,-1*@DO28,-1*@DO29,-1*@DO30,-1*@DO31,-1*@DO32,-1*@DO33,-1*@DO34,-1*@DO35,-1*@DO36, -1*@DO37,-1*@DO38,-1*@DO39,-1*@DO40,-1*@DO41,-1*@DO42,-1*@DO43,-1*@DO44,-1*@DO45,-1*@DO46,-1*@DO47,-1*@DO48) UPDATE PRODUCAO_ORDEM_COR SET PERDAS_NO_PROCESSO=PERDAS_NO_PROCESSO-@DQtde_o,QTDE_O =QTDE_O-(@DQtde_o),QTDE_P = QTDE_P-(@DQtde_o), O1 =O1 -@DO1 ,O2 =O2 -@DO2 ,O3 =O3 -@DO3 ,O4 =O4 -@DO4 ,O5 =O5 -@DO5 ,O6 =O6 -@DO6 ,O7 =O7 -@DO7 ,O8 =O8 -@DO8, O9 =O9 -@DO9 ,O10=O10-@DO10,O11=O11-@DO11,O12=O12-@DO12,O13=O13-@DO13,O14=O14-@DO14,O15=O15-@DO15,O16=O16-@DO16, O17=O17-@DO17,O18=O18-@DO18,O19=O19-@DO19,O20=O20-@DO20,O21=O21-@DO21,O22=O22-@DO22,O23=O23-@DO23,O24=O24-@DO24, O25=O25-@DO25,O26=O26-@DO26,O27=O27-@DO27,O28=O28-@DO28,O29=O29-@DO29,O30=O30-@DO30,O31=O31-@DO31,O32=O32-@DO32, O33=O33-@DO33,O34=O34-@DO34,O35=O35-@DO35,O36=O36-@DO36,O37=O37-@DO37,O38=O38-@DO38,O39=O39-@DO39,O40=O40-@DO40, O41=O41-@DO41,O42=O42-@DO42,O43=O43-@DO43,O44=O44-@DO44,O45=O45-@DO45,O46=O46-@DO46,O47=O47-@DO47,O48=O48-@DO48, P1 =P1 -@DO1 ,P2 =P2 -@DO2 ,P3 =P3 -@DO3 ,P4 =P4 -@DO4 ,P5 =P5 -@DO5 ,P6 =P6 -@DO6 ,P7 =P7 -@DO7 ,P8 =P8 -@DO8, P9 =P9 -@DO9 ,P10=P10-@DO10,P11=P11-@DO11,P12=P12-@DO12,P13=P13-@DO13,P14=P14-@DO14,P15=P15-@DO15,P16=P16-@DO16, P17=P17-@DO17,P18=P18-@DO18,P19=P19-@DO19,P20=P20-@DO20,P21=P21-@DO21,P22=P22-@DO22,P23=P23-@DO23,P24=P24-@DO24, P25=P25-@DO25,P26=P26-@DO26,P27=P27-@DO27,P28=P28-@DO28,P29=P29-@DO29,P30=P30-@DO30,P31=P31-@DO31,P32=P32-@DO32, P33=P33-@DO33,P34=P34-@DO34,P35=P35-@DO35,P36=P36-@DO36,P37=P37-@DO37,P38=P38-@DO38,P39=P39-@DO39,P40=P40-@DO40, P41=P41-@DO41,P42=P42-@DO42,P43=P43-@DO43,P44=P44-@DO44,P45=P45-@DO45,P46=P46-@DO46,P47=P47-@DO47,P48=P48-@DO48 WHERE ORDEM_PRODUCAO=@insordem_producao AND PRODUTO = @insproduto AND COR_PRODUTO =@inscor_produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL-(@DQtde_o),QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO-(@DQtde_o) WHERE ORDEM_PRODUCAO=@insordem_producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = QTDE_PERDAS -(@DQtde_o), QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) ,QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-(@DQtde_o) WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = QTDE_PERDAS -(@DQtde_o), QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) ,QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-(@DQtde_o) WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = QTDE_PREVISTA*@DCusto WHERE SEQUENCIA_PRODUTIVA=@DSEQ_PRO AND SEQUENCIA_ANTERIOR=@DSEQ_ANT and ORDEM_PRODUCAO=@insordem_producao UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS-(@DQtde_o),QTDE_PREVISTA = QTDE_PREVISTA-(@DQtde_o) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR-(@DQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@dSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@dSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO group by FASE_PRODUCAO+SETOR_PRODUCAO) IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = QTDE_FINALIZADA*@DCusto WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = QTDE_FINALIZADA*@DCusto WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) DELETE PRODUCAO_OS_ANTERIOR where TAREFA = @instarefa and ORDEM_SERVICO = @insordem_servico and ORDEM_PRODUCAO=@insordem_producao AND PRODUTO =@insproduto AND COR_PRODUTO =@inscor_produto Select @DTotal=sum(qtde_p) From producao_ordem_cor Where ORDEM_PRODUCAO=@insordem_producao Group by ordem_producao If (@DTotal = 0) begin Update producao_ordem Set qtde_em_producao = @DTotal, Status = ''E'',encerramento = @DDATA_OS Where ORDEM_PRODUCAO=@insordem_producao UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @DDATA_OS WHERE TAREFA = @instarefa UPDATE PRODUCAO_RESERVA SET RESERVA = 0 , DIFERENCA_PREVISAO =RESERVA_ORIGINAL - consumida Where ORDEM_PRODUCAO=@insordem_producao end if (@DTotal <> 0) begin Update producao_ordem Set qtde_em_producao = @DTotal, Status = ''P'',encerramento = null Where ORDEM_PRODUCAO=@insordem_producao UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE TAREFA = @instarefa UPDATE PRODUCAO_RESERVA SET RESERVA = CASE WHEN (RESERVA_ORIGINAL - consumida < 0) THEN 0 ELSE (RESERVA_ORIGINAL - consumida ) END, DIFERENCA_PREVISAO = CASE WHEN (RESERVA_ORIGINAL - consumida > 0) THEN 0 ELSE RESERVA_ORIGINAL - consumida END Where ORDEM_PRODUCAO=@insordem_producao end END /* @DIndicador_Tipo_Mov = 4 */ /* Movimento retorno */ IF @DIndicador_Tipo_Mov = 5 BEGIN SELECT @DDATA_OS=INICIO_REAl FROM PRODUCAO_TAREFAS WHERE TAREFA = @dtarefa_anterior IF @dtarefa_paralela is not null begin IF (SELECT count(*) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA = @instarefa and Ordem_Servico = @insordem_servico and Ordem_Producao = @insordem_producao and Produto = @insproduto and Cor_Produto = @inscor_produto) >0 SELECT @DDESCONTO_APLICADO = DESCONTO_APLICADO , @DVALOR_CREDITADO=VALOR_CREDITADO FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA = @instarefa and Ordem_Servico = @insordem_servico and Ordem_Producao = @insordem_producao and Produto = @insproduto and Cor_Produto = @inscor_produto ELSE UPDATE PRODUCAO_TAREFAS SET DESCONTOS_TAREFA=DESCONTOS_TAREFA-@DDESCONTO_APLICADO, VALOR_TAREFA =VALOR_TAREFA-@DVALOR_CREDITADO WHERE TAREFA = @instarefa IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@instarefa AND QTDE_FINALIZADA = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE Tarefa=@instarefa end UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO-@DQtde_O, QTDE_FINALIZADA =QTDE_FINALIZADA +@DQtde_O, -- INICIO_REAl=INICIO_PREVISTO,ENCERRAMENTO=@DDATA_OS, CUSTO_TAREFA =@DCUSTO_PREVISTO WHERE TAREFA = @instarefa UPDATE PRODUCAO_TAREFAS SET QTDE_A_PRODUZIR = QTDE_A_PRODUZIR-@DQtde_o, QTDE_FINALIZADA = QTDE_FINALIZADA+@DQtde_o WHERE TAREFA = @dtarefa_anterior -- Texto adicionado em 25/07/01 por Szalontai DECLARE @INSSEQINICIAL char(10), @INSSEQFINAL char(10) SELECT @INSSEQINICIAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA SELECT @INSSEQFINAL = SEQUENCIA_PRODUTIVA FROM PRODUCAO_TAREFAS WHERE TAREFA = @dTAREFA_anterior UPDATE PRODUCAO_TAREFAS SET QTDE_FINALIZADA = QTDE_FINALIZADA+@DQtde_o, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR-@DQtde_o, INICIO_REAl =INICIO_PREVISTO, ENCERRAMENTO = @DDATA_OS WHERE ORDEM_PRODUCAO =@INSORDEM_PRODUCAO AND SEQUENCIA_PRODUTIVA > @INSSEQINICIAL and SEQUENCIA_PRODUTIVA < @INSSEQFINAL -- Fim do texto adicionado em 25/07/01 por Szalontai IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto AND S1 -@DO1 =0 AND S2 -@DO2 =0 AND S3 -@DO3 =0 AND S4 -@DO4 =0 AND S5 -@DO5 =0 AND S6 -@DO6 =0 AND S7 -@DO7 =0 AND S8 -@DO8 =0 AND S9 -@DO9 =0 AND S10-@DO10=0 AND S11-@DO11=0 AND S12-@DO12=0 AND S13-@DO13=0 AND S14-@DO14=0 AND S15-@DO15=0 AND S16-@DO16=0 AND S17-@DO17=0 AND S18-@DO18=0 AND S19-@DO19=0 AND S20-@DO20=0 AND S21-@DO21=0 AND S22-@DO22=0 AND S23-@DO23=0 AND S24-@DO24=0 AND S25-@DO25=0 AND S26-@DO26=0 AND S27-@DO27=0 AND S28-@DO28=0 AND S29-@DO29=0 AND S30-@DO30=0 AND S31-@DO31=0 AND S32-@DO32=0 AND S33-@DO33=0 AND S34-@DO34=0 AND S35-@DO35=0 AND S36-@DO36=0 AND S37-@DO37=0 AND S38-@DO38=0 AND S39-@DO39=0 AND S40-@DO40=0 AND S41-@DO41=0 AND S42-@DO42=0 AND S43-@DO43=0 AND S44-@DO44=0 AND S45-@DO45=0 AND S46-@DO46=0 AND S47-@DO47=0 AND S48-@DO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@DQtde_O, S1 =S1 -@DO1 ,S2 =S2 -@DO2 ,S3 =S3 -@DO3 ,S4 =S4 -@DO4 ,S5 =S5 -@DO5 ,S6 =S6 -@DO6 ,S7 =S7 -@DO7 ,S8 =S8 -@DO8 , S9 =S9 -@DO9 ,S10=S10-@DO10,S11=S11-@DO11,S12=S12-@DO12,S13=S13-@DO13,S14=S14-@DO14,S15=S15-@DO15,S16=S16-@DO16, S17=S17-@DO17,S18=S18-@DO18,S19=S19-@DO19,S20=S20-@DO20,S21=S21-@DO21,S22=S22-@DO22,S23=S23-@DO23,S24=S24-@DO24, S25=S25-@DO25,S26=S26-@DO26,S27=S27-@DO27,S28=S28-@DO28,S29=S29-@DO29,S30=S30-@DO30,S31=S31-@DO31,S32=S32-@DO32, S33=S33-@DO33,S34=S34-@DO34,S35=S35-@DO35,S36=S36-@DO36,S37=S37-@DO37,S38=S38-@DO38,S39=S39-@DO39,S40=S40-@DO40, S41=S41-@DO41,S42=S42-@DO42,S43=S43-@DO43,S44=S44-@DO44,S45=S45-@DO45,S46=S46-@DO46,S47=S47-@DO47,S48=S48-@DO48 WHERE Tarefa=@instarefa AND Ordem_Producao=@insordem_producao AND Produto=@insproduto AND Cor_Produto=@inscor_produto DELETE PRODUCAO_OS_ANTERIOR where TAREFA = @instarefa and ORDEM_SERVICO = @insordem_servico and ORDEM_PRODUCAO=@insordem_producao AND PRODUTO =@insproduto AND COR_PRODUTO =@inscor_produto END /* @DIndicador_Tipo_Mov = 5 */ FETCH NEXT FROM CurDelete_Producao_Os_Tarefa INTO @instarefa, @insordem_producao, @insproduto, @inscor_produto,@DQtde_O, @DO1 ,@DO2 ,@DO3 ,@DO4 ,@DO5 ,@DO6 ,@DO7 ,@DO8 ,@DO9 ,@DO10,@DO11,@DO12, @DO13,@DO14,@DO15,@DO16,@DO17,@DO18,@DO19,@DO20,@DO21,@DO22,@DO23,@DO24, @DO25,@DO26,@DO27,@DO28,@DO29,@DO30,@DO31,@DO32,@DO33,@DO34,@DO35,@DO36, @DO37,@DO38,@DO39,@DO40,@DO41,@DO42,@DO43,@DO44,@DO45,@DO46,@DO47,@DO48, @DCUSTO_PREVISTO,@DIndicador_tipo_Mov,@insordem_servico,@dtarefa_paralela END /* @@fetch_status = 0 */ END /* @@rowcount >= 0 */ CLOSE CurDelete_Producao_Os_Tarefa DEALLOCATE CurDelete_Producao_Os_Tarefa /*---------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS_TAREFAS] on [PRODUCAO_OS_TAREFAS] for INSERT as /* INSERT trigger on PRODUCAO_OS_TAREFAS */ /* default body for LXI_PRODUCAO_OS_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insTAREFA_ANTERIOR char(10), @insTAREFA_PARA CHAR(10), @insSEQ_PRO char(2), @insSEQ_ANT varchar(25), @insINDICADOR_TIPO_MOV smallint, @insQTDE_O QTDE_PRODUTO, @insO1 QTDE_PRODUTO, @insO2 QTDE_PRODUTO, @insO3 QTDE_PRODUTO, @insO4 QTDE_PRODUTO, @insO5 QTDE_PRODUTO, @insO6 QTDE_PRODUTO, @insO7 QTDE_PRODUTO, @insO8 QTDE_PRODUTO, @insO9 QTDE_PRODUTO, @insO10 QTDE_PRODUTO, @insO11 QTDE_PRODUTO, @insO12 QTDE_PRODUTO, @insO13 QTDE_PRODUTO, @insO14 QTDE_PRODUTO, @insO15 QTDE_PRODUTO, @insO16 QTDE_PRODUTO, @insO17 QTDE_PRODUTO, @insO18 QTDE_PRODUTO, @insO19 QTDE_PRODUTO, @insO20 QTDE_PRODUTO, @insO21 QTDE_PRODUTO, @insO22 QTDE_PRODUTO, @insO23 QTDE_PRODUTO, @insO24 QTDE_PRODUTO, @insO25 QTDE_PRODUTO, @insO26 QTDE_PRODUTO, @insO27 QTDE_PRODUTO, @insO28 QTDE_PRODUTO, @insO29 QTDE_PRODUTO, @insO30 QTDE_PRODUTO, @insO31 QTDE_PRODUTO, @insO32 QTDE_PRODUTO, @insO33 QTDE_PRODUTO, @insO34 QTDE_PRODUTO, @insO35 QTDE_PRODUTO, @insO36 QTDE_PRODUTO, @insO37 QTDE_PRODUTO, @insO38 QTDE_PRODUTO, @insO39 QTDE_PRODUTO, @insO40 QTDE_PRODUTO, @insO41 QTDE_PRODUTO, @insO42 QTDE_PRODUTO, @insO43 QTDE_PRODUTO, @insO44 QTDE_PRODUTO, @insO45 QTDE_PRODUTO, @insO46 QTDE_PRODUTO, @insO47 QTDE_PRODUTO, @insO48 QTDE_PRODUTO, @insTotal NUMERIC(14,2), @insCUSTO_PREVISTO NUMERIC(14,2), @insCusto NUMERIC(14,2), @insDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_TAREFAS R/1655 PRODUCAO_OS_TAREFAS ON CHILD INSERT RESTRICT */ if update(TAREFA_PARALELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA_PARALELA = PRODUCAO_TAREFAS.TAREFA select @nullcnt = count(*) from inserted where inserted.TAREFA_PARALELA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUCAO_ORDEM_COR R/1592 PRODUCAO_OS_TAREFAS ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1536 PRODUCAO_OS_TAREFAS ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1535 PRODUCAO_OS_TAREFAS ON CHILD INSERT RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO - VERIFICA SE AS COLUNAS RECURSO, FASE E SETOR SAO AS MESMAS DA PRODUCAO_TAREFAS */ select @nullcnt = 0 select @validcnt = count(*) from inserted a inner join PRODUCAO_ORDEM_SERVICO B on a.ORDEM_SERVICO = b.ORDEM_SERVICO inner join PRODUCAO_TAREFAS C on b.RECURSO_PRODUTIVO = c.RECURSO_PRODUTIVO and b.FASE_PRODUCAO = c.FASE_PRODUCAO and b.SETOR_PRODUCAO = c.SETOR_PRODUCAO and a.ORDEM_PRODUCAO = c.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #RECURSO, #FASE, #SETOR #estão diferente de #PRODUCAO_TAREFAS.'' goto error end /*--TRIGGER DE INSERT - PRODUCAO_OS_TAREFAS --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurInsert_Producao_Os_Tarefa CURSOR FOR SELECT Tarefa, ORDEM_SERVICO,Ordem_Producao, Produto, Cor_Produto, INDICADOR_TIPO_MOV,ISNULL(Qtde_O,0), ISNULL(O1,0) ,ISNULL(O2,0) ,ISNULL(O3,0) ,ISNULL(O4,0) ,ISNULL(O5,0) ,ISNULL(O6,0) ,ISNULL(O7,0) ,ISNULL(O8,0) ,ISNULL(O9,0) ,ISNULL(O10,0),ISNULL(O11,0),ISNULL(O12,0), ISNULL(O13,0),ISNULL(O14,0),ISNULL(O15,0),ISNULL(O16,0),ISNULL(O17,0),ISNULL(O18,0),ISNULL(O19,0),ISNULL(O20,0),ISNULL(O21,0),ISNULL(O22,0),ISNULL(O23,0),ISNULL(O24,0), ISNULL(O25,0),ISNULL(O26,0),ISNULL(O27,0),ISNULL(O28,0),ISNULL(O29,0),ISNULL(O30,0),ISNULL(O31,0),ISNULL(O32,0),ISNULL(O33,0),ISNULL(O34,0),ISNULL(O35,0),ISNULL(O36,0), ISNULL(O37,0),ISNULL(O38,0),ISNULL(O39,0),ISNULL(O40,0),ISNULL(O41,0),ISNULL(O42,0),ISNULL(O43,0),ISNULL(O44,0),ISNULL(O45,0),ISNULL(O46,0),ISNULL(O47,0),ISNULL(O48,0), ISNULL(CUSTO_PREVISTO,0) FROM INSERTED OPEN CurInsert_Producao_Os_Tarefa FETCH NEXT FROM CurInsert_Producao_Os_Tarefa INTO @insTarefa, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto, @insCor_Produto,@insINDICADOR_TIPO_MOV,@insQtde_O, @insO1 ,@insO2 ,@insO3 ,@insO4 ,@insO5 ,@insO6 ,@insO7 ,@insO8 ,@insO9 ,@insO10,@insO11,@insO12, @insO13,@insO14,@insO15,@insO16,@insO17,@insO18,@insO19,@insO20,@insO21,@insO22,@insO23,@insO24, @insO25,@insO26,@insO27,@insO28,@insO29,@insO30,@insO31,@insO32,@insO33,@insO34,@insO35,@insO36, @insO37,@insO38,@insO39,@insO40,@insO41,@insO42,@insO43,@insO44,@insO45,@insO46,@insO47,@insO48, @insCUSTO_PREVISTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insDATA_OS=DATA FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO /* Movimento Normal */ IF @insIndicador_Tipo_Mov = 1 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+@InsQtde_O, QTDE_A_PRODUZIR =QTDE_A_PRODUZIR -@InsQtde_O, INICIO_REAl =@insDATA_OS, CUSTO_TAREFA =@insCUSTO_PREVISTO WHERE TAREFA = @insTarefa /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) END /* IF @insIndicador_Tipo_Mov = 1 */ /* Alteracao de PCP ou Perda */ IF @insIndicador_Tipo_Mov = 2 BEGIN SELECT @insSeq_Pro=Sequencia_Produtiva,@insSeq_ANT=Sequencia_Anterior, @insCusto = (VALOR_TAREFA+DESCONTOS_TAREFA)/(qtde_finalizada) FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 BEGIN IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND Tarefa IN (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) END IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)=0 BEGIN SELECT @insTAREFA_PARA = (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@insTAREFA_PARA,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) END UPDATE PRODUCAO_ORDEM_COR SET ALTERACAO_DE_PROGRAMACAO=ALTERACAO_DE_PROGRAMACAO+@insQtde_o,QTDE_O =QTDE_O+(@insQtde_o),QTDE_P = QTDE_P+(@insQtde_o), O1 =O1 +@InsO1 ,O2 =O2 +@InsO2 ,O3 =O3 +@InsO3 ,O4 =O4 +@InsO4 ,O5 =O5 +@InsO5 ,O6 =O6 +@InsO6 ,O7 =O7 +@InsO7 ,O8 =O8 +@InsO8, O9 =O9 +@InsO9 ,O10=O10+@InsO10,O11=O11+@InsO11,O12=O12+@InsO12,O13=O13+@InsO13,O14=O14+@InsO14,O15=O15+@InsO15,O16=O16+@InsO16, O17=O17+@InsO17,O18=O18+@InsO18,O19=O19+@InsO19,O20=O20+@InsO20,O21=O21+@InsO21,O22=O22+@InsO22,O23=O23+@InsO23,O24=O24+@InsO24, O25=O25+@InsO25,O26=O26+@InsO26,O27=O27+@InsO27,O28=O28+@InsO28,O29=O29+@InsO29,O30=O30+@InsO30,O31=O31+@InsO31,O32=O32+@InsO32, O33=O33+@InsO33,O34=O34+@InsO34,O35=O35+@InsO35,O36=O36+@InsO36,O37=O37+@InsO37,O38=O38+@InsO38,O39=O39+@InsO39,O40=O40+@InsO40, O41=O41+@InsO41,O42=O42+@InsO42,O43=O43+@InsO43,O44=O44+@InsO44,O45=O45+@InsO45,O46=O46+@InsO46,O47=O47+@InsO47,O48=O48+@InsO48, P1 =P1 +@InsO1 ,P2 =P2 +@InsO2 ,P3 =P3 +@InsO3 ,P4 =P4 +@InsO4 ,P5 =P5 +@InsO5 ,P6 =P6 +@InsO6 ,P7 =P7 +@InsO7 ,P8 =p8 +@InsO8, P9 =P9 +@InsO9 ,P10=P10+@InsO10,P11=P11+@InsO11,P12=P12+@InsO12,P13=P13+@InsO13,P14=P14+@InsO14,P15=P15+@InsO15,P16=p16+@InsO16, P17=P17+@InsO17,P18=P18+@InsO18,P19=P19+@InsO19,P20=P20+@InsO20,P21=P21+@InsO21,P22=P22+@InsO22,P23=P23+@InsO23,P24=p24+@InsO24, P25=P25+@InsO25,P26=P26+@InsO26,P27=P27+@InsO27,P28=P28+@InsO28,P29=P29+@InsO29,P30=P30+@InsO30,P31=P31+@InsO31,P32=p32+@InsO32, P33=P33+@InsO33,P34=P34+@InsO34,P35=P35+@InsO35,P36=P36+@InsO36,P37=P37+@InsO37,P38=P38+@InsO38,P39=P39+@InsO39,P40=p40+@InsO40, P41=P41+@InsO41,P42=P42+@InsO42,P43=P43+@InsO43,P44=P44+@InsO44,P45=P45+@InsO45,P46=P46+@InsO46,P47=P47+@InsO47,P48=p48+@InsO48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL+(@insQtde_o), QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO+(@insQtde_o) WHERE ORDEM_PRODUCAO=@insOrdem_Producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@insQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@insSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@insSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO and c.qtde_a_produzir>0 group by FASE_PRODUCAO+SETOR_PRODUCAO) UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = (qtde_finalizada)*isnull(@insCusto,0) WHERE SEQUENCIA_PRODUTIVA=@insSEQ_PRO AND SEQUENCIA_ANTERIOR=@insSEQ_ANT and ORDEM_PRODUCAO=@insOrdem_Producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa AND qtde_finalizada=qtde_prevista)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS WHERE Tarefa=@insTarefa END /* IF @insIndicador_Tipo_Mov = 2 */ /* Lavagem */ IF @insIndicador_Tipo_Mov = 3 BEGIN IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA = @insTarefa and ORDEM_SERVICO = @insORDEM_SERVICO and ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO =@InsProduto AND COR_ANTERIOR =@InsCor_Produto) = 0 BEGIN SELECT @insDATA_OS=DATA FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+@InsQtde_O, QTDE_A_PRODUZIR =QTDE_A_PRODUZIR -@InsQtde_O, INICIO_REAl =@insDATA_OS, CUSTO_TAREFA =@insCUSTO_PREVISTO WHERE TAREFA = @insTarefa /*- Atualizo a cor_atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) END END /* IF @insIndicador_Tipo_Mov = 3 */ /* Alteracao de PCP ou Perda */ IF @insIndicador_Tipo_Mov = 4 BEGIN SELECT @insSeq_Pro=Sequencia_Produtiva,@insSeq_ANT=Sequencia_Anterior, @insCusto = (VALOR_TAREFA+DESCONTOS_TAREFA)/(qtde_finalizada) FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 +@insO1 =0 AND S2 +@insO2 =0 AND S3 +@insO3 =0 AND S4 +@insO4 =0 AND S5 +@insO5 =0 AND S6 +@insO6 =0 AND S7 +@insO7 =0 AND S8 +@insO8 =0 AND S9 +@insO9 =0 AND S10+@insO10=0 AND S11+@insO11=0 AND S12+@insO12=0 AND S13+@insO13=0 AND S14+@insO14=0 AND S15+@insO15=0 AND S16+@insO16=0 AND S17+@insO17=0 AND S18+@insO18=0 AND S19+@insO19=0 AND S20+@insO20=0 AND S21+@insO21=0 AND S22+@insO22=0 AND S23+@insO23=0 AND S24+@insO24=0 AND S25+@insO25=0 AND S26+@insO26=0 AND S27+@insO27=0 AND S28+@insO28=0 AND S29+@insO29=0 AND S30+@insO30=0 AND S31+@insO31=0 AND S32+@insO32=0 AND S33+@insO33=0 AND S34+@insO34=0 AND S35+@insO35=0 AND S36+@insO36=0 AND S37+@insO37=0 AND S38+@insO38=0 AND S39+@insO39=0 AND S40+@insO40=0 AND S41+@insO41=0 AND S42+@insO42=0 AND S43+@insO43=0 AND S44+@insO44=0 AND S45+@insO45=0 AND S46+@insO46=0 AND S47+@insO47=0 AND S48+@insO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@insO1 ,S2 =S2 +@insO2 ,S3 =S3 +@insO3 ,S4 =S4 +@insO4 ,S5 =S5 +@insO5 ,S6 =S6 +@insO6 ,S7 =S7 +@insO7 ,S8 =S8 +@insO8 , S9 =S9 +@insO9 ,S10=S10+@insO10,S11=S11+@insO11,S12=S12+@insO12,S13=S13+@insO13,S14=S14+@insO14,S15=S15+@insO15,S16=S16+@insO16, S17=S17+@insO17,S18=S18+@insO18,S19=S19+@insO19,S20=S20+@insO20,S21=S21+@insO21,S22=S22+@insO22,S23=S23+@insO23,S24=S24+@insO24, S25=S25+@insO25,S26=S26+@insO26,S27=S27+@insO27,S28=S28+@insO28,S29=S29+@insO29,S30=S30+@insO30,S31=S31+@insO31,S32=S32+@insO32, S33=S33+@insO33,S34=S34+@insO34,S35=S35+@insO35,S36=S36+@insO36,S37=S37+@insO37,S38=S38+@insO38,S39=S39+@insO39,S40=S40+@insO40, S41=S41+@insO41,S42=S42+@insO42,S43=S43+@insO43,S44=S44+@insO44,S45=S45+@insO45,S46=S46+@insO46,S47=S47+@insO47,S48=S48+@insO48 WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@insO1 ,S2 =S2 +@insO2 ,S3 =S3 +@insO3 ,S4 =S4 +@insO4 ,S5 =S5 +@insO5 ,S6 =S6 +@insO6 ,S7 =S7 +@insO7 ,S8 =S8 +@insO8 , S9 =S9 +@insO9 ,S10=S10+@insO10,S11=S11+@insO11,S12=S12+@insO12,S13=S13+@insO13,S14=S14+@insO14,S15=S15+@insO15,S16=S16+@insO16, S17=S17+@insO17,S18=S18+@insO18,S19=S19+@insO19,S20=S20+@insO20,S21=S21+@insO21,S22=S22+@insO22,S23=S23+@insO23,S24=S24+@insO24, S25=S25+@insO25,S26=S26+@insO26,S27=S27+@insO27,S28=S28+@insO28,S29=S29+@insO29,S30=S30+@insO30,S31=S31+@insO31,S32=S32+@insO32, S33=S33+@insO33,S34=S34+@insO34,S35=S35+@insO35,S36=S36+@insO36,S37=S37+@insO37,S38=S38+@insO38,S39=S39+@insO39,S40=S40+@insO40, S41=S41+@insO41,S42=S42+@insO42,S43=S43+@insO43,S44=S44+@insO44,S45=S45+@insO45,S46=S46+@insO46,S47=S47+@insO47,S48=S48+@insO48 WHERE Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND Tarefa IN (SELECT TAREFA FROM PRODUCAO_TAREFAS WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa )) UPDATE PRODUCAO_ORDEM_COR SET PERDAS_NO_PROCESSO=PERDAS_NO_PROCESSO+@insQtde_o,QTDE_O =QTDE_O+(@insQtde_o),QTDE_P = QTDE_P+(@insQtde_o), O1 =O1 +@InsO1 ,O2 =O2 +@InsO2 ,O3 =O3 +@InsO3 ,O4 =O4 +@InsO4 ,O5 =O5 +@InsO5 ,O6 =O6 +@InsO6 ,O7 =O7 +@InsO7 ,O8 =O8 +@InsO8, O9 =O9 +@InsO9 ,O10=O10+@InsO10,O11=O11+@InsO11,O12=O12+@InsO12,O13=O13+@InsO13,O14=O14+@InsO14,O15=O15+@InsO15,O16=O16+@InsO16, O17=O17+@InsO17,O18=O18+@InsO18,O19=O19+@InsO19,O20=O20+@InsO20,O21=O21+@InsO21,O22=O22+@InsO22,O23=O23+@InsO23,O24=O24+@InsO24, O25=O25+@InsO25,O26=O26+@InsO26,O27=O27+@InsO27,O28=O28+@InsO28,O29=O29+@InsO29,O30=O30+@InsO30,O31=O31+@InsO31,O32=O32+@InsO32, O33=O33+@InsO33,O34=O34+@InsO34,O35=O35+@InsO35,O36=O36+@InsO36,O37=O37+@InsO37,O38=O38+@InsO38,O39=O39+@InsO39,O40=O40+@InsO40, O41=O41+@InsO41,O42=O42+@InsO42,O43=O43+@InsO43,O44=O44+@InsO44,O45=O45+@InsO45,O46=O46+@InsO46,O47=O47+@InsO47,O48=O48+@InsO48, P1 =P1 +@InsO1 ,P2 =P2 +@InsO2 ,P3 =P3 +@InsO3 ,P4 =P4 +@InsO4 ,P5 =P5 +@InsO5 ,P6 =P6 +@InsO6 ,P7 =P7 +@InsO7 ,P8 =p8 +@InsO8, P9 =P9 +@InsO9 ,P10=P10+@InsO10,P11=P11+@InsO11,P12=P12+@InsO12,P13=P13+@InsO13,P14=P14+@InsO14,P15=P15+@InsO15,P16=p16+@InsO16, P17=P17+@InsO17,P18=P18+@InsO18,P19=P19+@InsO19,P20=P20+@InsO20,P21=P21+@InsO21,P22=P22+@InsO22,P23=P23+@InsO23,P24=p24+@InsO24, P25=P25+@InsO25,P26=P26+@InsO26,P27=P27+@InsO27,P28=P28+@InsO28,P29=P29+@InsO29,P30=P30+@InsO30,P31=P31+@InsO31,P32=p32+@InsO32, P33=P33+@InsO33,P34=P34+@InsO34,P35=P35+@InsO35,P36=P36+@InsO36,P37=P37+@InsO37,P38=P38+@InsO38,P39=P39+@InsO39,P40=p40+@InsO40, P41=P41+@InsO41,P42=P42+@InsO42,P43=P43+@InsO43,P44=P44+@InsO44,P45=P45+@InsO45,P46=P46+@InsO46,P47=P47+@InsO47,P48=p48+@InsO48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL+(@insQtde_o), QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO+(@insQtde_o) WHERE ORDEM_PRODUCAO=@insOrdem_Producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = QTDE_PERDAS +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = QTDE_PERDAS +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@insQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@insSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@insSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO and c.qtde_a_produzir>0 group by FASE_PRODUCAO+SETOR_PRODUCAO) Select @insTotal=sum(qtde_p) From producao_ordem_cor Where ORDEM_PRODUCAO=@insOrdem_Producao Group by ordem_producao /*calculo do valor da tarefa */ IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE TAREFA =@instarefa AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = (qtde_finalizada-QTDE_PERDAS)*isnull(@insCusto,0) WHERE TAREFA = @instarefa ELSE UPDATE PRODUCAO_TAREFAS SET VALOR_TAREFA = (qtde_finalizada-QTDE_PERDAS)*isnull(@insCusto,0) WHERE SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO IN(SELECT SEQUENCIA_PRODUTIVA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE TAREFA = @instarefa ) If (@INSTotal = 0) begin Update producao_ordem Set qtde_em_producao = @insTotal, Status = ''E'', encerramento = @insDATA_OS Where ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS WHERE TAREFA = @insTarefa UPDATE PRODUCAO_RESERVA SET RESERVA = 0 , DIFERENCA_PREVISAO =RESERVA_ORIGINAL - consumida Where ORDEM_PRODUCAO=@insOrdem_Producao end if (@INSTotal <> 0) begin Update producao_ordem Set qtde_em_producao = @INSTotal, Status = ''P'', encerramento = null Where ORDEM_PRODUCAO=@insOrdem_Producao IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa AND qtde_finalizada=qtde_prevista)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS WHERE Tarefa=@insTarefa else UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = null WHERE TAREFA = @insTarefa UPDATE PRODUCAO_RESERVA SET RESERVA = CASE WHEN (RESERVA_ORIGINAL - consumida > 0 AND MATAR_SALDO_RESERVA=0) THEN (RESERVA_ORIGINAL - consumida ) ELSE 0 END, DIFERENCA_PREVISAO = CASE WHEN (RESERVA_ORIGINAL - consumida < 0 OR MATAR_SALDO_RESERVA=1) THEN (RESERVA_ORIGINAL - consumida) ELSE 0 END Where ORDEM_PRODUCAO=@insOrdem_Producao end END /* IF @insIndicador_Tipo_Mov = 4 */ /* Movimento Retorno */ IF @insIndicador_Tipo_Mov = 5 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+@InsQtde_O, QTDE_FINALIZADA =QTDE_FINALIZADA -@InsQtde_O, -- INICIO_REAl =@insDATA_OS, ENCERRAMENTO = null, CUSTO_TAREFA =@insCUSTO_PREVISTO WHERE TAREFA = @insTarefa /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) END /* IF @insIndicador_Tipo_Mov = 5 */ FETCH NEXT FROM CurInsert_Producao_Os_Tarefa INTO @insTarefa, @insORDEM_SERVICO,@insOrdem_Producao, @insProduto, @insCor_Produto,@insINDICADOR_TIPO_MOV,@insQtde_O, @insO1 ,@insO2 ,@insO3 ,@insO4 ,@insO5 ,@insO6 ,@insO7 ,@insO8 ,@insO9 ,@insO10,@insO11,@insO12, @insO13,@insO14,@insO15,@insO16,@insO17,@insO18,@insO19,@insO20,@insO21,@insO22,@insO23,@insO24, @insO25,@insO26,@insO27,@insO28,@insO29,@insO30,@insO31,@insO32,@insO33,@insO34,@insO35,@insO36, @insO37,@insO38,@insO39,@insO40,@insO41,@insO42,@insO43,@insO44,@insO45,@insO46,@insO47,@insO48, @insCUSTO_PREVISTO END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurInsert_Producao_Os_Tarefa DEALLOCATE CurInsert_Producao_Os_Tarefa /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_TAREFAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_PRODUCAO_OS_TAREFAS] on [PRODUCAO_OS_TAREFAS] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_TAREFAS */ /* default body for LXU_PRODUCAO_OS_TAREFAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTAREFA char(10), @insORDEM_SERVICO char(8), @insORDEM_PRODUCAO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delTAREFA char(10), @delORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @insTAREFA_ANTERIOR char(10), @insTAREFA_PARA CHAR(10), @insSEQ_PRO char(2), @insSEQ_ANT varchar(25), @insCOR_ANTERIOR char(10), @insINDICADOR_TIPO_MOV smallint, @insQTDE_O QTDE_PRODUTO, @insO1 QTDE_PRODUTO, @insO2 QTDE_PRODUTO, @insO3 QTDE_PRODUTO, @insO4 QTDE_PRODUTO, @insO5 QTDE_PRODUTO, @insO6 QTDE_PRODUTO, @insO7 QTDE_PRODUTO, @insO8 QTDE_PRODUTO, @insO9 QTDE_PRODUTO, @insO10 QTDE_PRODUTO, @insO11 QTDE_PRODUTO, @insO12 QTDE_PRODUTO, @insO13 QTDE_PRODUTO, @insO14 QTDE_PRODUTO, @insO15 QTDE_PRODUTO, @insO16 QTDE_PRODUTO, @insO17 QTDE_PRODUTO, @insO18 QTDE_PRODUTO, @insO19 QTDE_PRODUTO, @insO20 QTDE_PRODUTO, @insO21 QTDE_PRODUTO, @insO22 QTDE_PRODUTO, @insO23 QTDE_PRODUTO, @insO24 QTDE_PRODUTO, @insO25 QTDE_PRODUTO, @insO26 QTDE_PRODUTO, @insO27 QTDE_PRODUTO, @insO28 QTDE_PRODUTO, @insO29 QTDE_PRODUTO, @insO30 QTDE_PRODUTO, @insO31 QTDE_PRODUTO, @insO32 QTDE_PRODUTO, @insO33 QTDE_PRODUTO, @insO34 QTDE_PRODUTO, @insO35 QTDE_PRODUTO, @insO36 QTDE_PRODUTO, @insO37 QTDE_PRODUTO, @insO38 QTDE_PRODUTO, @insO39 QTDE_PRODUTO, @insO40 QTDE_PRODUTO, @insO41 QTDE_PRODUTO, @insO42 QTDE_PRODUTO, @insO43 QTDE_PRODUTO, @insO44 QTDE_PRODUTO, @insO45 QTDE_PRODUTO, @insO46 QTDE_PRODUTO, @insO47 QTDE_PRODUTO, @insO48 QTDE_PRODUTO, @insDESCONTO_APLICADO NUMERIC(14,2), @insVALOR_CREDITADO NUMERIC(14,2), @insCUSTO_PREVISTO NUMERIC(14,2), @insDATA_OS DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_TAREFAS R/1655 PRODUCAO_OS_TAREFAS ON CHILD UPDATE RESTRICT */ if update(TAREFA_PARALELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA_PARALELA = PRODUCAO_TAREFAS.TAREFA select @nullcnt = count(*) from inserted where inserted.TAREFA_PARALELA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUCAO_ORDEM_COR R/1592 PRODUCAO_OS_TAREFAS ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_COR where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO and inserted.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO and inserted.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_ORDEM_COR #não existe.'' goto error end end /* PRODUCAO_ORDEM_SERVICO R/1536 PRODUCAO_OS_TAREFAS ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1535 PRODUCAO_OS_TAREFAS ON CHILD UPDATE RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_TAREFAS #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUCAO_OS_TAREFAS R/1591 PRODUCAO_OS_ANTERIOR ON PARENT UPDATE CASCADE */ IF update(TAREFA) OR update(ORDEM_SERVICO) OR update(ORDEM_PRODUCAO) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE PRODUCAO_OS_TAREFAS1585 CURSOR FOR SELECT TAREFA, ORDEM_SERVICO, ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE PRODUCAO_OS_TAREFAS938 CURSOR FOR SELECT TAREFA, ORDEM_SERVICO, ORDEM_PRODUCAO, PRODUTO, COR_PRODUTO FROM DELETED OPEN PRODUCAO_OS_TAREFAS1585 OPEN PRODUCAO_OS_TAREFAS938 FETCH NEXT FROM PRODUCAO_OS_TAREFAS1585 INTO @insTAREFA, @insORDEM_SERVICO, @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_OS_TAREFAS938 INTO @delTAREFA, @delORDEM_SERVICO, @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS_ANTERIOR SET PRODUCAO_OS_ANTERIOR.TAREFA=@insTAREFA, PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=@insORDEM_SERVICO, PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO=@insORDEM_PRODUCAO, PRODUCAO_OS_ANTERIOR.PRODUTO=@insPRODUTO, PRODUCAO_OS_ANTERIOR.COR_PRODUTO=@insCOR_PRODUTO WHERE PRODUCAO_OS_ANTERIOR.TAREFA = @delTAREFA and PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @delORDEM_SERVICO and PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO = @delORDEM_PRODUCAO and PRODUCAO_OS_ANTERIOR.PRODUTO = @delPRODUTO and PRODUCAO_OS_ANTERIOR.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM PRODUCAO_OS_TAREFAS1585 INTO @insTAREFA, @insORDEM_SERVICO, @insORDEM_PRODUCAO, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM PRODUCAO_OS_TAREFAS938 INTO @delTAREFA, @delORDEM_SERVICO, @delORDEM_PRODUCAO, @delPRODUTO, @delCOR_PRODUTO END END CLOSE PRODUCAO_OS_TAREFAS1585 CLOSE PRODUCAO_OS_TAREFAS938 DEALLOCATE PRODUCAO_OS_TAREFAS1585 DEALLOCATE PRODUCAO_OS_TAREFAS938 END /* PRODUCAO_ORDEM_SERVICO - VERIFICA SE AS COLUNAS RECURSO, FASE E SETOR SAO AS MESMAS DA PRODUCAO_TAREFAS */ select @nullcnt = 0 select @validcnt = count(*) from inserted a inner join PRODUCAO_ORDEM_SERVICO B on a.ORDEM_SERVICO = b.ORDEM_SERVICO inner join PRODUCAO_TAREFAS C on b.RECURSO_PRODUTIVO = c.RECURSO_PRODUTIVO and b.FASE_PRODUCAO = c.FASE_PRODUCAO and b.SETOR_PRODUCAO = c.SETOR_PRODUCAO and a.ORDEM_PRODUCAO = c.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERVICO #porque #RECURSO, #FASE, #SETOR #estão diferente de #PRODUCAO_TAREFAS.'' goto error end /*--TRIGGER DE UPDATE - PRODUCAO_OS_TAREFAS --*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurUpdate_Producao_Os_Tarefa CURSOR FOR SELECT A.Tarefa, A.Ordem_Servico,A.Ordem_Producao, A.Produto, A.Cor_Produto, SUM(Qtde_O), SUM(A.O1) ,SUM(A.O2) , SUM(A.O3) , SUM(A.O4) , SUM(A.O5) , SUM(A.O6) , SUM(A.O7) , SUM(A.O8) , SUM(A.O9) , SUM(A.O10) , SUM(A.O11) , SUM(A.O12) , SUM(A.O13) ,SUM(A.O14) , SUM(A.O15) , SUM(A.O16) , SUM(A.O17) , SUM(A.O18) , SUM(A.O19) , SUM(A.O20) , SUM(A.O21) , SUM(A.O22) , SUM(A.O23) , SUM(A.O24) , SUM(A.O25) ,SUM(A.O26) , SUM(A.O27) , SUM(A.O28) , SUM(A.O29) , SUM(A.O30) , SUM(A.O31) , SUM(A.O32) , SUM(A.O33) , SUM(A.O34) , SUM(A.O35) , SUM(A.O36) , SUM(A.O37) ,SUM(A.O38) , SUM(A.O39) , SUM(A.O40) , SUM(A.O41) , SUM(A.O42) , SUM(A.O43) , SUM(A.O44) , SUM(A.O45) , SUM(A.O46) , SUM(A.O47) , SUM(A.O48) , SUM(CONVERT(NUMERIC(14,2), A.CUSTO_PREVISTO )) ,A.Indicador_Tipo_Mov,TAREFA_PARALELA FROM (SELECT Tarefa, Ordem_Servico,Ordem_Producao, Produto, Cor_Produto, Qtde_O , O1 ,O2 , O3 , O4 , O5 , O6 , O7 , O8 , O9 , O10 , O11 , O12 , O13 , O14 , O15 , O16 , O17 , O18 , O19 , O20 , O21 , O22 , O23 , O24 , O25 , O26 , O27 , O28 , O29 , O30 , O31 , O32 , O33 , O34 , O35 , O36 , O37 , O38 , O39 , O40 , O41 , O42 , O43 , O44 , O45 , O46 , O47 , O48 , CONVERT(NUMERIC(14,2), CUSTO_PREVISTO )AS CUSTO_PREVISTO,Indicador_Tipo_Mov,TAREFA_PARALELA FROM INSERTED UNION SELECT Tarefa, Ordem_Servico,Ordem_Producao, Produto, Cor_Produto, (Qtde_O *-1) AS QTDE_O, (O1 *-1) AS O1, (O2 *-1) AS O2, (O3 *-1) AS O3, (O4 *-1) AS O4, (O5 *-1) AS O5, (O6 *-1) AS O6, (O7 *-1) AS O7, (O8 *-1) AS O8, (O9 *-1) AS O9, (O10 *-1) AS O10, (O11 *-1) AS O11, (O12 *-1) AS O12, (O13 *-1) AS O13,(O14 *-1) AS O14,(O15 *-1) AS O15,(O16 *-1) AS O16,(O17 *-1) AS O17, (O18 *-1) AS O18, (O19 *-1) AS O19, (O20 *-1) AS O20, (O21 *-1) AS O21, (O22 *-1) AS O22, (O23 *-1) AS O23, (O24 *-1) AS O24, (O25 *-1) AS O25,(O26 *-1) AS O26,(O27 *-1) AS O26,(O28 *-1) AS O28,(O29 *-1) AS O29, (O30 *-1) AS O30, (O31 *-1) AS O31, (O32 *-1) AS O32, (O33 *-1) AS O33, (O34 *-1) AS O34, (O35 *-1) AS O35, (O36 *-1) AS O36, (O37 *-1) AS O37,(O38 *-1) AS O38,(O39 *-1) AS O39,(O40 *-1) AS O40,(O41 *-1) AS O41, (O42 *-1) AS O42, (O43 *-1) AS O43, (O44 *-1) AS O44, (O45 *-1) AS O45, (O46 *-1) AS O46, (O47 *-1) AS O47, (O48 *-1) AS O48, CONVERT(NUMERIC(14,2), CUSTO_PREVISTO *-1) AS CUSTO_PREVISTO,Indicador_Tipo_Mov,TAREFA_PARALELA FROM DELETED ) A GROUP BY A.Tarefa, A.Ordem_Servico,A.Ordem_Producao, A.Produto, A.Cor_Produto,A.Indicador_Tipo_Mov,a.TAREFA_PARALELA OPEN CurUpdate_Producao_Os_Tarefa FETCH NEXT FROM CurUpdate_Producao_Os_Tarefa INTO @insTarefa, @insOrdem_Servico,@insOrdem_Producao, @insProduto, @insCor_Produto,@insQtde_O, @insO1 ,@insO2 ,@insO3 ,@insO4 ,@insO5 ,@insO6 ,@insO7 ,@insO8 ,@insO9 ,@insO10,@insO11,@insO12, @insO13,@insO14,@insO15,@insO16,@insO17,@insO18,@insO19,@insO20,@insO21,@insO22,@insO23,@insO24, @insO25,@insO26,@insO27,@insO28,@insO29,@insO30,@insO31,@insO32,@insO33,@insO34,@insO35,@insO36, @insO37,@insO38,@insO39,@insO40,@insO41,@insO42,@insO43,@insO44,@insO45,@insO46,@insO47,@insO48, @insCUSTO_PREVISTO,@insINDICADOR_TIPO_MOV,@insTAREFA_PARA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insCor_Anterior = Cor_Anterior,@insDesconto_Aplicado = Desconto_Aplicado, @insValor_Creditado = Valor_Creditado, @insTarefa_Anterior = Tarefa_Anterior from producao_os_anterior where TAREFA = @insTarefa and ORDEM_SERVICO = @insORDEM_SERVICO and ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO =@InsProduto AND COR_PRODUTO =@InsCor_Produto /* Movimento Normal */ IF @insINDICADOR_TIPO_MOV = 1 BEGIN SELECT @insDATA_OS=DATA FROM PRODUCAO_ORDEM_SERVICO WHERE ORDEM_SERVICO = @insORDEM_SERVICO UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO-(@insQtde_O), QTDE_FINALIZADA = QTDE_FINALIZADA+(@insQtde_O) WHERE TAREFA = @insTAREFA_anterior UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+(@InsQtde_O), QTDE_A_PRODUZIR =QTDE_A_PRODUZIR -(@InsQtde_O), INICIO_REAl =@insDATA_OS, CUSTO_TAREFA =@insCUSTO_PREVISTO WHERE TAREFA = @insTarefa /* Atualização da tarefa anterior*/ IF (SELECT COUNT(*) FROM PRODUCAO_TAREFAS WHERE Tarefa=@insTarefa_Anterior AND QTDE_EM_PROCESSO = 0)>0 UPDATE PRODUCAO_TAREFAS SET ENCERRAMENTO = @insDATA_OS WHERE Tarefa=@insTarefa_Anterior IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insO1 =0 AND S2 -@insO2 =0 AND S3 -@insO3 =0 AND S4 -@insO4 =0 AND S5 -@insO5 =0 AND S6 -@insO6 =0 AND S7 -@insO7 =0 AND S8 -@insO8 =0 AND S9 -@insO9 =0 AND S10-@insO10=0 AND S11-@insO11=0 AND S12-@insO12=0 AND S13-@insO13=0 AND S14-@insO14=0 AND S15-@insO15=0 AND S16-@insO16=0 AND S17-@insO17=0 AND S18-@insO18=0 AND S19-@insO19=0 AND S20-@insO20=0 AND S21-@insO21=0 AND S22-@insO22=0 AND S23-@insO23=0 AND S24-@insO24=0 AND S25-@insO25=0 AND S26-@insO26=0 AND S27-@insO27=0 AND S28-@insO28=0 AND S29-@insO29=0 AND S30-@insO30=0 AND S31-@insO31=0 AND S32-@insO32=0 AND S33-@insO33=0 AND S34-@insO34=0 AND S35-@insO35=0 AND S36-@insO36=0 AND S37-@insO37=0 AND S38-@insO38=0 AND S39-@insO39=0 AND S40-@insO40=0 AND S41-@insO41=0 AND S42-@insO42=0 AND S43-@insO43=0 AND S44-@insO44=0 AND S45-@insO45=0 AND S46-@insO46=0 AND S47-@insO47=0 AND S48-@insO48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde_O, S1 =S1 -@InsO1 ,S2 =S2 -@InsO2 ,S3 =S3 -@InsO3 ,S4 =S4 -@InsO4 ,S5 =S5 -@InsO5 ,S6 =S6 -@InsO6 ,S7 =S7 -@InsO7 ,S8 =S8 -@InsO8 , S9 =S9 -@InsO9 ,S10=S10-@InsO10,S11=S11-@InsO11,S12=S12-@InsO12,S13=S13-@InsO13,S14=S14-@InsO14,S15=S15-@InsO15,S16=S16-@InsO16, S17=S17-@InsO17,S18=S18-@InsO18,S19=S19-@InsO19,S20=S20-@InsO20,S21=S21-@InsO21,S22=S22-@InsO22,S23=S23-@InsO23,S24=S24-@InsO24, S25=S25-@InsO25,S26=S26-@InsO26,S27=S27-@InsO27,S28=S28-@InsO28,S29=S29-@InsO29,S30=S30-@InsO30,S31=S31-@InsO31,S32=S32-@InsO32, S33=S33-@InsO33,S34=S34-@InsO34,S35=S35-@InsO35,S36=S36-@InsO36,S37=S37-@InsO37,S38=S38-@InsO38,S39=S39-@InsO39,S40=S40-@InsO40, S41=S41-@InsO41,S42=S42-@InsO42,S43=S43-@InsO43,S44=S44-@InsO44,S45=S45-@InsO45,S46=S46-@InsO46,S47=S47-@InsO47,S48=S48-@InsO48 WHERE Tarefa=@insTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@InsTarefa_Anterior AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto) = 0 IF @insTAREFA_PARA IS NULL OR (@insTAREFA_PARA IS NOT NULL AND @insTAREFA_PARA = @InsTarefa_Anterior ) INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@InsTarefa_Anterior,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,Abs(@insQtde_O), Abs(@InsO1), Abs(@InsO2), Abs(@InsO3), Abs(@InsO4), Abs(@InsO5), Abs(@InsO6), Abs(@InsO7), Abs(@InsO8), Abs(@InsO9), Abs(@InsO10),Abs(@InsO11),Abs(@InsO12), Abs(@InsO13),Abs(@InsO14),Abs(@InsO15),Abs(@InsO16),Abs(@InsO17),Abs(@InsO18),Abs(@InsO19),Abs(@InsO20),Abs(@InsO21),Abs(@InsO22),Abs(@InsO23),Abs(@InsO24), Abs(@InsO25),Abs(@InsO26),Abs(@InsO27),Abs(@InsO28),Abs(@InsO29),Abs(@InsO30),Abs(@InsO31),Abs(@InsO32),Abs(@InsO33),Abs(@InsO34),Abs(@InsO35),Abs(@InsO36), Abs(@InsO37),Abs(@InsO38),Abs(@InsO39),Abs(@InsO40),Abs(@InsO41),Abs(@InsO42),Abs(@InsO43),Abs(@InsO44),Abs(@InsO45),Abs(@InsO46),Abs(@InsO47),Abs(@InsO48)) IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48 WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND @insO1 =0 AND @insO2 =0 AND @insO3 =0 AND @insO4 =0 AND @insO5 =0 AND @insO6 =0 AND @insO7 =0 AND @insO8 =0 AND @insO9 =0 AND @insO10=0 AND @insO11=0 AND @insO12=0 AND @insO13=0 AND @insO14=0 AND @insO15=0 AND @insO16=0 AND @insO17=0 AND @insO18=0 AND @insO19=0 AND @insO20=0 AND @insO21=0 AND @insO22=0 AND @insO23=0 AND @insO24=0 AND @insO25=0 AND @insO26=0 AND @insO27=0 AND @insO28=0 AND @insO29=0 AND @insO30=0 AND @insO31=0 AND @insO32=0 AND @insO33=0 AND @insO34=0 AND @insO35=0 AND @insO36=0 AND @insO37=0 AND @insO38=0 AND @insO39=0 AND @insO40=0 AND @insO41=0 AND @insO42=0 AND @insO43=0 AND @insO44=0 AND @insO45=0 AND @insO46=0 AND @insO47=0 AND @insO48=0) > 0 INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48) END /* IF @insINDICADOR_TIPO_MOV = 1 */ /* Alteracao de PCP */ IF @insINDICADOR_TIPO_MOV = 2 BEGIN SELECT @insSeq_Pro=Sequencia_Produtiva,@insSeq_ANT=Sequencia_Anterior FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48 WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto UPDATE PRODUCAO_ORDEM_COR SET ALTERACAO_DE_PROGRAMACAO=ALTERACAO_DE_PROGRAMACAO+@insQtde_o,QTDE_O =QTDE_O+(@insQtde_o),QTDE_P = QTDE_P+(@insQtde_o), O1 =O1 +(@InsO1) ,O2 =O2 +(@InsO2) ,O3 =O3 +@InsO3 ,O4 =O4 +@InsO4 ,O5 =O5 +@InsO5 ,O6 =O6 +@InsO6 ,O7 =O7 +@InsO7 ,O8 =O8 +@InsO8, O9 =O9 +(@InsO9) ,O10=O10+(@InsO10),O11=O11+@InsO11,O12=O12+@InsO12,O13=O13+@InsO13,O14=O14+@InsO14,O15=O15+@InsO15,O16=O16+@InsO16, O17=O17+(@InsO17),O18=O18+(@InsO18),O19=O19+@InsO19,O20=O20+@InsO20,O21=O21+@InsO21,O22=O22+@InsO22,O23=O23+@InsO23,O24=O24+@InsO24, O25=O25+(@InsO25),O26=O26+(@InsO26),O27=O27+@InsO27,O28=O28+@InsO28,O29=O29+@InsO29,O30=O30+@InsO30,O31=O31+@InsO31,O32=O32+@InsO32, O33=O33+(@InsO33),O34=O34+(@InsO34),O35=O35+@InsO35,O36=O36+@InsO36,O37=O37+@InsO37,O38=O38+@InsO38,O39=O39+@InsO39,O40=O40+@InsO40, O41=O41+(@InsO41),O42=O42+(@InsO42),O43=O43+@InsO43,O44=O44+@InsO44,O45=O45+@InsO45,O46=O46+@InsO46,O47=O47+@InsO47,O48=O48+@InsO48, P1 =P1 +(@InsO1) ,P2 =P2 +(@InsO2) ,P3 =P3 +@InsO3 ,P4 =P4 +@InsO4 ,P5 =P5 +@InsO5 ,P6 =P6 +@InsO6 ,P7 =P7 +@InsO7 ,P8 =P8 +@InsO8, P9 =P9 +(@InsO9) ,P10=P10+(@InsO10),P11=P11+@InsO11,P12=P12+@InsO12,P13=P13+@InsO13,P14=P14+@InsO14,P15=P15+@InsO15,P16=P16+@InsO16, P17=P17+(@InsO17),P18=P18+(@InsO18),P19=P19+@InsO19,P20=P20+@InsO20,P21=P21+@InsO21,P22=P22+@InsO22,P23=P23+@InsO23,P24=P24+@InsO24, P25=P25+(@InsO25),P26=P26+(@InsO26),P27=P27+@InsO27,P28=P28+@InsO28,P29=P29+@InsO29,P30=P30+@InsO30,P31=P31+@InsO31,P32=P32+@InsO32, P33=P33+(@InsO33),P34=P34+(@InsO34),P35=P35+@InsO35,P36=P36+@InsO36,P37=P37+@InsO37,P38=P38+@InsO38,P39=P39+@InsO39,P40=P40+@InsO40, P41=P41+(@InsO41),P42=P42+(@InsO42),P43=P43+@InsO43,P44=P44+@InsO44,P45=P45+@InsO45,P46=P46+@InsO46,P47=P47+@InsO47,P48=P48+@InsO48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL+(@insQtde_o), QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO+(@insQtde_o) WHERE ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE SEQUENCIA_PRODUTIVA=@insSEQ_PRO AND SEQUENCIA_ANTERIOR=@insSEQ_ANT and ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@insQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@insSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@insSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO group by FASE_PRODUCAO+SETOR_PRODUCAO) END /* IF @insINDICADOR_TIPO_MOV = 2 */ /* Perda */ IF @insINDICADOR_TIPO_MOV = 4 BEGIN SELECT @insSeq_Pro=Sequencia_Produtiva,@insSeq_ANT=Sequencia_Anterior FROM PRODUCAO_TAREFAS WHERE TAREFA = @insTAREFA /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48 WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto UPDATE PRODUCAO_ORDEM_COR SET PERDAS_NO_PROCESSO=PERDAS_NO_PROCESSO+@insQtde_o,QTDE_O =QTDE_O+(@insQtde_o),QTDE_P = QTDE_P+(@insQtde_o), O1 =O1 +@InsO1 ,O2 =O2 +@InsO2 ,O3 =O3 +@InsO3 ,O4 =O4 +@InsO4 ,O5 =O5 +@InsO5 ,O6 =O6 +@InsO6 ,O7 =O7 +@InsO7 ,O8 =O8 +@InsO8, O9 =O9 +@InsO9 ,O10=O10+@InsO10,O11=O11+@InsO11,O12=O12+@InsO12,O13=O13+@InsO13,O14=O14+@InsO14,O15=O15+@InsO15,O16=O16+@InsO16, O17=O17+@InsO17,O18=O18+@InsO18,O19=O19+@InsO19,O20=O20+@InsO20,O21=O21+@InsO21,O22=O22+@InsO22,O23=O23+@InsO23,O24=O24+@InsO24, O25=O25+@InsO25,O26=O26+@InsO26,O27=O27+@InsO27,O28=O28+@InsO28,O29=O29+@InsO29,O30=O30+@InsO30,O31=O31+@InsO31,O32=O32+@InsO32, O33=O33+@InsO33,O34=O34+@InsO34,O35=O35+@InsO35,O36=O36+@InsO36,O37=O37+@InsO37,O38=O38+@InsO38,O39=O39+@InsO39,O40=O40+@InsO40, O41=O41+@InsO41,O42=O42+@InsO42,O43=O43+@InsO43,O44=O44+@InsO44,O45=O45+@InsO45,O46=O46+@InsO46,O47=O47+@InsO47,O48=O48+@InsO48, P1 =P1 +@InsO1 ,P2 =P2 +@InsO2 ,P3 =P3 +@InsO3 ,P4 =P4 +@InsO4 ,P5 =P5 +@InsO5 ,P6 =P6 +@InsO6 ,P7 =P7 +@InsO7 ,P8 =P8 +@InsO8, P9 =P9 +@InsO9 ,P10=P10+@InsO10,P11=P11+@InsO11,P12=P12+@InsO12,P13=P13+@InsO13,P14=P14+@InsO14,P15=P15+@InsO15,P16=P16+@InsO16, P17=P17+@InsO17,P18=P18+@InsO18,P19=P19+@InsO19,P20=P20+@InsO20,P21=P21+@InsO21,P22=P22+@InsO22,P23=P23+@InsO23,P24=P24+@InsO24, P25=P25+@InsO25,P26=P26+@InsO26,P27=P27+@InsO27,P28=P28+@InsO28,P29=P29+@InsO29,P30=P30+@InsO30,P31=P31+@InsO31,P32=P32+@InsO32, P33=P33+@InsO33,P34=P34+@InsO34,P35=P35+@InsO35,P36=P36+@InsO36,P37=P37+@InsO37,P38=P38+@InsO38,P39=P39+@InsO39,P40=P40+@InsO40, P41=P41+@InsO41,P42=P42+@InsO42,P43=P43+@InsO43,P44=P44+@InsO44,P45=P45+@InsO45,P46=P46+@InsO46,P47=P47+@InsO47,P48=P48+@InsO48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_TOTAL =QTDE_TOTAL+(@insQtde_o), QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO+(@insQtde_o) WHERE ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = QTDE_PERDAS +(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@insQtde_o) WHERE SEQUENCIA_PRODUTIVA=@insSEQ_PRO AND SEQUENCIA_ANTERIOR=@insSEQ_ANT and ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@insQtde_o), QTDE_PREVISTA = QTDE_PREVISTA+(@insQtde_o) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@insQtde_o) from PRODUCAO_TAREFAS a WHERE a.SEQUENCIA_PRODUTIVA>@insSEQ_PRO AND a.SEQUENCIA_ANTERIOR>@insSEQ_ANT and a.ORDEM_PRODUCAO=@insOrdem_Producao and FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO in (select min(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) from producao_tarefas c WHERE c.SEQUENCIA_PRODUTIVA=a.SEQUENCIA_PRODUTIVA AND c.SEQUENCIA_ANTERIOR=a.SEQUENCIA_ANTERIOR and c.ORDEM_PRODUCAO=a.ORDEM_PRODUCAO group by FASE_PRODUCAO+SETOR_PRODUCAO) END /* IF @insINDICADOR_TIPO_MOV = 4 */ /* Movimento Retorno */ IF @insIndicador_Tipo_Mov = 5 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+@InsQtde_O, QTDE_FINALIZADA =QTDE_FINALIZADA -@InsQtde_O WHERE TAREFA = @insTarefa /*-Atualizo a tarefa atual */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@InsQtde_O, S1 =S1 +@InsO1 ,S2 =S2 +@InsO2 ,S3 =S3 +@InsO3 ,S4 =S4 +@InsO4 ,S5 =S5 +@InsO5 ,S6 =S6 +@InsO6 ,S7 =S7 +@InsO7 ,S8 =S8 +@InsO8 , S9 =S9 +@InsO9 ,S10=S10+@InsO10,S11=S11+@InsO11,S12=S12+@InsO12,S13=S13+@InsO13,S14=S14+@InsO14,S15=S15+@InsO15,S16=S16+@InsO16, S17=S17+@InsO17,S18=S18+@InsO18,S19=S19+@InsO19,S20=S20+@InsO20,S21=S21+@InsO21,S22=S22+@InsO22,S23=S23+@InsO23,S24=S24+@InsO24, S25=S25+@InsO25,S26=S26+@InsO26,S27=S27+@InsO27,S28=S28+@InsO28,S29=S29+@InsO29,S30=S30+@InsO30,S31=S31+@InsO31,S32=S32+@InsO32, S33=S33+@InsO33,S34=S34+@InsO34,S35=S35+@InsO35,S36=S36+@InsO36,S37=S37+@InsO37,S38=S38+@InsO38,S39=S39+@InsO39,S40=S40+@InsO40, S41=S41+@InsO41,S42=S42+@InsO42,S43=S43+@InsO43,S44=S44+@InsO44,S45=S45+@InsO45,S46=S46+@InsO46,S47=S47+@InsO47,S48=S48+@InsO48, ULTIMO_CUSTO_PREVISTO = @insCUSTO_PREVISTO WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,ULTIMO_CUSTO_PREVISTO) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,@InsQtde_O, @InsO1,@InsO2,@InsO3,@InsO4,@InsO5,@InsO6,@InsO7,@InsO8,@InsO9,@InsO10,@InsO11,@InsO12, @InsO13,@InsO14,@InsO15,@InsO16,@InsO17,@InsO18,@InsO19,@InsO20,@InsO21,@InsO22,@InsO23,@InsO24, @InsO25,@InsO26,@InsO27,@InsO28,@InsO29,@InsO30,@InsO31,@InsO32,@InsO33,@InsO34,@InsO35,@InsO36, @InsO37,@InsO38,@InsO39,@InsO40,@InsO41,@InsO42,@InsO43,@InsO44,@InsO45,@InsO46,@InsO47,@InsO48,@insCUSTO_PREVISTO) END /* IF @insIndicador_Tipo_Mov = 5 */ FETCH NEXT FROM CurUpdate_Producao_Os_Tarefa INTO @insTarefa,@insOrdem_Servico, @insOrdem_Producao, @insProduto, @insCor_Produto,@insQtde_O, @insO1 ,@insO2 ,@insO3 ,@insO4 ,@insO5 ,@insO6 ,@insO7 ,@insO8 ,@insO9 ,@insO10,@insO11,@insO12, @insO13,@insO14,@insO15,@insO16,@insO17,@insO18,@insO19,@insO20,@insO21,@insO22,@insO23,@insO24, @insO25,@insO26,@insO27,@insO28,@insO29,@insO30,@insO31,@insO32,@insO33,@insO34,@insO35,@insO36, @insO37,@insO38,@insO39,@insO40,@insO41,@insO42,@insO43,@insO44,@insO45,@insO46,@insO47,@insO48, @insCUSTO_PREVISTO,@insINDICADOR_TIPO_MOV,@insTAREFA_PARA END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0*/ CLOSE CurUpdate_Producao_Os_Tarefa DEALLOCATE CurUpdate_Producao_Os_Tarefa /*---------------------------------------------------------------------------------------*/ /*--------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[INDICADOR_TIPO_MOV]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[QTDE_O]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[O48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_TAREFAS].[CUSTO_PREVISTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PRODUTOS]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [CUSTO_MEDIO1] [numeric](14, 2) NULL, [CUSTO_MEDIO2] [numeric](14, 2) NULL, [CUSTO_MEDIO3] [numeric](14, 2) NULL, [CUSTO_MEDIO4] [numeric](14, 2) NULL, [ULTIMO_CUSTO1] [numeric](14, 2) NULL, [ULTIMO_CUSTO2] [numeric](14, 2) NULL, [ULTIMO_CUSTO3] [numeric](14, 2) NULL, [ULTIMO_CUSTO4] [numeric](14, 2) NULL, [DATA_CUSTO_MEDIO] [datetime] NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ULTIMA_SAIDA] [datetime] NULL, [ULTIMA_ENTRADA] [datetime] NULL, [ESTOQUE] [int] NULL, [ES1] [int] NULL, [ES2] [int] NULL, [ES3] [int] NULL, [ES4] [int] NULL, [ES5] [int] NULL, [ES6] [int] NULL, [ES7] [int] NULL, [ES8] [int] NULL, [ES9] [int] NULL, [ES10] [int] NULL, [ES11] [int] NULL, [ES12] [int] NULL, [ES13] [int] NULL, [ES14] [int] NULL, [ES15] [int] NULL, [ES16] [int] NULL, [ES17] [int] NULL, [ES18] [int] NULL, [ES19] [int] NULL, [ES20] [int] NULL, [ES21] [int] NULL, [ES22] [int] NULL, [ES23] [int] NULL, [ES24] [int] NULL, [ES25] [int] NULL, [ES26] [int] NULL, [ES27] [int] NULL, [ES28] [int] NULL, [ES29] [int] NULL, [ES30] [int] NULL, [ES31] [int] NULL, [ES32] [int] NULL, [ES33] [int] NULL, [ES34] [int] NULL, [ES35] [int] NULL, [ES36] [int] NULL, [ES37] [int] NULL, [ES38] [int] NULL, [ES39] [int] NULL, [ES40] [int] NULL, [ES41] [int] NULL, [ES42] [int] NULL, [ES43] [int] NULL, [ES44] [int] NULL, [ES45] [int] NULL, [ES46] [int] NULL, [ES47] [int] NULL, [ES48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [DATA_AJUSTE] [datetime] NULL, CONSTRAINT [XPKESTOQUE_PRODUTOS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PRODUTOS]') AND name = N'XIE1ESTOQUE_PRODUTOS') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PRODUTOS] ON [ESTOQUE_PRODUTOS] ( [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PRODUTOS] on [ESTOQUE_PRODUTOS] for INSERT as /* INSERT trigger on ESTOQUE_PRODUTOS */ /* default body for LXI_ESTOQUE_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ESTOQUE_PRODUTOS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PRODUTOS #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PRODUTOS ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PRODUTOS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ------------------------------------------------------------------------------------------------------------- */ /* Verifica Saldo Positivo de Estoque */ /* ------------------------------------------------------------------------------------------------------------- */ IF NOT EXISTS(SELECT UPPER(RTRIM(Valor_Atual_USER)) FROM Parametros_Users WHERE Parametro=''CTRL_ESTOQUE'' AND USUARIO = SYSTEM_USER AND VALOR_ATUAL_USER = ''.F.'') BEGIN /*------------------------------------------------------------------------------------------------------*/ /* Verificacao na tabela de filiais */ /*------------------------------------------------------------------------------------------------------*/ if not exists(SELECT Permite_est_Negativo from filiais, inserted where filiais.filial = inserted.filial and permite_est_negativo = 1) BEGIN DECLARE @lFilial VarChar(25),@lProduto Char(12),@lCor_Produto Char(10) DECLARE cursor_Check_Estoque SCROLL CURSOR FOR SELECT Filial, Produto, Cor_Produto FROM Inserted WHERE ESTOQUE < 0 OR ES1<0 OR ES2<0 OR ES3<0 OR ES4<0 OR ES5<0 OR ES6<0 OR ES7<0 OR ES8<0 OR ES9<0 OR ES10<0 OR ES11<0 OR ES12<0 OR ES13<0 OR ES14<0 OR ES15<0 OR ES16<0 OR ES17<0 OR ES18<0 OR ES19<0 OR ES20<0 OR ES21<0 OR ES22<0 OR ES23<0 OR ES24<0 OR ES25<0 OR ES26<0 OR ES27<0 OR ES28<0 OR ES29<0 OR ES30<0 OR ES31<0 OR ES32<0 OR ES33<0 OR ES34<0 OR ES35<0 OR ES36<0 OR ES37<0 OR ES38<0 OR ES39<0 OR ES40<0 OR ES41<0 OR ES42<0 OR ES43<0 OR ES44<0 OR ES45<0 OR ES46<0 OR ES47<0 OR ES48<0 OPEN cursor_Check_Estoque IF @@CURSOR_ROWS <> 0 BEGIN select @errno = 30002, @errmsg = ''Operacao Cancelada! O Estoque nao pode ser negativo! '' FETCH NEXT FROM cursor_Check_Estoque INTO @lFilial,@lProduto,@lCor_Produto WHILE (@@Fetch_Status = 0) BEGIN select @errmsg = @errmsg + '' (#Prod#:''+RTRIM(@lProduto)+'',#Cor#:''+RTRIM(@lCor_Produto)+ '',#Filial#:''+RTRIM(@lFilial)+'')'' FETCH NEXT FROM cursor_Check_Estoque INTO @lFilial,@lProduto,@lCor_Produto END goto error END CLOSE cursor_Check_Estoque DEALLOCATE cursor_Check_Estoque END END /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE ESTOQUE_PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM ESTOQUE_PRODUTOS, INSERTED WHERE ESTOQUE_PRODUTOS.PRODUTO = INSERTED.PRODUTO and ESTOQUE_PRODUTOS.COR_PRODUTO = INSERTED.COR_PRODUTO and ESTOQUE_PRODUTOS.FILIAL = INSERTED.FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PRODUTOS] on [ESTOQUE_PRODUTOS] for UPDATE as /* UPDATE trigger on ESTOQUE_PRODUTOS */ /* default body for LXU_ESTOQUE_PRODUTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delFILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS ESTOQUE_PRODUTOS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PRODUTOS #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PRODUTOS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PRODUTOS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ------------------------------------------------------------------------------------------------------------- */ /* Verifica Saldo Positivo de Estoque */ /* ------------------------------------------------------------------------------------------------------------- */ IF NOT EXISTS(SELECT UPPER(RTRIM(Valor_Atual_USER)) FROM Parametros_Users WHERE Parametro=''CTRL_ESTOQUE'' AND USUARIO = SYSTEM_USER AND VALOR_ATUAL_USER = ''.F.'') BEGIN /*------------------------------------------------------------------------------------------------------*/ /* Verificacao na tabela de filiais */ /*------------------------------------------------------------------------------------------------------*/ if not exists(SELECT Permite_est_Negativo from filiais, inserted where filiais.filial = inserted.filial and permite_est_negativo = 1) BEGIN DECLARE @lFilial VarChar(25),@lProduto Char(12),@lCor_Produto Char(10) DECLARE cursor_Check_Estoque SCROLL CURSOR FOR SELECT Filial, Produto, Cor_Produto FROM Inserted WHERE ESTOQUE < 0 OR ES1<0 OR ES2<0 OR ES3<0 OR ES4<0 OR ES5<0 OR ES6<0 OR ES7<0 OR ES8<0 OR ES9<0 OR ES10<0 OR ES11<0 OR ES12<0 OR ES13<0 OR ES14<0 OR ES15<0 OR ES16<0 OR ES17<0 OR ES18<0 OR ES19<0 OR ES20<0 OR ES21<0 OR ES22<0 OR ES23<0 OR ES24<0 OR ES25<0 OR ES26<0 OR ES27<0 OR ES28<0 OR ES29<0 OR ES30<0 OR ES31<0 OR ES32<0 OR ES33<0 OR ES34<0 OR ES35<0 OR ES36<0 OR ES37<0 OR ES38<0 OR ES39<0 OR ES40<0 OR ES41<0 OR ES42<0 OR ES43<0 OR ES44<0 OR ES45<0 OR ES46<0 OR ES47<0 OR ES48<0 OPEN cursor_Check_Estoque IF @@CURSOR_ROWS <> 0 BEGIN select @errno = 30002, @errmsg = ''Operacao Cancelada! O Estoque nao pode ser negativo! '' FETCH NEXT FROM cursor_Check_Estoque INTO @lFilial,@lProduto,@lCor_Produto WHILE (@@Fetch_Status = 0) BEGIN select @errmsg = @errmsg + '' (#Prod#:''+RTRIM(@lProduto)+'',#Cor#:''+RTRIM(@lCor_Produto)+ '',#Filial#:''+RTRIM(@lFilial)+'')'' FETCH NEXT FROM cursor_Check_Estoque INTO @lFilial,@lProduto,@lCor_Produto END goto error END CLOSE cursor_Check_Estoque DEALLOCATE cursor_Check_Estoque END END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE ESTOQUE_PRODUTOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM ESTOQUE_PRODUTOS, INSERTED WHERE ESTOQUE_PRODUTOS.PRODUTO = INSERTED.PRODUTO and ESTOQUE_PRODUTOS.COR_PRODUTO = INSERTED.COR_PRODUTO and ESTOQUE_PRODUTOS.FILIAL = INSERTED.FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR ESTOQUE_PRODUTOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[CUSTO_MEDIO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[CUSTO_MEDIO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[CUSTO_MEDIO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[CUSTO_MEDIO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ULTIMO_CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ULTIMO_CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ULTIMO_CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ULTIMO_CUSTO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS].[ES48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[ESTOQUE_PRODUTOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SUBSTITUICOES_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SUBSTITUICOES_MATERIAL]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [MATERIAL_SUBSTITUIDO] [char](11) NOT NULL, [COR_MATERIAL_SUBSTITUIDO] [char](10) NOT NULL, [PRIORIDADE_SUBSTITUICAO] [smallint] NULL, [ALTERACAO_CONSUMO] [real] NULL, [SUBSTITUICAO_POR_PRODUTO] [bit] NOT NULL, [SUBSTITUICAO_POR_CLIENTE] [bit] NOT NULL, CONSTRAINT [XPKSUBSTITUICOES_MATERIAL] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [COR_MATERIAL] ASC, [MATERIAL_SUBSTITUIDO] ASC, [COR_MATERIAL_SUBSTITUIDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[SUBSTITUICOES_MATERIAL]') AND name = N'XIE1SUBSTITUICOES_MATERIAL') CREATE NONCLUSTERED INDEX [XIE1SUBSTITUICOES_MATERIAL] ON [SUBSTITUICOES_MATERIAL] ( [MATERIAL_SUBSTITUIDO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SUBSTITUICOES_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_SUBSTITUICOES_MATERIAL] on [SUBSTITUICOES_MATERIAL] for DELETE as /* DELETE trigger on SUBSTITUICOES_MATERIAL */ begin declare @errno int, @errmsg varchar(255) /* SUBSTITUICOES_MATERIAL R/2108 SUBSTITUICOES_MATERIAL_CLIENTE ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL_CLIENTE from SUBSTITUICOES_MATERIAL_CLIENTE,deleted where SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL = deleted.MATERIAL and SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL = deleted.COR_MATERIAL and SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO = deleted.MATERIAL_SUBSTITUIDO and SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO = deleted.COR_MATERIAL_SUBSTITUIDO /* SUBSTITUICOES_MATERIAL R/1679 SUBSTITUICOES_MATERIAL_PRODUTO ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL_PRODUTO from SUBSTITUICOES_MATERIAL_PRODUTO,deleted where SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL = deleted.MATERIAL and SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL = deleted.COR_MATERIAL and SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL_SUBSTITUIDO = deleted.MATERIAL_SUBSTITUIDO and SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL_SUBSTITUIDO = deleted.COR_MATERIAL_SUBSTITUIDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_SUBSTITUICOES_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_SUBSTITUICOES_MATERIAL] on [SUBSTITUICOES_MATERIAL] for INSERT as /* INSERT trigger on SUBSTITUICOES_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1658 SUBSTITUICOES_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1657 SUBSTITUICOES_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #SUBSTITUICOES_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SUBSTITUICOES_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SUBSTITUICOES_MATERIAL] on [SUBSTITUICOES_MATERIAL] for UPDATE as /* UPDATE trigger on SUBSTITUICOES_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insMATERIAL_SUBSTITUIDO char(11), @insCOR_MATERIAL_SUBSTITUIDO char(10), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delMATERIAL_SUBSTITUIDO char(11), @delCOR_MATERIAL_SUBSTITUIDO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SUBSTITUICOES_MATERIAL R/2108 SUBSTITUICOES_MATERIAL_CLIENTE ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) OR update(MATERIAL_SUBSTITUIDO) OR update(COR_MATERIAL_SUBSTITUIDO) BEGIN DECLARE SUBSTITUICOES_MATERIAL2108 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO FROM INSERTED DECLARE SUBSTITUICOES_MATERIAL966 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO FROM DELETED OPEN SUBSTITUICOES_MATERIAL2108 OPEN SUBSTITUICOES_MATERIAL966 FETCH NEXT FROM SUBSTITUICOES_MATERIAL2108 INTO @insMATERIAL, @insCOR_MATERIAL, @insMATERIAL_SUBSTITUIDO, @insCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL966 INTO @delMATERIAL, @delCOR_MATERIAL, @delMATERIAL_SUBSTITUIDO, @delCOR_MATERIAL_SUBSTITUIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL_CLIENTE SET SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=@insMATERIAL, SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=@insCOR_MATERIAL, SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@insMATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@insCOR_MATERIAL_SUBSTITUIDO WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL = @delMATERIAL and SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL = @delCOR_MATERIAL and SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO = @delMATERIAL_SUBSTITUIDO and SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO = @delCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL2108 INTO @insMATERIAL, @insCOR_MATERIAL, @insMATERIAL_SUBSTITUIDO, @insCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL966 INTO @delMATERIAL, @delCOR_MATERIAL, @delMATERIAL_SUBSTITUIDO, @delCOR_MATERIAL_SUBSTITUIDO END END CLOSE SUBSTITUICOES_MATERIAL2108 CLOSE SUBSTITUICOES_MATERIAL966 DEALLOCATE SUBSTITUICOES_MATERIAL2108 DEALLOCATE SUBSTITUICOES_MATERIAL966 END /* SUBSTITUICOES_MATERIAL R/1679 SUBSTITUICOES_MATERIAL_PRODUTO ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(COR_MATERIAL) OR update(MATERIAL_SUBSTITUIDO) OR update(COR_MATERIAL_SUBSTITUIDO) BEGIN DECLARE SUBSTITUICOES_MATERIAL1679 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO FROM INSERTED DECLARE SUBSTITUICOES_MATERIAL966 CURSOR FOR SELECT MATERIAL, COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO FROM DELETED OPEN SUBSTITUICOES_MATERIAL1679 OPEN SUBSTITUICOES_MATERIAL966 FETCH NEXT FROM SUBSTITUICOES_MATERIAL1679 INTO @insMATERIAL, @insCOR_MATERIAL, @insMATERIAL_SUBSTITUIDO, @insCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL966 INTO @delMATERIAL, @delCOR_MATERIAL, @delMATERIAL_SUBSTITUIDO, @delCOR_MATERIAL_SUBSTITUIDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL_PRODUTO SET SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL=@insMATERIAL, SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL=@insCOR_MATERIAL, SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL_SUBSTITUIDO=@insMATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL_SUBSTITUIDO=@insCOR_MATERIAL_SUBSTITUIDO WHERE SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL = @delMATERIAL and SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL = @delCOR_MATERIAL and SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL_SUBSTITUIDO = @delMATERIAL_SUBSTITUIDO and SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL_SUBSTITUIDO = @delCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL1679 INTO @insMATERIAL, @insCOR_MATERIAL, @insMATERIAL_SUBSTITUIDO, @insCOR_MATERIAL_SUBSTITUIDO FETCH NEXT FROM SUBSTITUICOES_MATERIAL966 INTO @delMATERIAL, @delCOR_MATERIAL, @delMATERIAL_SUBSTITUIDO, @delCOR_MATERIAL_SUBSTITUIDO END END CLOSE SUBSTITUICOES_MATERIAL1679 CLOSE SUBSTITUICOES_MATERIAL966 DEALLOCATE SUBSTITUICOES_MATERIAL1679 DEALLOCATE SUBSTITUICOES_MATERIAL966 END /* MATERIAIS_CORES R/1658 SUBSTITUICOES_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1657 SUBSTITUICOES_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL_SUBSTITUIDO) or update(COR_MATERIAL_SUBSTITUIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_SUBSTITUIDO = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #SUBSTITUICOES_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SUBSTITUICOES_MATERIAL].[ALTERACAO_CONSUMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SUBSTITUICOES_MATERIAL].[SUBSTITUICAO_POR_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SUBSTITUICOES_MATERIAL].[SUBSTITUICAO_POR_CLIENTE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_SAI]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD1_SAI]( [FILIAL] [varchar](25) NOT NULL, [ROMANEIO_PRODUTO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE] [int] NULL, [SA_1] [int] NULL, [SA_2] [int] NULL, [SA_3] [int] NULL, [SA_4] [int] NULL, [SA_5] [int] NULL, [SA_6] [int] NULL, [SA_7] [int] NULL, [SA_8] [int] NULL, [SA_9] [int] NULL, [SA_10] [int] NULL, [SA_11] [int] NULL, [SA_12] [int] NULL, [SA_13] [int] NULL, [SA_14] [int] NULL, [SA_15] [int] NULL, [SA_16] [int] NULL, [SA_17] [int] NULL, [SA_18] [int] NULL, [SA_19] [int] NULL, [SA_20] [int] NULL, [SA_21] [int] NULL, [SA_22] [int] NULL, [SA_23] [int] NULL, [SA_24] [int] NULL, [SA_25] [int] NULL, [SA_26] [int] NULL, [SA_27] [int] NULL, [SA_28] [int] NULL, [SA_29] [int] NULL, [SA_30] [int] NULL, [SA_31] [int] NULL, [SA_32] [int] NULL, [SA_33] [int] NULL, [SA_34] [int] NULL, [SA_35] [int] NULL, [SA_36] [int] NULL, [SA_37] [int] NULL, [SA_38] [int] NULL, [SA_39] [int] NULL, [SA_40] [int] NULL, [SA_41] [int] NULL, [SA_42] [int] NULL, [SA_43] [int] NULL, [SA_44] [int] NULL, [SA_45] [int] NULL, [SA_46] [int] NULL, [SA_47] [int] NULL, [SA_48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [CUSTO1] [numeric](14, 2) NULL, [CUSTO2] [numeric](14, 2) NULL, [CUSTO3] [numeric](14, 2) NULL, [CUSTO4] [numeric](14, 2) NULL, CONSTRAINT [XPKESTOQUE_PROD1_SAI] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [ROMANEIO_PRODUTO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_SAI]') AND name = N'XIE1ESTOQUE_PROD1_SAI') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PROD1_SAI] ON [ESTOQUE_PROD1_SAI] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_SAI]') AND name = N'XIE2ESTOQUE_PROD1_SAI') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_PROD1_SAI] ON [ESTOQUE_PROD1_SAI] ( [QTDE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_SAI]') AND name = N'XIE3ESTOQUE_PROD1_SAI') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_PROD1_SAI] ON [ESTOQUE_PROD1_SAI] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC, [ROMANEIO_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD1_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD1_SAI] on [ESTOQUE_PROD1_SAI] for DELETE as /* DELETE trigger on ESTOQUE_PROD1_SAI */ /* default body for LXD_ESTOQUE_PROD1_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_SAI WHERE Deleted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND Deleted.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PROD_SAI.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_SAI, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ESTOQUE_PROD_SAI.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ESTOQUE_PROD1_SAI CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(SA_1)*-1, SUM(SA_2)*-1, SUM(SA_3)*-1, SUM(SA_4)*-1, SUM(SA_5)*-1, SUM(SA_6)*-1, SUM(SA_7)*-1, SUM(SA_8)*-1, SUM(SA_9)*-1, SUM(SA_10)*-1,SUM(SA_11)*-1,SUM(SA_12)*-1, SUM(SA_13)*-1,SUM(SA_14)*-1,SUM(SA_15)*-1,SUM(SA_16)*-1, SUM(SA_17)*-1,SUM(SA_18)*-1,SUM(SA_19)*-1,SUM(SA_20)*-1, SUM(SA_21)*-1,SUM(SA_22)*-1,SUM(SA_23)*-1,SUM(SA_24)*-1, SUM(SA_25)*-1,SUM(SA_26)*-1,SUM(SA_27)*-1,SUM(SA_28)*-1, SUM(SA_29)*-1,SUM(SA_30)*-1,SUM(SA_31)*-1,SUM(SA_32)*-1, SUM(SA_33)*-1,SUM(SA_34)*-1,SUM(SA_35)*-1,SUM(SA_36)*-1, SUM(SA_37)*-1,SUM(SA_38)*-1,SUM(SA_39)*-1,SUM(SA_40)*-1, SUM(SA_41)*-1,SUM(SA_42)*-1,SUM(SA_43)*-1,SUM(SA_44)*-1, SUM(SA_45)*-1,SUM(SA_46)*-1,SUM(SA_47)*-1,SUM(SA_48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_SAI DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_SAI DEALLOCATE cur_ESTOQUE_PROD1_SAI /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD1_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD1_SAI] on [ESTOQUE_PROD1_SAI] for INSERT as /* INSERT trigger on ESTOQUE_PROD1_SAI */ /* default body for LXI_ESTOQUE_PROD1_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_SAI WHERE Inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND Inserted.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PROD_SAI.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_SAI, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_SAI.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_SAI ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_SAI #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_SAI ESTOQUE_PROD_SAI ESTOQUE_PROD1_SAI ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_SAI where inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO and inserted.FILIAL = ESTOQUE_PROD_SAI.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_SAI #porque #ESTOQUE_PROD_SAI #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(SA_1) OR UPDATE(SA_2) OR UPDATE(SA_3) OR UPDATE(SA_4) OR UPDATE(SA_5) OR UPDATE(SA_6) OR UPDATE(SA_7) OR UPDATE(SA_8) OR UPDATE(SA_9) OR UPDATE(SA_10) OR UPDATE(SA_11) OR UPDATE(SA_12) OR UPDATE(SA_13) OR UPDATE(SA_14) OR UPDATE(SA_15) OR UPDATE(SA_16) OR UPDATE(SA_17) OR UPDATE(SA_18) OR UPDATE(SA_19) OR UPDATE(SA_20) OR UPDATE(SA_21) OR UPDATE(SA_22) OR UPDATE(SA_23) OR UPDATE(SA_24) OR UPDATE(SA_25) OR UPDATE(SA_26) OR UPDATE(SA_27) OR UPDATE(SA_28) OR UPDATE(SA_29) OR UPDATE(SA_30) OR UPDATE(SA_31) OR UPDATE(SA_32) OR UPDATE(SA_33) OR UPDATE(SA_34) OR UPDATE(SA_35) OR UPDATE(SA_36) OR UPDATE(SA_37) OR UPDATE(SA_38) OR UPDATE(SA_39) OR UPDATE(SA_40) OR UPDATE(SA_41) OR UPDATE(SA_42) OR UPDATE(SA_43) OR UPDATE(SA_44) OR UPDATE(SA_45) OR UPDATE(SA_46) OR UPDATE(SA_47) OR UPDATE(SA_48) BEGIN DECLARE cur_ESTOQUE_PROD1_SAI CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(SA_1), SUM(SA_2), SUM(SA_3), SUM(SA_4), SUM(SA_5), SUM(SA_6), SUM(SA_7), SUM(SA_8), SUM(SA_9), SUM(SA_10),SUM(SA_11),SUM(SA_12), SUM(SA_13),SUM(SA_14),SUM(SA_15),SUM(SA_16), SUM(SA_17),SUM(SA_18),SUM(SA_19),SUM(SA_20), SUM(SA_21),SUM(SA_22),SUM(SA_23),SUM(SA_24), SUM(SA_25),SUM(SA_26),SUM(SA_27),SUM(SA_28), SUM(SA_29),SUM(SA_30),SUM(SA_31),SUM(SA_32), SUM(SA_33),SUM(SA_34),SUM(SA_35),SUM(SA_36), SUM(SA_37),SUM(SA_38),SUM(SA_39),SUM(SA_40), SUM(SA_41),SUM(SA_42),SUM(SA_43),SUM(SA_44), SUM(SA_45),SUM(SA_46),SUM(SA_47),SUM(SA_48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_SAI DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_SAI DEALLOCATE cur_ESTOQUE_PROD1_SAI END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD1_SAI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD1_SAI] on [ESTOQUE_PROD1_SAI] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD1_SAI */ /* default body for LXU_ESTOQUE_PROD1_SAI */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insROMANEIO_PRODUTO char(8), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_SAI WHERE Deleted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND Deleted.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PROD_SAI.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_SAI WHERE Inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND Inserted.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PROD_SAI.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_SAI, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ESTOQUE_PROD_SAI.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_SAI, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD_SAI.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_SAI.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_SAI ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_SAI #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_SAI ESTOQUE_PROD_SAI ESTOQUE_PROD1_SAI ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_SAI where inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO and inserted.FILIAL = ESTOQUE_PROD_SAI.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_SAI #porque #ESTOQUE_PROD_SAI #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(SA_1) OR UPDATE(SA_2) OR UPDATE(SA_3) OR UPDATE(SA_4) OR UPDATE(SA_5) OR UPDATE(SA_6) OR UPDATE(SA_7) OR UPDATE(SA_8) OR UPDATE(SA_9) OR UPDATE(SA_10) OR UPDATE(SA_11) OR UPDATE(SA_12) OR UPDATE(SA_13) OR UPDATE(SA_14) OR UPDATE(SA_15) OR UPDATE(SA_16) OR UPDATE(SA_17) OR UPDATE(SA_18) OR UPDATE(SA_19) OR UPDATE(SA_20) OR UPDATE(SA_21) OR UPDATE(SA_22) OR UPDATE(SA_23) OR UPDATE(SA_24) OR UPDATE(SA_25) OR UPDATE(SA_26) OR UPDATE(SA_27) OR UPDATE(SA_28) OR UPDATE(SA_29) OR UPDATE(SA_30) OR UPDATE(SA_31) OR UPDATE(SA_32) OR UPDATE(SA_33) OR UPDATE(SA_34) OR UPDATE(SA_35) OR UPDATE(SA_36) OR UPDATE(SA_37) OR UPDATE(SA_38) OR UPDATE(SA_39) OR UPDATE(SA_40) OR UPDATE(SA_41) OR UPDATE(SA_42) OR UPDATE(SA_43) OR UPDATE(SA_44) OR UPDATE(SA_45) OR UPDATE(SA_46) OR UPDATE(SA_47) OR UPDATE(SA_48) BEGIN DECLARE cur_ESTOQUE_PROD1_SAI CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(SA_1), SUM(SA_2), SUM(SA_3), SUM(SA_4), SUM(SA_5), SUM(SA_6), SUM(SA_7), SUM(SA_8), SUM(SA_9), SUM(SA_10),SUM(SA_11),SUM(SA_12), SUM(SA_13),SUM(SA_14),SUM(SA_15),SUM(SA_16), SUM(SA_17),SUM(SA_18),SUM(SA_19),SUM(SA_20), SUM(SA_21),SUM(SA_22),SUM(SA_23),SUM(SA_24), SUM(SA_25),SUM(SA_26),SUM(SA_27),SUM(SA_28), SUM(SA_29),SUM(SA_30),SUM(SA_31),SUM(SA_32), SUM(SA_33),SUM(SA_34),SUM(SA_35),SUM(SA_36), SUM(SA_37),SUM(SA_38),SUM(SA_39),SUM(SA_40), SUM(SA_41),SUM(SA_42),SUM(SA_43),SUM(SA_44), SUM(SA_45),SUM(SA_46),SUM(SA_47),SUM(SA_48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(SA_1)*-1, SUM(SA_2)*-1, SUM(SA_3)*-1, SUM(SA_4)*-1, SUM(SA_5)*-1, SUM(SA_6)*-1, SUM(SA_7)*-1, SUM(SA_8)*-1, SUM(SA_9)*-1, SUM(SA_10)*-1,SUM(SA_11)*-1,SUM(SA_12)*-1, SUM(SA_13)*-1,SUM(SA_14)*-1,SUM(SA_15)*-1,SUM(SA_16)*-1, SUM(SA_17)*-1,SUM(SA_18)*-1,SUM(SA_19)*-1,SUM(SA_20)*-1, SUM(SA_21)*-1,SUM(SA_22)*-1,SUM(SA_23)*-1,SUM(SA_24)*-1, SUM(SA_25)*-1,SUM(SA_26)*-1,SUM(SA_27)*-1,SUM(SA_28)*-1, SUM(SA_29)*-1,SUM(SA_30)*-1,SUM(SA_31)*-1,SUM(SA_32)*-1, SUM(SA_33)*-1,SUM(SA_34)*-1,SUM(SA_35)*-1,SUM(SA_36)*-1, SUM(SA_37)*-1,SUM(SA_38)*-1,SUM(SA_39)*-1,SUM(SA_40)*-1, SUM(SA_41)*-1,SUM(SA_42)*-1,SUM(SA_43)*-1,SUM(SA_44)*-1, SUM(SA_45)*-1,SUM(SA_46)*-1,SUM(SA_47)*-1,SUM(SA_48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_SAI DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_SAI INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_SAI DEALLOCATE cur_ESTOQUE_PROD1_SAI END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[SA_48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_SAI].[CUSTO4]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_OS_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_OS_MATERIAIS]( [ORDEM_SERVICO] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](5) NOT NULL, [ITEM] [char](3) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE_NECESSARIA] [numeric](9, 3) NULL, CONSTRAINT [XPKPRODUCAO_OS_MATERIAIS] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [FASE_PRODUCAO] ASC, [FORNECEDOR] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_OS_MATERIAIS]') AND name = N'XIE1PRODUCAO_OS_MATERIAIS') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_OS_MATERIAIS] ON [PRODUCAO_OS_MATERIAIS] ( [ORDEM_SERVICO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_OS_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_OS_MATERIAIS] on [PRODUCAO_OS_MATERIAIS] for INSERT as /* INSERT trigger on PRODUCAO_OS_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_OS PRODUCAO_OS PRODUCAO_OS_MATERIAIS ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_OS_MATERIAIS #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_OS_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_OS_MATERIAIS] on [PRODUCAO_OS_MATERIAIS] for UPDATE as /* UPDATE trigger on PRODUCAO_OS_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insFASE_PRODUCAO varchar(25), @insFORNECEDOR varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(5), @insITEM char(3), @delORDEM_SERVICO char(8), @delFASE_PRODUCAO varchar(25), @delFORNECEDOR varchar(25), @delMATERIAL char(11), @delCOR_MATERIAL char(5), @delITEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_OS PRODUCAO_OS PRODUCAO_OS_MATERIAIS ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) or update(FORNECEDOR) or update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_OS where inserted.ORDEM_SERVICO = PRODUCAO_OS.ORDEM_SERVICO and inserted.FORNECEDOR = PRODUCAO_OS.FORNECEDOR and inserted.FASE_PRODUCAO = PRODUCAO_OS.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_OS_MATERIAIS #porque #PRODUCAO_OS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_OS_MATERIAIS].[QTDE_NECESSARIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_A_PAGAR_CAMPOS]( [BANCO] [char](4) NOT NULL, [TIPO_ENVIO] [varchar](25) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [VALOR_CAMPO] [varchar](10) NOT NULL, [DESCRICAO_CAMPO] [varchar](100) NULL, [PADRAO] [bit] NOT NULL, CONSTRAINT [XPKBANCOS_A_PAGAR_CAMPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_ENVIO] ASC, [NOME_CAMPO] ASC, [VALOR_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_A_PAGAR_CAMPOS] on [BANCOS_A_PAGAR_CAMPOS] for INSERT as /* INSERT trigger on BANCOS_A_PAGAR_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_CAMPOS ON CHILD INSERT RESTRICT */ if update(TIPO_ENVIO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_LAYOUT where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO and inserted.NOME_CAMPO = BANCOS_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_A_PAGAR_CAMPOS #porque #BANCOS_A_PAGAR_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_A_PAGAR_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_A_PAGAR_CAMPOS] on [BANCOS_A_PAGAR_CAMPOS] for UPDATE as /* UPDATE trigger on BANCOS_A_PAGAR_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENVIO varchar(25), @insNOME_CAMPO varchar(25), @insVALOR_CAMPO varchar(10), @insBANCO char(4), @delTIPO_ENVIO varchar(25), @delNOME_CAMPO varchar(25), @delVALOR_CAMPO varchar(10), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_LAYOUT BANCOS_A_PAGAR_CAMPOS ON CHILD UPDATE RESTRICT */ if update(TIPO_ENVIO) or update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_A_PAGAR_LAYOUT where inserted.TIPO_ENVIO = BANCOS_A_PAGAR_LAYOUT.TIPO_ENVIO and inserted.NOME_CAMPO = BANCOS_A_PAGAR_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_A_PAGAR_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_A_PAGAR_CAMPOS #porque #BANCOS_A_PAGAR_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_A_PAGAR_CAMPOS].[PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_FICHA_COR_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_FICHA_COR_LOG]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ITEM] [char](4) NOT NULL, [MATERIAL2] [char](11) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [DATA_ALTERACAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](40) NOT NULL, [MATERIAL_PRINCIPAL] [bit] NOT NULL, [PORCENTAGEM_CONSUMO] [numeric](9, 3) NOT NULL, CONSTRAINT [XPKPRODUTOS_FICHA_COR_LOG] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [ITEM] ASC, [MATERIAL2] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [DATA_ALTERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_COR_LOG].[MATERIAL_PRINCIPAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_FICHA_COR_LOG].[PORCENTAGEM_CONSUMO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_PROGRAMA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_PROGRAMA]( [PROGRAMACAO] [varchar](25) NOT NULL, [DATA] [datetime] NULL, [TIPO_PROGRAMACAO] [int] NULL, [OBS] [text] NULL, [ESTAGIO_PROGRAMACAO] [int] NULL, CONSTRAINT [XPKPRODUCAO_PROGRAMA] PRIMARY KEY NONCLUSTERED ( [PROGRAMACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_PROGRAMA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_PROGRAMA] on [PRODUCAO_PROGRAMA] for DELETE as /* DELETE trigger on PRODUCAO_PROGRAMA */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_PROGRAMA R/1635 COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.PROGRAMACAO = deleted.PROGRAMACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_PROGRAMA #porque existem registros em #COMPRAS#.'' goto error end /* PRODUCAO_PROGRAMA R/1543 PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.PROGRAMACAO = deleted.PROGRAMACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_PROGRAMA #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end /* PRODUCAO_PROGRAMA PRODUCAO_PROGRAMA PRODUCAO_PROG_PROD ON PARENT DELETE CASCADE */ delete PRODUCAO_PROG_PROD from PRODUCAO_PROG_PROD,deleted where PRODUCAO_PROG_PROD.PROGRAMACAO = deleted.PROGRAMACAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_PROGRAMA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_PROGRAMA] on [PRODUCAO_PROGRAMA] for UPDATE as /* UPDATE trigger on PRODUCAO_PROGRAMA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROGRAMACAO varchar(25), @delPROGRAMACAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_PROGRAMA R/1635 COMPRAS ON PARENT UPDATE CASCADE */ IF update(PROGRAMACAO) BEGIN DECLARE PRODUCAO_PROGRAMA1635 CURSOR FOR SELECT PROGRAMACAO FROM INSERTED DECLARE PRODUCAO_PROGRAMA588 CURSOR FOR SELECT PROGRAMACAO FROM DELETED OPEN PRODUCAO_PROGRAMA1635 OPEN PRODUCAO_PROGRAMA588 FETCH NEXT FROM PRODUCAO_PROGRAMA1635 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.PROGRAMACAO=@insPROGRAMACAO WHERE COMPRAS.PROGRAMACAO = @delPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA1635 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO END END CLOSE PRODUCAO_PROGRAMA1635 CLOSE PRODUCAO_PROGRAMA588 DEALLOCATE PRODUCAO_PROGRAMA1635 DEALLOCATE PRODUCAO_PROGRAMA588 END /* PRODUCAO_PROGRAMA R/1543 PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(PROGRAMACAO) BEGIN DECLARE PRODUCAO_PROGRAMA1543 CURSOR FOR SELECT PROGRAMACAO FROM INSERTED DECLARE PRODUCAO_PROGRAMA588 CURSOR FOR SELECT PROGRAMACAO FROM DELETED OPEN PRODUCAO_PROGRAMA1543 OPEN PRODUCAO_PROGRAMA588 FETCH NEXT FROM PRODUCAO_PROGRAMA1543 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.PROGRAMACAO=@insPROGRAMACAO WHERE PRODUCAO_ORDEM.PROGRAMACAO = @delPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA1543 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO END END CLOSE PRODUCAO_PROGRAMA1543 CLOSE PRODUCAO_PROGRAMA588 DEALLOCATE PRODUCAO_PROGRAMA1543 DEALLOCATE PRODUCAO_PROGRAMA588 END /* PRODUCAO_PROGRAMA PRODUCAO_PROGRAMA PRODUCAO_PROG_PROD ON PARENT UPDATE CASCADE */ IF update(PROGRAMACAO) BEGIN DECLARE PRODUCAO_PROGRAMA896 CURSOR FOR SELECT PROGRAMACAO FROM INSERTED DECLARE PRODUCAO_PROGRAMA588 CURSOR FOR SELECT PROGRAMACAO FROM DELETED OPEN PRODUCAO_PROGRAMA896 OPEN PRODUCAO_PROGRAMA588 FETCH NEXT FROM PRODUCAO_PROGRAMA896 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_PROG_PROD SET PRODUCAO_PROG_PROD.PROGRAMACAO=@insPROGRAMACAO WHERE PRODUCAO_PROG_PROD.PROGRAMACAO = @delPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA896 INTO @insPROGRAMACAO FETCH NEXT FROM PRODUCAO_PROGRAMA588 INTO @delPROGRAMACAO END END CLOSE PRODUCAO_PROGRAMA896 CLOSE PRODUCAO_PROGRAMA588 DEALLOCATE PRODUCAO_PROGRAMA896 DEALLOCATE PRODUCAO_PROGRAMA588 END return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROGRAMA].[TIPO_PROGRAMACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PRODUTOS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PRODUTOS_HISTORICO]( [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [DATA_SALDO] [datetime] NOT NULL, [SALDO_MOV_EXCLUIDO] [bit] NOT NULL, [CUSTO_MEDIO1] [numeric](14, 2) NULL, [CUSTO_MEDIO2] [numeric](14, 2) NULL, [CUSTO_MEDIO3] [numeric](14, 2) NULL, [CUSTO_MEDIO4] [numeric](14, 2) NULL, [ULTIMO_CUSTO1] [numeric](14, 2) NULL, [ULTIMO_CUSTO2] [numeric](14, 2) NULL, [ULTIMO_CUSTO3] [numeric](14, 2) NULL, [ULTIMO_CUSTO4] [numeric](14, 2) NULL, [DATA_CUSTO_MEDIO] [datetime] NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ULTIMA_SAIDA] [datetime] NULL, [ULTIMA_ENTRADA] [datetime] NULL, [ESTOQUE] [int] NULL, [S1] [int] NULL, [S2] [int] NULL, [S3] [int] NULL, [S4] [int] NULL, [S5] [int] NULL, [S6] [int] NULL, [S7] [int] NULL, [S8] [int] NULL, [S9] [int] NULL, [S10] [int] NULL, [S11] [int] NULL, [S12] [int] NULL, [S13] [int] NULL, [S14] [int] NULL, [S15] [int] NULL, [S16] [int] NULL, [S17] [int] NULL, [S18] [int] NULL, [S19] [int] NULL, [S20] [int] NULL, [S21] [int] NULL, [S22] [int] NULL, [S23] [int] NULL, [S24] [int] NULL, [S25] [int] NULL, [S26] [int] NULL, [S27] [int] NULL, [S28] [int] NULL, [S29] [int] NULL, [S30] [int] NULL, [S31] [int] NULL, [S32] [int] NULL, [S33] [int] NULL, [S34] [int] NULL, [S35] [int] NULL, [S36] [int] NULL, [S37] [int] NULL, [S38] [int] NULL, [S39] [int] NULL, [S40] [int] NULL, [S41] [int] NULL, [S42] [int] NULL, [S43] [int] NULL, [S44] [int] NULL, [S45] [int] NULL, [S46] [int] NULL, [S47] [int] NULL, [S48] [int] NULL, [QTDE_ENTRADA] [int] NULL, [QTDE_FATURAMENTO] [int] NULL, [QTDE_ENT_DEVOL] [int] NULL, [QTDE_FATURA_DEVOL] [int] NULL, [QTDE_PROD_ENT] [int] NULL, [QTDE_PROD_SAI] [int] NULL, [QTDE_AJUSTE] [int] NULL, [QTDE_LJ_ENT] [int] NULL, [QTDE_LJ_SAI] [int] NULL, [QTDE_VENDA] [int] NULL, [QTDE_TROCA] [int] NULL, [DATA_CUSTO_MEDIO_INIC] [datetime] NULL, [CUSTO_MEDIO1_INIC] [numeric](14, 2) NULL, [CUSTO_MEDIO2_INIC] [numeric](14, 2) NULL, [CUSTO_MEDIO3_INIC] [numeric](14, 2) NULL, [CUSTO_MEDIO4_INIC] [numeric](14, 2) NULL, [GERACAO] [datetime] NULL, CONSTRAINT [XPKESTOQUE_PRODUTOS_HISTORICO] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC, [DATA_SALDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PRODUTOS_HISTORICO]') AND name = N'XIE1ESTOQUE_PRODUTOS_HISTORICO') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PRODUTOS_HISTORICO] ON [ESTOQUE_PRODUTOS_HISTORICO] ( [DATA_SALDO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PRODUTOS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PRODUTOS_HISTORICO] on [ESTOQUE_PRODUTOS_HISTORICO] for DELETE as /* DELETE trigger on ESTOQUE_PRODUTOS_HISTORICO */ /* default body for LXD_ESTOQUE_PRODUTOS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @insDATA_SALDO datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*------------------------------------------------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime,@xDataParametro DateTime SELECT @xDataParametro=''18000101'',@xDataSaldo=''18000101'' SELECT @xDataSaldo=MAX(Data_Saldo) FROM DELETED SELECT @xDataParametro=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF @xDataSaldo=@xDataParametro BEGIN SELECT @xDataSaldo=MAX(Data_Saldo) FROM ESTOQUE_PRODUTOS_HISTORICO IF EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'') UPDATE PARAMETROS SET VALOR_ATUAL=CONVERT(CHAR(10),@xDataSaldo,103), PENULT_ATUALIZACAO=ULT_ATUALIZACAO, ULT_ATUALIZACAO=GETDATE() WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' ELSE INSERT INTO PARAMETROS (PARAMETRO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,NOTA_PROGRAMADOR,ESCOPO,POR_USUARIO_OK,GLOBAL,PENULT_ATUALIZACAO,ULT_ATUALIZACAO) VALUES (''DATA_BLOQUEIO_MOV_PA'',CONVERT(CHAR(10),@xDataSaldo,103),''DATA DE BLOQUEIO DE MOVIMENTACAO DE PRODUTOS ACABADOS'',''D'',''Impede que movimentos anteriores a data de Bloqueio sejam alterados'',1,0,0,GETDATE(),GETDATE()) END /*------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PRODUTOS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PRODUTOS_HISTORICO] on [ESTOQUE_PRODUTOS_HISTORICO] for INSERT as /* INSERT trigger on ESTOQUE_PRODUTOS_HISTORICO */ /* default body for LXI_ESTOQUE_PRODUTOS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @insDATA_SALDO datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1599 ESTOQUE_PRODUTOS_HISTORICO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PRODUTOS_HISTORICO #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES R/1598 ESTOQUE_PRODUTOS_HISTORICO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PRODUTOS_HISTORICO #porque #PRODUTO_CORES #não existe.'' goto error end end /*------------------------------------------------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime,@xDataParametro DateTime SELECT @xDataParametro=''18000101'',@xDataSaldo=''18000101'' SELECT @xDataSaldo=MAX(Data_Saldo) FROM INSERTED SELECT @xDataParametro=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF @xDataSaldo>@xDataParametro BEGIN IF EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'') UPDATE PARAMETROS SET VALOR_ATUAL=CONVERT(CHAR(10),@xDataSaldo,103), PENULT_ATUALIZACAO=ULT_ATUALIZACAO, ULT_ATUALIZACAO=GETDATE() WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' ELSE INSERT INTO PARAMETROS (PARAMETRO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,NOTA_PROGRAMADOR,ESCOPO,POR_USUARIO_OK,GLOBAL,PENULT_ATUALIZACAO,ULT_ATUALIZACAO) VALUES (''DATA_BLOQUEIO_MOV_PA'',CONVERT(CHAR(10),@xDataSaldo,103),''DATA DE BLOQUEIO DE MOVIMENTACAO DE PRODUTOS ACABADOS'',''D'',''Impede que movimentos anteriores a data de Bloqueio sejam alterados'',1,0,0,GETDATE(),GETDATE()) END /*------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PRODUTOS_HISTORICO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PRODUTOS_HISTORICO] on [ESTOQUE_PRODUTOS_HISTORICO] for UPDATE as /* UPDATE trigger on ESTOQUE_PRODUTOS_HISTORICO */ /* default body for LXU_ESTOQUE_PRODUTOS_HISTORICO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFILIAL varchar(25), @insDATA_SALDO datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/1599 ESTOQUE_PRODUTOS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PRODUTOS_HISTORICO #porque #FILIAIS #não existe.'' goto error end end /* PRODUTO_CORES R/1598 ESTOQUE_PRODUTOS_HISTORICO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PRODUTOS_HISTORICO #porque #PRODUTO_CORES #não existe.'' goto error end end /*------------------------------------------------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime,@xDataParametro DateTime,@xDataDeleted DateTime IF UPDATE(DATA_SALDO) BEGIN SELECT @xDataParametro=''18000101'',@xDataSaldo=''18000101'',@xDataDeleted=''18000101'' SELECT @xDataSaldo=MAX(Data_Saldo) FROM INSERTED SELECT @xDataDeleted=MAX(Data_Saldo) FROM DELETED SELECT @xDataParametro=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF @xDataDeleted>@xDataSaldo SELECT @xDataSaldo=MAX(Data_Saldo) FROM ESTOQUE_PRODUTOS_HISTORICO IF @xDataSaldo>@xDataParametro BEGIN IF EXISTS (SELECT * FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'') UPDATE PARAMETROS SET VALOR_ATUAL=CONVERT(CHAR(10),@xDataSaldo,103), PENULT_ATUALIZACAO=ULT_ATUALIZACAO, ULT_ATUALIZACAO=GETDATE() WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' ELSE INSERT INTO PARAMETROS (PARAMETRO,VALOR_ATUAL,DESC_PARAMETRO,TIPO_DADO,NOTA_PROGRAMADOR,ESCOPO,POR_USUARIO_OK,GLOBAL,PENULT_ATUALIZACAO,ULT_ATUALIZACAO) VALUES (''DATA_BLOQUEIO_MOV_PA'',CONVERT(CHAR(10),@xDataSaldo,103),''DATA DE BLOQUEIO DE MOVIMENTACAO DE PRODUTOS ACABADOS'',''D'',''Impede que movimentos anteriores a data de Bloqueio sejam alterados'',1,0,0,GETDATE(),GETDATE()) END END /*------------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[SALDO_MOV_EXCLUIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[ULTIMO_CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[ULTIMO_CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[ULTIMO_CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[ULTIMO_CUSTO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[S48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_ENT_DEVOL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_FATURA_DEVOL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_PROD_ENT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_PROD_SAI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_AJUSTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_LJ_ENT]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_LJ_SAI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[QTDE_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO1_INIC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO2_INIC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO3_INIC]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PRODUTOS_HISTORICO].[CUSTO_MEDIO4_INIC]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_RECEBER_CHEQUES]( [CHEQUE_CARTAO] [varchar](35) NOT NULL, [NUMERO_CONTRATO] [varchar](20) NULL, [BANCO] [char](4) NULL, [CARTEIRA] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [NOME_CLIFOR] [varchar](25) NULL, [CODIGO_CLIENTE] [varchar](14) NULL, [CODIGO_ADMINISTRADORA] [char](2) NULL, [TIPO_PGTO] [char](1) NOT NULL, [EMISSAO] [datetime] NULL, [DOCUMENTO] [varchar](12) NULL, [NUMERO_TITULO] [varchar](16) NULL, [CADASTRAMENTO] [datetime] NOT NULL, [INDICA_CARTAO] [bit] NOT NULL, [AGENCIA] [char](4) NULL, [VENCIMENTO] [datetime] NOT NULL, [CONTA_CORRENTE] [varchar](15) NULL, [PRORROGACAO] [int] NULL, [ORIGEM] [char](1) NULL, [VALOR_TAXA_ADMINISTRACAO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NOT NULL, [VALOR_ORIGINAL] [numeric](14, 2) NOT NULL, [VALOR_TOTAL_QUITADO] [numeric](14, 2) NULL, [NUMERO_DEVOLUCOES] [int] NULL, [GUIA_ENVIO] [varchar](20) NULL, [BANCO_DO_CHEQUE] [char](4) NULL, [PARCELAMENTO_NA_VENDA] [char](4) NULL, [CARTAO_MANUAL] [bit] NOT NULL, [LANCAMENTO_CAIXA] [varchar](7) NULL, [TERMINAL] [varchar](3) NULL, [LOCALIDADE] [tinyint] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKA_RECEBER_CHEQUES] PRIMARY KEY NONCLUSTERED ( [CHEQUE_CARTAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE1A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE1A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE2A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE2A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [NUMERO_TITULO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE3A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE3A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [VALOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE4A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE4A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [CODIGO_CLIENTE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE5A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE5A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_CHEQUES]') AND name = N'XIE6A_RECEBER_CHEQUES') CREATE NONCLUSTERED INDEX [XIE6A_RECEBER_CHEQUES] ON [A_RECEBER_CHEQUES] ( [EMISSAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_A_RECEBER_CHEQUES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_A_RECEBER_CHEQUES] on [A_RECEBER_CHEQUES] for DELETE as /* DELETE trigger on A_RECEBER_CHEQUES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_CHEQUES cheque_cartao A_RECEBER_PGTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PGTOS where A_RECEBER_PGTOS.CHEQUE_CARTAO = deleted.CHEQUE_CARTAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_RECEBER_CHEQUES #porque existem registros em #A_RECEBER_PGTOS#.'' goto error end /* A_RECEBER_CHEQUES cheques A_RECEBER_CHEQUES_MOV ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES_MOV where A_RECEBER_CHEQUES_MOV.CHEQUE_CARTAO = deleted.CHEQUE_CARTAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #A_RECEBER_CHEQUES #porque existem registros em #A_RECEBER_CHEQUES_MOV#.'' goto error end /*-----------------------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAREJO SET LIMITE_CREDITO=LIMITE_CREDITO_TOTAL-ISNULL((SELECT SUM(VALOR) FROM A_RECEBER_CHEQUES WHERE A_RECEBER_CHEQUES.CODIGO_CLIENTE=DELETED.CODIGO_CLIENTE HAVING SUM(VALOR) > 0),0) FROM DELETED, CLIENTES_VAREJO WHERE DELETED.CODIGO_CLIENTE=CLIENTES_VAREJO.CODIGO_CLIENTE AND CLIENTES_VAREJO.LIMITE_CREDITO_TOTAL <> 0 /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_RECEBER_CHEQUES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_RECEBER_CHEQUES] on [A_RECEBER_CHEQUES] for INSERT as /* INSERT trigger on A_RECEBER_CHEQUES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO CONTRATOS A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* BANCOS BANCOS A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO select @nullcnt = count(*) from inserted where inserted.BANCO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #BANCOS #não existe.'' goto error end end /* TIPOS_PGTO TIPO_PGTOS A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #TIPOS_PGTO #não existe.'' goto error end end /* ADMINISTRADORAS_CARTAO ADMINISTRADORA A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* FILIAIS FILIAIS A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #FILIAIS #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_CHEQUES ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_CHEQUES #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /*-----------------------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAREJO SET LIMITE_CREDITO=LIMITE_CREDITO_TOTAL-ISNULL((SELECT SUM(VALOR) FROM A_RECEBER_CHEQUES WHERE A_RECEBER_CHEQUES.CODIGO_CLIENTE=INSERTED.CODIGO_CLIENTE HAVING SUM(VALOR) > 0),0) FROM INSERTED, CLIENTES_VAREJO WHERE INSERTED.CODIGO_CLIENTE=CLIENTES_VAREJO.CODIGO_CLIENTE AND CLIENTES_VAREJO.LIMITE_CREDITO_TOTAL <> 0 /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE A_RECEBER_CHEQUES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM A_RECEBER_CHEQUES, INSERTED WHERE A_RECEBER_CHEQUES.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_RECEBER_CHEQUES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_RECEBER_CHEQUES] on [A_RECEBER_CHEQUES] for UPDATE as /* UPDATE trigger on A_RECEBER_CHEQUES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCHEQUE_CARTAO varchar(35), @delCHEQUE_CARTAO varchar(35), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO CONTRATOS A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTRATO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTRATOS_DESCONTO where inserted.NUMERO_CONTRATO = CONTRATOS_DESCONTO.NUMERO_CONTRATO select @nullcnt = count(*) from inserted where inserted.NUMERO_CONTRATO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #CONTRATOS_DESCONTO #não existe.'' goto error end end /* BANCOS BANCOS A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO select @nullcnt = count(*) from inserted where inserted.BANCO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #BANCOS #não existe.'' goto error end end /* TIPOS_PGTO TIPO_PGTOS A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(TIPO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TIPOS_PGTO where inserted.TIPO_PGTO = TIPOS_PGTO.TIPO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #TIPOS_PGTO #não existe.'' goto error end end /* ADMINISTRADORAS_CARTAO ADMINISTRADORA A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(CODIGO_ADMINISTRADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ADMINISTRADORAS_CARTAO where inserted.CODIGO_ADMINISTRADORA = ADMINISTRADORAS_CARTAO.CODIGO_ADMINISTRADORA select @nullcnt = count(*) from inserted where inserted.CODIGO_ADMINISTRADORA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #ADMINISTRADORAS_CARTAO #não existe.'' goto error end end /* FILIAIS FILIAIS A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #FILIAIS #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS_COBRANCA A_RECEBER_CHEQUES ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_CHEQUES #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end /* A_RECEBER_CHEQUES cheque_cartao A_RECEBER_PGTOS ON PARENT UPDATE CASCADE */ IF update(CHEQUE_CARTAO) BEGIN DECLARE A_RECEBER_CHEQUES1297 CURSOR FOR SELECT CHEQUE_CARTAO FROM INSERTED DECLARE A_RECEBER_CHEQUES119 CURSOR FOR SELECT CHEQUE_CARTAO FROM DELETED OPEN A_RECEBER_CHEQUES1297 OPEN A_RECEBER_CHEQUES119 FETCH NEXT FROM A_RECEBER_CHEQUES1297 INTO @insCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES119 INTO @delCHEQUE_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PGTOS SET A_RECEBER_PGTOS.CHEQUE_CARTAO=@insCHEQUE_CARTAO WHERE A_RECEBER_PGTOS.CHEQUE_CARTAO = @delCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES1297 INTO @insCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES119 INTO @delCHEQUE_CARTAO END END CLOSE A_RECEBER_CHEQUES1297 CLOSE A_RECEBER_CHEQUES119 DEALLOCATE A_RECEBER_CHEQUES1297 DEALLOCATE A_RECEBER_CHEQUES119 END /* A_RECEBER_CHEQUES cheques A_RECEBER_CHEQUES_MOV ON PARENT UPDATE CASCADE */ IF update(CHEQUE_CARTAO) BEGIN DECLARE A_RECEBER_CHEQUES1295 CURSOR FOR SELECT CHEQUE_CARTAO FROM INSERTED DECLARE A_RECEBER_CHEQUES119 CURSOR FOR SELECT CHEQUE_CARTAO FROM DELETED OPEN A_RECEBER_CHEQUES1295 OPEN A_RECEBER_CHEQUES119 FETCH NEXT FROM A_RECEBER_CHEQUES1295 INTO @insCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES119 INTO @delCHEQUE_CARTAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES_MOV SET A_RECEBER_CHEQUES_MOV.CHEQUE_CARTAO=@insCHEQUE_CARTAO WHERE A_RECEBER_CHEQUES_MOV.CHEQUE_CARTAO = @delCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES1295 INTO @insCHEQUE_CARTAO FETCH NEXT FROM A_RECEBER_CHEQUES119 INTO @delCHEQUE_CARTAO END END CLOSE A_RECEBER_CHEQUES1295 CLOSE A_RECEBER_CHEQUES119 DEALLOCATE A_RECEBER_CHEQUES1295 DEALLOCATE A_RECEBER_CHEQUES119 END /*-----------------------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAREJO SET LIMITE_CREDITO=LIMITE_CREDITO_TOTAL-ISNULL((SELECT SUM(VALOR) FROM A_RECEBER_CHEQUES WHERE A_RECEBER_CHEQUES.CODIGO_CLIENTE=INSERTED.CODIGO_CLIENTE HAVING SUM(VALOR) > 0),0) FROM INSERTED, CLIENTES_VAREJO WHERE INSERTED.CODIGO_CLIENTE=CLIENTES_VAREJO.CODIGO_CLIENTE AND CLIENTES_VAREJO.LIMITE_CREDITO_TOTAL <> 0 /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE A_RECEBER_CHEQUES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM A_RECEBER_CHEQUES, INSERTED WHERE A_RECEBER_CHEQUES.CHEQUE_CARTAO = INSERTED.CHEQUE_CARTAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR A_RECEBER_CHEQUES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[INDICA_CARTAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[PRORROGACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[VALOR_TAXA_ADMINISTRACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[VALOR_TOTAL_QUITADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[NUMERO_DEVOLUCOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[CARTAO_MANUAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_CHEQUES].[LOCALIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[A_RECEBER_CHEQUES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_AJUSTE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_AJUSTE]( [NOME_CONTAGEM] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_AJUSTE] [int] NULL, [A1] [int] NULL, [A2] [int] NULL, [A3] [int] NULL, [A4] [int] NULL, [A5] [int] NULL, [A6] [int] NULL, [A7] [int] NULL, [A8] [int] NULL, [A9] [int] NULL, [A10] [int] NULL, [A11] [int] NULL, [A12] [int] NULL, [A13] [int] NULL, [A14] [int] NULL, [A15] [int] NULL, [A16] [int] NULL, [A17] [int] NULL, [A18] [int] NULL, [A19] [int] NULL, [A20] [int] NULL, [A21] [int] NULL, [A22] [int] NULL, [A23] [int] NULL, [A24] [int] NULL, [A25] [int] NULL, [A26] [int] NULL, [A27] [int] NULL, [A28] [int] NULL, [A29] [int] NULL, [A30] [int] NULL, [A31] [int] NULL, [A32] [int] NULL, [A33] [int] NULL, [A34] [int] NULL, [A35] [int] NULL, [A36] [int] NULL, [A37] [int] NULL, [A38] [int] NULL, [A39] [int] NULL, [A40] [int] NULL, [A41] [int] NULL, [A42] [int] NULL, [A43] [int] NULL, [A44] [int] NULL, [A45] [int] NULL, [A46] [int] NULL, [A47] [int] NULL, [A48] [int] NULL, [CUSTO1] [numeric](14, 2) NULL, [CUSTO2] [numeric](14, 2) NULL, [CUSTO3] [numeric](14, 2) NULL, [CUSTO4] [numeric](14, 2) NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_AJUSTE] PRIMARY KEY NONCLUSTERED ( [NOME_CONTAGEM] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_AJUSTE]') AND name = N'XIE2ESTOQUE_PROD_CTG_AJUSTE') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_PROD_CTG_AJUSTE] ON [ESTOQUE_PROD_CTG_AJUSTE] ( [NOME_CONTAGEM] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_CTG_AJUSTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_CTG_AJUSTE] on [ESTOQUE_PROD_CTG_AJUSTE] for DELETE as /* DELETE trigger on ESTOQUE_PROD_CTG_AJUSTE */ /* default body for LXD_ESTOQUE_PROD_CTG_AJUSTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PROD_CONTAGEM.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ESTOQUE_PROD_CTG_AJUSTE CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(A1)*-1, SUM(A2)*-1, SUM(A3)*-1, SUM(A4)*-1, SUM(A5)*-1, SUM(A6)*-1, SUM(A7)*-1, SUM(A8)*-1, SUM(A9)*-1, SUM(A10)*-1,SUM(A11)*-1,SUM(A12)*-1, SUM(A13)*-1,SUM(A14)*-1,SUM(A15)*-1,SUM(A16)*-1, SUM(A17)*-1,SUM(A18)*-1,SUM(A19)*-1,SUM(A20)*-1, SUM(A21)*-1,SUM(A22)*-1,SUM(A23)*-1,SUM(A24)*-1, SUM(A25)*-1,SUM(A26)*-1,SUM(A27)*-1,SUM(A28)*-1, SUM(A29)*-1,SUM(A30)*-1,SUM(A31)*-1,SUM(A32)*-1, SUM(A33)*-1,SUM(A34)*-1,SUM(A35)*-1,SUM(A36)*-1, SUM(A37)*-1,SUM(A38)*-1,SUM(A39)*-1,SUM(A40)*-1, SUM(A41)*-1,SUM(A42)*-1,SUM(A43)*-1,SUM(A44)*-1, SUM(A45)*-1,SUM(A46)*-1,SUM(A47)*-1,SUM(A48)*-1 FROM Deleted ,ESTOQUE_PROD_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD_CTG_AJUSTE DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD_CTG_AJUSTE DEALLOCATE cur_ESTOQUE_PROD_CTG_AJUSTE /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_AJUSTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_AJUSTE] on [ESTOQUE_PROD_CTG_AJUSTE] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_AJUSTE */ /* default body for LXI_ESTOQUE_PROD_CTG_AJUSTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PROD_CONTAGEM.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_CONTAGEM, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PRODUTOS.FILIAL=ESTOQUE_PROD_CONTAGEM.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_CONTAGEM.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1595 ESTOQUE_PROD_CTG_AJUSTE ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_AJUSTE #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_AJUSTE ON CHILD INSERT RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_AJUSTE #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(A1) OR UPDATE(A2) OR UPDATE(A3) OR UPDATE(A4) OR UPDATE(A5) OR UPDATE(A6) OR UPDATE(A7) OR UPDATE(A8) OR UPDATE(A9) OR UPDATE(A10) OR UPDATE(A11) OR UPDATE(A12) OR UPDATE(A13) OR UPDATE(A14) OR UPDATE(A15) OR UPDATE(A16) OR UPDATE(A17) OR UPDATE(A18) OR UPDATE(A19) OR UPDATE(A20) OR UPDATE(A21) OR UPDATE(A22) OR UPDATE(A23) OR UPDATE(A24) OR UPDATE(A25) OR UPDATE(A26) OR UPDATE(A27) OR UPDATE(A28) OR UPDATE(A29) OR UPDATE(A30) OR UPDATE(A31) OR UPDATE(A32) OR UPDATE(A33) OR UPDATE(A34) OR UPDATE(A35) OR UPDATE(A36) OR UPDATE(A37) OR UPDATE(A38) OR UPDATE(A39) OR UPDATE(A40) OR UPDATE(A41) OR UPDATE(A42) OR UPDATE(A43) OR UPDATE(A44) OR UPDATE(A45) OR UPDATE(A46) OR UPDATE(A47) OR UPDATE(A48) BEGIN DECLARE cur_ESTOQUE_PROD_CTG_AJUSTE CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(A1), SUM(A2), SUM(A3), SUM(A4), SUM(A5), SUM(A6), SUM(A7), SUM(A8), SUM(A9), SUM(A10),SUM(A11),SUM(A12), SUM(A13),SUM(A14),SUM(A15),SUM(A16), SUM(A17),SUM(A18),SUM(A19),SUM(A20), SUM(A21),SUM(A22),SUM(A23),SUM(A24), SUM(A25),SUM(A26),SUM(A27),SUM(A28), SUM(A29),SUM(A30),SUM(A31),SUM(A32), SUM(A33),SUM(A34),SUM(A35),SUM(A36), SUM(A37),SUM(A38),SUM(A39),SUM(A40), SUM(A41),SUM(A42),SUM(A43),SUM(A44), SUM(A45),SUM(A46),SUM(A47),SUM(A48) FROM Inserted ,ESTOQUE_PROD_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD_CTG_AJUSTE DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD_CTG_AJUSTE DEALLOCATE cur_ESTOQUE_PROD_CTG_AJUSTE END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_AJUSTE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_AJUSTE] on [ESTOQUE_PROD_CTG_AJUSTE] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_AJUSTE */ /* default body for LXU_ESTOQUE_PROD_CTG_AJUSTE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PROD_CONTAGEM.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PROD_CONTAGEM.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_CONTAGEM, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PRODUTOS.FILIAL=ESTOQUE_PROD_CONTAGEM.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ESTOQUE_PROD_CONTAGEM.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_CONTAGEM, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM AND ESTOQUE_PRODUTOS.FILIAL=ESTOQUE_PROD_CONTAGEM.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_CONTAGEM.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUTO_CORES R/1595 ESTOQUE_PROD_CTG_AJUSTE ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_AJUSTE #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_AJUSTE ON CHILD UPDATE RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_AJUSTE #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(A1) OR UPDATE(A2) OR UPDATE(A3) OR UPDATE(A4) OR UPDATE(A5) OR UPDATE(A6) OR UPDATE(A7) OR UPDATE(A8) OR UPDATE(A9) OR UPDATE(A10) OR UPDATE(A11) OR UPDATE(A12) OR UPDATE(A13) OR UPDATE(A14) OR UPDATE(A15) OR UPDATE(A16) OR UPDATE(A17) OR UPDATE(A18) OR UPDATE(A19) OR UPDATE(A20) OR UPDATE(A21) OR UPDATE(A22) OR UPDATE(A23) OR UPDATE(A24) OR UPDATE(A25) OR UPDATE(A26) OR UPDATE(A27) OR UPDATE(A28) OR UPDATE(A29) OR UPDATE(A30) OR UPDATE(A31) OR UPDATE(A32) OR UPDATE(A33) OR UPDATE(A34) OR UPDATE(A35) OR UPDATE(A36) OR UPDATE(A37) OR UPDATE(A38) OR UPDATE(A39) OR UPDATE(A40) OR UPDATE(A41) OR UPDATE(A42) OR UPDATE(A43) OR UPDATE(A44) OR UPDATE(A45) OR UPDATE(A46) OR UPDATE(A47) OR UPDATE(A48) BEGIN DECLARE cur_ESTOQUE_PROD_CTG_AJUSTE CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(A1), SUM(A2), SUM(A3), SUM(A4), SUM(A5), SUM(A6), SUM(A7), SUM(A8), SUM(A9), SUM(A10),SUM(A11),SUM(A12), SUM(A13),SUM(A14),SUM(A15),SUM(A16), SUM(A17),SUM(A18),SUM(A19),SUM(A20), SUM(A21),SUM(A22),SUM(A23),SUM(A24), SUM(A25),SUM(A26),SUM(A27),SUM(A28), SUM(A29),SUM(A30),SUM(A31),SUM(A32), SUM(A33),SUM(A34),SUM(A35),SUM(A36), SUM(A37),SUM(A38),SUM(A39),SUM(A40), SUM(A41),SUM(A42),SUM(A43),SUM(A44), SUM(A45),SUM(A46),SUM(A47),SUM(A48) FROM Inserted ,ESTOQUE_PROD_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(A1)*-1, SUM(A2)*-1, SUM(A3)*-1, SUM(A4)*-1, SUM(A5)*-1, SUM(A6)*-1, SUM(A7)*-1, SUM(A8)*-1, SUM(A9)*-1, SUM(A10)*-1,SUM(A11)*-1,SUM(A12)*-1, SUM(A13)*-1,SUM(A14)*-1,SUM(A15)*-1,SUM(A16)*-1, SUM(A17)*-1,SUM(A18)*-1,SUM(A19)*-1,SUM(A20)*-1, SUM(A21)*-1,SUM(A22)*-1,SUM(A23)*-1,SUM(A24)*-1, SUM(A25)*-1,SUM(A26)*-1,SUM(A27)*-1,SUM(A28)*-1, SUM(A29)*-1,SUM(A30)*-1,SUM(A31)*-1,SUM(A32)*-1, SUM(A33)*-1,SUM(A34)*-1,SUM(A35)*-1,SUM(A36)*-1, SUM(A37)*-1,SUM(A38)*-1,SUM(A39)*-1,SUM(A40)*-1, SUM(A41)*-1,SUM(A42)*-1,SUM(A43)*-1,SUM(A44)*-1, SUM(A45)*-1,SUM(A46)*-1,SUM(A47)*-1,SUM(A48)*-1 FROM Deleted ,ESTOQUE_PROD_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD_CTG_AJUSTE DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD_CTG_AJUSTE DEALLOCATE cur_ESTOQUE_PROD_CTG_AJUSTE END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[QTDE_AJUSTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[A48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_AJUSTE].[CUSTO4]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTO_OPERACOES_ROTAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTO_OPERACOES_ROTAS]( [TABELA_OPERACOES] [varchar](25) NOT NULL, [ROTA_PRODUCAO] [char](4) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [SEQUENCIA_PRODUTIVA] [char](5) NOT NULL, [SEQUENCIA_ANTERIOR] [varchar](25) NULL, [SETOR_PARALELO_NUMERO] [char](1) NOT NULL, [RECURSO_PRODUTIVO] [char](5) NOT NULL, [TEMPO_OPERACAO] [numeric](7, 2) NULL, [TEMPO_PREPARACAO] [numeric](7, 2) NULL, [UNIDADE_TEMPO] [char](1) NULL, [CUSTO_SUGERIDO] [numeric](14, 2) NULL, [TIPO_TEMPO_PROCESSO] [char](1) NULL, [METODO_LOTE] [char](1) NOT NULL, [METODO_LOTE_QTDE] [int] NULL, [CONTROLE] [int] NULL, [BAIXA_AUTOMATICA_MATERIAL] [tinyint] NULL, [PARTE_PRODUTO] [varchar](10) NULL, CONSTRAINT [XPKPRODUTO_OPERACOES_ROTAS] PRIMARY KEY NONCLUSTERED ( [TABELA_OPERACOES] ASC, [ROTA_PRODUCAO] ASC, [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTO_OPERACOES_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTO_OPERACOES_ROTAS] on [PRODUTO_OPERACOES_ROTAS] for INSERT as /* INSERT trigger on PRODUTO_OPERACOES_ROTAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1677 PRODUTO_OPERACOES_ROTAS ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_OPERACOES_ROTAS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUCAO_SETOR R/1574 PRODUTO_OPERACOES_ROTAS ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_OPERACOES_ROTAS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1539 PRODUTO_OPERACOES_ROTAS ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTO_OPERACOES_ROTAS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTO_OPERACOES_ROTAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTO_OPERACOES_ROTAS] on [PRODUTO_OPERACOES_ROTAS] for UPDATE as /* UPDATE trigger on PRODUTO_OPERACOES_ROTAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTABELA_OPERACOES varchar(25), @insROTA_PRODUCAO char(4), @insFASE_PRODUCAO varchar(25), @insSETOR_PRODUCAO varchar(25), @delTABELA_OPERACOES varchar(25), @delROTA_PRODUCAO char(4), @delFASE_PRODUCAO varchar(25), @delSETOR_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1677 PRODUTO_OPERACOES_ROTAS ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_OPERACOES_ROTAS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUCAO_SETOR R/1574 PRODUTO_OPERACOES_ROTAS ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_OPERACOES_ROTAS #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1539 PRODUTO_OPERACOES_ROTAS ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTO_OPERACOES_ROTAS #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[TEMPO_OPERACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[TEMPO_PREPARACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[CUSTO_SUGERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[METODO_LOTE_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[CONTROLE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTO_OPERACOES_ROTAS].[BAIXA_AUTOMATICA_MATERIAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RETORNO_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [RETORNO_A_RECEBER_PARCELAS]( [BANCO] [char](4) NOT NULL, [NUMERO_RETORNO] [char](8) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [CAMPO_DETALHE] [varchar](50) NULL, [GASTOS_ENVIO] [numeric](14, 2) NULL, [GASTOS_GESTION] [numeric](14, 2) NULL, [GASTOS] [numeric](14, 2) NULL, [IVA] [numeric](14, 2) NULL, CONSTRAINT [XPKRETORNO_A_RECEBER_PARCELAS] PRIMARY KEY NONCLUSTERED ( [BANCO] ASC, [NUMERO_RETORNO] ASC, [NOME_CAMPO] ASC, [FATURA] ASC, [PARCELA] ASC, [NOME_CLIFOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_RETORNO_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_RETORNO_A_RECEBER_PARCELAS] on [RETORNO_A_RECEBER_PARCELAS] for INSERT as /* INSERT trigger on RETORNO_A_RECEBER_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS RETORNO_A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_RECEBER_PARCELAS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(BANCO) or update(NOME_CAMPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER_LAYOUT where inserted.BANCO = RETORNO_A_RECEBER_LAYOUT.BANCO and inserted.NOME_CAMPO = RETORNO_A_RECEBER_LAYOUT.NOME_CAMPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_RECEBER_PARCELAS #porque #RETORNO_A_RECEBER_LAYOUT #não existe.'' goto error end end /* RETORNO_A_RECEBER RETORNO_A_RECEBER RETORNO_A_RECEBER_PARCELAS ON CHILD INSERT RESTRICT */ if update(BANCO) or update(NUMERO_RETORNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER where inserted.BANCO = RETORNO_A_RECEBER.BANCO and inserted.NUMERO_RETORNO = RETORNO_A_RECEBER.NUMERO_RETORNO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #RETORNO_A_RECEBER_PARCELAS #porque #RETORNO_A_RECEBER #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_RETORNO_A_RECEBER_PARCELAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_RETORNO_A_RECEBER_PARCELAS] on [RETORNO_A_RECEBER_PARCELAS] for UPDATE as /* UPDATE trigger on RETORNO_A_RECEBER_PARCELAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insBANCO char(4), @insNUMERO_RETORNO char(8), @insNOME_CAMPO varchar(25), @insFATURA char(11), @insPARCELA char(2), @insNOME_CLIFOR varchar(25), @delBANCO char(4), @delNUMERO_RETORNO char(8), @delNOME_CAMPO varchar(25), @delFATURA char(11), @delPARCELA char(2), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS RETORNO_A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_RECEBER_PARCELAS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_LAYOUT RETORNO_A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(BANCO) or update(NOME_CAMPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER_LAYOUT where inserted.BANCO = RETORNO_A_RECEBER_LAYOUT.BANCO and inserted.NOME_CAMPO = RETORNO_A_RECEBER_LAYOUT.NOME_CAMPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_RECEBER_PARCELAS #porque #RETORNO_A_RECEBER_LAYOUT #não existe.'' goto error end end /* RETORNO_A_RECEBER RETORNO_A_RECEBER RETORNO_A_RECEBER_PARCELAS ON CHILD UPDATE RESTRICT */ if update(BANCO) or update(NUMERO_RETORNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,RETORNO_A_RECEBER where inserted.BANCO = RETORNO_A_RECEBER.BANCO and inserted.NUMERO_RETORNO = RETORNO_A_RECEBER.NUMERO_RETORNO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #RETORNO_A_RECEBER_PARCELAS #porque #RETORNO_A_RECEBER #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_PARCELAS].[GASTOS_ENVIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_PARCELAS].[GASTOS_GESTION]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_PARCELAS].[GASTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[RETORNO_A_RECEBER_PARCELAS].[IVA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATARIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATARIAIS_BASE_TRATAMENTO]( [TRATAMENTO] [char](5) NOT NULL, [REFERENCIA_BASE] [char](11) NOT NULL, [SEQUENCIA_PRODUTIVA] [smallint] NOT NULL, [FILEIRAS] [numeric](9, 3) NULL, [COLUNAS] [numeric](9, 3) NULL, [GRAMATURA] [numeric](9, 3) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATARIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00001] */ create trigger [LXD_MATARIAIS_BASE_TRATAMENTO] on [MATARIAIS_BASE_TRATAMENTO] for DELETE as /* DELETE trigger on MATARIAIS_BASE_TRATAMENTO */ begin declare @errno int, @errmsg varchar(255) /* MATARIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON PARENT DELETE CASCADE */ delete MATERIAIS_BASE_DIMENSAO from MATERIAIS_BASE_DIMENSAO,deleted where MATERIAIS_BASE_DIMENSAO.TRATAMENTO = deleted.TRATAMENTO and MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE = deleted.REFERENCIA_BASE return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATARIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00001] */ create trigger [LXI_MATARIAIS_BASE_TRATAMENTO] on [MATARIAIS_BASE_TRATAMENTO] for INSERT as /* INSERT trigger on MATARIAIS_BASE_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1938 MATARIAIS_BASE_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATARIAIS_BASE_TRATAMENTO #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1937 MATARIAIS_BASE_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATARIAIS_BASE_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATARIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00001] */ create trigger [LXU_MATARIAIS_BASE_TRATAMENTO] on [MATARIAIS_BASE_TRATAMENTO] for UPDATE as /* UPDATE trigger on MATARIAIS_BASE_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRATAMENTO char(5), @insREFERENCIA_BASE char(11), @delTRATAMENTO char(5), @delREFERENCIA_BASE char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATARIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) OR update(REFERENCIA_BASE) BEGIN DECLARE MATARIAIS_BASE_TRATAMENTO1939 CURSOR FOR SELECT TRATAMENTO, REFERENCIA_BASE FROM INSERTED DECLARE MATARIAIS_BASE_TRATAMENTO1096 CURSOR FOR SELECT TRATAMENTO, REFERENCIA_BASE FROM DELETED OPEN MATARIAIS_BASE_TRATAMENTO1939 OPEN MATARIAIS_BASE_TRATAMENTO1096 FETCH NEXT FROM MATARIAIS_BASE_TRATAMENTO1939 INTO @insTRATAMENTO, @insREFERENCIA_BASE FETCH NEXT FROM MATARIAIS_BASE_TRATAMENTO1096 INTO @delTRATAMENTO, @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_DIMENSAO SET MATERIAIS_BASE_DIMENSAO.TRATAMENTO=@insTRATAMENTO, MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS_BASE_DIMENSAO.TRATAMENTO = @delTRATAMENTO and MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATARIAIS_BASE_TRATAMENTO1939 INTO @insTRATAMENTO, @insREFERENCIA_BASE FETCH NEXT FROM MATARIAIS_BASE_TRATAMENTO1096 INTO @delTRATAMENTO, @delREFERENCIA_BASE END END CLOSE MATARIAIS_BASE_TRATAMENTO1939 CLOSE MATARIAIS_BASE_TRATAMENTO1096 DEALLOCATE MATARIAIS_BASE_TRATAMENTO1939 DEALLOCATE MATARIAIS_BASE_TRATAMENTO1096 END /* MATERIAIS_BASE R/1938 MATARIAIS_BASE_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATARIAIS_BASE_TRATAMENTO #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1937 MATARIAIS_BASE_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATARIAIS_BASE_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATARIAIS_BASE_TRATAMENTO].[SEQUENCIA_PRODUTIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATARIAIS_BASE_TRATAMENTO].[FILEIRAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATARIAIS_BASE_TRATAMENTO].[COLUNAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[MATARIAIS_BASE_TRATAMENTO].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_ITENS]( [PRODUTO] [char](12) NOT NULL, [NOME_CONTAGEM] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE_CONTAGEM] [int] NULL, [SALDO_CONTAGEM] [int] NULL, [Q1] [int] NULL, [Q2] [int] NULL, [Q3] [int] NULL, [Q4] [int] NULL, [Q5] [int] NULL, [Q6] [int] NULL, [Q7] [int] NULL, [Q8] [int] NULL, [Q9] [int] NULL, [Q10] [int] NULL, [Q11] [int] NULL, [Q12] [int] NULL, [Q13] [int] NULL, [Q14] [int] NULL, [Q15] [int] NULL, [Q16] [int] NULL, [Q17] [int] NULL, [Q18] [int] NULL, [Q19] [int] NULL, [Q20] [int] NULL, [Q21] [int] NULL, [Q22] [int] NULL, [Q23] [int] NULL, [Q24] [int] NULL, [Q25] [int] NULL, [Q26] [int] NULL, [Q27] [int] NULL, [Q28] [int] NULL, [Q29] [int] NULL, [Q30] [int] NULL, [Q31] [int] NULL, [Q32] [int] NULL, [Q33] [int] NULL, [Q34] [int] NULL, [Q35] [int] NULL, [Q36] [int] NULL, [Q37] [int] NULL, [Q38] [int] NULL, [Q39] [int] NULL, [Q40] [int] NULL, [Q41] [int] NULL, [Q42] [int] NULL, [Q43] [int] NULL, [Q44] [int] NULL, [Q45] [int] NULL, [Q46] [int] NULL, [Q47] [int] NULL, [Q48] [int] NULL, [S1] [int] NULL, [S2] [int] NULL, [S3] [int] NULL, [S4] [int] NULL, [S5] [int] NULL, [S6] [int] NULL, [S7] [int] NULL, [S8] [int] NULL, [S9] [int] NULL, [S10] [int] NULL, [S11] [int] NULL, [S12] [int] NULL, [S13] [int] NULL, [S14] [int] NULL, [S15] [int] NULL, [S16] [int] NULL, [S17] [int] NULL, [S18] [int] NULL, [S19] [int] NULL, [S20] [int] NULL, [S21] [int] NULL, [S22] [int] NULL, [S23] [int] NULL, [S24] [int] NULL, [S25] [int] NULL, [S26] [int] NULL, [S27] [int] NULL, [S28] [int] NULL, [S29] [int] NULL, [S30] [int] NULL, [S31] [int] NULL, [S32] [int] NULL, [S33] [int] NULL, [S34] [int] NULL, [S35] [int] NULL, [S36] [int] NULL, [S37] [int] NULL, [S38] [int] NULL, [S39] [int] NULL, [S40] [int] NULL, [S41] [int] NULL, [S42] [int] NULL, [S43] [int] NULL, [S44] [int] NULL, [S45] [int] NULL, [S46] [int] NULL, [S47] [int] NULL, [S48] [int] NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_ITENS] PRIMARY KEY NONCLUSTERED ( [PRODUTO] ASC, [NOME_CONTAGEM] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_CTG_ITENS] on [ESTOQUE_PROD_CTG_ITENS] for DELETE as /* DELETE trigger on ESTOQUE_PROD_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insNOME_CONTAGEM varchar(25), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delNOME_CONTAGEM varchar(25), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM DELETED A JOIN ESTOQUE_PROD_CONTAGEM D ON D.NOME_CONTAGEM=A.NOME_CONTAGEM JOIN ESTOQUE_PROD_CONTAGEM B ON B.FILIAL=D.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_ITENS] on [ESTOQUE_PROD_CTG_ITENS] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insNOME_CONTAGEM varchar(25), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delNOME_CONTAGEM varchar(25), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_ITENS ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_ITENS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_ITENS ON CHILD INSERT RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_ITENS #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM D ON D.NOME_CONTAGEM=A.NOME_CONTAGEM JOIN ESTOQUE_PROD_CONTAGEM B ON B.FILIAL=D.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_ITENS] on [ESTOQUE_PROD_CTG_ITENS] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRODUTO char(12), @insNOME_CONTAGEM varchar(25), @insCOR_PRODUTO char(10), @delPRODUTO char(12), @delNOME_CONTAGEM varchar(25), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_ITENS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_ITENS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_ITENS ON CHILD UPDATE RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_ITENS #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM D ON D.NOME_CONTAGEM=A.NOME_CONTAGEM JOIN ESTOQUE_PROD_CONTAGEM B ON B.FILIAL=D.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[QTDE_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[SALDO_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[Q48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_ITENS].[S48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_MATERIAIS_BASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_MATERIAIS_BASE]( [ORCAMENTO] [varchar](25) NOT NULL, [ITEM_NUMERO] [smallint] NOT NULL, [REFERENCIA_BASE] [char](11) NULL, [DESC_MATERIAL_BASE] [varchar](40) NOT NULL, [LARGURA] [numeric](7, 2) NOT NULL, [COMPRIMENTO] [numeric](7, 2) NOT NULL, [GRAMATURA] [numeric](9, 3) NOT NULL, [PERDA] [numeric](9, 3) NOT NULL, [QTDE_MATERIAL] [numeric](9, 3) NULL, [ACABAMENTO] [numeric](15, 5) NOT NULL, CONSTRAINT [XPKORCAMENTOS_MATERIAIS_BASE] PRIMARY KEY NONCLUSTERED ( [ORCAMENTO] ASC, [ITEM_NUMERO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_MATERIAIS_BASE].[ITEM_NUMERO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_MATERIAIS_BASE].[QTDE_MATERIAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UNIDADES_FEDERACAO_ICMS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UNIDADES_FEDERACAO_ICMS]( [UF] [char](2) NOT NULL, [UF_DESTINO] [char](2) NOT NULL, [ICMS_SAIDA] [real] NULL, [ICMS_ENTRADA] [real] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKUNIDADES_FEDERACAO_ICMS] PRIMARY KEY NONCLUSTERED ( [UF] ASC, [UF_DESTINO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_UNIDADES_FEDERACAO_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_UNIDADES_FEDERACAO_ICMS] on [UNIDADES_FEDERACAO_ICMS] for INSERT as /* INSERT trigger on UNIDADES_FEDERACAO_ICMS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES_FEDERACAO R/1899 UNIDADES_FEDERACAO_ICMS ON CHILD INSERT RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #UNIDADES_FEDERACAO_ICMS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO R/1898 UNIDADES_FEDERACAO_ICMS ON CHILD INSERT RESTRICT */ if update(UF_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF_DESTINO = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #UNIDADES_FEDERACAO_ICMS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE UNIDADES_FEDERACAO_ICMS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM UNIDADES_FEDERACAO_ICMS, INSERTED WHERE UNIDADES_FEDERACAO_ICMS.UF = INSERTED.UF and UNIDADES_FEDERACAO_ICMS.UF_DESTINO = INSERTED.UF_DESTINO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_UNIDADES_FEDERACAO_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_UNIDADES_FEDERACAO_ICMS] on [UNIDADES_FEDERACAO_ICMS] for UPDATE as /* UPDATE trigger on UNIDADES_FEDERACAO_ICMS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUF char(2), @insUF_DESTINO char(2), @delUF char(2), @delUF_DESTINO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES_FEDERACAO R/1899 UNIDADES_FEDERACAO_ICMS ON CHILD UPDATE RESTRICT */ if update(UF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #UNIDADES_FEDERACAO_ICMS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /* UNIDADES_FEDERACAO R/1898 UNIDADES_FEDERACAO_ICMS ON CHILD UPDATE RESTRICT */ if update(UF_DESTINO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES_FEDERACAO where inserted.UF_DESTINO = UNIDADES_FEDERACAO.UF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #UNIDADES_FEDERACAO_ICMS #porque #UNIDADES_FEDERACAO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE UNIDADES_FEDERACAO_ICMS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM UNIDADES_FEDERACAO_ICMS, INSERTED WHERE UNIDADES_FEDERACAO_ICMS.UF = INSERTED.UF and UNIDADES_FEDERACAO_ICMS.UF_DESTINO = INSERTED.UF_DESTINO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR UNIDADES_FEDERACAO_ICMS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES_FEDERACAO_ICMS].[ICMS_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES_FEDERACAO_ICMS].[ICMS_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[UNIDADES_FEDERACAO_ICMS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_NUMEROS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_NUMEROS]( [NUMERO_CONTAGEM] [char](2) NOT NULL, [NOME_CONTAGEM] [varchar](25) NOT NULL, [OBS] [varchar](80) NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_NUMEROS] PRIMARY KEY NONCLUSTERED ( [NUMERO_CONTAGEM] ASC, [NOME_CONTAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_CTG_NUMEROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_CTG_NUMEROS] on [ESTOQUE_PROD_CTG_NUMEROS] for DELETE as /* DELETE trigger on ESTOQUE_PROD_CTG_NUMEROS */ begin declare @errno int, @errmsg varchar(255) /* ESTOQUE_PROD_CTG_NUMEROS NUMERO_RECONTAGEM ESTOQUE_PROD_CTG_LOCAL ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_LOCAL from ESTOQUE_PROD_CTG_LOCAL,deleted where ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM = deleted.NUMERO_CONTAGEM and ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM = deleted.NOME_CONTAGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_NUMEROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_NUMEROS] on [ESTOQUE_PROD_CTG_NUMEROS] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_NUMEROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CONTAGEM NOME_CONTAGEM ESTOQUE_PROD_CTG_NUMEROS ON CHILD INSERT RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_NUMEROS #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_NUMEROS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_NUMEROS] on [ESTOQUE_PROD_CTG_NUMEROS] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_NUMEROS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_CONTAGEM char(2), @insNOME_CONTAGEM varchar(25), @delNUMERO_CONTAGEM char(2), @delNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CTG_NUMEROS NUMERO_RECONTAGEM ESTOQUE_PROD_CTG_LOCAL ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTAGEM) OR update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CTG_NUMEROS1067 CURSOR FOR SELECT NUMERO_CONTAGEM, NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CTG_NUMEROS685 CURSOR FOR SELECT NUMERO_CONTAGEM, NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CTG_NUMEROS1067 OPEN ESTOQUE_PROD_CTG_NUMEROS685 FETCH NEXT FROM ESTOQUE_PROD_CTG_NUMEROS1067 INTO @insNUMERO_CONTAGEM, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_NUMEROS685 INTO @delNUMERO_CONTAGEM, @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_LOCAL SET ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM=@insNUMERO_CONTAGEM, ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM = @delNUMERO_CONTAGEM and ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_NUMEROS1067 INTO @insNUMERO_CONTAGEM, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_NUMEROS685 INTO @delNUMERO_CONTAGEM, @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CTG_NUMEROS1067 CLOSE ESTOQUE_PROD_CTG_NUMEROS685 DEALLOCATE ESTOQUE_PROD_CTG_NUMEROS1067 DEALLOCATE ESTOQUE_PROD_CTG_NUMEROS685 END /* ESTOQUE_PROD_CONTAGEM NOME_CONTAGEM ESTOQUE_PROD_CTG_NUMEROS ON CHILD UPDATE RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_NUMEROS #porque #ESTOQUE_PROD_CONTAGEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_NUMEROS].[NUMERO_CONTAGEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_LOCAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_LOCAL]( [NUMERO_CONTAGEM] [char](2) NOT NULL, [NUMERO_LOCAL] [int] NOT NULL, [NOME_CONTAGEM] [varchar](25) NOT NULL, [LOCAL] [varchar](20) NULL, [SUB_LOCAL] [varchar](10) NULL, [ARQUIVO_CONTAGEM] [varchar](50) NULL, [OPERADOR] [varchar](25) NULL, [DATA] [datetime] NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_LOCAL] PRIMARY KEY NONCLUSTERED ( [NUMERO_CONTAGEM] ASC, [NUMERO_LOCAL] ASC, [NOME_CONTAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_CTG_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_CTG_LOCAL] on [ESTOQUE_PROD_CTG_LOCAL] for DELETE as /* DELETE trigger on ESTOQUE_PROD_CTG_LOCAL */ begin declare @errno int, @errmsg varchar(255) /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_PROD ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_PROD from ESTOQUE_PROD_CTG_PROD,deleted where ESTOQUE_PROD_CTG_PROD.NUMERO_CONTAGEM = deleted.NUMERO_CONTAGEM and ESTOQUE_PROD_CTG_PROD.NUMERO_LOCAL = deleted.NUMERO_LOCAL and ESTOQUE_PROD_CTG_PROD.NOME_CONTAGEM = deleted.NOME_CONTAGEM /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_BARRAS ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_BARRAS from ESTOQUE_PROD_CTG_BARRAS,deleted where ESTOQUE_PROD_CTG_BARRAS.NUMERO_CONTAGEM = deleted.NUMERO_CONTAGEM and ESTOQUE_PROD_CTG_BARRAS.NUMERO_LOCAL = deleted.NUMERO_LOCAL and ESTOQUE_PROD_CTG_BARRAS.NOME_CONTAGEM = deleted.NOME_CONTAGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_LOCAL] on [ESTOQUE_PROD_CTG_LOCAL] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_LOCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CTG_NUMEROS NUMERO_RECONTAGEM ESTOQUE_PROD_CTG_LOCAL ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTAGEM) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_NUMEROS where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_NUMEROS.NUMERO_CONTAGEM and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_NUMEROS.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_LOCAL #porque #ESTOQUE_PROD_CTG_NUMEROS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_LOCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_LOCAL] on [ESTOQUE_PROD_CTG_LOCAL] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_LOCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_CONTAGEM char(2), @insNUMERO_LOCAL int, @insNOME_CONTAGEM varchar(25), @delNUMERO_CONTAGEM char(2), @delNUMERO_LOCAL int, @delNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_PROD ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTAGEM) OR update(NUMERO_LOCAL) OR update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CTG_LOCAL1070 CURSOR FOR SELECT NUMERO_CONTAGEM, NUMERO_LOCAL, NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CTG_LOCAL687 CURSOR FOR SELECT NUMERO_CONTAGEM, NUMERO_LOCAL, NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CTG_LOCAL1070 OPEN ESTOQUE_PROD_CTG_LOCAL687 FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL1070 INTO @insNUMERO_CONTAGEM, @insNUMERO_LOCAL, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL687 INTO @delNUMERO_CONTAGEM, @delNUMERO_LOCAL, @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_PROD SET ESTOQUE_PROD_CTG_PROD.NUMERO_CONTAGEM=@insNUMERO_CONTAGEM, ESTOQUE_PROD_CTG_PROD.NUMERO_LOCAL=@insNUMERO_LOCAL, ESTOQUE_PROD_CTG_PROD.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_PROD.NUMERO_CONTAGEM = @delNUMERO_CONTAGEM and ESTOQUE_PROD_CTG_PROD.NUMERO_LOCAL = @delNUMERO_LOCAL and ESTOQUE_PROD_CTG_PROD.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL1070 INTO @insNUMERO_CONTAGEM, @insNUMERO_LOCAL, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL687 INTO @delNUMERO_CONTAGEM, @delNUMERO_LOCAL, @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CTG_LOCAL1070 CLOSE ESTOQUE_PROD_CTG_LOCAL687 DEALLOCATE ESTOQUE_PROD_CTG_LOCAL1070 DEALLOCATE ESTOQUE_PROD_CTG_LOCAL687 END /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_BARRAS ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTAGEM) OR update(NUMERO_LOCAL) OR update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CTG_LOCAL1069 CURSOR FOR SELECT NUMERO_CONTAGEM, NUMERO_LOCAL, NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CTG_LOCAL687 CURSOR FOR SELECT NUMERO_CONTAGEM, NUMERO_LOCAL, NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CTG_LOCAL1069 OPEN ESTOQUE_PROD_CTG_LOCAL687 FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL1069 INTO @insNUMERO_CONTAGEM, @insNUMERO_LOCAL, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL687 INTO @delNUMERO_CONTAGEM, @delNUMERO_LOCAL, @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_BARRAS SET ESTOQUE_PROD_CTG_BARRAS.NUMERO_CONTAGEM=@insNUMERO_CONTAGEM, ESTOQUE_PROD_CTG_BARRAS.NUMERO_LOCAL=@insNUMERO_LOCAL, ESTOQUE_PROD_CTG_BARRAS.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_BARRAS.NUMERO_CONTAGEM = @delNUMERO_CONTAGEM and ESTOQUE_PROD_CTG_BARRAS.NUMERO_LOCAL = @delNUMERO_LOCAL and ESTOQUE_PROD_CTG_BARRAS.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL1069 INTO @insNUMERO_CONTAGEM, @insNUMERO_LOCAL, @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CTG_LOCAL687 INTO @delNUMERO_CONTAGEM, @delNUMERO_LOCAL, @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CTG_LOCAL1069 CLOSE ESTOQUE_PROD_CTG_LOCAL687 DEALLOCATE ESTOQUE_PROD_CTG_LOCAL1069 DEALLOCATE ESTOQUE_PROD_CTG_LOCAL687 END /* ESTOQUE_PROD_CTG_NUMEROS NUMERO_RECONTAGEM ESTOQUE_PROD_CTG_LOCAL ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTAGEM) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_NUMEROS where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_NUMEROS.NUMERO_CONTAGEM and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_NUMEROS.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_LOCAL #porque #ESTOQUE_PROD_CTG_NUMEROS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_LOCAL].[NUMERO_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_LOCAL].[NUMERO_LOCAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ORDEM_SERV_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ORDEM_SERV_MATERIAL]( [ORDEM_SERVICO] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE_NECESSARIA] [numeric](9, 3) NULL, CONSTRAINT [XPKPRODUCAO_ORDEM_SERV_MATERIA] PRIMARY KEY NONCLUSTERED ( [ORDEM_SERVICO] ASC, [MATERIAL] ASC, [ITEM] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ORDEM_SERV_MATERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ORDEM_SERV_MATERI] on [PRODUCAO_ORDEM_SERV_MATERIAL] for INSERT as /* INSERT trigger on PRODUCAO_ORDEM_SERV_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1793 PRODUCAO_ORDEM_SERV_MATERIAL ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERV_MATERIAL #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* MATERIAIS_CORES R/1792 PRODUCAO_ORDEM_SERV_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ORDEM_SERV_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ORDEM_SERV_MATERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ORDEM_SERV_MATERI] on [PRODUCAO_ORDEM_SERV_MATERIAL] for UPDATE as /* UPDATE trigger on PRODUCAO_ORDEM_SERV_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_SERVICO char(8), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @delORDEM_SERVICO char(8), @delMATERIAL char(11), @delITEM char(3), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ORDEM_SERVICO R/1793 PRODUCAO_ORDEM_SERV_MATERIAL ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM_SERVICO where inserted.ORDEM_SERVICO = PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERV_MATERIAL #porque #PRODUCAO_ORDEM_SERVICO #não existe.'' goto error end end /* MATERIAIS_CORES R/1792 PRODUCAO_ORDEM_SERV_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ORDEM_SERV_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ORDEM_SERV_MATERIAL].[QTDE_NECESSARIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_RET1_MAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_RET1_MAT]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [CUSTO_ULT_SAIDA] [numeric](15, 5) NULL, [DATA_CUSTO] [datetime] NULL, [MATAR_SALDO_RESERVA] [bit] NOT NULL, [CUSTO_SERVICO] [numeric](15, 5) NULL, [PERDA] [numeric](9, 3) NULL, [CUSTO_MATERIAL_TERCEIRO] [numeric](15, 5) NULL, [PERDA_NA_PRODUCAO] [numeric](9, 3) NULL, [CUSTO_MATERIA_PRIMA] [numeric](15, 5) NULL, [PERDA_INFORMADA] [numeric](9, 3) NULL, [RECALCULA_NIVEIS_SUPERIORES] [bit] NOT NULL, CONSTRAINT [XPKESTOQUE_RET1_MAT] PRIMARY KEY NONCLUSTERED ( [REQ_MATERIAL] ASC, [FILIAL] ASC, [MATERIAL] ASC, [ITEM] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET1_MAT]') AND name = N'XIE1ESTOQUE_RET1_MAT') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_RET1_MAT] ON [ESTOQUE_RET1_MAT] ( [REQ_MATERIAL] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET1_MAT]') AND name = N'XIE3ESTOQUE_RET1_MAT') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_RET1_MAT] ON [ESTOQUE_RET1_MAT] ( [MATERIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET1_MAT]') AND name = N'XIE4ESTOQUE_RET1_MAT') CREATE NONCLUSTERED INDEX [XIE4ESTOQUE_RET1_MAT] ON [ESTOQUE_RET1_MAT] ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_RET1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_RET1_MAT] on [ESTOQUE_RET1_MAT] for DELETE as /* DELETE trigger on ESTOQUE_RET1_MAT */ /* default body for LXD_ESTOQUE_RET1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_RET1_MAT ESTOQUE_RET1_MAT ESTOQUE_RET_PECA ON PARENT DELETE CASCADE */ delete ESTOQUE_RET_PECA from ESTOQUE_RET_PECA,deleted where ESTOQUE_RET_PECA.REQ_MATERIAL = deleted.REQ_MATERIAL and ESTOQUE_RET_PECA.FILIAL = deleted.FILIAL and ESTOQUE_RET_PECA.MATERIAL = deleted.MATERIAL and ESTOQUE_RET_PECA.ITEM = deleted.ITEM and ESTOQUE_RET_PECA.COR_MATERIAL = deleted.COR_MATERIAL /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED A INNER JOIN ESTOQUE_RET_MAT ON ESTOQUE_RET_MAT.REQ_MATERIAL=A.REQ_MATERIAL AND ESTOQUE_RET_MAT.FILIAL=A.FILIAL WHERE ORDEM_PRODUCAO IS NOT NULL AND TIPO_MOVIMENTACAO=''C'' OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ESTOQUE_RET1_MAT CURSOR FOR SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_RET1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_RET1_MAT DEALLOCATE cur_ESTOQUE_RET1_MAT /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_RET1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_RET1_MAT] on [ESTOQUE_RET1_MAT] for INSERT as /* INSERT trigger on ESTOQUE_RET1_MAT */ /* default body for LXI_ESTOQUE_RET1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_RET1_MAT ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET1_MAT #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_RET_MAT ESTOQUE_RET_MAT ESTOQUE_RET1_MAT ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_RET_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET1_MAT #porque #ESTOQUE_RET_MAT #não existe.'' goto error end end /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A INNER JOIN ESTOQUE_RET_MAT ON ESTOQUE_RET_MAT.REQ_MATERIAL=A.REQ_MATERIAL AND ESTOQUE_RET_MAT.FILIAL=A.FILIAL WHERE ORDEM_PRODUCAO IS NOT NULL AND TIPO_MOVIMENTACAO=''C'' OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_ESTOQUE_RET1_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial OPEN cur_ESTOQUE_RET1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_RET1_MAT DEALLOCATE cur_ESTOQUE_RET1_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_RET1_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ESTOQUE_RET1_MAT] on [ESTOQUE_RET1_MAT] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ESTOQUE_RET1_MAT */ /* default body for LXU_ESTOQUE_RET1_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insITEM char(3), @insCOR_MATERIAL char(10), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delMATERIAL char(11), @delITEM char(3), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_RET1_MAT ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET1_MAT #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_RET_MAT ESTOQUE_RET_MAT ESTOQUE_RET1_MAT ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_RET_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET1_MAT #porque #ESTOQUE_RET_MAT #não existe.'' goto error end end /* ESTOQUE_RET1_MAT ESTOQUE_RET1_MAT ESTOQUE_RET_PECA ON PARENT UPDATE CASCADE */ IF update(REQ_MATERIAL) OR update(FILIAL) OR update(MATERIAL) OR update(ITEM) OR update(COR_MATERIAL) BEGIN DECLARE ESTOQUE_RET1_MAT843 CURSOR FOR SELECT REQ_MATERIAL, FILIAL, MATERIAL, ITEM, COR_MATERIAL FROM INSERTED DECLARE ESTOQUE_RET1_MAT224 CURSOR FOR SELECT REQ_MATERIAL, FILIAL, MATERIAL, ITEM, COR_MATERIAL FROM DELETED OPEN ESTOQUE_RET1_MAT843 OPEN ESTOQUE_RET1_MAT224 FETCH NEXT FROM ESTOQUE_RET1_MAT843 INTO @insREQ_MATERIAL, @insFILIAL, @insMATERIAL, @insITEM, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_RET1_MAT224 INTO @delREQ_MATERIAL, @delFILIAL, @delMATERIAL, @delITEM, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_RET_PECA SET ESTOQUE_RET_PECA.REQ_MATERIAL=@insREQ_MATERIAL, ESTOQUE_RET_PECA.FILIAL=@insFILIAL, ESTOQUE_RET_PECA.MATERIAL=@insMATERIAL, ESTOQUE_RET_PECA.ITEM=@insITEM, ESTOQUE_RET_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_RET_PECA.REQ_MATERIAL = @delREQ_MATERIAL and ESTOQUE_RET_PECA.FILIAL = @delFILIAL and ESTOQUE_RET_PECA.MATERIAL = @delMATERIAL and ESTOQUE_RET_PECA.ITEM = @delITEM and ESTOQUE_RET_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM ESTOQUE_RET1_MAT843 INTO @insREQ_MATERIAL, @insFILIAL, @insMATERIAL, @insITEM, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_RET1_MAT224 INTO @delREQ_MATERIAL, @delFILIAL, @delMATERIAL, @delITEM, @delCOR_MATERIAL END END CLOSE ESTOQUE_RET1_MAT843 CLOSE ESTOQUE_RET1_MAT224 DEALLOCATE ESTOQUE_RET1_MAT843 DEALLOCATE ESTOQUE_RET1_MAT224 END /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A INNER JOIN ESTOQUE_RET_MAT ON ESTOQUE_RET_MAT.REQ_MATERIAL=A.REQ_MATERIAL AND ESTOQUE_RET_MAT.FILIAL=A.FILIAL WHERE ORDEM_PRODUCAO IS NOT NULL AND TIPO_MOVIMENTACAO=''C'' OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) OR EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE* CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(PERDA) BEGIN DECLARE cur_ESTOQUE_RET1_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0)), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial UNION SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_RET1_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_RET1_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_RET1_MAT DEALLOCATE cur_ESTOQUE_RET1_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[CUSTO_ULT_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[MATAR_SALDO_RESERVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[CUSTO_SERVICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[CUSTO_MATERIAL_TERCEIRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[PERDA_NA_PRODUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[CUSTO_MATERIA_PRIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[PERDA_INFORMADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET1_MAT].[RECALCULA_NIVEIS_SUPERIORES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CONTAGEM]( [NOME_CONTAGEM] [varchar](25) NOT NULL, [FILIAL] [varchar](25) NULL, [EMISSAO] [datetime] NOT NULL, [RESPONSAVEL] [varchar](25) NULL, [ESTOQUE_AJUSTADO] [bit] NOT NULL, [DATA_AJUSTE] [datetime] NULL, [TIPO] [char](1) NULL, [SALDO_ARMAZENADO] [bit] NOT NULL, [CONTAGEM_POR_AREA_FECHADA] [bit] NOT NULL, [OBS] [text] NULL, CONSTRAINT [XPKESTOQUE_PROD_CONTAGEM] PRIMARY KEY NONCLUSTERED ( [NOME_CONTAGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CONTAGEM]') AND name = N'XIE1ESTOQUE_PROD_CONTAGEM') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PROD_CONTAGEM] ON [ESTOQUE_PROD_CONTAGEM] ( [NOME_CONTAGEM] ASC, [FILIAL] ASC, [EMISSAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CONTAGEM]') AND name = N'XIE2ESTOQUE_PROD_CONTAGEM') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_PROD_CONTAGEM] ON [ESTOQUE_PROD_CONTAGEM] ( [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD_CONTAGEM] on [ESTOQUE_PROD_CONTAGEM] for DELETE as /* DELETE trigger on ESTOQUE_PROD_CONTAGEM */ /* default body for LXD_ESTOQUE_PROD_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Nao e possivel Excluir Movimentacao de Estoque anterior a ''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ESTOQUE_PROD_CTG_AJUSTE CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(A1)*-1, SUM(A2)*-1, SUM(A3)*-1, SUM(A4)*-1, SUM(A5)*-1, SUM(A6)*-1, SUM(A7)*-1, SUM(A8)*-1, SUM(A9)*-1, SUM(A10)*-1,SUM(A11)*-1,SUM(A12)*-1, SUM(A13)*-1,SUM(A14)*-1,SUM(A15)*-1,SUM(A16)*-1, SUM(A17)*-1,SUM(A18)*-1,SUM(A19)*-1,SUM(A20)*-1, SUM(A21)*-1,SUM(A22)*-1,SUM(A23)*-1,SUM(A24)*-1, SUM(A25)*-1,SUM(A26)*-1,SUM(A27)*-1,SUM(A28)*-1, SUM(A29)*-1,SUM(A30)*-1,SUM(A31)*-1,SUM(A32)*-1, SUM(A33)*-1,SUM(A34)*-1,SUM(A35)*-1,SUM(A36)*-1, SUM(A37)*-1,SUM(A38)*-1,SUM(A39)*-1,SUM(A40)*-1, SUM(A41)*-1,SUM(A42)*-1,SUM(A43)*-1,SUM(A44)*-1, SUM(A45)*-1,SUM(A46)*-1,SUM(A47)*-1,SUM(A48)*-1 FROM Deleted ,ESTOQUE_PROD_CTG_AJUSTE WHERE Deleted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD_CTG_AJUSTE DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operacao cancelada. Nao foi possivel atualizar "ESTOQUE_PRODUTOS".'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD_CTG_AJUSTE INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD_CTG_AJUSTE DEALLOCATE cur_ESTOQUE_PROD_CTG_AJUSTE /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM DELETED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM DELETED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL WHERE B.TIPO=''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL ) B ON A.FILIAL=B.FILIAL WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_PROD_CONTAGEM NOME_CONTAGEM ESTOQUE_PROD_CTG_NUMEROS ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_NUMEROS from ESTOQUE_PROD_CTG_NUMEROS,deleted where ESTOQUE_PROD_CTG_NUMEROS.NOME_CONTAGEM = deleted.NOME_CONTAGEM /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_AJUSTE ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_AJUSTE from ESTOQUE_PROD_CTG_AJUSTE,deleted where ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM = deleted.NOME_CONTAGEM /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_ITENS ON PARENT DELETE CASCADE */ delete ESTOQUE_PROD_CTG_ITENS from ESTOQUE_PROD_CTG_ITENS,deleted where ESTOQUE_PROD_CTG_ITENS.NOME_CONTAGEM = deleted.NOME_CONTAGEM return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CONTAGEM] on [ESTOQUE_PROD_CONTAGEM] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CONTAGEM */ /* default body for LXI_ESTOQUE_PROD_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS FILIAIS ESTOQUE_PROD_CONTAGEM ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CONTAGEM #porque #FILIAIS #não existe.'' goto error end end /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL WHERE B.TIPO=''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL ) B ON A.FILIAL=B.FILIAL WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CONTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CONTAGEM] on [ESTOQUE_PROD_CONTAGEM] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CONTAGEM */ /* default body for LXU_ESTOQUE_PROD_CONTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @delNOME_CONTAGEM varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted WHERE EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted WHERE EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END IF UPDATE(EMISSAO) BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_CTG_AJUSTE, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CONTAGEM = ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD_CTG_AJUSTE.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD_CTG_AJUSTE.COR_PRODUTO AND DELETED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_CTG_AJUSTE, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CONTAGEM = ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=ESTOQUE_PROD_CTG_AJUSTE.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=ESTOQUE_PROD_CTG_AJUSTE.COR_PRODUTO AND INSERTED.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FILIAIS FILIAIS ESTOQUE_PROD_CONTAGEM ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL select @nullcnt = count(*) from inserted where inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CONTAGEM #porque #FILIAIS #não existe.'' goto error end end /* ESTOQUE_PROD_CONTAGEM NOME_CONTAGEM ESTOQUE_PROD_CTG_NUMEROS ON PARENT UPDATE CASCADE */ IF update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CONTAGEM1075 CURSOR FOR SELECT NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CONTAGEM679 CURSOR FOR SELECT NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CONTAGEM1075 OPEN ESTOQUE_PROD_CONTAGEM679 FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1075 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_NUMEROS SET ESTOQUE_PROD_CTG_NUMEROS.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_NUMEROS.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1075 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CONTAGEM1075 CLOSE ESTOQUE_PROD_CONTAGEM679 DEALLOCATE ESTOQUE_PROD_CONTAGEM1075 DEALLOCATE ESTOQUE_PROD_CONTAGEM679 END /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_AJUSTE ON PARENT UPDATE CASCADE */ IF update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CONTAGEM1055 CURSOR FOR SELECT NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CONTAGEM679 CURSOR FOR SELECT NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CONTAGEM1055 OPEN ESTOQUE_PROD_CONTAGEM679 FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1055 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_AJUSTE SET ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1055 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CONTAGEM1055 CLOSE ESTOQUE_PROD_CONTAGEM679 DEALLOCATE ESTOQUE_PROD_CONTAGEM1055 DEALLOCATE ESTOQUE_PROD_CONTAGEM679 END /* ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CONTAGEM ESTOQUE_PROD_CTG_ITENS ON PARENT UPDATE CASCADE */ IF update(NOME_CONTAGEM) BEGIN DECLARE ESTOQUE_PROD_CONTAGEM1053 CURSOR FOR SELECT NOME_CONTAGEM FROM INSERTED DECLARE ESTOQUE_PROD_CONTAGEM679 CURSOR FOR SELECT NOME_CONTAGEM FROM DELETED OPEN ESTOQUE_PROD_CONTAGEM1053 OPEN ESTOQUE_PROD_CONTAGEM679 FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1053 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_PROD_CTG_ITENS SET ESTOQUE_PROD_CTG_ITENS.NOME_CONTAGEM=@insNOME_CONTAGEM WHERE ESTOQUE_PROD_CTG_ITENS.NOME_CONTAGEM = @delNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM1053 INTO @insNOME_CONTAGEM FETCH NEXT FROM ESTOQUE_PROD_CONTAGEM679 INTO @delNOME_CONTAGEM END END CLOSE ESTOQUE_PROD_CONTAGEM1053 CLOSE ESTOQUE_PROD_CONTAGEM679 DEALLOCATE ESTOQUE_PROD_CONTAGEM1053 DEALLOCATE ESTOQUE_PROD_CONTAGEM679 END /*-- Atualiza DATA_AJUSTE em Estoque PA -------------------------------------------------------------------------------*/ UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,C.PRODUTO,C.COR_PRODUTO,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL JOIN ESTOQUE_PROD_CTG_ITENS C ON C.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.TIPO<>''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL,C.PRODUTO,C.COR_PRODUTO ) B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.DATA_AJUSTE<>B.DATA UPDATE A SET DATA_AJUSTE=B.DATA FROM ESTOQUE_PRODUTOS A JOIN ( SELECT B.FILIAL,ISNULL(MAX(B.EMISSAO),''19800101'') AS DATA FROM INSERTED A JOIN ESTOQUE_PROD_CONTAGEM B ON A.FILIAL=B.FILIAL WHERE B.TIPO=''C'' AND B.SALDO_ARMAZENADO=1 GROUP BY B.FILIAL ) B ON A.FILIAL=B.FILIAL WHERE A.DATA_AJUSTE<>B.DATA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CONTAGEM].[ESTOQUE_AJUSTADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CONTAGEM].[SALDO_ARMAZENADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CONTAGEM].[CONTAGEM_POR_AREA_FECHADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_RET_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_RET_PECA]( [MATERIAL] [char](11) NOT NULL, [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [PECA] [char](6) NOT NULL, [ITEM] [char](3) NOT NULL, [PARTIDA] [char](6) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [LOCALIZACAO] [char](8) NULL, [LARGURA] [real] NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [PERDA] [numeric](9, 3) NULL, [PERDA_REQ_MATERIAL] [varchar](8) NULL, [CONTROLE_QUALIDADE] [smallint] NULL, [GRAMATURA] [numeric](9, 3) NULL, [RECEITA] [varchar](20) NULL, [DI] [varchar](20) NULL, [NCM] [varchar](20) NULL, CONSTRAINT [XPKESTOQUE_RET_PECA] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [REQ_MATERIAL] ASC, [FILIAL] ASC, [PECA] ASC, [ITEM] ASC, [PARTIDA] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET_PECA]') AND name = N'XIE1ESTOQUE_RET_PECA') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_RET_PECA] ON [ESTOQUE_RET_PECA] ( [MATERIAL] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET_PECA]') AND name = N'XIE2ESTOQUE_RET_PECA') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_RET_PECA] ON [ESTOQUE_RET_PECA] ( [PECA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_RET_PECA]') AND name = N'XIE3ESTOQUE_RET_PECA') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_RET_PECA] ON [ESTOQUE_RET_PECA] ( [QTDE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_RET_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_RET_PECA] on [ESTOQUE_RET_PECA] for DELETE as /* DELETE trigger on ESTOQUE_RET_PECA */ /* default body for LXD_ESTOQUE_RET_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insPECA char(6), @insITEM char(3), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_ESTOQUE_RET_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ESTOQUE_RET_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ESTOQUE_RET_PECA DEALLOCATE cur_ESTOQUE_RET_PECA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_RET_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_RET_PECA] on [ESTOQUE_RET_PECA] for INSERT as /* INSERT trigger on ESTOQUE_RET_PECA */ /* default body for LXI_ESTOQUE_RET_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insPECA char(6), @insITEM char(3), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_RET_PECA ON CHILD INSERT RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ESTOQUE_RET1_MAT ESTOQUE_RET1_MAT ESTOQUE_RET_PECA ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) or update(MATERIAL) or update(ITEM) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET1_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET1_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_RET1_MAT.FILIAL and inserted.MATERIAL = ESTOQUE_RET1_MAT.MATERIAL and inserted.ITEM = ESTOQUE_RET1_MAT.ITEM and inserted.COR_MATERIAL = ESTOQUE_RET1_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_RET_PECA #porque #ESTOQUE_RET1_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(LARGURA) OR UPDATE(LOCALIZACAO) BEGIN DECLARE cur_ESTOQUE_RET_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ESTOQUE_RET_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ESTOQUE_RET_PECA DEALLOCATE cur_ESTOQUE_RET_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_RET_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ESTOQUE_RET_PECA] on [ESTOQUE_RET_PECA] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ESTOQUE_RET_PECA */ /* default body for LXU_ESTOQUE_RET_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insPECA char(6), @insITEM char(3), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delPECA char(6), @delITEM char(3), @delPARTIDA char(6), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_RET_PECA ON CHILD UPDATE RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ESTOQUE_RET1_MAT ESTOQUE_RET1_MAT ESTOQUE_RET_PECA ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) or update(MATERIAL) or update(ITEM) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_RET1_MAT where inserted.REQ_MATERIAL = ESTOQUE_RET1_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_RET1_MAT.FILIAL and inserted.MATERIAL = ESTOQUE_RET1_MAT.MATERIAL and inserted.ITEM = ESTOQUE_RET1_MAT.ITEM and inserted.COR_MATERIAL = ESTOQUE_RET1_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_RET_PECA #porque #ESTOQUE_RET1_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(LARGURA) OR UPDATE(LOCALIZACAO) OR UPDATE(PERDA) BEGIN DECLARE cur_ESTOQUE_RET_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0)), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA UNION SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)-ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) , LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida, LOCALIZACAO, LARGURA, CONTROLE_QUALIDADE, GRAMATURA, RECEITA OPEN cur_ESTOQUE_RET_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE(), LOCALIZACAO = @cLocalizacao, LARGURA = @cLargura, CONTROLE_QUALIDADE = @cControle_Qualidade, GRAMATURA = @nGramatura, RECEITA = @cReceita WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA,LOCALIZACAO,LARGURA,CONTROLE_QUALIDADE,GRAMATURA,RECEITA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE(),@cLOCALIZACAO,@cLARGURA,@cControle_Qualidade,@nGramatura,@cReceita) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_RET_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux,@cLOCALIZACAO,@cLARGURA,@cCONTROLE_QUALIDADE,@nGramatura,@cReceita END CLOSE cur_ESTOQUE_RET_PECA DEALLOCATE cur_ESTOQUE_RET_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET_PECA].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET_PECA].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET_PECA].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_RET_PECA].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ESTOQUE_RET_PECA].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [SEQUENCIAIS]( [TABELA_COLUNA] [varchar](37) NOT NULL, [DESCRICAO] [varchar](40) NOT NULL, [SEQUENCIA] [varchar](20) NOT NULL, [TAMANHO] [int] NOT NULL, [OBS1] [char](255) NULL, [OBS2] [char](255) NULL, [OBS3] [char](255) NULL, [OBS4] [char](255) NULL, [OBS5] [char](255) NULL, [OBS6] [char](255) NULL, [OBS7] [char](255) NULL, [OBS8] [char](60) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PERMITE_POR_EMPRESA] [bit] NOT NULL, CONSTRAINT [XPKSEQUENCIAIS] PRIMARY KEY NONCLUSTERED ( [TABELA_COLUNA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_SEQUENCIAIS] on [SEQUENCIAIS] for DELETE as /* DELETE trigger on SEQUENCIAIS */ begin declare @errno int, @errmsg varchar(255) /* SEQUENCIAIS R/1951 EMPRESA_SEQUENCIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,EMPRESA_SEQUENCIAIS where EMPRESA_SEQUENCIAIS.TABELA_COLUNA = deleted.TABELA_COLUNA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #SEQUENCIAIS #porque existem registros em #EMPRESA_SEQUENCIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_SEQUENCIAIS] on [SEQUENCIAIS] for UPDATE as /* UPDATE trigger on SEQUENCIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTABELA_COLUNA varchar(37), @delTABELA_COLUNA varchar(37), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* SEQUENCIAIS R/1951 EMPRESA_SEQUENCIAIS ON PARENT UPDATE CASCADE */ IF update(TABELA_COLUNA) BEGIN DECLARE SEQUENCIAIS1951 CURSOR FOR SELECT TABELA_COLUNA FROM INSERTED DECLARE SEQUENCIAIS347 CURSOR FOR SELECT TABELA_COLUNA FROM DELETED OPEN SEQUENCIAIS1951 OPEN SEQUENCIAIS347 FETCH NEXT FROM SEQUENCIAIS1951 INTO @insTABELA_COLUNA FETCH NEXT FROM SEQUENCIAIS347 INTO @delTABELA_COLUNA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE EMPRESA_SEQUENCIAIS SET EMPRESA_SEQUENCIAIS.TABELA_COLUNA=@insTABELA_COLUNA WHERE EMPRESA_SEQUENCIAIS.TABELA_COLUNA = @delTABELA_COLUNA FETCH NEXT FROM SEQUENCIAIS1951 INTO @insTABELA_COLUNA FETCH NEXT FROM SEQUENCIAIS347 INTO @delTABELA_COLUNA END END CLOSE SEQUENCIAIS1951 CLOSE SEQUENCIAIS347 DEALLOCATE SEQUENCIAIS1951 DEALLOCATE SEQUENCIAIS347 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE SEQUENCIAIS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM SEQUENCIAIS, INSERTED WHERE SEQUENCIAIS.TABELA_COLUNA = INSERTED.TABELA_COLUNA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR SEQUENCIAIS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SEQUENCIAIS].[TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[SEQUENCIAIS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[SEQUENCIAIS].[PERMITE_POR_EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_LOTE_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_LOTE_MATERIAL]( [PEDIDO_EXTERNO] [char](12) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [QTDE_ORIGINAL] [numeric](9, 3) NULL, [QTDE_ENTREGUE] [numeric](9, 3) NULL, [QTDE_ENTREGAR] [numeric](9, 3) NULL, [QTDE_CANCELADA] [numeric](9, 3) NULL, [QTDE_RESERVADA] [numeric](9, 3) NULL, [PRECO] [numeric](17, 5) NULL, [IPI] [real] NULL, [DESCONTO_ITEM] [numeric](17, 5) NULL, [VALOR_ORIGINAL] [numeric](17, 5) NULL, [VALOR_ENTREGUE] [numeric](17, 5) NULL, [VALOR_ENTREGAR] [numeric](17, 5) NULL, [VALOR_CANCELADO] [numeric](17, 5) NULL, [VALOR_RESERVADO] [numeric](17, 5) NULL, [REFERENCIA_CLIENTE] [varchar](30) NULL, [UNIDADE_CLIENTE] [varchar](5) NULL, [FATOR_CONVERSAO_CLIENTE] [numeric](9, 4) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKVENDAS_LOTE_MATERIAL] PRIMARY KEY NONCLUSTERED ( [PEDIDO_EXTERNO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_LOTE_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_LOTE_MATERIAL] on [VENDAS_LOTE_MATERIAL] for INSERT as /* INSERT trigger on VENDAS_LOTE_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_LOTE R/2030 VENDAS_LOTE_MATERIAL ON CHILD INSERT RESTRICT */ if update(PEDIDO_EXTERNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_LOTE where inserted.PEDIDO_EXTERNO = VENDAS_LOTE.PEDIDO_EXTERNO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE_MATERIAL #porque #VENDAS_LOTE #não existe.'' goto error end end /* MATERIAIS_CORES R/2029 VENDAS_LOTE_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_LOTE_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE VENDAS_LOTE_MATERIAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE_MATERIAL, INSERTED WHERE VENDAS_LOTE_MATERIAL.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO and VENDAS_LOTE_MATERIAL.MATERIAL = INSERTED.MATERIAL and VENDAS_LOTE_MATERIAL.COR_MATERIAL = INSERTED.COR_MATERIAL and VENDAS_LOTE_MATERIAL.ENTREGA = INSERTED.ENTREGA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_LOTE_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_LOTE_MATERIAL] on [VENDAS_LOTE_MATERIAL] for UPDATE as /* UPDATE trigger on VENDAS_LOTE_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO_EXTERNO char(12), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insENTREGA datetime, @delPEDIDO_EXTERNO char(12), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_LOTE R/2030 VENDAS_LOTE_MATERIAL ON CHILD UPDATE RESTRICT */ if update(PEDIDO_EXTERNO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_LOTE where inserted.PEDIDO_EXTERNO = VENDAS_LOTE.PEDIDO_EXTERNO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE_MATERIAL #porque #VENDAS_LOTE #não existe.'' goto error end end /* MATERIAIS_CORES R/2029 VENDAS_LOTE_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_LOTE_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_LOTE_MATERIAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_LOTE_MATERIAL, INSERTED WHERE VENDAS_LOTE_MATERIAL.PEDIDO_EXTERNO = INSERTED.PEDIDO_EXTERNO and VENDAS_LOTE_MATERIAL.MATERIAL = INSERTED.MATERIAL and VENDAS_LOTE_MATERIAL.COR_MATERIAL = INSERTED.COR_MATERIAL and VENDAS_LOTE_MATERIAL.ENTREGA = INSERTED.ENTREGA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_LOTE_MATERIAL.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_MATERIAL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_LOTE_MATERIAL].[VALOR_RESERVADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[VENDAS_LOTE_MATERIAL].[FATOR_CONVERSAO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_LOTE_MATERIAL].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_RECURSOS_FASE]( [RECURSO_PRODUTIVO] [char](5) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [ORDEM_SELECAO] [int] NULL, CONSTRAINT [XPKPRODUCAO_RECURSOS_FASE] PRIMARY KEY NONCLUSTERED ( [RECURSO_PRODUTIVO] ASC, [FASE_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFD_PRODUCAO_RECURSOS_FASE fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUCAO_RECURSOS_FASE] ON [PRODUCAO_RECURSOS_FASE] FOR DELETE NOT FOR REPLICATION AS BEGIN IF EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECF A, DELETED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO AND A.GF_FASE_PRODUCAO= (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=B.FASE_PRODUCAO)) DELETE FROM GF_PRODUCAO_RECF WHERE GF_FASE_PRODUCAO= (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO= (SELECT FASE_PRODUCAO FROM DELETED)) AND GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM DELETED) ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFI_PRODUCAO_RECURSOS_FASE] ON [PRODUCAO_RECURSOS_FASE] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_RECURSOS_FASE'')))=1) RETURN ELSE BEGIN IF NOT EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECF A, INSERTED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO AND A.GF_FASE_PRODUCAO= (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=B.FASE_PRODUCAO)) BEGIN INSERT INTO GF_PRODUCAO_RECF (ID,IDRECURSO,GF_RECURSO_PRODU,GF_FASE_PRODUCAO,GF_ORDEM_SELECAO) SELECT B.IDMAX, (SELECT ID FROM GF_PRODUCAO_RECP WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED)), RECURSO_PRODUTIVO, (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED)), ORDEM_SELECAO FROM PRODUCAO_RECURSOS_FASE A, GF_PRODUCAO_RECFCNT B WHERE FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED) AND RECURSO_PRODUTIVO=(SELECT RECURSO_PRODUTIVO FROM INSERTED) UPDATE GF_PRODUCAO_RECFCNT SET IDMAX=IDMAX+1 END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N' /****** Objeto: trigger/desencanador dbo.GFU_PRODUCAO_RECURSOS_FASE fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUCAO_RECURSOS_FASE] ON [PRODUCAO_RECURSOS_FASE] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_RECURSOS'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_RECURSOS'')))=1) RETURN ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_RECURSOS_FASE'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_RECURSOS_FASE'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_RECURSOS_FASE'')) ) < 2 ) BEGIN IF EXISTS (SELECT GF_RECURSO_PRODU FROM GF_PRODUCAO_RECF A, DELETED B WHERE A.GF_RECURSO_PRODU=B.RECURSO_PRODUTIVO AND A.GF_FASE_PRODUCAO= (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=B.FASE_PRODUCAO)) BEGIN UPDATE GF_PRODUCAO_RECF SET GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED), GF_FASE_PRODUCAO=(SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED)), GF_ORDEM_SELECAO=(SELECT ORDEM_SELECAO FROM INSERTED) WHERE GF_RECURSO_PRODU=(SELECT RECURSO_PRODUTIVO FROM INSERTED) END ELSE RETURN END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_RECURSOS_FASE] on [PRODUCAO_RECURSOS_FASE] for INSERT as /* INSERT trigger on PRODUCAO_RECURSOS_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_FASE R/1530 PRODUCAO_RECURSOS_FASE ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS_FASE #porque #PRODUCAO_FASE #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1517 PRODUCAO_RECURSOS_FASE ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_RECURSOS_FASE #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_RECURSOS_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_RECURSOS_FASE] on [PRODUCAO_RECURSOS_FASE] for UPDATE as /* UPDATE trigger on PRODUCAO_RECURSOS_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRECURSO_PRODUTIVO char(5), @insFASE_PRODUCAO varchar(25), @delRECURSO_PRODUTIVO char(5), @delFASE_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_FASE R/1530 PRODUCAO_RECURSOS_FASE ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_FASE where inserted.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS_FASE #porque #PRODUCAO_FASE #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1517 PRODUCAO_RECURSOS_FASE ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_RECURSOS_FASE #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_RECURSOS_FASE].[ORDEM_SELECAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_MATERIAL]( [PEDIDO] [char](12) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ENTREGA] [datetime] NOT NULL, [LIMITE_ENTREGA] [datetime] NOT NULL, [QTDE_ORIGINAL] [numeric](9, 3) NULL, [QTDE_ENTREGUE] [numeric](9, 3) NULL, [QTDE_ENTREGAR] [numeric](9, 3) NULL, [QTDE_CANCELADA] [numeric](9, 3) NULL, [QTDE_RESERVADA] [numeric](9, 3) NULL, [PRECO] [numeric](17, 5) NULL, [IPI] [real] NULL, [DESCONTO_ITEM] [numeric](17, 5) NULL, [VALOR_ORIGINAL] [numeric](17, 5) NULL, [VALOR_ENTREGUE] [numeric](17, 5) NULL, [VALOR_ENTREGAR] [numeric](17, 5) NULL, [VALOR_CANCELADO] [numeric](17, 5) NULL, [VALOR_RESERVADO] [numeric](17, 5) NULL, [REFERENCIA_CLIENTE] [varchar](30) NULL, [UNIDADE_CLIENTE] [varchar](5) NULL, [FATOR_CONVERSAO_CLIENTE] [numeric](9, 4) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKVENDAS_MATERIAL] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_MATERIAL] on [VENDAS_MATERIAL] for INSERT as /* INSERT trigger on VENDAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1491 VENDAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_MATERIAL #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES VENDAS_MATERIAL ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE VENDAS_MATERIAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_MATERIAL, INSERTED WHERE VENDAS_MATERIAL.PEDIDO = INSERTED.PEDIDO and VENDAS_MATERIAL.MATERIAL = INSERTED.MATERIAL and VENDAS_MATERIAL.COR_MATERIAL = INSERTED.COR_MATERIAL and VENDAS_MATERIAL.ENTREGA = INSERTED.ENTREGA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_MATERIAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_MATERIAL] on [VENDAS_MATERIAL] for UPDATE as /* UPDATE trigger on VENDAS_MATERIAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO char(12), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insENTREGA datetime, @delPEDIDO char(12), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS R/1491 VENDAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_MATERIAL #porque #VENDAS #não existe.'' goto error end end /* MATERIAIS_CORES MATERIAIS_CORES VENDAS_MATERIAL ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_MATERIAL #porque #MATERIAIS_CORES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_MATERIAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_MATERIAL, INSERTED WHERE VENDAS_MATERIAL.PEDIDO = INSERTED.PEDIDO and VENDAS_MATERIAL.MATERIAL = INSERTED.MATERIAL and VENDAS_MATERIAL.COR_MATERIAL = INSERTED.COR_MATERIAL and VENDAS_MATERIAL.ENTREGA = INSERTED.ENTREGA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_MATERIAL.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[QTDE_RESERVADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[VALOR_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_MATERIAL].[VALOR_RESERVADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[VENDAS_MATERIAL].[FATOR_CONVERSAO_CLIENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_MATERIAL].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES]( [COD_TRANSACAO] [char](23) NOT NULL, [BLOQUEIA_EMPRESA_MULTI_ACESSO] [bit] NOT NULL, [TRANSACAO] [char](3) NOT NULL, [TABELA_PAI] [char](18) NOT NULL, [VERSAO_LIBERADA] [char](6) NOT NULL, [TITULO] [varchar](78) NOT NULL, [HELP] [text] NULL, [CONTROL_SISTEMA] [varchar](9) NOT NULL, [AUDITORIA] [bit] NOT NULL, [AUDITORIA_GERAL] [bit] NOT NULL, [AUDITORIA_EM_COLUNAS] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PERMITE_ALTERAR_MULTI_EMPRESA] [bit] NOT NULL, CONSTRAINT [XPKTRANSACOES] PRIMARY KEY NONCLUSTERED ( [COD_TRANSACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES]') AND name = N'XAK1TRANSACOES') CREATE UNIQUE NONCLUSTERED INDEX [XAK1TRANSACOES] ON [TRANSACOES] ( [TRANSACAO] ASC, [TABELA_PAI] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES]') AND name = N'XAK2TRANSACOES') CREATE UNIQUE NONCLUSTERED INDEX [XAK2TRANSACOES] ON [TRANSACOES] ( [CONTROL_SISTEMA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TRANSACOES] on [TRANSACOES] for DELETE as /* DELETE trigger on TRANSACOES */ begin declare @errno int, @errmsg varchar(255) /* TRANSACOES R/2153 USERS_CUBOS_PERMITIDOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,USERS_CUBOS_PERMITIDOS where USERS_CUBOS_PERMITIDOS.COD_TRANSACAO = deleted.COD_TRANSACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSACOES #porque existem registros em #USERS_CUBOS_PERMITIDOS#.'' goto error end /* /* TRANSACOES R/1959 TRANSACOES_OBJETO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSACOES_OBJETO where TRANSACOES_OBJETO.COD_TRANSACAO = deleted.COD_TRANSACAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRANSACOES #porque existem registros em #TRANSACOES_OBJETO#.'' goto error end */ /* TRANSACOES TRANSACOES TRANSACOES_USR_REL ON PARENT DELETE CASCADE */ delete TRANSACOES_USR_REL from TRANSACOES_USR_REL,deleted where TRANSACOES_USR_REL.COD_TRANSACAO = deleted.COD_TRANSACAO /* TRANSACOES TRANSACOES TRANSACOES_QUERY ON PARENT DELETE CASCADE */ delete TRANSACOES_QUERY from TRANSACOES_QUERY,deleted where TRANSACOES_QUERY.COD_TRANSACAO = deleted.COD_TRANSACAO /* TRANSACOES TRANSACOES TRANSACOES_REPORT ON PARENT DELETE CASCADE */ delete TRANSACOES_REPORT from TRANSACOES_REPORT,deleted where TRANSACOES_REPORT.COD_TRANSACAO = deleted.COD_TRANSACAO /* TRANSACOES TRANSACOES TRANSACOES_PARAM ON PARENT DELETE CASCADE */ delete TRANSACOES_PARAM from TRANSACOES_PARAM,deleted where TRANSACOES_PARAM.COD_TRANSACAO = deleted.COD_TRANSACAO /* TRANSACOES TRANSACOES TRANSACOES_NAVEGA ON PARENT DELETE CASCADE */ delete TRANSACOES_NAVEGA from TRANSACOES_NAVEGA,deleted where TRANSACOES_NAVEGA.COD_TRANSACAO = deleted.COD_TRANSACAO /* TRANSACOES TRANSACOES USERS_TRANSACOES ON PARENT DELETE CASCADE */ delete USERS_TRANSACOES from USERS_TRANSACOES,deleted where USERS_TRANSACOES.COD_TRANSACAO = deleted.COD_TRANSACAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES] on [TRANSACOES] for UPDATE as /* UPDATE trigger on TRANSACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSACAO char(23), @delCOD_TRANSACAO char(23), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES R/2153 USERS_CUBOS_PERMITIDOS ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES2153 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES2153 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES2153 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_CUBOS_PERMITIDOS SET USERS_CUBOS_PERMITIDOS.COD_TRANSACAO=@insCOD_TRANSACAO WHERE USERS_CUBOS_PERMITIDOS.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES2153 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES2153 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES2153 DEALLOCATE TRANSACOES111 END /* TRANSACOES R/1959 TRANSACOES_OBJETO ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES1959 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES1959 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES1959 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_OBJETO SET TRANSACOES_OBJETO.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_OBJETO.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES1959 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES1959 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES1959 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES TRANSACOES_USR_REL ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES833 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES833 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES833 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_USR_REL SET TRANSACOES_USR_REL.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_USR_REL.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES833 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES833 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES833 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES TRANSACOES_QUERY ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES736 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES736 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES736 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_QUERY SET TRANSACOES_QUERY.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_QUERY.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES736 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES736 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES736 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES TRANSACOES_REPORT ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES589 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES589 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES589 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_REPORT SET TRANSACOES_REPORT.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_REPORT.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES589 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES589 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES589 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES TRANSACOES_PARAM ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES585 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES585 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES585 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_PARAM SET TRANSACOES_PARAM.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_PARAM.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES585 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES585 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES585 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES TRANSACOES_NAVEGA ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES301 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES301 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES301 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_NAVEGA SET TRANSACOES_NAVEGA.COD_TRANSACAO=@insCOD_TRANSACAO WHERE TRANSACOES_NAVEGA.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES301 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES301 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES301 DEALLOCATE TRANSACOES111 END /* TRANSACOES TRANSACOES USERS_TRANSACOES ON PARENT UPDATE CASCADE */ IF update(COD_TRANSACAO) BEGIN DECLARE TRANSACOES171 CURSOR FOR SELECT COD_TRANSACAO FROM INSERTED DECLARE TRANSACOES111 CURSOR FOR SELECT COD_TRANSACAO FROM DELETED OPEN TRANSACOES171 OPEN TRANSACOES111 FETCH NEXT FROM TRANSACOES171 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_TRANSACOES SET USERS_TRANSACOES.COD_TRANSACAO=@insCOD_TRANSACAO WHERE USERS_TRANSACOES.COD_TRANSACAO = @delCOD_TRANSACAO FETCH NEXT FROM TRANSACOES171 INTO @insCOD_TRANSACAO FETCH NEXT FROM TRANSACOES111 INTO @delCOD_TRANSACAO END END CLOSE TRANSACOES171 CLOSE TRANSACOES111 DEALLOCATE TRANSACOES171 DEALLOCATE TRANSACOES111 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSACOES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES, INSERTED WHERE TRANSACOES.COD_TRANSACAO = INSERTED.COD_TRANSACAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSACOES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES].[BLOQUEIA_EMPRESA_MULTI_ACESSO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES].[AUDITORIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES].[AUDITORIA_GERAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES].[AUDITORIA_EM_COLUNAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSACOES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES].[PERMITE_ALTERAR_MULTI_EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[BANCOS_TAB_CAMPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [BANCOS_TAB_CAMPOS]( [BANCO] [char](4) NOT NULL, [NOME_CAMPO] [varchar](25) NOT NULL, [VALOR_CAMPO] [varchar](10) NOT NULL, [DESCRICAO_CAMPO] [varchar](100) NULL, [PADRAO] [bit] NOT NULL, CONSTRAINT [XPKBANCOS_TAB_CAMPOS] PRIMARY KEY NONCLUSTERED ( [NOME_CAMPO] ASC, [VALOR_CAMPO] ASC, [BANCO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_BANCOS_TAB_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_BANCOS_TAB_CAMPOS] on [BANCOS_TAB_CAMPOS] for INSERT as /* INSERT trigger on BANCOS_TAB_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_TAB_CAMPOS ON CHILD INSERT RESTRICT */ if update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_LAYOUT where inserted.NOME_CAMPO = BANCOS_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #BANCOS_TAB_CAMPOS #porque #BANCOS_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_BANCOS_TAB_CAMPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_BANCOS_TAB_CAMPOS] on [BANCOS_TAB_CAMPOS] for UPDATE as /* UPDATE trigger on BANCOS_TAB_CAMPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CAMPO varchar(25), @insVALOR_CAMPO varchar(10), @insBANCO char(4), @delNOME_CAMPO varchar(25), @delVALOR_CAMPO varchar(10), @delBANCO char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* BANCOS_LAYOUT BANCOS_LAYOUT BANCOS_TAB_CAMPOS ON CHILD UPDATE RESTRICT */ if update(NOME_CAMPO) or update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS_LAYOUT where inserted.NOME_CAMPO = BANCOS_LAYOUT.NOME_CAMPO and inserted.BANCO = BANCOS_LAYOUT.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #BANCOS_TAB_CAMPOS #porque #BANCOS_LAYOUT #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[BANCOS_TAB_CAMPOS].[PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_CELULA_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_CELULA_MAQUINAS]( [CELULA] [char](5) NOT NULL, [MAQUINA] [char](5) NOT NULL, [QTDE_MAQUINAS_CELULA] [int] NULL, [GRAU_POLIVALENCIA] [int] NULL, CONSTRAINT [XPKPRODUTIV_CELULA_MAQUINAS] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC, [MAQUINA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_CELULA_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_CELULA_MAQUINAS] on [PRODUTIV_CELULA_MAQUINAS] for INSERT as /* INSERT trigger on PRODUTIV_CELULA_MAQUINAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_MAQUINAS MAQUINAS PRODUTIV_CELULA_MAQUINAS ON CHILD INSERT RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_CELULA_MAQUINAS #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end /* PRODUTIV_CELULAS CELULAS_MAQUINAS PRODUTIV_CELULA_MAQUINAS ON CHILD INSERT RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_CELULA_MAQUINAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_CELULA_MAQUINAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_CELULA_MAQUINAS] on [PRODUTIV_CELULA_MAQUINAS] for UPDATE as /* UPDATE trigger on PRODUTIV_CELULA_MAQUINAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @insMAQUINA char(5), @delCELULA char(5), @delMAQUINA char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_MAQUINAS MAQUINAS PRODUTIV_CELULA_MAQUINAS ON CHILD UPDATE RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_MAQUINAS where inserted.MAQUINA = PRODUTIV_MAQUINAS.MAQUINA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_CELULA_MAQUINAS #porque #PRODUTIV_MAQUINAS #não existe.'' goto error end end /* PRODUTIV_CELULAS CELULAS_MAQUINAS PRODUTIV_CELULA_MAQUINAS ON CHILD UPDATE RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_CELULA_MAQUINAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_CELULA_MAQUINAS].[QTDE_MAQUINAS_CELULA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_CELULA_MAQUINAS].[GRAU_POLIVALENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_ENT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD1_ENT]( [ROMANEIO_PRODUTO] [char](8) NOT NULL, [PRODUTO] [char](12) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [QTDE] [int] NULL, [EN_1] [int] NULL, [EN_2] [int] NULL, [EN_3] [int] NULL, [EN_4] [int] NULL, [EN_5] [int] NULL, [EN_6] [int] NULL, [EN_7] [int] NULL, [EN_8] [int] NULL, [EN_9] [int] NULL, [EN_10] [int] NULL, [EN_11] [int] NULL, [EN_12] [int] NULL, [EN_13] [int] NULL, [EN_14] [int] NULL, [EN_15] [int] NULL, [EN_16] [int] NULL, [EN_17] [int] NULL, [EN_18] [int] NULL, [EN_19] [int] NULL, [EN_20] [int] NULL, [EN_21] [int] NULL, [EN_22] [int] NULL, [EN_23] [int] NULL, [EN_24] [int] NULL, [EN_25] [int] NULL, [EN_26] [int] NULL, [EN_27] [int] NULL, [EN_28] [int] NULL, [EN_29] [int] NULL, [EN_30] [int] NULL, [EN_31] [int] NULL, [EN_32] [int] NULL, [EN_33] [int] NULL, [EN_34] [int] NULL, [EN_35] [int] NULL, [EN_36] [int] NULL, [EN_37] [int] NULL, [EN_38] [int] NULL, [EN_39] [int] NULL, [EN_40] [int] NULL, [EN_41] [int] NULL, [EN_42] [int] NULL, [EN_43] [int] NULL, [EN_44] [int] NULL, [EN_45] [int] NULL, [EN_46] [int] NULL, [EN_47] [int] NULL, [EN_48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [ORDEM_PRODUCAO] [char](8) NULL, [TAREFA] [char](10) NULL, [SEGUNDA_QUALIDADE] [bit] NOT NULL, [CUSTO1] [numeric](14, 2) NULL, [CUSTO2] [numeric](14, 2) NULL, [CUSTO3] [numeric](14, 2) NULL, [CUSTO4] [numeric](14, 2) NULL, [DATA_CUSTO] [datetime] NULL, CONSTRAINT [XPKESTOQUE_PROD1_ENT] PRIMARY KEY NONCLUSTERED ( [ROMANEIO_PRODUTO] ASC, [FILIAL] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_ENT]') AND name = N'XIE1ESTOQUE_PROD1_ENT') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_PROD1_ENT] ON [ESTOQUE_PROD1_ENT] ( [ORDEM_PRODUCAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_ENT]') AND name = N'XIE2ESTOQUE_PROD1_ENT') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_PROD1_ENT] ON [ESTOQUE_PROD1_ENT] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC, [ROMANEIO_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_ENT]') AND name = N'XIE3ESTOQUE_PROD1_ENT') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_PROD1_ENT] ON [ESTOQUE_PROD1_ENT] ( [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_PROD1_ENT]') AND name = N'XIE4ESTOQUE_PROD1_ENT') CREATE NONCLUSTERED INDEX [XIE4ESTOQUE_PROD1_ENT] ON [ESTOQUE_PROD1_ENT] ( [TAREFA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_PROD1_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_PROD1_ENT] on [ESTOQUE_PROD1_ENT] for DELETE as /* DELETE trigger on ESTOQUE_PROD1_ENT */ /* default body for LXD_ESTOQUE_PROD1_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delITEM char(3), @delTAREFA char(10), @delQTDE QTDE_PRODUTO, @delTOTAL QTDE_PRODUTO, @delORDEM_PRODUCAO char(8), @delEn_1 QTDE_PRODUTO, @delEn_2 QTDE_PRODUTO, @delEn_3 QTDE_PRODUTO, @delEn_4 QTDE_PRODUTO, @delEn_5 QTDE_PRODUTO, @delEn_6 QTDE_PRODUTO, @delEn_7 QTDE_PRODUTO, @delEn_8 QTDE_PRODUTO, @delEn_9 QTDE_PRODUTO, @delEn_10 QTDE_PRODUTO, @delEn_11 QTDE_PRODUTO, @delEn_12 QTDE_PRODUTO, @delEn_13 QTDE_PRODUTO, @delEn_14 QTDE_PRODUTO, @delEn_15 QTDE_PRODUTO, @delEn_16 QTDE_PRODUTO, @delEn_17 QTDE_PRODUTO, @delEn_18 QTDE_PRODUTO, @delEn_19 QTDE_PRODUTO, @delEn_20 QTDE_PRODUTO, @delEn_21 QTDE_PRODUTO, @delEn_22 QTDE_PRODUTO, @delEn_23 QTDE_PRODUTO, @delEn_24 QTDE_PRODUTO, @delEn_25 QTDE_PRODUTO, @delEn_26 QTDE_PRODUTO, @delEn_27 QTDE_PRODUTO, @delEn_28 QTDE_PRODUTO, @delEn_29 QTDE_PRODUTO, @delEn_30 QTDE_PRODUTO, @delEn_31 QTDE_PRODUTO, @delEn_32 QTDE_PRODUTO, @delEn_33 QTDE_PRODUTO, @delEn_34 QTDE_PRODUTO, @delEn_35 QTDE_PRODUTO, @delEn_36 QTDE_PRODUTO, @delEn_37 QTDE_PRODUTO, @delEn_38 QTDE_PRODUTO, @delEn_39 QTDE_PRODUTO, @delEn_40 QTDE_PRODUTO, @delEn_41 QTDE_PRODUTO, @delEn_42 QTDE_PRODUTO, @delEn_43 QTDE_PRODUTO, @delEn_44 QTDE_PRODUTO, @delEn_45 QTDE_PRODUTO, @delEn_46 QTDE_PRODUTO, @delEn_47 QTDE_PRODUTO, @delEn_48 QTDE_PRODUTO, @delDATA_Emissao DATETIME, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_ENT WHERE Deleted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND Deleted.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PROD_ENT.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_ENT, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ESTOQUE_PROD_ENT.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ESTOQUE_PROD1_ENT CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN_1)*-1, SUM(EN_2)*-1, SUM(EN_3)*-1, SUM(EN_4)*-1, SUM(EN_5)*-1, SUM(EN_6)*-1, SUM(EN_7)*-1, SUM(EN_8)*-1, SUM(EN_9)*-1, SUM(EN_10)*-1,SUM(EN_11)*-1,SUM(EN_12)*-1, SUM(EN_13)*-1,SUM(EN_14)*-1,SUM(EN_15)*-1,SUM(EN_16)*-1, SUM(EN_17)*-1,SUM(EN_18)*-1,SUM(EN_19)*-1,SUM(EN_20)*-1, SUM(EN_21)*-1,SUM(EN_22)*-1,SUM(EN_23)*-1,SUM(EN_24)*-1, SUM(EN_25)*-1,SUM(EN_26)*-1,SUM(EN_27)*-1,SUM(EN_28)*-1, SUM(EN_29)*-1,SUM(EN_30)*-1,SUM(EN_31)*-1,SUM(EN_32)*-1, SUM(EN_33)*-1,SUM(EN_34)*-1,SUM(EN_35)*-1,SUM(EN_36)*-1, SUM(EN_37)*-1,SUM(EN_38)*-1,SUM(EN_39)*-1,SUM(EN_40)*-1, SUM(EN_41)*-1,SUM(EN_42)*-1,SUM(EN_43)*-1,SUM(EN_44)*-1, SUM(EN_45)*-1,SUM(EN_46)*-1,SUM(EN_47)*-1,SUM(EN_48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_ENT DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_ENT DEALLOCATE cur_ESTOQUE_PROD1_ENT /*---------------------------------------------------------------------------------------------------------------------*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurDelete_Estoque_Prod1_Ent CURSOR FOR SELECT Romaneio_Produto,Filial,Produto,Cor_Produto,Tarefa,Ordem_Producao,ISNULL(Qtde,0), ISNULL(En_1,0) ,ISNULL(En_2,0) ,ISNULL(En_3,0) ,ISNULL(En_4,0) ,ISNULL(En_5,0) ,ISNULL(En_6,0) ,ISNULL(En_7,0) ,ISNULL(En_8,0) ,ISNULL(En_9,0) ,ISNULL(En_10,0),ISNULL(En_11,0),ISNULL(En_12,0), ISNULL(En_13,0),ISNULL(En_14,0),ISNULL(En_15,0),ISNULL(En_16,0),ISNULL(En_17,0),ISNULL(En_18,0),ISNULL(En_19,0),ISNULL(En_20,0),ISNULL(En_21,0),ISNULL(En_22,0),ISNULL(En_23,0),ISNULL(En_24,0), ISNULL(En_25,0),ISNULL(En_26,0),ISNULL(En_27,0),ISNULL(En_28,0),ISNULL(En_29,0),ISNULL(En_30,0),ISNULL(En_31,0),ISNULL(En_32,0),ISNULL(En_33,0),ISNULL(En_34,0),ISNULL(En_35,0),ISNULL(En_36,0), ISNULL(En_37,0),ISNULL(En_38,0),ISNULL(En_39,0),ISNULL(En_40,0),ISNULL(En_41,0),ISNULL(En_42,0),ISNULL(En_43,0),ISNULL(En_44,0),ISNULL(En_45,0),ISNULL(En_46,0),ISNULL(En_47,0),ISNULL(En_48,0) FROM DELETED OPEN CurDelete_Estoque_Prod1_Ent FETCH NEXT FROM CurDelete_Estoque_Prod1_Ent INTO @delRomaneio_Produto,@delFilial,@delProduto,@delCor_Produto,@delTarefa,@delOrdem_Producao,@delQtde, @delEn_1 ,@delEn_2 ,@delEn_3 ,@delEn_4 ,@delEn_5 ,@delEn_6 ,@delEn_7 ,@delEn_8 ,@delEn_9 ,@delEn_10,@delEn_11,@delEn_12, @delEn_13,@delEn_14,@delEn_15,@delEn_16,@delEn_17,@delEn_18,@delEn_19,@delEn_20,@delEn_21,@delEn_22,@delEn_23,@delEn_24, @delEn_25,@delEn_26,@delEn_27,@delEn_28,@delEn_29,@delEn_30,@delEn_31,@delEn_32,@delEn_33,@delEn_34,@delEn_35,@delEn_36, @delEn_37,@delEn_38,@delEn_39,@delEn_40,@delEn_41,@delEn_42,@delEn_43,@delEn_44,@delEn_45,@delEn_46,@delEn_47,@delEn_48 IF @@rowcount >= 0 and @delTarefa is not null BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @delData_Emissao=Emissao From Estoque_Prod_Ent where Romaneio_produto=@delRomaneio_Produto and Filial = @delFilial /* */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@delTarefa AND Ordem_Producao=@delOrdem_Producao AND Produto=@delProduto AND Cor_Produto=@delCor_Produto) > 0 UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S+@delQtde, S1 =S1 +@delEn_1 ,S2 =S2 +@delEn_2 ,S3 =S3 +@delEn_3 ,S4 =S4 +@delEn_4 ,S5 =S5 +@delEn_5 ,S6 =S6 +@delEn_6 ,S7 =S7 +@delEn_7 ,S8 =S8 +@delEn_8 , S9 =S9 +@delEn_9 ,S10=S10+@delEn_10,S11=S11+@delEn_11,S12=S12+@delEn_12,S13=S13+@delEn_13,S14=S14+@delEn_14,S15=S15+@delEn_15,S16=S16+@delEn_16, S17=S17+@delEn_17,S18=S18+@delEn_18,S19=S19+@delEn_19,S20=S20+@delEn_20,S21=S21+@delEn_21,S22=S22+@delEn_22,S23=S23+@delEn_23,S24=S24+@delEn_24, S25=S25+@delEn_25,S26=S26+@delEn_26,S27=S27+@delEn_27,S28=S28+@delEn_28,S29=S29+@delEn_29,S30=S30+@delEn_30,S31=S31+@delEn_31,S32=S32+@delEn_32, S33=S33+@delEn_33,S34=S34+@delEn_34,S35=S35+@delEn_35,S36=S36+@delEn_36,S37=S37+@delEn_37,S38=S38+@delEn_38,S39=S39+@delEn_39,S40=S40+@delEn_40, S41=S41+@delEn_41,S42=S42+@delEn_42,S43=S43+@delEn_43,S44=S44+@delEn_44,S45=S45+@delEn_45,S46=S46+@delEn_46,S47=S47+@delEn_47,S48=S48+@delEn_48 WHERE Tarefa=@delTarefa AND Ordem_Producao=@delOrdem_Producao AND Produto=@delProduto AND Cor_Produto=@delCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@delTarefa,@delOrdem_Producao,@delProduto,@delCor_Produto,@delQtde, @delEn_1,@delEn_2,@delEn_3,@delEn_4,@delEn_5,@delEn_6,@delEn_7,@delEn_8,@delEn_9,@delEn_10,@delEn_11,@delEn_12, @delEn_13,@delEn_14,@delEn_15,@delEn_16,@delEn_17,@delEn_18,@delEn_19,@delEn_20,@delEn_21,@delEn_22,@delEn_23,@delEn_24, @delEn_25,@delEn_26,@delEn_27,@delEn_28,@delEn_29,@delEn_30,@delEn_31,@delEn_32,@delEn_33,@delEn_34,@delEn_35,@delEn_36, @delEn_37,@delEn_38,@delEn_39,@delEn_40,@delEn_41,@delEn_42,@delEn_43,@delEn_44,@delEn_45,@delEn_46,@delEn_47,@delEn_48) UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO+@delQtde, QTDE_FINALIZADA =QTDE_FINALIZADA-@delQtde , ENCERRAMENTO = NULL WHERE TAREFA = @delTarefa UPDATE PRODUCAO_ORDEM_COR SET QTDE_P = QTDE_P+(@delQtde), P1 =P1 +@delEn_1 ,P2 =P2 +@delEn_2 ,P3 =P3 +@delEn_3 ,P4 =P4 +@delEn_4 ,P5 =P5 +@delEn_5 ,P6 =P6 +@delEn_6 ,P7 =P7 +@delEn_7 ,P8 =P8 +@delEn_8, P9 =P9 +@delEn_9 ,P10=P10+@delEn_10,P11=P11+@delEn_11,P12=P12+@delEn_12,P13=P13+@delEn_13,P14=P14+@delEn_14,P15=P15+@delEn_15,P16=P16+@delEn_16, P17=P17+@delEn_17,P18=P18+@delEn_18,P19=P19+@delEn_19,P20=P20+@delEn_20,P21=P21+@delEn_21,P22=P22+@delEn_22,P23=P23+@delEn_23,P24=P24+@delEn_24, P25=P25+@delEn_25,P26=P26+@delEn_26,P27=P27+@delEn_27,P28=P28+@delEn_28,P29=P29+@delEn_29,P30=P30+@delEn_30,P31=P31+@delEn_31,P32=P32+@delEn_32, P33=P33+@delEn_33,P34=P34+@delEn_34,P35=P35+@delEn_35,P36=P36+@delEn_36,P37=P37+@delEn_37,P38=P38+@delEn_38,P39=P39+@delEn_39,P40=P40+@delEn_40, P41=P41+@delEn_41,P42=P42+@delEn_42,P43=P43+@delEn_43,P44=P44+@delEn_44,P45=P45+@delEn_45,P46=P46+@delEn_46,P47=P47+@delEn_47,P48=P48+@delEn_48 WHERE ORDEM_PRODUCAO=@delOrdem_Producao AND PRODUTO = @delProduto AND COR_PRODUTO =@delCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO+(@delQtde) WHERE ORDEM_PRODUCAO=@delOrdem_Producao Select @delTotal=sum(qtde_p) From producao_ordem_cor Where ORDEM_PRODUCAO=@delOrdem_Producao Group by ordem_producao If (@delTotal = 0) begin Update producao_ordem Set qtde_em_producao = @delTotal, Status = ''E'', encerramento = @delData_Emissao Where ORDEM_PRODUCAO=@delOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = 0 , DIFERENCA_PREVISAO =RESERVA_ORIGINAL - consumida Where ORDEM_PRODUCAO=@delOrdem_Producao end if (@delTotal <> 0) begin Update producao_ordem Set qtde_em_producao = @delTotal, Status = ''P'', encerramento = null Where ORDEM_PRODUCAO=@delOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = CASE WHEN (RESERVA_ORIGINAL - consumida > 0 AND MATAR_SALDO_RESERVA=0) THEN (RESERVA_ORIGINAL - consumida ) ELSE 0 END, DIFERENCA_PREVISAO = CASE WHEN (RESERVA_ORIGINAL - consumida < 0 OR MATAR_SALDO_RESERVA=1) THEN (RESERVA_ORIGINAL - consumida) ELSE 0 END Where ORDEM_PRODUCAO=@delOrdem_Producao end FETCH NEXT FROM CurDelete_Estoque_Prod1_Ent INTO @delRomaneio_Produto,@delFilial,@delProduto,@delCor_Produto,@delTarefa,@delOrdem_Producao,@delQtde, @delEn_1 ,@delEn_2 ,@delEn_3 ,@delEn_4 ,@delEn_5 ,@delEn_6 ,@delEn_7 ,@delEn_8 ,@delEn_9 ,@delEn_10,@delEn_11,@delEn_12, @delEn_13,@delEn_14,@delEn_15,@delEn_16,@delEn_17,@delEn_18,@delEn_19,@delEn_20,@delEn_21,@delEn_22,@delEn_23,@delEn_24, @delEn_25,@delEn_26,@delEn_27,@delEn_28,@delEn_29,@delEn_30,@delEn_31,@delEn_32,@delEn_33,@delEn_34,@delEn_35,@delEn_36, @delEn_37,@delEn_38,@delEn_39,@delEn_40,@delEn_41,@delEn_42,@delEn_43,@delEn_44,@delEn_45,@delEn_46,@delEn_47,@delEn_48 END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurDelete_Estoque_Prod1_Ent DEALLOCATE CurDelete_Estoque_Prod1_Ent /*---------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD1_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD1_ENT] on [ESTOQUE_PROD1_ENT] for INSERT as /* INSERT trigger on ESTOQUE_PROD1_ENT */ /* default body for LXI_ESTOQUE_PROD1_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insITEM char(3), @insTAREFA char(10), @insTOTAL QTDE_PRODUTO, @insQTDE QTDE_PRODUTO, @insORDEM_PRODUCAO char(8), @insEn_1 QTDE_PRODUTO, @insEn_2 QTDE_PRODUTO, @insEn_3 QTDE_PRODUTO, @insEn_4 QTDE_PRODUTO, @insEn_5 QTDE_PRODUTO, @insEn_6 QTDE_PRODUTO, @insEn_7 QTDE_PRODUTO, @insEn_8 QTDE_PRODUTO, @insEn_9 QTDE_PRODUTO, @insEn_10 QTDE_PRODUTO, @insEn_11 QTDE_PRODUTO, @insEn_12 QTDE_PRODUTO, @insEn_13 QTDE_PRODUTO, @insEn_14 QTDE_PRODUTO, @insEn_15 QTDE_PRODUTO, @insEn_16 QTDE_PRODUTO, @insEn_17 QTDE_PRODUTO, @insEn_18 QTDE_PRODUTO, @insEn_19 QTDE_PRODUTO, @insEn_20 QTDE_PRODUTO, @insEn_21 QTDE_PRODUTO, @insEn_22 QTDE_PRODUTO, @insEn_23 QTDE_PRODUTO, @insEn_24 QTDE_PRODUTO, @insEn_25 QTDE_PRODUTO, @insEn_26 QTDE_PRODUTO, @insEn_27 QTDE_PRODUTO, @insEn_28 QTDE_PRODUTO, @insEn_29 QTDE_PRODUTO, @insEn_30 QTDE_PRODUTO, @insEn_31 QTDE_PRODUTO, @insEn_32 QTDE_PRODUTO, @insEn_33 QTDE_PRODUTO, @insEn_34 QTDE_PRODUTO, @insEn_35 QTDE_PRODUTO, @insEn_36 QTDE_PRODUTO, @insEn_37 QTDE_PRODUTO, @insEn_38 QTDE_PRODUTO, @insEn_39 QTDE_PRODUTO, @insEn_40 QTDE_PRODUTO, @insEn_41 QTDE_PRODUTO, @insEn_42 QTDE_PRODUTO, @insEn_43 QTDE_PRODUTO, @insEn_44 QTDE_PRODUTO, @insEn_45 QTDE_PRODUTO, @insEn_46 QTDE_PRODUTO, @insEn_47 QTDE_PRODUTO, @insEn_48 QTDE_PRODUTO, @insDATA_Emissao DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_ENT WHERE Inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND Inserted.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PROD_ENT.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_ENT, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_ENT.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUCAO_ORDEM R/1654 ESTOQUE_PROD1_ENT ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_ENT #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1650 ESTOQUE_PROD1_ENT ON CHILD INSERT RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA select @nullcnt = count(*) from inserted where inserted.TAREFA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_ENT #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_ENT ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_ENT #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_ENT ESTOQUE_PROD_ENT ESTOQUE_PROD1_ENT ON CHILD INSERT RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_ENT where inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO and inserted.FILIAL = ESTOQUE_PROD_ENT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD1_ENT #porque #ESTOQUE_PROD_ENT #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN_1) OR UPDATE(EN_2) OR UPDATE(EN_3) OR UPDATE(EN_4) OR UPDATE(EN_5) OR UPDATE(EN_6) OR UPDATE(EN_7) OR UPDATE(EN_8) OR UPDATE(EN_9) OR UPDATE(EN_10) OR UPDATE(EN_11) OR UPDATE(EN_12) OR UPDATE(EN_13) OR UPDATE(EN_14) OR UPDATE(EN_15) OR UPDATE(EN_16) OR UPDATE(EN_17) OR UPDATE(EN_18) OR UPDATE(EN_19) OR UPDATE(EN_20) OR UPDATE(EN_21) OR UPDATE(EN_22) OR UPDATE(EN_23) OR UPDATE(EN_24) OR UPDATE(EN_25) OR UPDATE(EN_26) OR UPDATE(EN_27) OR UPDATE(EN_28) OR UPDATE(EN_29) OR UPDATE(EN_30) OR UPDATE(EN_31) OR UPDATE(EN_32) OR UPDATE(EN_33) OR UPDATE(EN_34) OR UPDATE(EN_35) OR UPDATE(EN_36) OR UPDATE(EN_37) OR UPDATE(EN_38) OR UPDATE(EN_39) OR UPDATE(EN_40) OR UPDATE(EN_41) OR UPDATE(EN_42) OR UPDATE(EN_43) OR UPDATE(EN_44) OR UPDATE(EN_45) OR UPDATE(EN_46) OR UPDATE(EN_47) OR UPDATE(EN_48) BEGIN DECLARE cur_ESTOQUE_PROD1_ENT CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN_1), SUM(EN_2), SUM(EN_3), SUM(EN_4), SUM(EN_5), SUM(EN_6), SUM(EN_7), SUM(EN_8), SUM(EN_9), SUM(EN_10),SUM(EN_11),SUM(EN_12), SUM(EN_13),SUM(EN_14),SUM(EN_15),SUM(EN_16), SUM(EN_17),SUM(EN_18),SUM(EN_19),SUM(EN_20), SUM(EN_21),SUM(EN_22),SUM(EN_23),SUM(EN_24), SUM(EN_25),SUM(EN_26),SUM(EN_27),SUM(EN_28), SUM(EN_29),SUM(EN_30),SUM(EN_31),SUM(EN_32), SUM(EN_33),SUM(EN_34),SUM(EN_35),SUM(EN_36), SUM(EN_37),SUM(EN_38),SUM(EN_39),SUM(EN_40), SUM(EN_41),SUM(EN_42),SUM(EN_43),SUM(EN_44), SUM(EN_45),SUM(EN_46),SUM(EN_47),SUM(EN_48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_ENT DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_ENT DEALLOCATE cur_ESTOQUE_PROD1_ENT END /*---------------------------------------------------------------------------------------------------------------------*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurInsert_Estoque_Prod1_Ent CURSOR FOR SELECT Romaneio_Produto,Filial,Produto,Cor_Produto,Tarefa,Ordem_Producao,ISNULL(Qtde,0), ISNULL(En_1,0) ,ISNULL(En_2,0) ,ISNULL(En_3,0) ,ISNULL(En_4,0) ,ISNULL(En_5,0) ,ISNULL(En_6,0) ,ISNULL(En_7,0) ,ISNULL(En_8,0) ,ISNULL(En_9,0) ,ISNULL(En_10,0),ISNULL(En_11,0),ISNULL(En_12,0), ISNULL(En_13,0),ISNULL(En_14,0),ISNULL(En_15,0),ISNULL(En_16,0),ISNULL(En_17,0),ISNULL(En_18,0),ISNULL(En_19,0),ISNULL(En_20,0),ISNULL(En_21,0),ISNULL(En_22,0),ISNULL(En_23,0),ISNULL(En_24,0), ISNULL(En_25,0),ISNULL(En_26,0),ISNULL(En_27,0),ISNULL(En_28,0),ISNULL(En_29,0),ISNULL(En_30,0),ISNULL(En_31,0),ISNULL(En_32,0),ISNULL(En_33,0),ISNULL(En_34,0),ISNULL(En_35,0),ISNULL(En_36,0), ISNULL(En_37,0),ISNULL(En_38,0),ISNULL(En_39,0),ISNULL(En_40,0),ISNULL(En_41,0),ISNULL(En_42,0),ISNULL(En_43,0),ISNULL(En_44,0),ISNULL(En_45,0),ISNULL(En_46,0),ISNULL(En_47,0),ISNULL(En_48,0) FROM INSERTED OPEN CurInsert_Estoque_Prod1_Ent FETCH NEXT FROM CurInsert_Estoque_Prod1_Ent INTO @insRomaneio_Produto,@insFilial,@insProduto,@insCor_Produto,@insTarefa,@InsOrdem_Producao,@insQtde, @insEn_1 ,@insEn_2 ,@insEn_3 ,@insEn_4 ,@insEn_5 ,@insEn_6 ,@insEn_7 ,@insEn_8 ,@insEn_9 ,@insEn_10,@insEn_11,@insEn_12, @insEn_13,@insEn_14,@insEn_15,@insEn_16,@insEn_17,@insEn_18,@insEn_19,@insEn_20,@insEn_21,@insEn_22,@insEn_23,@insEn_24, @insEn_25,@insEn_26,@insEn_27,@insEn_28,@insEn_29,@insEn_30,@insEn_31,@insEn_32,@insEn_33,@insEn_34,@insEn_35,@insEn_36, @insEn_37,@insEn_38,@insEn_39,@insEn_40,@insEn_41,@insEn_42,@insEn_43,@insEn_44,@insEn_45,@insEn_46,@insEn_47,@insEn_48 IF @@rowcount >= 0 and @insTarefa is not null BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insData_Emissao=Emissao From Estoque_Prod_Ent where Romaneio_produto=@insRomaneio_Produto and Filial = @InsFilial /* */ IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insEn_1 =0 AND S2 -@insEn_2 =0 AND S3 -@insEn_3 =0 AND S4 -@insEn_4 =0 AND S5 -@insEn_5 =0 AND S6 -@insEn_6 =0 AND S7 -@insEn_7 =0 AND S8 -@insEn_8 =0 AND S9 -@insEn_9 =0 AND S10-@insEn_10=0 AND S11-@insEn_11=0 AND S12-@insEn_12=0 AND S13-@insEn_13=0 AND S14-@insEn_14=0 AND S15-@insEn_15=0 AND S16-@insEn_16=0 AND S17-@insEn_17=0 AND S18-@insEn_18=0 AND S19-@insEn_19=0 AND S20-@insEn_20=0 AND S21-@insEn_21=0 AND S22-@insEn_22=0 AND S23-@insEn_23=0 AND S24-@insEn_24=0 AND S25-@insEn_25=0 AND S26-@insEn_26=0 AND S27-@insEn_27=0 AND S28-@insEn_28=0 AND S29-@insEn_29=0 AND S30-@insEn_30=0 AND S31-@insEn_31=0 AND S32-@insEn_32=0 AND S33-@insEn_33=0 AND S34-@insEn_34=0 AND S35-@insEn_35=0 AND S36-@insEn_36=0 AND S37-@insEn_37=0 AND S38-@insEn_38=0 AND S39-@insEn_39=0 AND S40-@insEn_40=0 AND S41-@insEn_41=0 AND S42-@insEn_42=0 AND S43-@insEn_43=0 AND S44-@insEn_44=0 AND S45-@insEn_45=0 AND S46-@insEn_46=0 AND S47-@insEn_47=0 AND S48-@insEn_48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-@InsQtde, S1 =S1 -@insEn_1 ,S2 =S2 -@insEn_2 ,S3 =S3 -@insEn_3 ,S4 =S4 -@insEn_4 ,S5 =S5 -@insEn_5 ,S6 =S6 -@insEn_6 ,S7 =S7 -@insEn_7 ,S8 =S8 -@insEn_8 , S9 =S9 -@insEn_9 ,S10=S10-@insEn_10,S11=S11-@insEn_11,S12=S12-@insEn_12,S13=S13-@insEn_13,S14=S14-@insEn_14,S15=S15-@insEn_15,S16=S16-@insEn_16, S17=S17-@insEn_17,S18=S18-@insEn_18,S19=S19-@insEn_19,S20=S20-@insEn_20,S21=S21-@insEn_21,S22=S22-@insEn_22,S23=S23-@insEn_23,S24=S24-@insEn_24, S25=S25-@insEn_25,S26=S26-@insEn_26,S27=S27-@insEn_27,S28=S28-@insEn_28,S29=S29-@insEn_29,S30=S30-@insEn_30,S31=S31-@insEn_31,S32=S32-@insEn_32, S33=S33-@insEn_33,S34=S34-@insEn_34,S35=S35-@insEn_35,S36=S36-@insEn_36,S37=S37-@insEn_37,S38=S38-@insEn_38,S39=S39-@insEn_39,S40=S40-@insEn_40, S41=S41-@insEn_41,S42=S42-@insEn_42,S43=S43-@insEn_43,S44=S44-@insEn_44,S45=S45-@insEn_45,S46=S46-@insEn_46,S47=S47-@insEn_47,S48=S48-@insEn_48 WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO-@InsQtde, QTDE_FINALIZADA =QTDE_FINALIZADA+@InsQtde , ENCERRAMENTO = @insData_Emissao WHERE TAREFA = @insTarefa UPDATE PRODUCAO_ORDEM_COR SET QTDE_P = QTDE_P-(@insQtde), P1 =P1 -@insEn_1 ,P2 =P2 -@insEn_2 ,P3 =P3 -@insEn_3 ,P4 =P4 -@insEn_4 ,P5 =P5 -@insEn_5 ,P6 =P6 -@insEn_6 ,P7 =P7 -@insEn_7 ,P8 =P8 -@insEn_8, P9 =P9 -@insEn_9 ,P10=P10-@insEn_10,P11=P11-@insEn_11,P12=P12-@insEn_12,P13=P13-@insEn_13,P14=P14-@insEn_14,P15=P15-@insEn_15,P16=P16-@insEn_16, P17=P17-@insEn_17,P18=P18-@insEn_18,P19=P19-@insEn_19,P20=P20-@insEn_20,P21=P21-@insEn_21,P22=P22-@insEn_22,P23=P23-@insEn_23,P24=P24-@insEn_24, P25=P25-@insEn_25,P26=P26-@insEn_26,P27=P27-@insEn_27,P28=P28-@insEn_28,P29=P29-@insEn_29,P30=P30-@insEn_30,P31=P31-@insEn_31,P32=P32-@insEn_32, P33=P33-@insEn_33,P34=P34-@insEn_34,P35=P35-@insEn_35,P36=P36-@insEn_36,P37=P37-@insEn_37,P38=P38-@insEn_38,P39=P39-@insEn_39,P40=P40-@insEn_40, P41=P41-@insEn_41,P42=P42-@insEn_42,P43=P43-@insEn_43,P44=P44-@insEn_44,P45=P45-@insEn_45,P46=P46-@insEn_46,P47=P47-@insEn_47,P48=P48-@insEn_48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO-(@insQtde) WHERE ORDEM_PRODUCAO=@insOrdem_Producao Select @insTotal=sum(qtde_p) From producao_ordem_cor Where ORDEM_PRODUCAO=@insOrdem_Producao Group by ordem_producao If (@insTotal = 0) begin Update producao_ordem Set qtde_em_producao = @insTotal, Status = ''E'', encerramento = @insData_Emissao Where ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = 0 , DIFERENCA_PREVISAO =RESERVA_ORIGINAL - consumida Where ORDEM_PRODUCAO=@insOrdem_Producao end if (@insTotal <> 0) begin Update producao_ordem Set qtde_em_producao = @insTotal, Status = ''P'', encerramento = null Where ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = CASE WHEN (RESERVA_ORIGINAL - consumida > 0 AND MATAR_SALDO_RESERVA=0) THEN (RESERVA_ORIGINAL - consumida ) ELSE 0 END, DIFERENCA_PREVISAO = CASE WHEN (RESERVA_ORIGINAL - consumida < 0 OR MATAR_SALDO_RESERVA=1) THEN (RESERVA_ORIGINAL - consumida) ELSE 0 END Where ORDEM_PRODUCAO=@insOrdem_Producao end FETCH NEXT FROM CurInsert_Estoque_Prod1_Ent INTO @insRomaneio_Produto,@insFilial,@insProduto,@insCor_Produto,@insTarefa,@InsOrdem_Producao,@insQtde, @insEn_1 ,@insEn_2 ,@insEn_3 ,@insEn_4 ,@insEn_5 ,@insEn_6 ,@insEn_7 ,@insEn_8 ,@insEn_9 ,@insEn_10,@insEn_11,@insEn_12, @insEn_13,@insEn_14,@insEn_15,@insEn_16,@insEn_17,@insEn_18,@insEn_19,@insEn_20,@insEn_21,@insEn_22,@insEn_23,@insEn_24, @insEn_25,@insEn_26,@insEn_27,@insEn_28,@insEn_29,@insEn_30,@insEn_31,@insEn_32,@insEn_33,@insEn_34,@insEn_35,@insEn_36, @insEn_37,@insEn_38,@insEn_39,@insEn_40,@insEn_41,@insEn_42,@insEn_43,@insEn_44,@insEn_45,@insEn_46,@insEn_47,@insEn_48 END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurInsert_Estoque_Prod1_Ent DEALLOCATE CurInsert_Estoque_Prod1_Ent /*---------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD1_ENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD1_ENT] on [ESTOQUE_PROD1_ENT] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD1_ENT */ /* default body for LXU_ESTOQUE_PROD1_ENT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insROMANEIO_PRODUTO char(8), @insFILIAL varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delROMANEIO_PRODUTO char(8), @delFILIAL varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @insTAREFA char(10), @insQTDE QTDE_PRODUTO, @insTOTAL QTDE_PRODUTO, @insORDEM_PRODUCAO char(8), @insEn_1 QTDE_PRODUTO, @insEn_2 QTDE_PRODUTO, @insEn_3 QTDE_PRODUTO, @insEn_4 QTDE_PRODUTO, @insEn_5 QTDE_PRODUTO, @insEn_6 QTDE_PRODUTO, @insEn_7 QTDE_PRODUTO, @insEn_8 QTDE_PRODUTO, @insEn_9 QTDE_PRODUTO, @insEn_10 QTDE_PRODUTO, @insEn_11 QTDE_PRODUTO, @insEn_12 QTDE_PRODUTO, @insEn_13 QTDE_PRODUTO, @insEn_14 QTDE_PRODUTO, @insEn_15 QTDE_PRODUTO, @insEn_16 QTDE_PRODUTO, @insEn_17 QTDE_PRODUTO, @insEn_18 QTDE_PRODUTO, @insEn_19 QTDE_PRODUTO, @insEn_20 QTDE_PRODUTO, @insEn_21 QTDE_PRODUTO, @insEn_22 QTDE_PRODUTO, @insEn_23 QTDE_PRODUTO, @insEn_24 QTDE_PRODUTO, @insEn_25 QTDE_PRODUTO, @insEn_26 QTDE_PRODUTO, @insEn_27 QTDE_PRODUTO, @insEn_28 QTDE_PRODUTO, @insEn_29 QTDE_PRODUTO, @insEn_30 QTDE_PRODUTO, @insEn_31 QTDE_PRODUTO, @insEn_32 QTDE_PRODUTO, @insEn_33 QTDE_PRODUTO, @insEn_34 QTDE_PRODUTO, @insEn_35 QTDE_PRODUTO, @insEn_36 QTDE_PRODUTO, @insEn_37 QTDE_PRODUTO, @insEn_38 QTDE_PRODUTO, @insEn_39 QTDE_PRODUTO, @insEn_40 QTDE_PRODUTO, @insEn_41 QTDE_PRODUTO, @insEn_42 QTDE_PRODUTO, @insEn_43 QTDE_PRODUTO, @insEn_44 QTDE_PRODUTO, @insEn_45 QTDE_PRODUTO, @insEn_46 QTDE_PRODUTO, @insEn_47 QTDE_PRODUTO, @insEn_48 QTDE_PRODUTO, @insDATA_Emissao DATETIME, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ESTOQUE_PROD_ENT WHERE Deleted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND Deleted.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PROD_ENT.EMISSAO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, ESTOQUE_PROD_ENT WHERE Inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND Inserted.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PROD_ENT.EMISSAO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ESTOQUE_PROD_ENT, ESTOQUE_PRODUTOS WHERE DELETED.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND DELETED.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ESTOQUE_PROD_ENT.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ESTOQUE_PROD_ENT, ESTOQUE_PRODUTOS WHERE INSERTED.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO AND INSERTED.FILIAL = ESTOQUE_PROD_ENT.FILIAL AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ESTOQUE_PROD_ENT.EMISSAO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* PRODUCAO_ORDEM R/1654 ESTOQUE_PROD1_ENT ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ORDEM where inserted.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO select @nullcnt = count(*) from inserted where inserted.ORDEM_PRODUCAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_ENT #porque #PRODUCAO_ORDEM #não existe.'' goto error end end /* PRODUCAO_TAREFAS R/1650 ESTOQUE_PROD1_ENT ON CHILD UPDATE RESTRICT */ if update(TAREFA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_TAREFAS where inserted.TAREFA = PRODUCAO_TAREFAS.TAREFA select @nullcnt = count(*) from inserted where inserted.TAREFA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_ENT #porque #PRODUCAO_TAREFAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD1_ENT ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_ENT #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_ENT ESTOQUE_PROD_ENT ESTOQUE_PROD1_ENT ON CHILD UPDATE RESTRICT */ if update(ROMANEIO_PRODUTO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_ENT where inserted.ROMANEIO_PRODUTO = ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO and inserted.FILIAL = ESTOQUE_PROD_ENT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD1_ENT #porque #ESTOQUE_PROD_ENT #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(EN_1) OR UPDATE(EN_2) OR UPDATE(EN_3) OR UPDATE(EN_4) OR UPDATE(EN_5) OR UPDATE(EN_6) OR UPDATE(EN_7) OR UPDATE(EN_8) OR UPDATE(EN_9) OR UPDATE(EN_10) OR UPDATE(EN_11) OR UPDATE(EN_12) OR UPDATE(EN_13) OR UPDATE(EN_14) OR UPDATE(EN_15) OR UPDATE(EN_16) OR UPDATE(EN_17) OR UPDATE(EN_18) OR UPDATE(EN_19) OR UPDATE(EN_20) OR UPDATE(EN_21) OR UPDATE(EN_22) OR UPDATE(EN_23) OR UPDATE(EN_24) OR UPDATE(EN_25) OR UPDATE(EN_26) OR UPDATE(EN_27) OR UPDATE(EN_28) OR UPDATE(EN_29) OR UPDATE(EN_30) OR UPDATE(EN_31) OR UPDATE(EN_32) OR UPDATE(EN_33) OR UPDATE(EN_34) OR UPDATE(EN_35) OR UPDATE(EN_36) OR UPDATE(EN_37) OR UPDATE(EN_38) OR UPDATE(EN_39) OR UPDATE(EN_40) OR UPDATE(EN_41) OR UPDATE(EN_42) OR UPDATE(EN_43) OR UPDATE(EN_44) OR UPDATE(EN_45) OR UPDATE(EN_46) OR UPDATE(EN_47) OR UPDATE(EN_48) BEGIN DECLARE cur_ESTOQUE_PROD1_ENT CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN_1), SUM(EN_2), SUM(EN_3), SUM(EN_4), SUM(EN_5), SUM(EN_6), SUM(EN_7), SUM(EN_8), SUM(EN_9), SUM(EN_10),SUM(EN_11),SUM(EN_12), SUM(EN_13),SUM(EN_14),SUM(EN_15),SUM(EN_16), SUM(EN_17),SUM(EN_18),SUM(EN_19),SUM(EN_20), SUM(EN_21),SUM(EN_22),SUM(EN_23),SUM(EN_24), SUM(EN_25),SUM(EN_26),SUM(EN_27),SUM(EN_28), SUM(EN_29),SUM(EN_30),SUM(EN_31),SUM(EN_32), SUM(EN_33),SUM(EN_34),SUM(EN_35),SUM(EN_36), SUM(EN_37),SUM(EN_38),SUM(EN_39),SUM(EN_40), SUM(EN_41),SUM(EN_42),SUM(EN_43),SUM(EN_44), SUM(EN_45),SUM(EN_46),SUM(EN_47),SUM(EN_48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(EN_1)*-1, SUM(EN_2)*-1, SUM(EN_3)*-1, SUM(EN_4)*-1, SUM(EN_5)*-1, SUM(EN_6)*-1, SUM(EN_7)*-1, SUM(EN_8)*-1, SUM(EN_9)*-1, SUM(EN_10)*-1,SUM(EN_11)*-1,SUM(EN_12)*-1, SUM(EN_13)*-1,SUM(EN_14)*-1,SUM(EN_15)*-1,SUM(EN_16)*-1, SUM(EN_17)*-1,SUM(EN_18)*-1,SUM(EN_19)*-1,SUM(EN_20)*-1, SUM(EN_21)*-1,SUM(EN_22)*-1,SUM(EN_23)*-1,SUM(EN_24)*-1, SUM(EN_25)*-1,SUM(EN_26)*-1,SUM(EN_27)*-1,SUM(EN_28)*-1, SUM(EN_29)*-1,SUM(EN_30)*-1,SUM(EN_31)*-1,SUM(EN_32)*-1, SUM(EN_33)*-1,SUM(EN_34)*-1,SUM(EN_35)*-1,SUM(EN_36)*-1, SUM(EN_37)*-1,SUM(EN_38)*-1,SUM(EN_39)*-1,SUM(EN_40)*-1, SUM(EN_41)*-1,SUM(EN_42)*-1,SUM(EN_43)*-1,SUM(EN_44)*-1, SUM(EN_45)*-1,SUM(EN_46)*-1,SUM(EN_47)*-1,SUM(EN_48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ESTOQUE_PROD1_ENT DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_PROD1_ENT INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ESTOQUE_PROD1_ENT DEALLOCATE cur_ESTOQUE_PROD1_ENT END /*---------------------------------------------------------------------------------------------------------------------*/ /*--LINX---------------------------------------------------------------------------------*/ DECLARE CurUpdate_Estoque_Prod1_Ent CURSOR FOR SELECT Romaneio_Produto,Filial,Produto,Cor_Produto,Tarefa,Ordem_Producao,ISNULL(Qtde,0), ISNULL(En_1,0) ,ISNULL(En_2,0) ,ISNULL(En_3,0) ,ISNULL(En_4,0) ,ISNULL(En_5,0) ,ISNULL(En_6,0) ,ISNULL(En_7,0) ,ISNULL(En_8,0) ,ISNULL(En_9,0) ,ISNULL(En_10,0),ISNULL(En_11,0),ISNULL(En_12,0), ISNULL(En_13,0),ISNULL(En_14,0),ISNULL(En_15,0),ISNULL(En_16,0),ISNULL(En_17,0),ISNULL(En_18,0),ISNULL(En_19,0),ISNULL(En_20,0),ISNULL(En_21,0),ISNULL(En_22,0),ISNULL(En_23,0),ISNULL(En_24,0), ISNULL(En_25,0),ISNULL(En_26,0),ISNULL(En_27,0),ISNULL(En_28,0),ISNULL(En_29,0),ISNULL(En_30,0),ISNULL(En_31,0),ISNULL(En_32,0),ISNULL(En_33,0),ISNULL(En_34,0),ISNULL(En_35,0),ISNULL(En_36,0), ISNULL(En_37,0),ISNULL(En_38,0),ISNULL(En_39,0),ISNULL(En_40,0),ISNULL(En_41,0),ISNULL(En_42,0),ISNULL(En_43,0),ISNULL(En_44,0),ISNULL(En_45,0),ISNULL(En_46,0),ISNULL(En_47,0),ISNULL(En_48,0) FROM INSERTED UNION SELECT Romaneio_Produto,Filial,Produto,Cor_Produto,Tarefa,Ordem_Producao,ISNULL(Qtde,0)*-1, ISNULL(En_1,0)*-1 ,ISNULL(En_2,0)*-1 ,ISNULL(En_3,0)*-1 ,ISNULL(En_4,0)*-1 ,ISNULL(En_5,0)*-1 ,ISNULL(En_6,0)*-1 ,ISNULL(En_7,0)*-1 ,ISNULL(En_8,0)*-1 ,ISNULL(En_9,0)*-1 ,ISNULL(En_10,0)*-1,ISNULL(En_11,0)*-1,ISNULL(En_12,0)*-1, ISNULL(En_13,0)*-1,ISNULL(En_14,0)*-1,ISNULL(En_15,0)*-1,ISNULL(En_16,0)*-1,ISNULL(En_17,0)*-1,ISNULL(En_18,0)*-1,ISNULL(En_19,0)*-1,ISNULL(En_20,0)*-1,ISNULL(En_21,0)*-1,ISNULL(En_22,0)*-1,ISNULL(En_23,0)*-1,ISNULL(En_24,0)*-1, ISNULL(En_25,0)*-1,ISNULL(En_26,0)*-1,ISNULL(En_27,0)*-1,ISNULL(En_28,0)*-1,ISNULL(En_29,0)*-1,ISNULL(En_30,0)*-1,ISNULL(En_31,0)*-1,ISNULL(En_32,0)*-1,ISNULL(En_33,0)*-1,ISNULL(En_34,0)*-1,ISNULL(En_35,0)*-1,ISNULL(En_36,0)*-1, ISNULL(En_37,0)*-1,ISNULL(En_38,0)*-1,ISNULL(En_39,0)*-1,ISNULL(En_40,0)*-1,ISNULL(En_41,0)*-1,ISNULL(En_42,0)*-1,ISNULL(En_43,0)*-1,ISNULL(En_44,0)*-1,ISNULL(En_45,0)*-1,ISNULL(En_46,0)*-1,ISNULL(En_47,0)*-1,ISNULL(En_48,0)*-1 FROM DELETED OPEN CurUpdate_Estoque_Prod1_Ent FETCH NEXT FROM CurUpdate_Estoque_Prod1_Ent INTO @insRomaneio_Produto,@insFilial,@insProduto,@insCor_Produto,@insTarefa,@insOrdem_Producao,@insQtde, @insEn_1 ,@insEn_2 ,@insEn_3 ,@insEn_4 ,@insEn_5 ,@insEn_6 ,@insEn_7 ,@insEn_8 ,@insEn_9 ,@insEn_10,@insEn_11,@insEn_12, @insEn_13,@insEn_14,@insEn_15,@insEn_16,@insEn_17,@insEn_18,@insEn_19,@insEn_20,@insEn_21,@insEn_22,@insEn_23,@insEn_24, @insEn_25,@insEn_26,@insEn_27,@insEn_28,@insEn_29,@insEn_30,@insEn_31,@insEn_32,@insEn_33,@insEn_34,@insEn_35,@insEn_36, @insEn_37,@insEn_38,@insEn_39,@insEn_40,@insEn_41,@insEn_42,@insEn_43,@insEn_44,@insEn_45,@insEn_46,@insEn_47,@insEn_48 IF @@rowcount >= 0 and @insTarefa is not null BEGIN WHILE @@fetch_status = 0 BEGIN SELECT @insData_Emissao=Emissao From Estoque_Prod_Ent where Romaneio_produto=@insRomaneio_Produto and Filial = @InsFilial IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto)>0 IF (SELECT COUNT(*) FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto AND S1 -@insEn_1 =0 AND S2 -@insEn_2 =0 AND S3 -@insEn_3 =0 AND S4 -@insEn_4 =0 AND S5 -@insEn_5 =0 AND S6 -@insEn_6 =0 AND S7 -@insEn_7 =0 AND S8 -@insEn_8 =0 AND S9 -@insEn_9 =0 AND S10-@insEn_10=0 AND S11-@insEn_11=0 AND S12-@insEn_12=0 AND S13-@insEn_13=0 AND S14-@insEn_14=0 AND S15-@insEn_15=0 AND S16-@insEn_16=0 AND S17-@insEn_17=0 AND S18-@insEn_18=0 AND S19-@insEn_19=0 AND S20-@insEn_20=0 AND S21-@insEn_21=0 AND S22-@insEn_22=0 AND S23-@insEn_23=0 AND S24-@insEn_24=0 AND S25-@insEn_25=0 AND S26-@insEn_26=0 AND S27-@insEn_27=0 AND S28-@insEn_28=0 AND S29-@insEn_29=0 AND S30-@insEn_30=0 AND S31-@insEn_31=0 AND S32-@insEn_32=0 AND S33-@insEn_33=0 AND S34-@insEn_34=0 AND S35-@insEn_35=0 AND S36-@insEn_36=0 AND S37-@insEn_37=0 AND S38-@insEn_38=0 AND S39-@insEn_39=0 AND S40-@insEn_40=0 AND S41-@insEn_41=0 AND S42-@insEn_42=0 AND S43-@insEn_43=0 AND S44-@insEn_44=0 AND S45-@insEn_45=0 AND S46-@insEn_46=0 AND S47-@insEn_47=0 AND S48-@insEn_48=0) > 0 DELETE FROM Producao_Tarefas_Saldo WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE UPDATE Producao_Tarefas_Saldo SET QTDE_S=QTDE_S-(@InsQtde), S1 =S1 -(@insEn_1) ,S2 =S2 -(@insEn_2) ,S3 =S3 -(@insEn_3) ,S4 =S4 -(@insEn_4) ,S5 =S5 -(@insEn_5) ,S6 =S6 -(@insEn_6) ,S7 =S7 -(@insEn_7) ,S8 =S8 -(@insEn_8) , S9 =S9 -(@insEn_9) ,S10=S10-(@insEn_10),S11=S11-(@insEn_11),S12=S12-(@insEn_12),S13=S13-(@insEn_13),S14=S14-(@insEn_14),S15=S15-(@insEn_15),S16=S16-(@insEn_16), S17=S17-(@insEn_17),S18=S18-(@insEn_18),S19=S19-(@insEn_19),S20=S20-(@insEn_20),S21=S21-(@insEn_21),S22=S22-(@insEn_22),S23=S23-(@insEn_23),S24=S24-(@insEn_24), S25=S25-(@insEn_25),S26=S26-(@insEn_26),S27=S27-(@insEn_27),S28=S28-(@insEn_28),S29=S29-(@insEn_29),S30=S30-(@insEn_30),S31=S31-(@insEn_31),S32=S32-(@insEn_32), S33=S33-(@insEn_33),S34=S34-(@insEn_34),S35=S35-(@insEn_35),S36=S36-(@insEn_36),S37=S37-(@insEn_37),S38=S38-(@insEn_38),S39=S39-(@insEn_39),S40=S40-(@insEn_40), S41=S41-(@insEn_41),S42=S42-(@insEn_42),S43=S43-(@insEn_43),S44=S44-(@insEn_44),S45=S45-(@insEn_45),S46=S46-(@insEn_46),S47=S47-(@insEn_47),S48=S48-(@insEn_48) WHERE Tarefa=@insTarefa AND Ordem_Producao=@insOrdem_Producao AND Produto=@insProduto AND Cor_Produto=@insCor_Produto ELSE INSERT Producao_Tarefas_Saldo (Tarefa,Ordem_Producao,Produto,Cor_Produto,Qtde_S, S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24, S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@InsTarefa,@InsOrdem_Producao,@InsProduto,@InsCor_Produto,Abs(@insQtde), Abs(@insEn_1), Abs(@insEn_2), Abs(@insEn_3), Abs(@insEn_4), Abs(@insEn_5), Abs(@insEn_6), Abs(@insEn_7), Abs(@insEn_8), Abs(@insEn_9), Abs(@insEn_10),Abs(@insEn_11),Abs(@insEn_12), Abs(@insEn_13),Abs(@insEn_14),Abs(@insEn_15),Abs(@insEn_16),Abs(@insEn_17),Abs(@insEn_18),Abs(@insEn_19),Abs(@insEn_20),Abs(@insEn_21),Abs(@insEn_22),Abs(@insEn_23),Abs(@insEn_24), Abs(@insEn_25),Abs(@insEn_26),Abs(@insEn_27),Abs(@insEn_28),Abs(@insEn_29),Abs(@insEn_30),Abs(@insEn_31),Abs(@insEn_32),Abs(@insEn_33),Abs(@insEn_34),Abs(@insEn_35),Abs(@insEn_36), Abs(@insEn_37),Abs(@insEn_38),Abs(@insEn_39),Abs(@insEn_40),Abs(@insEn_41),Abs(@insEn_42),Abs(@insEn_43),Abs(@insEn_44),Abs(@insEn_45),Abs(@insEn_46),Abs(@insEn_47),Abs(@insEn_48)) UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO=QTDE_EM_PROCESSO-(@InsQtde), QTDE_FINALIZADA =QTDE_FINALIZADA+(@InsQtde) , ENCERRAMENTO = @insData_Emissao WHERE TAREFA = @insTarefa UPDATE PRODUCAO_ORDEM_COR SET QTDE_P = QTDE_P-@insQtde, P1 =P1 -@insEn_1 ,P2 =P2 -@insEn_2 ,P3 =P3 -@insEn_3 ,P4 =P4 -@insEn_4 ,P5 =P5 -@insEn_5 ,P6 =P6 -@insEn_6 ,P7 =P7 -@insEn_7 ,P8 =P8 -@insEn_8, P9 =P9 -@insEn_9 ,P10=P10-@insEn_10,P11=P11-@insEn_11,P12=P12-@insEn_12,P13=P13-@insEn_13,P14=P14-@insEn_14,P15=P15-@insEn_15,P16=P16-@insEn_16, P17=P17-@insEn_17,P18=P18-@insEn_18,P19=P19-@insEn_19,P20=P20-@insEn_20,P21=P21-@insEn_21,P22=P22-@insEn_22,P23=P23-@insEn_23,P24=P24-@insEn_24, P25=P25-@insEn_25,P26=P26-@insEn_26,P27=P27-@insEn_27,P28=P28-@insEn_28,P29=P29-@insEn_29,P30=P30-@insEn_30,P31=P31-@insEn_31,P32=P32-@insEn_32, P33=P33-@insEn_33,P34=P34-@insEn_34,P35=P35-@insEn_35,P36=P36-@insEn_36,P37=P37-@insEn_37,P38=P38-@insEn_38,P39=P39-@insEn_39,P40=P40-@insEn_40, P41=P41-@insEn_41,P42=P42-@insEn_42,P43=P43-@insEn_43,P44=P44-@insEn_44,P45=P45-@insEn_45,P46=P46-@insEn_46,P47=P47-@insEn_47,P48=P48-@insEn_48 WHERE ORDEM_PRODUCAO=@insOrdem_Producao AND PRODUTO = @insProduto AND COR_PRODUTO =@insCor_Produto UPDATE PRODUCAO_ORDEM SET QTDE_EM_PRODUCAO = QTDE_EM_PRODUCAO-(@insQtde) WHERE ORDEM_PRODUCAO=@insOrdem_Producao Select @insTotal=sum(qtde_p) From producao_ordem_cor Where ORDEM_PRODUCAO=@insOrdem_Producao Group by ordem_producao If (@insTotal = 0) begin Update producao_ordem Set qtde_em_producao = @insTotal, Status = ''E'', encerramento = @insData_Emissao Where ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = 0 , DIFERENCA_PREVISAO =RESERVA_ORIGINAL - consumida Where ORDEM_PRODUCAO=@insOrdem_Producao end if (@insTotal <> 0) begin Update producao_ordem Set qtde_em_producao = @insTotal, Status = ''P'', encerramento = null Where ORDEM_PRODUCAO=@insOrdem_Producao UPDATE PRODUCAO_RESERVA SET RESERVA = CASE WHEN (RESERVA_ORIGINAL - consumida > 0 AND MATAR_SALDO_RESERVA=0) THEN (RESERVA_ORIGINAL - consumida ) ELSE 0 END, DIFERENCA_PREVISAO = CASE WHEN (RESERVA_ORIGINAL - consumida < 0 OR MATAR_SALDO_RESERVA=1) THEN (RESERVA_ORIGINAL - consumida) ELSE 0 END Where ORDEM_PRODUCAO=@insOrdem_Producao end FETCH NEXT FROM CurUpdate_Estoque_Prod1_Ent INTO @insRomaneio_Produto,@insFilial,@insProduto,@insCor_Produto,@insTarefa,@insOrdem_Producao,@insQtde, @insEn_1 ,@insEn_2 ,@insEn_3 ,@insEn_4 ,@insEn_5 ,@insEn_6 ,@insEn_7 ,@insEn_8 ,@insEn_9 ,@insEn_10,@insEn_11,@insEn_12, @insEn_13,@insEn_14,@insEn_15,@insEn_16,@insEn_17,@insEn_18,@insEn_19,@insEn_20,@insEn_21,@insEn_22,@insEn_23,@insEn_24, @insEn_25,@insEn_26,@insEn_27,@insEn_28,@insEn_29,@insEn_30,@insEn_31,@insEn_32,@insEn_33,@insEn_34,@insEn_35,@insEn_36, @insEn_37,@insEn_38,@insEn_39,@insEn_40,@insEn_41,@insEn_42,@insEn_43,@insEn_44,@insEn_45,@insEn_46,@insEn_47,@insEn_48 END /* WHILE @@fetch_status = 0 */ END /* IF @@rowcount >= 0 */ CLOSE CurUpdate_Estoque_Prod1_Ent DEALLOCATE CurUpdate_Estoque_Prod1_Ent /*---------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[EN_48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[SEGUNDA_QUALIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD1_ENT].[CUSTO4]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_REPRE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_REPRE]( [REPRESENTANTE] [varchar](25) NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COMISSAO] [real] NULL, [REPRESENTANTE_PRINCIPAL] [bit] NOT NULL, CONSTRAINT [XPKCLIENTE_REPRE] PRIMARY KEY NONCLUSTERED ( [REPRESENTANTE] ASC, [CLIENTE_ATACADO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_REPRE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_REPRE] on [CLIENTE_REPRE] for INSERT as /* INSERT trigger on CLIENTE_REPRE */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO CLIENTES_ATACADO CLIENTE_REPRE ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_REPRE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES CLIENTE_REPRE ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_REPRE #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_REPRE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_REPRE, INSERTED WHERE CLIENTE_REPRE.REPRESENTANTE = INSERTED.REPRESENTANTE and CLIENTE_REPRE.CLIENTE_ATACADO = INSERTED.CLIENTE_ATACADO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_REPRE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_REPRE] on [CLIENTE_REPRE] for UPDATE as /* UPDATE trigger on CLIENTE_REPRE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREPRESENTANTE varchar(25), @insCLIENTE_ATACADO varchar(25), @delREPRESENTANTE varchar(25), @delCLIENTE_ATACADO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO CLIENTES_ATACADO CLIENTE_REPRE ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_REPRE #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTES CLIENTE_REPRE ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_REPRE #porque #REPRESENTANTES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_REPRE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_REPRE, INSERTED WHERE CLIENTE_REPRE.REPRESENTANTE = INSERTED.REPRESENTANTE and CLIENTE_REPRE.CLIENTE_ATACADO = INSERTED.CLIENTE_ATACADO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_REPRE.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_REPRE].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_REPRE].[COMISSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTE_REPRE].[REPRESENTANTE_PRINCIPAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_AUSENCIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_AUSENCIAS]( [CODIGO_CARTAO] [char](8) NOT NULL, [DATA] [datetime] NOT NULL, [MINUTOS_AUSENCIA] [numeric](7, 2) NULL, CONSTRAINT [XPKPRODUTIV_AUSENCIAS] PRIMARY KEY NONCLUSTERED ( [CODIGO_CARTAO] ASC, [DATA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_AUSENCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_AUSENCIAS] on [PRODUTIV_AUSENCIAS] for INSERT as /* INSERT trigger on PRODUTIV_AUSENCIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS AUSENCIAS PRODUTIV_AUSENCIAS ON CHILD INSERT RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_AUSENCIAS #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_AUSENCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_AUSENCIAS] on [PRODUTIV_AUSENCIAS] for UPDATE as /* UPDATE trigger on PRODUTIV_AUSENCIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CARTAO char(8), @insDATA datetime, @delCODIGO_CARTAO char(8), @delDATA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_OPERADORAS AUSENCIAS PRODUTIV_AUSENCIAS ON CHILD UPDATE RESTRICT */ if update(CODIGO_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_OPERADORAS where inserted.CODIGO_CARTAO = PRODUTIV_OPERADORAS.CODIGO_CARTAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_AUSENCIAS #porque #PRODUTIV_OPERADORAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_AUSENCIAS].[MINUTOS_AUSENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DISTRIBUICAO_TIPO_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DISTRIBUICAO_TIPO_AGRUPAMENTO]( [CODIGO_AGRUPAMENTO] [int] NOT NULL, [DESC_AGRUPAMENTO] [varchar](40) NOT NULL, [AGRUPAMENTO1] [varchar](25) NOT NULL, [AGRUPAMENTO2] [varchar](25) NOT NULL, [AGRUPAMENTO3] [varchar](25) NOT NULL, [AGRUPAMENTO4] [varchar](25) NOT NULL, [AGRUPAMENTO5] [varchar](25) NOT NULL, [AGRUPAMENTO6] [varchar](25) NOT NULL, [METAS_TIPO_FREQUENCIA] [int] NULL, [CODIGO_VALOR_AGRUPAMENTO_BASE] [int] NULL, CONSTRAINT [XPKDISTRIBUICAO_TIPO_AGRUPAMEN] PRIMARY KEY NONCLUSTERED ( [CODIGO_AGRUPAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_DISTRIBUICAO_TIPO_AGRUPAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_DISTRIBUICAO_TIPO_AGRUPAME] on [DISTRIBUICAO_TIPO_AGRUPAMENTO] for DELETE as /* DELETE trigger on DISTRIBUICAO_TIPO_AGRUPAMENTO */ begin declare @errno int, @errmsg varchar(255) /* DISTRIBUICAO_TIPO_AGRUPAMENTO R/2111 DISTRIBUICAO_AGRUPAMENTO ON PARENT DELETE CASCADE */ delete DISTRIBUICAO_AGRUPAMENTO from DISTRIBUICAO_AGRUPAMENTO,deleted where DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO = deleted.CODIGO_AGRUPAMENTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DISTRIBUICAO_TIPO_AGRUPAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DISTRIBUICAO_TIPO_AGRUPAME] on [DISTRIBUICAO_TIPO_AGRUPAMENTO] for UPDATE as /* UPDATE trigger on DISTRIBUICAO_TIPO_AGRUPAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_AGRUPAMENTO int, @delCODIGO_AGRUPAMENTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_TIPO_AGRUPAMENTO R/2111 DISTRIBUICAO_AGRUPAMENTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_AGRUPAMENTO) BEGIN DECLARE DISTRIBUICAO_TIPO_AGRUPAME2111 CURSOR FOR SELECT CODIGO_AGRUPAMENTO FROM INSERTED DECLARE DISTRIBUICAO_TIPO_AGRUPAME1046 CURSOR FOR SELECT CODIGO_AGRUPAMENTO FROM DELETED OPEN DISTRIBUICAO_TIPO_AGRUPAME2111 OPEN DISTRIBUICAO_TIPO_AGRUPAME1046 FETCH NEXT FROM DISTRIBUICAO_TIPO_AGRUPAME2111 INTO @insCODIGO_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_TIPO_AGRUPAME1046 INTO @delCODIGO_AGRUPAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DISTRIBUICAO_AGRUPAMENTO SET DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO=@insCODIGO_AGRUPAMENTO WHERE DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO = @delCODIGO_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_TIPO_AGRUPAME2111 INTO @insCODIGO_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_TIPO_AGRUPAME1046 INTO @delCODIGO_AGRUPAMENTO END END CLOSE DISTRIBUICAO_TIPO_AGRUPAME2111 CLOSE DISTRIBUICAO_TIPO_AGRUPAME1046 DEALLOCATE DISTRIBUICAO_TIPO_AGRUPAME2111 DEALLOCATE DISTRIBUICAO_TIPO_AGRUPAME1046 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_TIPO_AGRUPAMENTO].[CODIGO_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_TIPO_AGRUPAMENTO].[METAS_TIPO_FREQUENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAM_DEV_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAM_DEV_MAT_PECA]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](4) NOT NULL, [PARTIDA] [char](6) NOT NULL, [PECA] [char](6) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [ITEM_SAIDA] [char](4) NOT NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, CONSTRAINT [XPKFATURAM_DEV_MAT_PECA] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [NF_ENTRADA] ASC, [NOME_CLIFOR] ASC, [MATERIAL] ASC, [ITEM] ASC, [PARTIDA] ASC, [PECA] ASC, [SERIE_NF] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAM_DEV_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAM_DEV_MAT_PECA] on [FATURAM_DEV_MAT_PECA] for DELETE as /* DELETE trigger on FATURAM_DEV_MAT_PECA */ /* default body for LXD_FATURAM_DEV_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insPARTIDA char(6), @insPECA char(6), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_FATURAM_DEV_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_FATURAM_DEV_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT_PECA DEALLOCATE cur_FATURAM_DEV_MAT_PECA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAM_DEV_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAM_DEV_MAT_PECA] on [FATURAM_DEV_MAT_PECA] for INSERT as /* INSERT trigger on FATURAM_DEV_MAT_PECA */ /* default body for LXI_FATURAM_DEV_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insPARTIDA char(6), @insPECA char(6), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MAT_PECA ENTRADAS_MAT_PECA FATURAM_DEV_MAT_PECA ON CHILD INSERT RESTRICT */ if update(PECA) or update(PARTIDA) or update(NOME_CLIFOR) or update(ITEM) or update(MATERIAL) or update(NF_ENTRADA) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MAT_PECA where inserted.PECA = ENTRADAS_MAT_PECA.PECA and inserted.PARTIDA = ENTRADAS_MAT_PECA.PARTIDA and inserted.NOME_CLIFOR = ENTRADAS_MAT_PECA.NOME_CLIFOR and inserted.ITEM = ENTRADAS_MAT_PECA.ITEM and inserted.MATERIAL = ENTRADAS_MAT_PECA.MATERIAL and inserted.NF_ENTRADA = ENTRADAS_MAT_PECA.NF_ENTRADA and inserted.COR_MATERIAL = ENTRADAS_MAT_PECA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_MAT_PECA #porque #ENTRADAS_MAT_PECA #não existe.'' goto error end end /* FATURAM_DEV_MAT FAT_DEV_MAT FATURAM_DEV_MAT_PECA ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(NF_ENTRADA) or update(NOME_CLIFOR) or update(MATERIAL) or update(ITEM) or update(SERIE_NF) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAM_DEV_MAT where inserted.FILIAL = FATURAM_DEV_MAT.FILIAL and inserted.NF_SAIDA = FATURAM_DEV_MAT.NF_SAIDA and inserted.NF_ENTRADA = FATURAM_DEV_MAT.NF_ENTRADA and inserted.NOME_CLIFOR = FATURAM_DEV_MAT.NOME_CLIFOR and inserted.MATERIAL = FATURAM_DEV_MAT.MATERIAL and inserted.ITEM = FATURAM_DEV_MAT.ITEM and inserted.SERIE_NF = FATURAM_DEV_MAT.SERIE_NF and inserted.COR_MATERIAL = FATURAM_DEV_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_MAT_PECA #porque #FATURAM_DEV_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_FATURAM_DEV_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_FATURAM_DEV_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT_PECA DEALLOCATE cur_FATURAM_DEV_MAT_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAM_DEV_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAM_DEV_MAT_PECA] on [FATURAM_DEV_MAT_PECA] for UPDATE as /* UPDATE trigger on FATURAM_DEV_MAT_PECA */ /* default body for LXU_FATURAM_DEV_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insPARTIDA char(6), @insPECA char(6), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delNF_ENTRADA char(7), @delNOME_CLIFOR varchar(25), @delMATERIAL char(11), @delITEM CHAR(4), @delPARTIDA char(6), @delPECA char(6), @delSERIE_NF char(2), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MAT_PECA ENTRADAS_MAT_PECA FATURAM_DEV_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(PECA) or update(PARTIDA) or update(NOME_CLIFOR) or update(ITEM) or update(MATERIAL) or update(NF_ENTRADA) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MAT_PECA where inserted.PECA = ENTRADAS_MAT_PECA.PECA and inserted.PARTIDA = ENTRADAS_MAT_PECA.PARTIDA and inserted.NOME_CLIFOR = ENTRADAS_MAT_PECA.NOME_CLIFOR and inserted.ITEM = ENTRADAS_MAT_PECA.ITEM and inserted.MATERIAL = ENTRADAS_MAT_PECA.MATERIAL and inserted.NF_ENTRADA = ENTRADAS_MAT_PECA.NF_ENTRADA and inserted.COR_MATERIAL = ENTRADAS_MAT_PECA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_MAT_PECA #porque #ENTRADAS_MAT_PECA #não existe.'' goto error end end /* FATURAM_DEV_MAT FAT_DEV_MAT FATURAM_DEV_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(NF_ENTRADA) or update(NOME_CLIFOR) or update(MATERIAL) or update(ITEM) or update(SERIE_NF) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAM_DEV_MAT where inserted.FILIAL = FATURAM_DEV_MAT.FILIAL and inserted.NF_SAIDA = FATURAM_DEV_MAT.NF_SAIDA and inserted.NF_ENTRADA = FATURAM_DEV_MAT.NF_ENTRADA and inserted.NOME_CLIFOR = FATURAM_DEV_MAT.NOME_CLIFOR and inserted.MATERIAL = FATURAM_DEV_MAT.MATERIAL and inserted.ITEM = FATURAM_DEV_MAT.ITEM and inserted.SERIE_NF = FATURAM_DEV_MAT.SERIE_NF and inserted.COR_MATERIAL = FATURAM_DEV_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_MAT_PECA #porque #FATURAM_DEV_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_FATURAM_DEV_MAT_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida UNION SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_FATURAM_DEV_MAT_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_MAT_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT_PECA DEALLOCATE cur_FATURAM_DEV_MAT_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT_PECA].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT_PECA].[QTDE_AUX]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAMENTO_CAIXAS]( [CAIXA] [varchar](8) NOT NULL, [CAIXA_FECHADA] [bit] NOT NULL, [NOME_CLIFOR] [varchar](25) NULL, [PESO_BRUTO_CAIXA] [numeric](8, 3) NULL, [DATA_EMBALAGEM] [datetime] NULL, [EMBALADOR] [varchar](40) NULL, [QTDE_CAIXA] [int] NULL, [ENCERRADA] [bit] NOT NULL, [TIPO_CAIXA] [char](8) NULL, [CAIXA_NUMERO_CLIENTE] [varchar](6) NULL, [GRUPO_DE_CAIXAS] [varchar](6) NULL, [ARQUIVO_COLETOR_GERADO] [varchar](250) NULL, [PESO_LIQUIDO_CAIXA] [numeric](8, 3) NULL, CONSTRAINT [XPKFATURAMENTO_CAIXAS] PRIMARY KEY NONCLUSTERED ( [CAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAMENTO_CAIXAS]') AND name = N'XIE1FATURAMENTO_CAIXAS') CREATE NONCLUSTERED INDEX [XIE1FATURAMENTO_CAIXAS] ON [FATURAMENTO_CAIXAS] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAMENTO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAMENTO_CAIXAS] on [FATURAMENTO_CAIXAS] for DELETE as /* DELETE trigger on FATURAMENTO_CAIXAS */ begin declare @errno int, @errmsg varchar(255) /* FATURAMENTO_CAIXAS CAIXAS FATURAMENTO_PROD ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_PROD where FATURAMENTO_PROD.CAIXA = deleted.CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FATURAMENTO_CAIXAS #porque existem registros em #FATURAMENTO_PROD#.'' goto error end /* FATURAMENTO_CAIXAS R/1184 VENDAS_PROD_EMBALADO ON PARENT DELETE CASCADE */ delete VENDAS_PROD_EMBALADO from VENDAS_PROD_EMBALADO,deleted where VENDAS_PROD_EMBALADO.CAIXA = deleted.CAIXA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAMENTO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAMENTO_CAIXAS] on [FATURAMENTO_CAIXAS] for INSERT as /* INSERT trigger on FATURAMENTO_CAIXAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_CAIXA_TIPO R/1823 FATURAMENTO_CAIXAS ON CHILD INSERT RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CAIXAS #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1185 FATURAMENTO_CAIXAS ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAMENTO_CAIXAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAMENTO_CAIXAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAMENTO_CAIXAS] on [FATURAMENTO_CAIXAS] for UPDATE as /* UPDATE trigger on FATURAMENTO_CAIXAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCAIXA varchar(8), @delCAIXA varchar(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAMENTO_CAIXAS CAIXAS FATURAMENTO_PROD ON PARENT UPDATE CASCADE */ IF update(CAIXA) BEGIN DECLARE FATURAMENTO_CAIXAS1193 CURSOR FOR SELECT CAIXA FROM INSERTED DECLARE FATURAMENTO_CAIXAS726 CURSOR FOR SELECT CAIXA FROM DELETED OPEN FATURAMENTO_CAIXAS1193 OPEN FATURAMENTO_CAIXAS726 FETCH NEXT FROM FATURAMENTO_CAIXAS1193 INTO @insCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS726 INTO @delCAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_PROD SET FATURAMENTO_PROD.CAIXA=@insCAIXA WHERE FATURAMENTO_PROD.CAIXA = @delCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS1193 INTO @insCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS726 INTO @delCAIXA END END CLOSE FATURAMENTO_CAIXAS1193 CLOSE FATURAMENTO_CAIXAS726 DEALLOCATE FATURAMENTO_CAIXAS1193 DEALLOCATE FATURAMENTO_CAIXAS726 END /* FATURAMENTO_CAIXAS R/1184 VENDAS_PROD_EMBALADO ON PARENT UPDATE CASCADE */ IF update(CAIXA) BEGIN DECLARE FATURAMENTO_CAIXAS1184 CURSOR FOR SELECT CAIXA FROM INSERTED DECLARE FATURAMENTO_CAIXAS726 CURSOR FOR SELECT CAIXA FROM DELETED OPEN FATURAMENTO_CAIXAS1184 OPEN FATURAMENTO_CAIXAS726 FETCH NEXT FROM FATURAMENTO_CAIXAS1184 INTO @insCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS726 INTO @delCAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PROD_EMBALADO SET VENDAS_PROD_EMBALADO.CAIXA=@insCAIXA WHERE VENDAS_PROD_EMBALADO.CAIXA = @delCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS1184 INTO @insCAIXA FETCH NEXT FROM FATURAMENTO_CAIXAS726 INTO @delCAIXA END END CLOSE FATURAMENTO_CAIXAS1184 CLOSE FATURAMENTO_CAIXAS726 DEALLOCATE FATURAMENTO_CAIXAS1184 DEALLOCATE FATURAMENTO_CAIXAS726 END /* FATURAMENTO_CAIXA_TIPO R/1823 FATURAMENTO_CAIXAS ON CHILD UPDATE RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CAIXAS #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1185 FATURAMENTO_CAIXAS ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAMENTO_CAIXAS #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXAS].[CAIXA_FECHADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXAS].[QTDE_CAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAMENTO_CAIXAS].[ENCERRADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAM_DEV_MAT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAM_DEV_MAT]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](4) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [ITEM_SAIDA] [char](4) NOT NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [CUSTO] [numeric](15, 5) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [IPI] [real] NULL, [VALOR] [numeric](14, 2) NULL, CONSTRAINT [XPKFATURAM_DEV_MAT] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [NF_ENTRADA] ASC, [NOME_CLIFOR] ASC, [MATERIAL] ASC, [ITEM] ASC, [SERIE_NF] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAM_DEV_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAM_DEV_MAT] on [FATURAM_DEV_MAT] for DELETE as /* DELETE trigger on FATURAM_DEV_MAT */ /* default body for LXD_FATURAM_DEV_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FATURAM_DEV_MAT FAT_DEV_MAT FATURAM_DEV_MAT_PECA ON PARENT DELETE CASCADE */ delete FATURAM_DEV_MAT_PECA from FATURAM_DEV_MAT_PECA,deleted where FATURAM_DEV_MAT_PECA.FILIAL = deleted.FILIAL and FATURAM_DEV_MAT_PECA.NF_SAIDA = deleted.NF_SAIDA and FATURAM_DEV_MAT_PECA.NF_ENTRADA = deleted.NF_ENTRADA and FATURAM_DEV_MAT_PECA.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAM_DEV_MAT_PECA.MATERIAL = deleted.MATERIAL and FATURAM_DEV_MAT_PECA.ITEM = deleted.ITEM and FATURAM_DEV_MAT_PECA.SERIE_NF = deleted.SERIE_NF and FATURAM_DEV_MAT_PECA.COR_MATERIAL = deleted.COR_MATERIAL /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_FATURAM_DEV_MAT CURSOR FOR SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))*-1), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))*-1) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_FATURAM_DEV_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT DEALLOCATE cur_FATURAM_DEV_MAT /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAM_DEV_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAM_DEV_MAT] on [FATURAM_DEV_MAT] for INSERT as /* INSERT trigger on FATURAM_DEV_MAT */ /* default body for LXI_FATURAM_DEV_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL FATURAM_DEV_MAT ON CHILD INSERT RESTRICT */ if update(COR_MATERIAL) or update(ITEM) or update(MATERIAL) or update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MATERIAL where inserted.COR_MATERIAL = ENTRADAS_MATERIAL.COR_MATERIAL and inserted.ITEM = ENTRADAS_MATERIAL.ITEM and inserted.MATERIAL = ENTRADAS_MATERIAL.MATERIAL and inserted.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_MAT #porque #ENTRADAS_MATERIAL #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAM_DEV_MAT ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_MAT #porque #FATURAMENTO #não existe.'' goto error end end /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_FATURAM_DEV_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))), CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE_AUX),0))) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial OPEN cur_FATURAM_DEV_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT DEALLOCATE cur_FATURAM_DEV_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAM_DEV_MAT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAM_DEV_MAT] on [FATURAM_DEV_MAT] for UPDATE as /* UPDATE trigger on FATURAM_DEV_MAT */ /* default body for LXU_FATURAM_DEV_MAT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insNF_ENTRADA char(7), @insNOME_CLIFOR varchar(25), @insMATERIAL char(11), @insITEM CHAR(4), @insSERIE_NF char(2), @insCOR_MATERIAL char(10), @delFILIAL varchar(25), @delNF_SAIDA char(7), @delNF_ENTRADA char(7), @delNOME_CLIFOR varchar(25), @delMATERIAL char(11), @delITEM CHAR(4), @delSERIE_NF char(2), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_MATERIAL ENTRADAS_MATERIAL FATURAM_DEV_MAT ON CHILD UPDATE RESTRICT */ if update(COR_MATERIAL) or update(ITEM) or update(MATERIAL) or update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_MATERIAL where inserted.COR_MATERIAL = ENTRADAS_MATERIAL.COR_MATERIAL and inserted.ITEM = ENTRADAS_MATERIAL.ITEM and inserted.MATERIAL = ENTRADAS_MATERIAL.MATERIAL and inserted.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_MAT #porque #ENTRADAS_MATERIAL #não existe.'' goto error end end /* FATURAMENTO FATURAMENTO FATURAM_DEV_MAT ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_MAT #porque #FATURAMENTO #não existe.'' goto error end end /* FATURAM_DEV_MAT FAT_DEV_MAT FATURAM_DEV_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(FILIAL) OR update(NF_SAIDA) OR update(NF_ENTRADA) OR update(NOME_CLIFOR) OR update(MATERIAL) OR update(ITEM) OR update(SERIE_NF) OR update(COR_MATERIAL) BEGIN DECLARE FATURAM_DEV_MAT963 CURSOR FOR SELECT FILIAL, NF_SAIDA, NF_ENTRADA, NOME_CLIFOR, MATERIAL, ITEM, SERIE_NF, COR_MATERIAL FROM INSERTED DECLARE FATURAM_DEV_MAT210 CURSOR FOR SELECT FILIAL, NF_SAIDA, NF_ENTRADA, NOME_CLIFOR, MATERIAL, ITEM, SERIE_NF, COR_MATERIAL FROM DELETED OPEN FATURAM_DEV_MAT963 OPEN FATURAM_DEV_MAT210 FETCH NEXT FROM FATURAM_DEV_MAT963 INTO @insFILIAL, @insNF_SAIDA, @insNF_ENTRADA, @insNOME_CLIFOR, @insMATERIAL, @insITEM, @insSERIE_NF, @insCOR_MATERIAL FETCH NEXT FROM FATURAM_DEV_MAT210 INTO @delFILIAL, @delNF_SAIDA, @delNF_ENTRADA, @delNOME_CLIFOR, @delMATERIAL, @delITEM, @delSERIE_NF, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_MAT_PECA SET FATURAM_DEV_MAT_PECA.FILIAL=@insFILIAL, FATURAM_DEV_MAT_PECA.NF_SAIDA=@insNF_SAIDA, FATURAM_DEV_MAT_PECA.NF_ENTRADA=@insNF_ENTRADA, FATURAM_DEV_MAT_PECA.NOME_CLIFOR=@insNOME_CLIFOR, FATURAM_DEV_MAT_PECA.MATERIAL=@insMATERIAL, FATURAM_DEV_MAT_PECA.ITEM=@insITEM, FATURAM_DEV_MAT_PECA.SERIE_NF=@insSERIE_NF, FATURAM_DEV_MAT_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE FATURAM_DEV_MAT_PECA.FILIAL = @delFILIAL and FATURAM_DEV_MAT_PECA.NF_SAIDA = @delNF_SAIDA and FATURAM_DEV_MAT_PECA.NF_ENTRADA = @delNF_ENTRADA and FATURAM_DEV_MAT_PECA.NOME_CLIFOR = @delNOME_CLIFOR and FATURAM_DEV_MAT_PECA.MATERIAL = @delMATERIAL and FATURAM_DEV_MAT_PECA.ITEM = @delITEM and FATURAM_DEV_MAT_PECA.SERIE_NF = @delSERIE_NF and FATURAM_DEV_MAT_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM FATURAM_DEV_MAT963 INTO @insFILIAL, @insNF_SAIDA, @insNF_ENTRADA, @insNOME_CLIFOR, @insMATERIAL, @insITEM, @insSERIE_NF, @insCOR_MATERIAL FETCH NEXT FROM FATURAM_DEV_MAT210 INTO @delFILIAL, @delNF_SAIDA, @delNF_ENTRADA, @delNOME_CLIFOR, @delMATERIAL, @delITEM, @delSERIE_NF, @delCOR_MATERIAL END END CLOSE FATURAM_DEV_MAT963 CLOSE FATURAM_DEV_MAT210 DEALLOCATE FATURAM_DEV_MAT963 DEALLOCATE FATURAM_DEV_MAT210 END /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_FATURAM_DEV_MAT CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Inserted.Material, Inserted.Cor_Material, Filial UNION SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0))*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_FATURAM_DEV_MAT DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) - @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_FATURAM_DEV_MAT INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_FATURAM_DEV_MAT DEALLOCATE cur_FATURAM_DEV_MAT END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_MAT].[VALOR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_MAT_OF]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SAI_MAT_OF]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [QTDE_SEMI_ACABADO] [numeric](9, 3) NOT NULL, [MATAR_SALDO] [bit] NOT NULL, [RECALCULA_NIVEIS_SUPERIORES] [bit] NOT NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_SAI_MAT_OF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_ESTOQUE_SAI_MAT_OF] on [ESTOQUE_SAI_MAT_OF] for DELETE as /* DELETE trigger on ESTOQUE_SAI_MAT_OF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insORDEM_PRODUCAO char(8), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM ESTOQUE_SAI_MAT_OF A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM ESTOQUE_SAI_MAT A JOIN ESTOQUE_SAI_MAT_OF B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN DECLARE Cur_RECALCULO SCROLL CURSOR FOR SELECT ORDEM_PRODUCAO FROM M_ORDEM_FABRICACAO_ANTERIOR WHERE ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO OPEN Cur_RECALCULO FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR WHILE @@FETCH_STATUS=0 BEGIN EXECUTE(''LX_RECALCULA_NIVEL_SUPERIOR "''+@ORDEM_PRODUCAO_ANTERIOR+''","''+@ORDEM_PRODUCAO+''"'') FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR END CLOSE Cur_RECALCULO DEALLOCATE Cur_RECALCULO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_SAI_MAT_OF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_ESTOQUE_SAI_MAT_OF] on [ESTOQUE_SAI_MAT_OF] for INSERT as /* INSERT trigger on ESTOQUE_SAI_MAT_OF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insORDEM_PRODUCAO char(8), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO_ITEM R/1896 ESTOQUE_SAI_MAT_OF ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT_OF #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /* ESTOQUE_SAI_MAT R/1895 ESTOQUE_SAI_MAT_OF ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_MAT_OF #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM ESTOQUE_SAI_MAT_OF A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM ESTOQUE_SAI_MAT A JOIN ESTOQUE_SAI_MAT_OF B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN DECLARE Cur_RECALCULO SCROLL CURSOR FOR SELECT ORDEM_PRODUCAO FROM M_ORDEM_FABRICACAO_ANTERIOR WHERE ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO OPEN Cur_RECALCULO FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR WHILE @@FETCH_STATUS=0 BEGIN EXECUTE(''LX_RECALCULA_NIVEL_SUPERIOR "''+@ORDEM_PRODUCAO_ANTERIOR+''","''+@ORDEM_PRODUCAO+''"'') FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR END CLOSE Cur_RECALCULO DEALLOCATE Cur_RECALCULO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SAI_MAT_OF]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_ESTOQUE_SAI_MAT_OF] on [ESTOQUE_SAI_MAT_OF] for UPDATE as /* UPDATE trigger on ESTOQUE_SAI_MAT_OF */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insORDEM_PRODUCAO char(8), @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delORDEM_PRODUCAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_FABRICACAO_ITEM R/1896 ESTOQUE_SAI_MAT_OF ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_MAT_OF #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /* ESTOQUE_SAI_MAT R/1895 ESTOQUE_SAI_MAT_OF ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI_MAT.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_MAT_OF #porque #ESTOQUE_SAI_MAT #não existe.'' goto error end end /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM ESTOQUE_SAI_MAT_OF A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM ESTOQUE_SAI_MAT A JOIN ESTOQUE_SAI_MAT_OF B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN DECLARE Cur_RECALCULO SCROLL CURSOR FOR SELECT ORDEM_PRODUCAO FROM M_ORDEM_FABRICACAO_ANTERIOR WHERE ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO OPEN Cur_RECALCULO FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR WHILE @@FETCH_STATUS=0 BEGIN EXECUTE(''LX_RECALCULA_NIVEL_SUPERIOR "''+@ORDEM_PRODUCAO_ANTERIOR+''","''+@ORDEM_PRODUCAO+''"'') FETCH NEXT FROM Cur_RECALCULO INTO @ORDEM_PRODUCAO_ANTERIOR END CLOSE Cur_RECALCULO DEALLOCATE Cur_RECALCULO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) OR EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_MAT_OF].[QTDE_SEMI_ACABADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_MAT_OF].[MATAR_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_MAT_OF].[RECALCULA_NIVEIS_SUPERIORES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_RAIZ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ETEJI_RAIZ]( [ID] [int] NULL, [ACCESO] [smallint] NULL, [GF_MATERIAL] [varchar](11) NULL, [GF_DESC_MATERIAL] [varchar](40) NULL, [GF_GRUPO] [smallint] NULL, [GF_SUBGRUPO] [smallint] NULL, [EMP] [smallint] NULL, [GF_DESC_COMPOSIC] [smallint] NULL, [GF_COLECCION] [smallint] NULL, [GF_TIPO] [smallint] NULL, [GF_FABRICANTE] [smallint] NULL, [GF_CONDICIO_PAGO] [smallint] NULL, [GF_REF_FABRICANT] [varchar](20) NULL, [GF_UNID_STOCK] [smallint] NULL, [GF_UNID_FICHA_TE] [smallint] NULL, [GF_FACTOR_CONVER] [float] NULL, [GF_CTRL_UNID_AUX] [smallint] NULL, [GF_UNID_AUXILIAR] [smallint] NULL, [GF_VARIA_MATERIA] [smallint] NULL, [PESO_ECOEMBES] [float] NULL, [UVC_COMERC_INDUS] [smallint] NULL, [TRANSFER] [smallint] NULL, [USERC] [int] NULL, [USERM] [int] NULL, [FECHAC] [datetime] NULL, [FECHAM] [datetime] NULL, [USERP] [int] NULL, [MATERIA_ECOEMBES] [smallint] NULL, [GF_FASE_PRODUCC] [smallint] NULL, [GF_SECTOR_PRODUC] [smallint] NULL, [GF_COMPRIMENTO] [float] NULL, [GF_LOTE_ECONOMIC] [float] NULL, [GF_COMPRA_MININA] [float] NULL, [GF_OBS] [varchar](254) NULL, [GF_DIAS_ENTREGA] [int] NULL, [GF_CUSTO_REPOSIC] [float] NOT NULL DEFAULT (0), [GF_CUSTO_A_VISTA] [float] NOT NULL DEFAULT (0), [GF_REVENDA] [char](1) NOT NULL DEFAULT ('0'), [GF_TEC_SIMPLES_T] [smallint] NULL, [GF_TEC_LISO_ESTA] [smallint] NULL, [GF_TEC_TORNASOL] [smallint] NULL, [GF_CLASSIF_FISCA] [int] NOT NULL DEFAULT (2), [GF_TRIBUT_ORIGEM] [int] NOT NULL DEFAULT (2), [GF_TRIBUT_ICMS] [int] NOT NULL DEFAULT (1), [GF_CONTA_CONTABI] [int] NULL, [GF_DESC_NF] [varchar](40) NULL, [GF_CODIGO_ETIQUE] [varchar](11) NULL, [GF_SEMI_ACABADO] [varchar](1) NULL, [GF_CTRL_PARTIDAS] [char](1) NOT NULL DEFAULT (1), [GF_CTRL_PECAS] [char](1) NULL, [GF_MATERIAL_INDI] [char](1) NOT NULL DEFAULT (1), [GF_RESERVA_MATER] [char](1) NOT NULL DEFAULT (1), [GF_ABATER_RESERV] [char](1) NOT NULL DEFAULT (1), [GF_INATIVO] [char](1) NOT NULL DEFAULT ('0'), [GF_DATA_REPOSICA] [datetime] NULL, [GF_ICMS_CUSTOS] [float] NULL, [GF_TAXA_JUROS_CO] [float] NULL, [GF_VARIA_CUSTO_C] [char](1) NOT NULL DEFAULT ('0'), [GF_VARIA_PRECO_C] [char](1) NOT NULL DEFAULT ('0'), [GF_CTRL_PECAS_PA] [char](1) NOT NULL DEFAULT (1), [GF_RESTRICAO_LAV] [int] NULL, [GF_REFERENCIA_BA] [int] NULL ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ETEJI_RAIZ]') AND name = N'REFETEJI_RAIZ') CREATE UNIQUE NONCLUSTERED INDEX [REFETEJI_RAIZ] ON [ETEJI_RAIZ] ( [EMP] ASC, [GF_MATERIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ETEJI_RAIZ]') AND name = N'XETEJI_RAIZ') CREATE UNIQUE NONCLUSTERED INDEX [XETEJI_RAIZ] ON [ETEJI_RAIZ] ( [GF_DESC_MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_INSERT_MATERIALES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GF_INSERT_MATERIALES] ON [ETEJI_RAIZ] FOR INSERT AS BEGIN DECLARE @n_NextKey_ETEJI_PREC_C_T INTEGER, @c_ID_MATERIAL VARCHAR(11), @n_VARIA_MEDIDA INTEGER, @c_VARIA_PRECO CHAR (1), @n_ID INTEGER, @n_id_color INTEGER, @n_IdClase_Colores INTEGER -- Ajuste del detalle Materiales Precios Color/Talla -- Codigo insertado por Raul Gutierrez -- Fecha: 06-06-03 -- Si sólo hay variación de precio por medida, -- se añade una fila que representa al color único (GF_COR_MATERIAL = ) SELECT @n_ID = (ID), @c_ID_MATERIAL = (GF_MATERIAL),@n_VARIA_MEDIDA = (GF_VARIA_MATERIA), @c_VARIA_PRECO = (GF_VARIA_PRECO_C) FROM INSERTED SELECT @n_IdClase_Colores = IDCLASE FROM SISCLASES WHERE TBNAME = ''GF_CORES_BASICAS'' SELECT @n_id_color = (select id from gf_cores_basicas where gf_cor = ( SELECT RTRIM( LTRIM( VALUE ) ) FROM SISCLSCONFIG WHERE VARNAME = ''DEFAULT_COLOUR'' AND IDCLASS = @n_IdClase_Colores ) ) IF (@n_VARIA_MEDIDA = 2) AND (@c_VARIA_PRECO = ''0'') BEGIN EXEC GetNMaxValColSegunTbCnts ''ETEJI_PREC_C_T'',''ID'',@n_NextKey_ETEJI_PREC_C_T output,1,1 INSERT INTO ETEJI_PREC_C_T (ID,ID_ETEJI_RAIZ,GF_COR_MATERIAL,ORDENPM) VALUES(@n_NextKey_ETEJI_PREC_C_T, @n_ID, @n_id_color, 1) END -- Si hay variación de precio por medida y por color IF (@n_VARIA_MEDIDA = 2) AND (@c_VARIA_PRECO = ''1'') BEGIN DECLARE @n_COLOR INTEGER DECLARE CURSOR_COLOR CURSOR FOR SELECT GF_COR_MATERIAL FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID OPEN CURSOR_COLOR FETCH NEXT FROM CURSOR_COLOR INTO @n_COLOR WHILE @@FETCH_STATUS = 0 BEGIN EXEC GetNMaxValColSegunTbCnts ''ETEJI_PREC_C_T'',''ID'',@n_NextKey_ETEJI_PREC_C_T output,1,1 INSERT INTO ETEJI_PREC_C_T (ID,ID_ETEJI_RAIZ,GF_COR_MATERIAL,ORDENPM) VALUES(@n_NextKey_ETEJI_PREC_C_T, @n_ID, @n_COLOR, 1) FETCH NEXT FROM CURSOR_COLOR INTO @n_COLOR END CLOSE CURSOR_COLOR DEALLOCATE CURSOR_COLOR END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_UPDATE_MATERIALES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GF_UPDATE_MATERIALES] ON [ETEJI_RAIZ] FOR UPDATE AS -- Trigger para actualizar materiales en la tabla ETEJI a partir de la ETEJI_RAIZ -- (tabla maestra de la clase Materiales con Colores y Tallas) -- Realizado por: Bernardo Castellanos -- Fecha: 20-09-02 DECLARE @sUpdate VARCHAR(2500), @sSet VARCHAR(2500), @sWhere VARCHAR(80), @n_ID_MATERIAL INTEGER, @s_GF_MATERIAL VARCHAR(80), @n_TRANSFER_ACTUAL SMALLINT, @n_TRANSFER_ANTIGUO SMALLINT, @n_Num_Tallas SMALLINT, @s_Valores_Medidas VARCHAR(255), @s_Cod_Meds VARCHAR(255), @s_Cod_Med VARCHAR(25), @f_GF_MEDIDA FLOAT, @s_Valor_Medida VARCHAR(50), @n_Cont_Tallas SMALLINT, @n_Pos SMALLINT, @s_Desc_Material VARCHAR(80), @b_Varia_Medida BIT, @s_Cod_Med_Base VARCHAR(25), @n_ID_ETEJI_COLOR INTEGER, @n_ID_COR_MATERIAL SMALLINT, @s_COR_MATERIAL VARCHAR(80), @n_VARIA_PRECIO_MEDIDA_ACTUAL SMALLINT, @n_VARIA_PRECIO_MEDIDA_ANTERIOR SMALLINT, @s_VARIA_PRECIO_COLOR_ACTUAL VARCHAR(1), @s_VARIA_PRECIO_COLOR_ANTERIOR VARCHAR(1), @n_ORDENPM SMALLINT, @n_NextKey_ETEJI_PREC_C_T INTEGER, @s_Update_Medidas VARCHAR(1000), @s_Medida_ColName VARCHAR(80) -------------------------------------------------------------------------------------------------------------- -- Actualiza los atributos de un material en la tabla ETEJI -- SELECT @sUpdate = ''UPDATE ETEJI '' SELECT @sWhere = '' WHERE NOMBRE='' + '''''''' + GF_MATERIAL + '''''''' FROM INSERTED SELECT @sSet = ''ID=ID'' IF UPDATE(EMP) SELECT @sSet = @sSet + '',EMP='' + CONVERT(VARCHAR(5),COALESCE(EMP,0)) FROM INSERTED IF UPDATE(ACCESO) SELECT @sSet = @sSet + '',ACCESO='' + CONVERT(VARCHAR(5),ACCESO) FROM INSERTED --IF UPDATE(GF_MATERIAL) --SELECT @sSet = @sSet + '',GF_MATERIAL='' + ''''''''+COALESCE(GF_DESC_MATERIAL,'''')+'''''''' FROM INSERTED IF UPDATE(GF_DESC_MATERIAL) SELECT @sSet = @sSet + '',GF_DESC_MATERIAL='' + ''''''''+COALESCE(GF_DESC_MATERIAL,'''')+'''''''' FROM INSERTED IF UPDATE(GF_GRUPO) SELECT @sSet = @sSet + '',GF_GRUPO='' + CONVERT(VARCHAR(5),GF_GRUPO) FROM INSERTED IF UPDATE(GF_SUBGRUPO) SELECT @sSet = @sSet + '',GF_SUBGRUPO='' + CONVERT(VARCHAR(5),GF_SUBGRUPO) FROM INSERTED IF UPDATE(GF_DESC_COMPOSIC) SELECT @sSet = @sSet + '',GF_DESC_COMPOSIC='' + CONVERT(VARCHAR(5),COALESCE(GF_DESC_COMPOSIC,0)) FROM INSERTED IF UPDATE(GF_COLECCION) SELECT @sSet = @sSet + '',GF_COLECAO='' + CONVERT(VARCHAR(5),COALESCE(GF_COLECCION,0)) FROM INSERTED IF UPDATE(GF_TIPO) SELECT @sSet = @sSet + '',GF_TIPO='' + CONVERT(VARCHAR(5),COALESCE(GF_TIPO,0)) FROM INSERTED IF UPDATE(GF_FASE_PRODUCC) SELECT @sSet = @sSet + '',GF_FASE_PRODUCAO='' + CONVERT(VARCHAR(5),COALESCE(GF_FASE_PRODUCC,0)) FROM INSERTED IF UPDATE(GF_SECTOR_PRODUC) SELECT @sSet = @sSet + '',GF_SETOR_PRODUCA='' + CONVERT(VARCHAR(5),COALESCE(GF_SECTOR_PRODUC,0)) FROM INSERTED IF UPDATE(GF_FABRICANTE) SELECT @sSet = @sSet + '',GF_FABRICANTE='' + CONVERT(VARCHAR(5),COALESCE(GF_FABRICANTE,0)) FROM INSERTED IF UPDATE(GF_CONDICIO_PAGO) SELECT @sSet = @sSet + '',GF_CONDICAO_PGTO='' + CONVERT(VARCHAR(5),COALESCE(GF_CONDICIO_PAGO,0)) FROM INSERTED IF UPDATE(GF_REF_FABRICANT) SELECT @sSet = @sSet + '',GF_REF_FABRICANT=''+ ''''''''+COALESCE(GF_REF_FABRICANT,'''')+'''''''' FROM INSERTED IF UPDATE(GF_UNID_STOCK) SELECT @sSet = @sSet + '',GF_UNID_STOQUE='' + CONVERT(VARCHAR(5),COALESCE(GF_UNID_STOCK,0)) FROM INSERTED IF UPDATE(GF_UNID_FICHA_TE) SELECT @sSet = @sSet + '',GF_UNID_FICHA_TE='' + CONVERT(VARCHAR(5),COALESCE(GF_UNID_FICHA_TE,0)) FROM INSERTED IF UPDATE(GF_FACTOR_CONVER) SELECT @sSet = @sSet + '',GF_FATOR_CONVERS='' + CONVERT(VARCHAR(10),COALESCE(GF_FACTOR_CONVER,0)) FROM INSERTED IF UPDATE(GF_CTRL_UNID_AUX) SELECT @sSet = @sSet + '',GF_CTRL_UNID_AUX='' + CONVERT(VARCHAR(5),COALESCE(GF_CTRL_UNID_AUX,0)) FROM INSERTED IF UPDATE(GF_UNID_AUXILIAR) SELECT @sSet = @sSet + '',GF_UNID_AUXILIAR='' + CONVERT(VARCHAR(5),COALESCE(GF_CTRL_UNID_AUX,0)) FROM INSERTED IF UPDATE(MATERIA_ECOEMBES) SELECT @sSet = @sSet + '',MATERIA_ECOEMBES='' + CONVERT(VARCHAR(5),COALESCE(MATERIA_ECOEMBES,0)) FROM INSERTED IF UPDATE(PESO_ECOEMBES) SELECT @sSet = @sSet + '',PESO_ECOEMBES='' + CONVERT(VARCHAR(10),COALESCE(PESO_ECOEMBES,0)) FROM INSERTED IF UPDATE(UVC_COMERC_INDUS) SELECT @sSet = @sSet + '',UVC_COMERC_INDUS='' + CONVERT(VARCHAR(5),COALESCE(UVC_COMERC_INDUS,0)) FROM INSERTED IF UPDATE(TRANSFER) SELECT @sSet = @sSet + '',TRANSFER='' + CONVERT(VARCHAR(5),COALESCE(TRANSFER,0)) FROM INSERTED IF UPDATE(GF_COMPRIMENTO) SELECT @sSet = @sSet + '',GF_COMPRIMENTO='' + CONVERT(VARCHAR(10),COALESCE(GF_COMPRIMENTO,0)) FROM INSERTED IF UPDATE(GF_LOTE_ECONOMIC) SELECT @sSet = @sSet + '',GF_LOTE_ECONOMIC='' + CONVERT(VARCHAR(10),COALESCE(GF_LOTE_ECONOMIC,0)) FROM INSERTED IF UPDATE(GF_COMPRA_MININA) SELECT @sSet = @sSet + '',GF_COMPRA_MININA='' + CONVERT(VARCHAR(10),COALESCE(GF_COMPRA_MININA,0)) FROM INSERTED IF UPDATE(GF_OBS) SELECT @sSet = @sSet + '',GF_OBS=''+ ''''''''+COALESCE(GF_OBS,'''')+'''''''' FROM INSERTED IF UPDATE(GF_DIAS_ENTREGA) SELECT @sSet = @sSet + '',GF_DIAS_ENTREGA='' + CONVERT(VARCHAR(5),COALESCE(GF_DIAS_ENTREGA,0)) FROM INSERTED IF UPDATE(GF_REVENDA) SELECT @sSet = @sSet + '',GF_REVENDA='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_REVENDA,0))+'''''''' FROM INSERTED IF UPDATE(GF_TEC_SIMPLES_T) SELECT @sSet = @sSet + '',GF_TEC_SIMPLES_T='' + CONVERT(VARCHAR(5),COALESCE(GF_TEC_SIMPLES_T,0)) FROM INSERTED IF UPDATE(GF_TEC_LISO_ESTA) SELECT @sSet = @sSet + '',GF_TEC_LISO_ESTA='' + CONVERT(VARCHAR(5),COALESCE(GF_TEC_LISO_ESTA,0)) FROM INSERTED IF UPDATE(GF_TEC_TORNASOL) SELECT @sSet = @sSet + '',GF_TEC_TORNASOL='' + CONVERT(VARCHAR(5),COALESCE(GF_TEC_TORNASOL,0)) FROM INSERTED IF UPDATE(GF_CLASSIF_FISCA) SELECT @sSet = @sSet + '',GF_CLASSIF_FISCA='' + CONVERT(VARCHAR(5),COALESCE(GF_CLASSIF_FISCA,0)) FROM INSERTED IF UPDATE(GF_TRIBUT_ORIGEM) SELECT @sSet = @sSet + '',GF_TRIBUT_ORIGEM='' + CONVERT(VARCHAR(5),COALESCE(GF_TRIBUT_ORIGEM,0)) FROM INSERTED IF UPDATE(GF_TRIBUT_ICMS) SELECT @sSet = @sSet + '',GF_TRIBUT_ICMS='' + CONVERT(VARCHAR(5),COALESCE(GF_TRIBUT_ICMS,0)) FROM INSERTED IF UPDATE(GF_CONTA_CONTABI) SELECT @sSet = @sSet + '',GF_CONTA_CONTABI='' + CONVERT(VARCHAR(5),COALESCE(GF_CONTA_CONTABI,0)) FROM INSERTED IF UPDATE(GF_DESC_NF) SELECT @sSet = @sSet + '',GF_DESC_NF='' + ''''''''+COALESCE(GF_DESC_NF,'''')+'''''''' FROM INSERTED IF UPDATE(GF_CODIGO_ETIQUE) SELECT @sSet = @sSet + '',GF_CODIGO_ETIQUE='' + ''''''''+COALESCE(GF_CODIGO_ETIQUE,'''')+'''''''' FROM INSERTED IF UPDATE(GF_SEMI_ACABADO) SELECT @sSet = @sSet + '',GF_SEMI_ACABADO='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_SEMI_ACABADO,0))+'''''''' FROM INSERTED IF UPDATE(GF_CTRL_PARTIDAS) SELECT @sSet = @sSet + '',GF_CTRL_PARTIDAS='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_CTRL_PARTIDAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_CTRL_PECAS) SELECT @sSet = @sSet + '',GF_CTRL_PECAS='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_CTRL_PECAS,0))+'''''''' FROM INSERTED IF UPDATE(GF_MATERIAL_INDI) SELECT @sSet = @sSet + '',GF_MATERIAL_INDI='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_MATERIAL_INDI,0))+'''''''' FROM INSERTED IF UPDATE(GF_RESERVA_MATER) SELECT @sSet = @sSet + '',GF_RESERVA_MATER='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_RESERVA_MATER,0))+'''''''' FROM INSERTED IF UPDATE(GF_ABATER_RESERV) SELECT @sSet = @sSet + '',GF_ABATER_RESERV='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_ABATER_RESERV,0))+'''''''' FROM INSERTED IF UPDATE(GF_INATIVO) SELECT @sSet = @sSet + '',GF_INATIVO='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_INATIVO,0))+'''''''' FROM INSERTED IF UPDATE(GF_DATA_REPOSICA) SELECT @sSet = @sSet + '',GF_DATA_REPOSICA=''+''''''''+CONVERT(VARCHAR(50),COALESCE(GF_DATA_REPOSICA,0))+'''''''' FROM INSERTED IF UPDATE(GF_ICMS_CUSTOS) SELECT @sSet = @sSet + '',GF_ICMS_CUSTOS='' + CONVERT(VARCHAR(10),COALESCE(GF_ICMS_CUSTOS,0)) FROM INSERTED IF UPDATE(GF_TAXA_JUROS_CO) SELECT @sSet = @sSet + '',GF_TAXA_JUROS_CO='' + CONVERT(VARCHAR(10),COALESCE(GF_TAXA_JUROS_CO,0)) FROM INSERTED IF UPDATE(GF_VARIA_CUSTO_C) SELECT @sSet = @sSet + '',GF_VARIA_CUSTO_C='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_VARIA_CUSTO_C,0))+'''''''' FROM INSERTED IF UPDATE(GF_VARIA_PRECO_C) SELECT @sSet = @sSet + '',GF_VARIA_PRECO_C='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_VARIA_PRECO_C,0))+'''''''' FROM INSERTED IF UPDATE(GF_CTRL_PECAS_PA) SELECT @sSet = @sSet + '',GF_CTRL_PECAS_PA='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_CTRL_PECAS_PA,0))+'''''''' FROM INSERTED IF UPDATE(GF_RESTRICAO_LAV) SELECT @sSet = @sSet + '',GF_RESTRICAO_LAV='' + CONVERT(VARCHAR(5),COALESCE(GF_RESTRICAO_LAV,0)) FROM INSERTED IF UPDATE(GF_REFERENCIA_BA) SELECT @sSet = @sSet + '',GF_REFERENCIA_BA='' + CONVERT(VARCHAR(5),COALESCE(GF_REFERENCIA_BA,0)) FROM INSERTED IF UPDATE(USERC) SELECT @sSet = @sSet + '',USERC='' + CONVERT(VARCHAR(5),USERC) FROM INSERTED IF UPDATE(FECHAC) SELECT @sSet = @sSet + '',FECHAC=''+''''''''+CONVERT(VARCHAR(50),COALESCE(FECHAC,0))+'''''''' FROM INSERTED IF UPDATE(USERM) SELECT @sSet = @sSet + '',USERM='' + CONVERT(VARCHAR(5),USERM) FROM INSERTED IF UPDATE(FECHAM) SELECT @sSet = @sSet + '',FECHAM=''+''''''''+CONVERT(VARCHAR(50),COALESCE(FECHAM,0))+'''''''' FROM INSERTED SELECT @sUpdate = @sUpdate + ''SET '' + @sSet + @sWhere EXEC (@sUpdate) ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -- Se recorren los material actualizados comprobando el TRANSFER DECLARE MATERIALES_ID CURSOR FOR SELECT ID,GF_MATERIAL,TRANSFER FROM INSERTED OPEN MATERIALES_ID FETCH NEXT FROM MATERIALES_ID INTO @n_ID_MATERIAL,@s_GF_MATERIAL,@n_TRANSFER_ACTUAL WHILE (@@FETCH_STATUS=0) BEGIN -- Buscamos todas las medidas en el detalle de medidas del material actual SELECT @n_Num_Tallas = 0 SELECT @s_Valores_Medidas = '''' SELECT @s_Cod_Meds = '''' DECLARE LISTA_MEDIDAS CURSOR FOR SELECT GF_MEDIDA,GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA,@s_Cod_Med WHILE @@FETCH_STATUS=0 BEGIN -- En LINX los materiales están normalizados por color (tabla MATERIAIS_CORES) -- pero no están normalizados por medida, por lo que cada medida nueva supone -- crear un material nuevo en ETEJI (y en MATERIAIS) -- El código del material será en ETEJI: GF_COD_MAT_TAM (campo calculado con secuencial) -- Y su descripción: GF_DESC_MATERIAL (Valor_Medida) SELECT @s_Valor_Medida = CONVERT(VARCHAR(10),@f_GF_MEDIDA) IF (@s_Cod_Meds != '''') BEGIN SELECT @s_Cod_Meds = @s_Cod_Meds + ''*'' SELECT @s_Valores_Medidas = @s_Valores_Medidas + ''*'' END SELECT @s_Cod_Meds = @s_Cod_Meds + @s_Cod_Med SELECT @s_Valores_Medidas = @s_Valores_Medidas + @s_Valor_Medida SELECT @n_Num_Tallas = @n_Num_Tallas + 1 --SELECT @s_GF_DESC_MATERIAL_MEDIDA = COALESCE(@s_GF_DESC_MATERIAL,'''')+''(''+@s_Valor_Medida+'')'' FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA,@s_Cod_Med END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @s_Valores_Medidas = ''NULL'' SELECT @b_Varia_Medida = 0 SELECT @n_Num_Tallas = 1 END ELSE SELECT @b_Varia_Medida = 1 -- Se recorren todas las medidas del material actual SELECT @n_Cont_Tallas = 1 WHILE (@n_Cont_Tallas <= @n_Num_Tallas) BEGIN -- Parsing de los códigos de Material y de las medidas IF (@n_Cont_Tallas < @n_Num_Tallas) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Cod_Meds) SELECT @s_Cod_Med = SUBSTRING(@s_Cod_Meds,1,@n_Pos-1) SELECT @s_Cod_Meds = RIGHT(@s_Cod_Meds,LEN(@s_Cod_Meds)-@n_Pos) SELECT @n_Pos = PATINDEX(''%*%'',@s_Valores_Medidas) SELECT @s_Valor_Medida = SUBSTRING(@s_Valores_Medidas,1,@n_Pos-1) SELECT @s_Valores_Medidas = RIGHT(@s_Valores_Medidas,LEN(@s_Valores_Medidas)-@n_Pos) END ELSE BEGIN SELECT @s_Cod_Med = @s_Cod_Meds SELECT @s_Valor_Medida = @s_Valores_Medidas END IF (@n_Cont_Tallas = 1) IF (@b_Varia_Medida = 1) SELECT @s_Cod_Med_Base = @s_Cod_Med ELSE SELECT @s_Cod_Med_Base = ''NULL'' -- Si TRANSFER = 50.Liberar, se insertan en MATERIAIS los materiales SELECT @n_TRANSFER_ANTIGUO = TRANSFER FROM DELETED WHERE ID=@n_ID_MATERIAL --IF (@n_TRANSFER_ACTUAL=50 AND @n_TRANSFER_ANTIGUO<50) IF (@n_TRANSFER_ACTUAL>=50) BEGIN -- Comprobar si el material ya existe en LINX IF NOT EXISTS (SELECT MATERIAL FROM MATERIAIS WHERE MATERIAL=@s_Cod_Med) BEGIN SELECT @s_Desc_Material = GF_DESC_MATERIAL FROM INSERTED WHERE ID=@n_ID_MATERIAL IF (@s_Valor_Medida != ''NULL'') SELECT @s_Desc_Material = @s_Desc_Material +'' (''+@s_Valor_Medida+'')'' INSERT INTO MATERIAIS (MATERIAL,SETOR_PRODUCAO,FASE_PRODUCAO,TIPO,TRIBUT_ICMS,TRIBUT_ORIGEM,CLASSIF_FISCAL,FABRICANTE,GRUPO,COLECAO,SUBGRUPO, DESC_MATERIAL,FATOR_CONVERSAO,UNID_ESTOQUE,DIAS_ENTREGA,UNID_FICHA_TEC,CONDICAO_PGTO,UNID_AUXILIAR,CTRL_UNID_AUX, REVENDA,COMPRIMENTO, COD_MATERIAL_TAMANHO, VARIA_MATERIAL_TAMANHO,CTRL_PARTIDAS, LARGURA, VARIA_CUSTO_COR, CTRL_PECAS,VARIA_PRECO_COR,CTRL_PECAS_PARCIAL,DATA_REPOSICAO,CUSTO_REPOSICAO,REF_FABRICANTE, ICMS_CUSTOS,CUSTO_A_VISTA,TAXA_JUROS_CUSTO,MATERIAL_INDIRETO,RESERVA_MATERIAL_OP,ABATER_RESERVA_QTDE,COMPOSICAO, DESC_COMPOSICAO,DESC_NF,CODIGO_ETIQUETA_GRIFFE,CONTA_CONTABIL,INATIVO,SEMI_ACABADO, --DATA_PARA_TRANSFERENCIA, COMPRA_MINIMA,LOTE_ECONOMICO_COMPRAS,TEC_SIMPLES_TUBULAR_ABERTO,TEC_LISO_ESTAMPA_LISTRA_XADREX, TEC_TORNASOL,OBS,RESTRICAO_LAVAGEM,REFERENCIA_BASE) SELECT @s_Cod_Med,(SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE ID=A.GF_SECTOR_PRODUC), (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=A.GF_FASE_PRODUCC), (SELECT GF_TIPO FROM GF_MATERIAIS_TIP WHERE ID=A.GF_TIPO), (SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE ID=A.GF_TRIBUT_ICMS), (SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE ID=A.GF_TRIBUT_ORIGEM), (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA WHERE ID=A.GF_CLASSIF_FISCA), (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=A.GF_FABRICANTE), (SELECT GF_GRUPO FROM GF_MATERIAIS_GRU WHERE ID=A.GF_GRUPO), (SELECT GF_COLECAO FROM GF_COLECOES WHERE ID=A.GF_COLECCION), (SELECT GF_SUBGRUPO FROM GF_MATERIAIS_SUB WHERE ID=A.GF_SUBGRUPO), @s_Desc_Material,A.GF_FACTOR_CONVER, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_STOCK), A.GF_DIAS_ENTREGA, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_FICHA_TE), (SELECT GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO WHERE ID=A.GF_CONDICIO_PAGO), (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_AUXILIAR), (CASE WHEN GF_CTRL_UNID_AUX=1 THEN 0 ELSE 1 END), A.GF_REVENDA,A.GF_COMPRIMENTO, @s_Cod_Med_Base, @b_Varia_Medida,(CASE WHEN GF_CTRL_PARTIDAS=1 THEN 0 ELSE 1 END), @s_Valor_Medida, A.GF_VARIA_CUSTO_C, (CASE WHEN GF_CTRL_PECAS=1 THEN 0 ELSE 1 END), A.GF_VARIA_PRECO_C, (CASE WHEN GF_CTRL_PECAS_PA=1 THEN 0 ELSE 1 END), A.GF_DATA_REPOSICA, ''CUSTO_REPOSICAO''=CASE WHEN A.GF_SEMI_ACABADO=0 THEN A.GF_CUSTO_REPOSIC ELSE 0 END, A.GF_REF_FABRICANT,A.GF_ICMS_CUSTOS, -- ''CUSTO_A_VISTA''=CASE WHEN A.GF_SEMI_ACABADO=0 THEN A.GF_CUSTO_REPOSIC ELSE 0 END, ''CUSTO_A_VISTA''=CASE WHEN A.GF_SEMI_ACABADO=0 THEN A.GF_CUSTO_A_VISTA ELSE 0 END, A.GF_TAXA_JUROS_CO, (CASE WHEN GF_MATERIAL_INDI=1 THEN 0 ELSE 1 END), (CASE WHEN GF_RESERVA_MATER=1 THEN 1 ELSE 0 END), (CASE WHEN GF_ABATER_RESERV=1 THEN 0 ELSE 1 END), (SELECT GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE ID=A.GF_DESC_COMPOSIC), (SELECT GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM WHERE ID=A.GF_DESC_COMPOSIC),A.GF_DESC_NF,A.GF_CODIGO_ETIQUE, (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE ID=A.GF_CONTA_CONTABI), A.GF_INATIVO, A.GF_SEMI_ACABADO, --A.DATA_PARA_TRANSFERENCIA, A.GF_COMPRA_MININA,GF_LOTE_ECONOMIC,A.GF_TEC_SIMPLES_T, A.GF_TEC_LISO_ESTA,A.GF_TEC_TORNASOL,A.GF_OBS, (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE ID=A.GF_RESTRICAO_LAV), (SELECT GF_MATERIAL FROM ETEJI WHERE ID=A.GF_REFERENCIA_BA) FROM INSERTED A WHERE A.ID=@n_ID_MATERIAL UPDATE ETEJI_RAIZ SET TRANSFER=60 WHERE ID=@n_ID_MATERIAL END ELSE --Actualiza en LINX los valores ya transferidos BEGIN SELECT @sUpdate = ''UPDATE MATERIAIS '' SELECT @sWhere = '' WHERE MATERIAL='' + '''''''' + @s_Cod_Med + '''''''' FROM INSERTED SELECT @sSet = ''DESENHO=DESENHO'' -- Modifcado por Jorge Cubero Mayo 2004 IF UPDATE(GF_CTRL_PARTIDAS) SELECT @sSet = @sSet + '',CTRL_PARTIDAS=''+(CASE WHEN GF_CTRL_PARTIDAS =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED /* IF UPDATE(GF_MATERIAL) BEGIN UPDATE ETEJI SET TRANSFER=10 WHERE ID=(SELECT ID FROM DELETED) --UPDATE MATERIAIS SET --MATERIAL=(SELECT GF_MATERIAL FROM INSERTED) --WHERE --MATERIAL=(SELECT GF_MATERIAL FROM DELETED) END IF UPDATE(GF_COR_MATERIAL) BEGIN UPDATE ETEJI SET TRANSFER=65 WHERE ID=(SELECT ID FROM DELETED) END */ IF UPDATE(GF_CTRL_PECAS) SELECT @sSet = @sSet + '',CTRL_PECAS=''+(CASE WHEN GF_CTRL_PECAS =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_CTRL_PECAS_PA) SELECT @sSet = @sSet + '',CTRL_PECAS_PARCIAL=''+(CASE WHEN GF_CTRL_PECAS_PA =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_TIPO) SELECT @sSet = @sSet + '',TIPO=''+ ''''''''+ (SELECT A.GF_TIPO FROM GF_MATERIAIS_TIP A,INSERTED B WHERE A.ID=B.GF_TIPO AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_TRIBUT_ICMS) SELECT @sSet = @sSet + '',TRIBUT_ICMS=''+ ''''''''+ (SELECT A.GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS A,INSERTED B WHERE A.ID=B.GF_TRIBUT_ICMS AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_TRIBUT_ORIGEM) SELECT @sSet = @sSet + '',TRIBUT_ORIGEM=''+ ''''''''+ (SELECT A.GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM A,INSERTED B WHERE A.ID=B.GF_TRIBUT_ORIGEM AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_CLASSIF_FISCA) SELECT @sSet = @sSet + '',CLASSIF_FISCAL=''+ ''''''''+ (SELECT A.GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA A,INSERTED B WHERE A.ID=B.GF_CLASSIF_FISCA AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_FABRICANTE) SELECT @sSet = @sSet + '',FABRICANTE=''+ ''''''''+ (SELECT A.GF_FORNECEDOR FROM GF_FORNECEDORES A,INSERTED B WHERE A.ID=B.GF_FABRICANTE AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_SECTOR_PRODUC) SELECT @sSet = @sSet + '',SETOR_PRODUCAO=''+ ''''''''+ (SELECT A.GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO A,INSERTED B WHERE A.ID=B.GF_SECTOR_PRODUC AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_FASE_PRODUCC) SELECT @sSet = @sSet + '',FASE_PRODUCAO=''+ ''''''''+ (SELECT A.GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE A,INSERTED B WHERE A.ID=B.GF_FASE_PRODUCC AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_GRUPO) SELECT @sSet = @sSet + '',GRUPO=''+ ''''''''+ (SELECT A.GF_GRUPO FROM GF_MATERIAIS_GRU A,INSERTED B WHERE A.ID=B.GF_GRUPO AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_COLECCION) SELECT @sSet = @sSet + '',COLECAO=''+ ''''''''+ (SELECT A.GF_COLECAO FROM GF_COLECOES A,INSERTED B WHERE A.ID=B.GF_COLECCION AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_SUBGRUPO) SELECT @sSet = @sSet + '',SUBGRUPO=''+ ''''''''+ (SELECT A.GF_SUBGRUPO FROM GF_MATERIAIS_SUB A,INSERTED B WHERE A.ID=B.GF_SUBGRUPO AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_DESC_MATERIAL) BEGIN SELECT @s_Desc_Material = GF_DESC_MATERIAL FROM INSERTED WHERE ID=@n_ID_MATERIAL IF (@s_Valor_Medida != ''NULL'') SELECT @s_Desc_Material = @s_Desc_Material +'' (''+@s_Valor_Medida+'')'' SELECT @sSet = @sSet + '',DESC_MATERIAL=''+ ''''''''+ @s_Desc_Material + '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL END IF UPDATE(GF_FACTOR_CONVER) SELECT @sSet = @sSet + '',FATOR_CONVERSAO=''+ CONVERT(VARCHAR(10),COALESCE(GF_FACTOR_CONVER,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_UNID_STOCK) SELECT @sSet = @sSet + '',UNID_ESTOQUE=''+ ''''''''+ (SELECT A.GF_UNIDADE FROM GF_UNIDADES A,INSERTED B WHERE A.ID=B.GF_UNID_STOCK AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_DIAS_ENTREGA) SELECT @sSet = @sSet + '',DIAS_ENTREGA=''+ CONVERT(VARCHAR(5),COALESCE(GF_DIAS_ENTREGA,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_UNID_FICHA_TE) SELECT @sSet = @sSet + '',UNID_FICHA_TEC=''+ ''''''''+ (SELECT A.GF_UNIDADE FROM GF_UNIDADES A,INSERTED B WHERE A.ID=B.GF_UNID_FICHA_TE AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_CONDICIO_PAGO) SELECT @sSet = @sSet + '',CONDICAO_PGTO=''+ ''''''''+ (SELECT A.GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO A,INSERTED B WHERE A.ID=B.GF_CONDICIO_PAGO AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_UNID_AUXILIAR) SELECT @sSet = @sSet + '',UNID_AUXILIAR=''+ ''''''''+ (SELECT A.GF_UNIDADE FROM GF_UNIDADES A,INSERTED B WHERE A.ID=B.GF_UNID_AUXILIAR AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_CTRL_UNID_AUX) SELECT @sSet = @sSet + '',CTRL_UNID_AUX=''+(CASE WHEN GF_CTRL_UNID_AUX =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_REVENDA) SELECT @sSet = @sSet + '',REVENDA='' + ''''''''+CONVERT(VARCHAR(1),COALESCE(GF_REVENDA,0))+'''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_COMPRIMENTO) SELECT @sSet = @sSet + '',COMPRIMENTO='' + CONVERT(VARCHAR(10),COALESCE(GF_COMPRIMENTO,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL /* IF UPDATE(GF_CODIGO_MATERI) BEGIN UPDATE MATERIAIS SET COD_MATERIAL_TAMANHO=(SELECT GF_CODIGO_MATERI FROM INSERTED) WHERE MATERIAL=(SELECT GF_MATERIAL FROM DELETED) END IF UPDATE(GF_L) BEGIN UPDATE MATERIAIS SET LARGURA=(SELECT GF_L FROM INSERTED) WHERE MATERIAL=(SELECT GF_MATERIAL FROM DELETED) END */ IF UPDATE(GF_VARIA_MATERIA) SELECT @sSet = @sSet + '',VARIA_MATERIAL_TAMANHO=''+(CASE WHEN GF_VARIA_MATERIA =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_VARIA_CUSTO_C) SELECT @sSet = @sSet + '',VARIA_CUSTO_COR='' + CONVERT(VARCHAR(1),COALESCE(GF_VARIA_CUSTO_C,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL -- Actualizar costes(CUSTO_REPOSICAO,CUSTO_A_VISTA) de MATERIAIS_CORES si GF_VARIA_CUSTO_C=0 IF UPDATE(GF_VARIA_PRECO_C) SELECT @sSet = @sSet + '',VARIA_PRECO_COR='' +CONVERT(VARCHAR(1),COALESCE(GF_VARIA_PRECO_C,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_DATA_REPOSICA) SELECT @sSet = @sSet + '',DATA_REPOSICAO=''+ ''''''''+CONVERT(VARCHAR(50),COALESCE(GF_DATA_REPOSICA,0))+ '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_CUSTO_REPOSIC) SELECT @sSet = @sSet + '',CUSTO_REPOSICAO=''+CONVERT(VARCHAR(50),COALESCE(GF_CUSTO_REPOSIC,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_REF_FABRICANT) SELECT @sSet = @sSet + '',REF_FABRICANTE=''+ ''''''''+ GF_REF_FABRICANT + '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_ICMS_CUSTOS) SELECT @sSet = @sSet + '',ICMS_CUSTOS=''+CONVERT(VARCHAR(50),COALESCE(GF_ICMS_CUSTOS,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_CUSTO_A_VISTA) OR UPDATE(GF_CUSTO_REPOSIC) BEGIN UPDATE MATERIAIS SET CUSTO_A_VISTA = ( CASE WHEN CONVERT(INT,(SELECT GF_SEMI_ACABADO FROM INSERTED WHERE ID=@n_ID_MATERIAL))>=1 THEN 0 --ELSE (SELECT GF_CUSTO_REPOSIC FROM INSERTED WHERE ID=@n_ID_MATERIAL) END), ELSE ( SELECT GF_CUSTO_A_VISTA FROM INSERTED WHERE ID=@n_ID_MATERIAL) END ), CUSTO_REPOSICAO = ( CASE WHEN CONVERT(INT,(SELECT GF_SEMI_ACABADO FROM INSERTED WHERE ID=@n_ID_MATERIAL))>=1 THEN 0 ELSE ( SELECT GF_CUSTO_REPOSIC FROM INSERTED WHERE ID=@n_ID_MATERIAL) END ) --CUSTO_A_VISTA=(SELECT GF_CUSTO_REPOSIC FROM INSERTED) WHERE MATERIAL = ( SELECT GF_MATERIAL FROM DELETED WHERE ID=@n_ID_MATERIAL ) END IF UPDATE(GF_TAXA_JUROS_CO) SELECT @sSet = @sSet + '',TAXA_JUROS_CUSTO=''+CONVERT(VARCHAR(50),COALESCE(GF_TAXA_JUROS_CO,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_MATERIAL_INDI) SELECT @sSet = @sSet + '',MATERIAL_INDIRETO=''+(CASE WHEN GF_MATERIAL_INDI =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_RESERVA_MATER) SELECT @sSet = @sSet + '',RESERVA_MATERIAL_OP=''+(CASE WHEN GF_RESERVA_MATER =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_ABATER_RESERV) SELECT @sSet = @sSet + '',ABATER_RESERVA_QTDE=''+(CASE WHEN GF_ABATER_RESERV =1 THEN ''0'' ELSE ''1'' END) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_DESC_COMPOSIC) BEGIN SELECT @sSet = @sSet + '',COMPOSICAO=''+ ''''''''+ (SELECT A.GF_COMPOSICAO FROM GF_MATERIAIS_COM A,INSERTED B WHERE A.ID=B.GF_DESC_COMPOSIC AND B.ID=@n_ID_MATERIAL)+ '''''''' SELECT @sSet = @sSet + '',DESC_COMPOSICAO=''+ ''''''''+ (SELECT A.GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM A,INSERTED B WHERE A.ID=B.GF_DESC_COMPOSIC AND B.ID=@n_ID_MATERIAL)+ '''''''' END IF UPDATE(GF_DESC_NF) SELECT @sSet = @sSet + '',DESC_NF=''+ ''''''''+ GF_DESC_NF + '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_CODIGO_ETIQUE) SELECT @sSet = @sSet + '',CODIGO_ETIQUETA_GRIFFE=''+ ''''''''+ GF_CODIGO_ETIQUE+ '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_CONTA_CONTABI) SELECT @sSet = @sSet + '',CONTA_CONTABIL=''+ ''''''''+ (SELECT A.GF_CONTA_CONTABI FROM GF_CONTAS_PLANO A,INSERTED B WHERE A.ID=B.GF_CONTA_CONTABI AND B.ID=@n_ID_MATERIAL)+ '''''''' IF UPDATE(GF_INATIVO) SELECT @sSet = @sSet + '',INATIVO=''+CONVERT(VARCHAR(1),COALESCE(GF_INATIVO,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_SEMI_ACABADO) BEGIN UPDATE MATERIAIS SET SEMI_ACABADO=(SELECT GF_SEMI_ACABADO FROM INSERTED WHERE ID=@n_ID_MATERIAL) WHERE MATERIAL=(SELECT GF_MATERIAL FROM DELETED WHERE ID=@n_ID_MATERIAL) END /* IF UPDATE(DATA_PARA_TRANSFERENCIA) SELECT @sSet = @sSet + '',DATA_PARA_TRANSFERENCIA=''+ ''''''''+CONVERT(VARCHAR(50),COALESCE(DATA_PARA_TRANSFERENCIA,0))+ '''''''' FROM INSERTED */ IF UPDATE(GF_COMPRA_MININA) SELECT @sSet = @sSet + '',COMPRA_MINIMA=''+CONVERT(VARCHAR(50),COALESCE(GF_COMPRA_MININA,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_LOTE_ECONOMIC) SELECT @sSet = @sSet + '',LOTE_ECONOMICO_COMPRAS=''+CONVERT(VARCHAR(50),COALESCE(GF_LOTE_ECONOMIC,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_TEC_SIMPLES_T) SELECT @sSet = @sSet + '',TEC_SIMPLES_TUBULAR_ABERTO=''+CONVERT(VARCHAR(50),COALESCE(GF_TEC_SIMPLES_T,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_TEC_LISO_ESTA) SELECT @sSet = @sSet + '',TEC_LISO_ESTAMPA_LISTRA_XADREX=''+CONVERT(VARCHAR(50),COALESCE(GF_TEC_LISO_ESTA,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_TEC_TORNASOL) SELECT @sSet = @sSet + '',TEC_TORNASOL=''+CONVERT(VARCHAR(50),COALESCE(GF_TEC_TORNASOL,0)) FROM INSERTED WHERE ID=@n_ID_MATERIAL IF UPDATE(GF_RESTRICAO_LAV) SELECT @sSet = @sSet + '',RESTRICAO_LAVAGEM=''+ ''''''''+ (SELECT A.GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV A,INSERTED B WHERE A.ID=B.GF_RESTRICAO_LAV)+ '''''''' IF UPDATE(GF_REFERENCIA_BA) SELECT @sSet = @sSet + '',REFERENCIA_BASE=''+ ''''''''+ (SELECT A.GF_MATERIAL FROM ETEJI A,INSERTED B WHERE A.ID=B.GF_REFERENCIA_BA)+ '''''''' IF UPDATE(GF_OBS) SELECT @sSet = @sSet + '',OBS=''+ ''''''''+ GF_OBS + '''''''' FROM INSERTED WHERE ID=@n_ID_MATERIAL SELECT @sUpdate = @sUpdate + ''SET '' + @sSet + @sWhere -- PRINT @sUpdate EXEC (@sUpdate) END END SELECT @n_Cont_Tallas = @n_Cont_Tallas + 1 END IF (@n_TRANSFER_ANTIGUO>=50) UPDATE ETEJI_RAIZ SET TRANSFER=60 WHERE ID=@n_ID_MATERIAL FETCH NEXT FROM MATERIALES_ID INTO @n_ID_MATERIAL,@s_GF_MATERIAL,@n_TRANSFER_ACTUAL END CLOSE MATERIALES_ID DEALLOCATE MATERIALES_ID ---------------------------------------------------------------------------------------------- -- Ajuste del detalle Materiales Precios Color/Talla -- Codigo insertado por Alejandro Escribano DECLARE @n_IdDetalle INTEGER, @s_Def_Colour Varchar(10), @n_Def_Colour INTEGER SELECT @n_IdDetalle = IDDETALLE FROM SISDETALLES WHERE TBATRIB = ''ETEJI_PREC_C_T'' SELECT @s_Def_Colour = RTRIM(VALUE) FROM SISCLSCONFIG WHERE VARNAME = ''DEFAULT_COLOUR'' SELECT @n_Def_Colour = ID FROM GF_CORES_BASICAS WHERE GF_COR = @s_Def_Colour SELECT @n_VARIA_PRECIO_MEDIDA_ACTUAL = GF_VARIA_MATERIA, @s_VARIA_PRECIO_COLOR_ACTUAL = ISNULL(GF_VARIA_PRECO_C,''0'') FROM INSERTED SELECT @n_VARIA_PRECIO_MEDIDA_ANTERIOR = GF_VARIA_MATERIA, @s_VARIA_PRECIO_COLOR_ANTERIOR = ISNULL(GF_VARIA_PRECO_C,''0'') FROM DELETED IF (@n_VARIA_PRECIO_MEDIDA_ANTERIOR <> @n_VARIA_PRECIO_MEDIDA_ACTUAL) OR (@s_VARIA_PRECIO_COLOR_ANTERIOR <> @s_VARIA_PRECIO_COLOR_ACTUAL) BEGIN -- Si no hay variación de precio por color ni medida, se borran las filas del detalle Materiales Precios Color/Talla IF (@n_VARIA_PRECIO_MEDIDA_ACTUAL = 1) AND (@s_VARIA_PRECIO_COLOR_ACTUAL = ''0'') BEGIN DELETE FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL END -- Si hay variación de precio por color IF (@s_VARIA_PRECIO_COLOR_ACTUAL = ''1'') BEGIN -- Si no varía el precio por medida se ponen a 0 los valores de precio IF (@n_VARIA_PRECIO_MEDIDA_ACTUAL = 1) AND (@n_VARIA_PRECIO_MEDIDA_ANTERIOR = 2) BEGIN SELECT @s_Update_Medidas = ''UPDATE ETEJI_PREC_C_T SET '' DECLARE MEDIDAS_COLS CURSOR FOR SELECT NOMBRE FROM SISATRIBDETALLE WHERE IDDETALLE=540 AND NOMBRE LIKE ''GF_PREC_MEDIDA%'' ORDER BY ORDINAL OPEN MEDIDAS_COLS FETCH NEXT FROM MEDIDAS_COLS INTO @s_Medida_ColName WHILE @@FETCH_STATUS = 0 BEGIN IF (@s_Medida_ColName <> ''GF_PREC_MEDIDA1'') SELECT @s_Update_Medidas = @s_Update_Medidas + @s_Medida_ColName + ''=0,'' FETCH NEXT FROM MEDIDAS_COLS INTO @s_Medida_ColName END CLOSE MEDIDAS_COLS DEALLOCATE MEDIDAS_COLS SELECT @s_Update_Medidas = LEFT(@s_Update_Medidas,LEN(@s_Update_Medidas)-1) + '' WHERE ID_ETEJI_RAIZ ='' + CONVERT(VARCHAR,@n_ID_MATERIAL) EXEC (@s_Update_Medidas) END -- Si antes el precio no variaba por color, se copian los colores al detalle Materiales Precios Color/Talla IF (@s_VARIA_PRECIO_COLOR_ANTERIOR = ''0'') BEGIN DECLARE LISTA_COLORES CURSOR FOR SELECT GF_COR_MATERIAL,ORDENPM FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL AND NOT EXISTS(SELECT ETEJI_PREC_C_T.GF_COR_MATERIAL FROM ETEJI_PREC_C_T WHERE ETEJI_PREC_C_T.ID_ETEJI_RAIZ = ETEJI_COLOR.ID_ETEJI_RAIZ AND ETEJI_PREC_C_T.GF_COR_MATERIAL = ETEJI_COLOR.GF_COR_MATERIAL) OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_COR_MATERIAL,@n_ORDENPM WHILE @@FETCH_STATUS = 0 BEGIN EXEC GetNMaxValColSegunTbCnts ''ETEJI_PREC_C_T'',''ID'',@n_NextKey_ETEJI_PREC_C_T output,1,1 INSERT INTO ETEJI_PREC_C_T (ID,ID_ETEJI_RAIZ,GF_COR_MATERIAL,ORDENPM) VALUES(@n_NextKey_ETEJI_PREC_C_T, @n_ID_MATERIAL, @n_ID_COR_MATERIAL, @n_ORDENPM) FETCH NEXT FROM LISTA_COLORES INTO @n_ID_COR_MATERIAL,@n_ORDENPM END DELETE FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL AND GF_COR_MATERIAL NOT IN(SELECT GF_COR_MATERIAL FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL) CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END END -- Si sólo hay variación de precio por medida, se borran todas las filas del detalle Materiales Precios Color/Talla -- y se añade una que representa al color único ( DEFAULT_COLOR ) IF (@n_VARIA_PRECIO_MEDIDA_ACTUAL = 2) AND (@s_VARIA_PRECIO_COLOR_ACTUAL = ''0'') BEGIN DELETE FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL AND GF_COR_MATERIAL <> @n_Def_Colour IF NOT EXISTS (SELECT ID_ETEJI_RAIZ FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL AND GF_COR_MATERIAL = @n_Def_Colour ) -- si no tenemos el color 000 (2) BEGIN EXEC GetNMaxValColSegunTbCnts ''ETEJI_PREC_C_T'',''ID'',@n_NextKey_ETEJI_PREC_C_T output,1,1 INSERT INTO ETEJI_PREC_C_T (ID,ID_ETEJI_RAIZ,GF_COR_MATERIAL,ORDENPM) VALUES(@n_NextKey_ETEJI_PREC_C_T + 1, @n_ID_MATERIAL, @n_Def_Colour, 1) END ELSE UPDATE ETEJI_PREC_C_T SET ORDENPM = 1 WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL END END ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ETEJI_RAIZ].[PESO_ECOEMBES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ETEJI_RAIZ].[UVC_COMERC_INDUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ETEJI_RAIZ].[MATERIA_ECOEMBES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EVENTOS_CLIFOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EVENTOS_CLIFOR]( [DATA_EVENTO] [datetime] NOT NULL, [HORA_EVENTO] [numeric](7, 2) NOT NULL, [RESPONSAVEL] [varchar](30) NOT NULL, [NOME_CLIFOR] [varchar](25) NULL, [DEPARTAMENTO] [varchar](25) NULL, [CATEGORIA_EVENTO] [varchar](25) NULL, [TIPO_EVENTO] [varchar](25) NOT NULL, [CONTATO] [varchar](40) NULL, [ASSUNTO] [varchar](80) NULL, [PROXIMO_CONTATO] [datetime] NULL, [DATA_CONCLUSAO] [datetime] NULL, [ASSUNTO_EM_ABERTO] [bit] NOT NULL, [NIVEL_ACESSO_EVENTO] [int] NULL, [HORA_PROXIMO] [numeric](7, 2) NULL, [HORA_CONCLUSAO] [numeric](7, 2) NULL, [EVENTO_PUBLICO] [smallint] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBSERVACAO_EVENTO] [text] NULL, CONSTRAINT [XPKEVENTOS_CLIFOR] PRIMARY KEY NONCLUSTERED ( [DATA_EVENTO] ASC, [HORA_EVENTO] ASC, [RESPONSAVEL] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[EVENTOS_CLIFOR]') AND name = N'XIE1EVENTOS_CLIFOR') CREATE NONCLUSTERED INDEX [XIE1EVENTOS_CLIFOR] ON [EVENTOS_CLIFOR] ( [PROXIMO_CONTATO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[EVENTOS_CLIFOR]') AND name = N'XIE2EVENTOS_CLIFOR') CREATE NONCLUSTERED INDEX [XIE2EVENTOS_CLIFOR] ON [EVENTOS_CLIFOR] ( [TIPO_EVENTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[EVENTOS_CLIFOR]') AND name = N'XIE3EVENTOS_CLIFOR') CREATE NONCLUSTERED INDEX [XIE3EVENTOS_CLIFOR] ON [EVENTOS_CLIFOR] ( [DATA_EVENTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[EVENTOS_CLIFOR]') AND name = N'XIE4EVENTOS_CLIFOR') CREATE NONCLUSTERED INDEX [XIE4EVENTOS_CLIFOR] ON [EVENTOS_CLIFOR] ( [RESPONSAVEL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_EVENTOS_CLIFOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_EVENTOS_CLIFOR] on [EVENTOS_CLIFOR] for INSERT as /* INSERT trigger on EVENTOS_CLIFOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EVENTOS_CATEGORIAS R/1369 EVENTOS_CLIFOR ON CHILD INSERT RESTRICT */ if update(CATEGORIA_EVENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EVENTOS_CATEGORIAS where inserted.CATEGORIA_EVENTO = EVENTOS_CATEGORIAS.CATEGORIA_EVENTO select @nullcnt = count(*) from inserted where inserted.CATEGORIA_EVENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #EVENTOS_CLIFOR #porque #EVENTOS_CATEGORIAS #não existe.'' goto error end end /* EVENTOS_TIPOS R/1368 EVENTOS_CLIFOR ON CHILD INSERT RESTRICT */ if update(TIPO_EVENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EVENTOS_TIPOS where inserted.TIPO_EVENTO = EVENTOS_TIPOS.TIPO_EVENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #EVENTOS_CLIFOR #porque #EVENTOS_TIPOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1367 EVENTOS_CLIFOR ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #EVENTOS_CLIFOR #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE EVENTOS_CLIFOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM EVENTOS_CLIFOR, INSERTED WHERE EVENTOS_CLIFOR.DATA_EVENTO = INSERTED.DATA_EVENTO and EVENTOS_CLIFOR.HORA_EVENTO = INSERTED.HORA_EVENTO and EVENTOS_CLIFOR.RESPONSAVEL = INSERTED.RESPONSAVEL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EVENTOS_CLIFOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_EVENTOS_CLIFOR] on [EVENTOS_CLIFOR] for UPDATE as /* UPDATE trigger on EVENTOS_CLIFOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDATA_EVENTO datetime, @insHORA_EVENTO numeric(7,2), @insRESPONSAVEL varchar(30), @delDATA_EVENTO datetime, @delHORA_EVENTO numeric(7,2), @delRESPONSAVEL varchar(30), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EVENTOS_CATEGORIAS R/1369 EVENTOS_CLIFOR ON CHILD UPDATE RESTRICT */ if update(CATEGORIA_EVENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EVENTOS_CATEGORIAS where inserted.CATEGORIA_EVENTO = EVENTOS_CATEGORIAS.CATEGORIA_EVENTO select @nullcnt = count(*) from inserted where inserted.CATEGORIA_EVENTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #EVENTOS_CLIFOR #porque #EVENTOS_CATEGORIAS #não existe.'' goto error end end /* EVENTOS_TIPOS R/1368 EVENTOS_CLIFOR ON CHILD UPDATE RESTRICT */ if update(TIPO_EVENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EVENTOS_TIPOS where inserted.TIPO_EVENTO = EVENTOS_TIPOS.TIPO_EVENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #EVENTOS_CLIFOR #porque #EVENTOS_TIPOS #não existe.'' goto error end end /* CADASTRO_CLI_FOR R/1367 EVENTOS_CLIFOR ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.NOME_CLIFOR = CADASTRO_CLI_FOR.NOME_CLIFOR select @nullcnt = count(*) from inserted where inserted.NOME_CLIFOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #EVENTOS_CLIFOR #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE EVENTOS_CLIFOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM EVENTOS_CLIFOR, INSERTED WHERE EVENTOS_CLIFOR.DATA_EVENTO = INSERTED.DATA_EVENTO and EVENTOS_CLIFOR.HORA_EVENTO = INSERTED.HORA_EVENTO and EVENTOS_CLIFOR.RESPONSAVEL = INSERTED.RESPONSAVEL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR EVENTOS_CLIFOR.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EVENTOS_CLIFOR].[HORA_EVENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EVENTOS_CLIFOR].[ASSUNTO_EM_ABERTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EVENTOS_CLIFOR].[NIVEL_ACESSO_EVENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EVENTOS_CLIFOR].[HORA_PROXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EVENTOS_CLIFOR].[HORA_CONCLUSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[EVENTOS_CLIFOR].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_TIPO]( [TIPO_ORDEM_PRODUCAO] [varchar](25) NOT NULL, [ENCOMENDA] [bit] NOT NULL, CONSTRAINT [XPKPRODUCAO_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_ORDEM_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_TIPO] on [PRODUCAO_TIPO] for DELETE as /* DELETE trigger on PRODUCAO_TIPO */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_TIPO TIPO_PRODUCAO PRODUCAO_ORDEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_ORDEM where PRODUCAO_ORDEM.TIPO_ORDEM_PRODUCAO = deleted.TIPO_ORDEM_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_TIPO #porque existem registros em #PRODUCAO_ORDEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_TIPO] on [PRODUCAO_TIPO] for UPDATE as /* UPDATE trigger on PRODUCAO_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ORDEM_PRODUCAO varchar(25), @delTIPO_ORDEM_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_TIPO TIPO_PRODUCAO PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(TIPO_ORDEM_PRODUCAO) BEGIN DECLARE PRODUCAO_TIPO1330 CURSOR FOR SELECT TIPO_ORDEM_PRODUCAO FROM INSERTED DECLARE PRODUCAO_TIPO801 CURSOR FOR SELECT TIPO_ORDEM_PRODUCAO FROM DELETED OPEN PRODUCAO_TIPO1330 OPEN PRODUCAO_TIPO801 FETCH NEXT FROM PRODUCAO_TIPO1330 INTO @insTIPO_ORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_TIPO801 INTO @delTIPO_ORDEM_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.TIPO_ORDEM_PRODUCAO=@insTIPO_ORDEM_PRODUCAO WHERE PRODUCAO_ORDEM.TIPO_ORDEM_PRODUCAO = @delTIPO_ORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_TIPO1330 INTO @insTIPO_ORDEM_PRODUCAO FETCH NEXT FROM PRODUCAO_TIPO801 INTO @delTIPO_ORDEM_PRODUCAO END END CLOSE PRODUCAO_TIPO1330 CLOSE PRODUCAO_TIPO801 DEALLOCATE PRODUCAO_TIPO1330 DEALLOCATE PRODUCAO_TIPO801 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_TIPO].[ENCOMENDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_PROCESSO_LOG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LX_PROCESSO_LOG]( [SEQUENCIA] [int] IDENTITY(1,1) NOT NULL, [PROCESSO] [varchar](50) NOT NULL, [COMANDO] [varchar](1000) NOT NULL, [ORIGEM] [varchar](40) NULL, [STATUS] [tinyint] NOT NULL, [DATA_LOG] [datetime] NOT NULL, [LOG_PROCESSO] [varchar](500) NULL, [DATA_PROCESSADO] [datetime] NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LX_PROCESSO_LOG].[STATUS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LX_PROCESSO_LOG].[DATA_LOG]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_PRO_DEVOL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_PRO_DEVOL]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [PRODUTO] [char](12) NOT NULL, [ITEM] [char](3) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [IPI] [real] NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [QTDE] [int] NULL, [PRECO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [F1] [int] NULL, [F2] [int] NULL, [F3] [int] NULL, [F4] [int] NULL, [F5] [int] NULL, [F6] [int] NULL, [F7] [int] NULL, [F8] [int] NULL, [F9] [int] NULL, [F10] [int] NULL, [F11] [int] NULL, [F12] [int] NULL, [F13] [int] NULL, [F14] [int] NULL, [F15] [int] NULL, [F16] [int] NULL, [F17] [int] NULL, [F18] [int] NULL, [F19] [int] NULL, [F20] [int] NULL, [F21] [int] NULL, [F22] [int] NULL, [F23] [int] NULL, [F24] [int] NULL, [F25] [int] NULL, [F26] [int] NULL, [F27] [int] NULL, [F28] [int] NULL, [F29] [int] NULL, [F30] [int] NULL, [F31] [int] NULL, [F32] [int] NULL, [F33] [int] NULL, [F34] [int] NULL, [F35] [int] NULL, [F36] [int] NULL, [F37] [int] NULL, [F38] [int] NULL, [F39] [int] NULL, [F40] [int] NULL, [F41] [int] NULL, [F42] [int] NULL, [F43] [int] NULL, [F44] [int] NULL, [F45] [int] NULL, [F46] [int] NULL, [F47] [int] NULL, [F48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [ITEM_IMPRESSAO] [char](4) NULL, [ITEM_IMPRESSAO_FATURA] [char](4) NULL, [COMISSAO_LINEA] [real] NULL, CONSTRAINT [XPKENTRADAS_PRO_DEVOL] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [FILIAL] ASC, [NF_SAIDA] ASC, [PRODUTO] ASC, [ITEM] ASC, [COR_PRODUTO] ASC, [SERIE_NF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_PRO_DEVOL]') AND name = N'XIE1ENTRADAS_PRO_DEVOL') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS_PRO_DEVOL] ON [ENTRADAS_PRO_DEVOL] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_PRO_DEVOL]') AND name = N'XIE2ENTRADAS_PRO_DEVOL') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS_PRO_DEVOL] ON [ENTRADAS_PRO_DEVOL] ( [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS_PRO_DEVOL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ENTRADAS_PRO_DEVOL] on [ENTRADAS_PRO_DEVOL] for DELETE as /* DELETE trigger on ENTRADAS_PRO_DEVOL */ /* default body for LXD_ENTRADAS_PRO_DEVOL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insFILIAL varchar(25), @insNF_SAIDA char(7), @insPRODUTO char(12), @insITEM char(3), @insCOR_PRODUTO char(10), @insSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ENTRADAS_PRO_DEVOL CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRO_DEVOL DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRO_DEVOL DEALLOCATE cur_ENTRADAS_PRO_DEVOL /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_PRO_DEVOL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_PRO_DEVOL] on [ENTRADAS_PRO_DEVOL] for INSERT as /* INSERT trigger on ENTRADAS_PRO_DEVOL */ /* default body for LXI_ENTRADAS_PRO_DEVOL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insFILIAL varchar(25), @insNF_SAIDA char(7), @insPRODUTO char(12), @insITEM char(3), @insCOR_PRODUTO char(10), @insSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO_PROD FATURAMENTO_PROD ENTRADAS_PRO_DEVOL ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) or update(PRODUTO) or update(COR_PRODUTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_PROD where inserted.FILIAL = FATURAMENTO_PROD.FILIAL and inserted.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO_PROD.SERIE_NF and inserted.PRODUTO = FATURAMENTO_PROD.PRODUTO and inserted.COR_PRODUTO = FATURAMENTO_PROD.COR_PRODUTO and inserted.ITEM = FATURAMENTO_PROD.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRO_DEVOL #porque #FATURAMENTO_PROD #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_PRO_DEVOL ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRO_DEVOL #porque #ENTRADAS #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_ENTRADAS_PRO_DEVOL CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRO_DEVOL DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRO_DEVOL DEALLOCATE cur_ENTRADAS_PRO_DEVOL END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_PRO_DEVOL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADAS_PRO_DEVOL] on [ENTRADAS_PRO_DEVOL] for UPDATE as /* UPDATE trigger on ENTRADAS_PRO_DEVOL */ /* default body for LXU_ENTRADAS_PRO_DEVOL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insFILIAL varchar(25), @insNF_SAIDA char(7), @insPRODUTO char(12), @insITEM char(3), @insCOR_PRODUTO char(10), @insSERIE_NF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=DELETED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=INSERTED.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* FATURAMENTO_PROD FATURAMENTO_PROD ENTRADAS_PRO_DEVOL ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) or update(PRODUTO) or update(COR_PRODUTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_PROD where inserted.FILIAL = FATURAMENTO_PROD.FILIAL and inserted.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO_PROD.SERIE_NF and inserted.PRODUTO = FATURAMENTO_PROD.PRODUTO and inserted.COR_PRODUTO = FATURAMENTO_PROD.COR_PRODUTO and inserted.ITEM = FATURAMENTO_PROD.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRO_DEVOL #porque #FATURAMENTO_PROD #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_PRO_DEVOL ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRO_DEVOL #porque #ENTRADAS #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_ENTRADAS_PRO_DEVOL CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRO_DEVOL DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRO_DEVOL INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRO_DEVOL DEALLOCATE cur_ENTRADAS_PRO_DEVOL END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[F48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRO_DEVOL].[COMISSAO_LINEA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE_CONSUMO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE_CONSUMO]( [REFERENCIA_BASE] [char](11) NOT NULL, [MATERIAL] [char](11) NOT NULL, [CONSUMO] [numeric](9, 3) NULL, [PERDA] [numeric](9, 3) NULL, [DESC_USO] [varchar](40) NULL, [INDICE_ALIMENTACAO] [numeric](10, 3) NULL, CONSTRAINT [XPKMATERIAIS_BASE_CONSUMO] PRIMARY KEY NONCLUSTERED ( [REFERENCIA_BASE] ASC, [MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_BASE_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_BASE_CONSUMO] on [MATERIAIS_BASE_CONSUMO] for INSERT as /* INSERT trigger on MATERIAIS_BASE_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS R/1935 MATERIAIS_BASE_CONSUMO ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_CONSUMO #porque #MATERIAIS #não existe.'' goto error end end /* MATERIAIS_BASE R/1934 MATERIAIS_BASE_CONSUMO ON CHILD INSERT RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_CONSUMO #porque #MATERIAIS_BASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_BASE_CONSUMO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_BASE_CONSUMO] on [MATERIAIS_BASE_CONSUMO] for UPDATE as /* UPDATE trigger on MATERIAIS_BASE_CONSUMO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREFERENCIA_BASE char(11), @insMATERIAL char(11), @delREFERENCIA_BASE char(11), @delMATERIAL char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS R/1935 MATERIAIS_BASE_CONSUMO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_CONSUMO #porque #MATERIAIS #não existe.'' goto error end end /* MATERIAIS_BASE R/1934 MATERIAIS_BASE_CONSUMO ON CHILD UPDATE RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_CONSUMO #porque #MATERIAIS_BASE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_CONSUMO].[CONSUMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_CONSUMO].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_CONSUMO].[INDICE_ALIMENTACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERS_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERS_TRANSACOES]( [USUARIO] [varchar](25) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [ACESSO_BLOQUEADO] [bit] NOT NULL, [INCLUIR] [bit] NOT NULL, [ALTERAR] [bit] NOT NULL, [EXCLUIR] [bit] NOT NULL, [PESQUISAR] [bit] NOT NULL, [PESQUISA_ESPECIAL] [bit] NOT NULL, [IMPRIMIR] [bit] NOT NULL, [CRIAR_RELATORIO] [bit] NOT NULL, [ITEM_EXCLUIR] [bit] NOT NULL, [ITEM_INCLUIR] [bit] NOT NULL, CONSTRAINT [XPKUSERS_TRANSACOES] PRIMARY KEY NONCLUSTERED ( [USUARIO] ASC, [COD_TRANSACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[USERS_TRANSACOES]') AND name = N'XIE1USERS_TRANSACOES') CREATE NONCLUSTERED INDEX [XIE1USERS_TRANSACOES] ON [USERS_TRANSACOES] ( [COD_TRANSACAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_USERS_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_USERS_TRANSACOES] on [USERS_TRANSACOES] for INSERT as /* INSERT trigger on USERS_TRANSACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS USERS USERS_TRANSACOES ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_TRANSACOES #porque #USERS #não existe.'' goto error end end /* TRANSACOES TRANSACOES USERS_TRANSACOES ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_TRANSACOES #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_USERS_TRANSACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_USERS_TRANSACOES] on [USERS_TRANSACOES] for UPDATE as /* UPDATE trigger on USERS_TRANSACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @insCOD_TRANSACAO char(23), @delUSUARIO varchar(25), @delCOD_TRANSACAO char(23), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS USERS USERS_TRANSACOES ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_TRANSACOES #porque #USERS #não existe.'' goto error end end /* TRANSACOES TRANSACOES USERS_TRANSACOES ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_TRANSACOES #porque #TRANSACOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[ACESSO_BLOQUEADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[INCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[ALTERAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[EXCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[PESQUISAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[PESQUISA_ESPECIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[IMPRIMIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[CRIAR_RELATORIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[ITEM_EXCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_TRANSACOES].[ITEM_INCLUIR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_FICHA_TECNICA]( [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [MATERIAL_UTILIZADO] [char](11) NOT NULL, [COR_MATERIAL_UTILIZADA] [char](10) NOT NULL, [CONSUMO] [numeric](9, 3) NULL, [PERDA] [numeric](9, 3) NULL, [DESC_USO] [varchar](40) NULL, [INDICE_ALIMENTACAO] [numeric](10, 3) NULL, CONSTRAINT [XPKMATERIAIS_FICHA_TECNICA] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [COR_MATERIAL] ASC, [MATERIAL_UTILIZADO] ASC, [COR_MATERIAL_UTILIZADA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MATERIAIS_FICHA_TECNICA]') AND name = N'XIE1MATERIAIS_FICHA_TECNICA') CREATE NONCLUSTERED INDEX [XIE1MATERIAIS_FICHA_TECNICA] ON [MATERIAIS_FICHA_TECNICA] ( [MATERIAL_UTILIZADO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_FICHA_TECNICA] on [MATERIAIS_FICHA_TECNICA] for INSERT as /* INSERT trigger on MATERIAIS_FICHA_TECNICA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1649 MATERIAIS_FICHA_TECNICA ON CHILD INSERT RESTRICT */ if update(MATERIAL_UTILIZADO) or update(COR_MATERIAL_UTILIZADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_UTILIZADO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_UTILIZADA = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FICHA_TECNICA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1648 MATERIAIS_FICHA_TECNICA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_FICHA_TECNICA #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_FICHA_TECNICA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_FICHA_TECNICA] on [MATERIAIS_FICHA_TECNICA] for UPDATE as /* UPDATE trigger on MATERIAIS_FICHA_TECNICA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insMATERIAL_UTILIZADO char(11), @insCOR_MATERIAL_UTILIZADA char(10), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delMATERIAL_UTILIZADO char(11), @delCOR_MATERIAL_UTILIZADA char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1649 MATERIAIS_FICHA_TECNICA ON CHILD UPDATE RESTRICT */ if update(MATERIAL_UTILIZADO) or update(COR_MATERIAL_UTILIZADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL_UTILIZADO = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL_UTILIZADA = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FICHA_TECNICA #porque #MATERIAIS_CORES #não existe.'' goto error end end /* MATERIAIS_CORES R/1648 MATERIAIS_FICHA_TECNICA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_FICHA_TECNICA #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_FICHA_TECNICA].[CONSUMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_FICHA_TECNICA].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_FICHA_TECNICA].[INDICE_ALIMENTACAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRECO_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRECO_TIPOS]( [PRECO_TIPO] [varchar](25) NOT NULL, [ARREDONDAMENTO] [int] NULL, CONSTRAINT [XPKPRECO_TIPOS] PRIMARY KEY NONCLUSTERED ( [PRECO_TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRECO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRECO_TIPOS] on [PRECO_TIPOS] for DELETE as /* DELETE trigger on PRECO_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* PRECO_TIPOS PRECO_TIPOS PRECO_FATORES ON PARENT DELETE CASCADE */ delete PRECO_FATORES from PRECO_FATORES,deleted where PRECO_FATORES.PRECO_TIPO = deleted.PRECO_TIPO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRECO_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRECO_TIPOS] on [PRECO_TIPOS] for UPDATE as /* UPDATE trigger on PRECO_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPRECO_TIPO varchar(25), @delPRECO_TIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRECO_TIPOS PRECO_TIPOS PRECO_FATORES ON PARENT UPDATE CASCADE */ IF update(PRECO_TIPO) BEGIN DECLARE PRECO_TIPOS838 CURSOR FOR SELECT PRECO_TIPO FROM INSERTED DECLARE PRECO_TIPOS568 CURSOR FOR SELECT PRECO_TIPO FROM DELETED OPEN PRECO_TIPOS838 OPEN PRECO_TIPOS568 FETCH NEXT FROM PRECO_TIPOS838 INTO @insPRECO_TIPO FETCH NEXT FROM PRECO_TIPOS568 INTO @delPRECO_TIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRECO_FATORES SET PRECO_FATORES.PRECO_TIPO=@insPRECO_TIPO WHERE PRECO_FATORES.PRECO_TIPO = @delPRECO_TIPO FETCH NEXT FROM PRECO_TIPOS838 INTO @insPRECO_TIPO FETCH NEXT FROM PRECO_TIPOS568 INTO @delPRECO_TIPO END END CLOSE PRECO_TIPOS838 CLOSE PRECO_TIPOS568 DEALLOCATE PRECO_TIPOS838 DEALLOCATE PRECO_TIPOS568 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRECO_TIPOS].[ARREDONDAMENTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_FABRICACAO_PROCESSO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_FABRICACAO_PROCESSO]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [TRATAMENTO] [char](5) NOT NULL, [MAQUINA] [varchar](8) NULL, [CUSTO_SERVICO_PREVISTO] [numeric](15, 5) NULL, [CUSTO_MATERIAL_TERCEIRO_PREVISTO] [numeric](15, 5) NULL, [SEQUENCIA_PRODUTIVA] [smallint] NULL, [CONCLUIDO] [bit] NOT NULL, CONSTRAINT [XPKM_ORDEM_FABRICACAO_PROCESSO] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC, [TRATAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_FABRICACAO_PROCESS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_FABRICACAO_PROCESS] on [M_ORDEM_FABRICACAO_PROCESSO] for INSERT as /* INSERT trigger on M_ORDEM_FABRICACAO_PROCESSO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TRATAMENTO R/2120 M_ORDEM_FABRICACAO_PROCESSO ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_PROCESSO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end /* MATERIAIS_MAQUINA R/2119 M_ORDEM_FABRICACAO_PROCESSO ON CHILD INSERT RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_MAQUINA where inserted.MAQUINA = MATERIAIS_MAQUINA.MAQUINA select @nullcnt = count(*) from inserted where inserted.MAQUINA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_PROCESSO #porque #MATERIAIS_MAQUINA #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/2118 M_ORDEM_FABRICACAO_PROCESSO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_FABRICACAO_PROCESSO #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_FABRICACAO_PROCESS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_FABRICACAO_PROCESS] on [M_ORDEM_FABRICACAO_PROCESSO] for UPDATE as /* UPDATE trigger on M_ORDEM_FABRICACAO_PROCESSO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insTRATAMENTO char(5), @delORDEM_PRODUCAO char(8), @delTRATAMENTO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_TRATAMENTO R/2120 M_ORDEM_FABRICACAO_PROCESSO ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_PROCESSO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end /* MATERIAIS_MAQUINA R/2119 M_ORDEM_FABRICACAO_PROCESSO ON CHILD UPDATE RESTRICT */ if update(MAQUINA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_MAQUINA where inserted.MAQUINA = MATERIAIS_MAQUINA.MAQUINA select @nullcnt = count(*) from inserted where inserted.MAQUINA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_PROCESSO #porque #MATERIAIS_MAQUINA #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/2118 M_ORDEM_FABRICACAO_PROCESSO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_FABRICACAO_PROCESSO #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_FABRICACAO_PROCESSO].[CONCLUIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODULOS_MENU]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODULOS_MENU]( [MODULO] [char](6) NOT NULL, [NAVEGACAO] [char](8) NOT NULL, [TITULO] [varchar](60) NOT NULL, [SUGESTAO_LINX] [bit] NOT NULL, [HABILITADO] [bit] NOT NULL, CONSTRAINT [XPKMODULOS_MENU] PRIMARY KEY NONCLUSTERED ( [MODULO] ASC, [NAVEGACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MODULOS_MENU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MODULOS_MENU] on [MODULOS_MENU] for INSERT as /* INSERT trigger on MODULOS_MENU */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS R/1826 MODULOS_MENU ON CHILD INSERT RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MODULOS_MENU #porque #MODULOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MODULOS_MENU]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MODULOS_MENU] on [MODULOS_MENU] for UPDATE as /* UPDATE trigger on MODULOS_MENU */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODULO char(6), @insNAVEGACAO char(8), @delMODULO char(6), @delNAVEGACAO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS R/1826 MODULOS_MENU ON CHILD UPDATE RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MODULOS_MENU #porque #MODULOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MODULOS_MENU].[SUGESTAO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MODULOS_MENU].[HABILITADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_SAI_PECA]( [REQ_MATERIAL] [char](8) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM] [char](3) NOT NULL, [QTDE] [numeric](9, 3) NULL, [QTDE_AUX] [numeric](9, 3) NULL, [PERDA] [numeric](9, 3) NULL, [PERDA_REQ_MATERIAL] [varchar](8) NULL, [FRACIONAMENTO] [smallint] NOT NULL, [DI] [varchar](20) NULL, [NCM] [varchar](20) NULL, CONSTRAINT [XPKESTOQUE_SAI_PECA] PRIMARY KEY NONCLUSTERED ( [REQ_MATERIAL] ASC, [FILIAL] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC, [ITEM] ASC, [PECA] ASC, [PARTIDA] ASC, [FRACIONAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_PECA]') AND name = N'XIE1ESTOQUE_SAI_PECA') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_SAI_PECA] ON [ESTOQUE_SAI_PECA] ( [FILIAL] ASC, [MATERIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_PECA]') AND name = N'XIE2ESTOQUE_SAI_PECA') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_SAI_PECA] ON [ESTOQUE_SAI_PECA] ( [PECA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_SAI_PECA]') AND name = N'XIE3ESTOQUE_SAI_PECA') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_SAI_PECA] ON [ESTOQUE_SAI_PECA] ( [QTDE] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_SAI_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_SAI_PECA] on [ESTOQUE_SAI_PECA] for DELETE as /* DELETE trigger on ESTOQUE_SAI_PECA */ /* default body for LXD_ESTOQUE_SAI_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insITEM char(3), @insPECA char(6), @insPARTIDA char(6), @insFRACIONAMENTO smallint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ DELETE E FROM (DELETED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_SAI1_MAT H ON H.REQ_MATERIAL=A.REQ_MATERIAL AND H.FILIAL=A.FILIAL AND H.MATERIAL=A.MATERIAL AND H.COR_MATERIAL=A.COR_MATERIAL AND H.ITEM=A.ITEM JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM LEFT JOIN ESTOQUE_RET_PECA E ON E.MATERIAL=D.MATERIAL AND E.REQ_MATERIAL=D.REQ_MATERIAL AND E.FILIAL=D.FILIAL AND E.PECA=A.PECA AND E.ITEM=D.ITEM AND E.PARTIDA=A.PARTIDA AND E.COR_MATERIAL=D.COR_MATERIAL WHERE E.FILIAL IS NOT NULL AND H.ORDEM_PRODUCAO IS NULL /*--------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_ESTOQUE_SAI_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_SAI_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI_PECA DEALLOCATE cur_ESTOQUE_SAI_PECA /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_SAI_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_SAI_PECA] on [ESTOQUE_SAI_PECA] for INSERT as /* INSERT trigger on ESTOQUE_SAI_PECA */ /* default body for LXI_ESTOQUE_SAI_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insITEM char(3), @insPECA char(6), @insPARTIDA char(6), @insFRACIONAMENTO smallint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_SAI1_MAT ESTOQUE_SAI1_MAT ESTOQUE_SAI_PECA ON CHILD INSERT RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) or update(MATERIAL) or update(ITEM) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI1_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI1_MAT.FILIAL and inserted.MATERIAL = ESTOQUE_SAI1_MAT.MATERIAL and inserted.ITEM = ESTOQUE_SAI1_MAT.ITEM and inserted.COR_MATERIAL = ESTOQUE_SAI1_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_SAI_PECA #porque #ESTOQUE_SAI1_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) BEGIN DECLARE cur_ESTOQUE_SAI_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_SAI_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI_PECA DEALLOCATE cur_ESTOQUE_SAI_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ INSERT INTO ESTOQUE_RET_PECA (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,PECA,PARTIDA,QTDE,QTDE_AUX,PERDA,PERDA_REQ_MATERIAL) SELECT D.REQ_MATERIAL,D.FILIAL,D.MATERIAL,D.COR_MATERIAL,D.ITEM,A.PECA,A.PARTIDA,A.QTDE,A.QTDE_AUX,A.PERDA,A.PERDA_REQ_MATERIAL FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_SAI1_MAT H ON H.REQ_MATERIAL=A.REQ_MATERIAL AND H.FILIAL=A.FILIAL AND H.MATERIAL=A.MATERIAL AND H.COR_MATERIAL=A.COR_MATERIAL AND H.ITEM=A.ITEM JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM JOIN FILIAIS E ON E.FILIAL=B.FILIAL_DESTINO JOIN MATERIAIS F ON F.MATERIAL=D.MATERIAL LEFT JOIN ESTOQUE_RET_PECA G ON G.MATERIAL=D.MATERIAL AND G.REQ_MATERIAL=D.REQ_MATERIAL AND G.FILIAL=D.FILIAL AND G.PECA=A.PECA AND G.ITEM=D.ITEM AND G.PARTIDA=A.PARTIDA AND G.COR_MATERIAL=D.COR_MATERIAL WHERE G.FILIAL IS NULL AND (F.CTRL_PECAS=1 OR F.CTRL_PARTIDAS=1) AND E.ESTOQUE_CTRL_PECA = 1 AND H.ORDEM_PRODUCAO IS NULL /*--------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_SAI_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00006] */ create trigger [LXU_ESTOQUE_SAI_PECA] on [ESTOQUE_SAI_PECA] for UPDATE as /*25/04/2002*/ /* UPDATE trigger on ESTOQUE_SAI_PECA */ /* default body for LXU_ESTOQUE_SAI_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREQ_MATERIAL char(8), @insFILIAL varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @insITEM char(3), @insPECA char(6), @insPARTIDA char(6), @insFRACIONAMENTO smallint, @delREQ_MATERIAL char(8), @delFILIAL varchar(25), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @delITEM char(3), @delPECA char(6), @delPARTIDA char(6), @delFRACIONAMENTO smallint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_SAI1_MAT ESTOQUE_SAI1_MAT ESTOQUE_SAI_PECA ON CHILD UPDATE RESTRICT */ if update(REQ_MATERIAL) or update(FILIAL) or update(MATERIAL) or update(ITEM) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_SAI1_MAT where inserted.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL and inserted.FILIAL = ESTOQUE_SAI1_MAT.FILIAL and inserted.MATERIAL = ESTOQUE_SAI1_MAT.MATERIAL and inserted.ITEM = ESTOQUE_SAI1_MAT.ITEM and inserted.COR_MATERIAL = ESTOQUE_SAI1_MAT.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_SAI_PECA #porque #ESTOQUE_SAI1_MAT #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(QTDE) OR UPDATE(QTDE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(PERDA) BEGIN DECLARE cur_ESTOQUE_SAI_PECA CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0)), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)) FROM Inserted GROUP BY Material, Cor_Material, Filial,Peca,Partida UNION SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(QTDE),0)+ISNULL(SUM(PERDA),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(QTDE_AUX),0)*-1) FROM Deleted GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_SAI_PECA DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) - @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) - @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_SAIDA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde*-1,@nQtde_Aux*-1, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_SAIDA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_SAI_PECA INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_SAI_PECA DEALLOCATE cur_ESTOQUE_SAI_PECA END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Gera Lancamento em Estoque_Ret_Mat ------------------------------------------------------------------------*/ IF UPDATE(REQ_MATERIAL) OR UPDATE(FILIAL) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) OR UPDATE(ITEM) OR UPDATE(PECA) OR UPDATE(PARTIDA) BEGIN DELETE E FROM (DELETED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_SAI1_MAT H ON H.REQ_MATERIAL=A.REQ_MATERIAL AND H.FILIAL=A.FILIAL AND H.MATERIAL=A.MATERIAL AND H.COR_MATERIAL=A.COR_MATERIAL AND H.ITEM=A.ITEM JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM LEFT JOIN ESTOQUE_RET_PECA E ON E.MATERIAL=D.MATERIAL AND E.REQ_MATERIAL=D.REQ_MATERIAL AND E.FILIAL=D.FILIAL AND E.PECA=A.PECA AND E.ITEM=D.ITEM AND E.PARTIDA=A.PARTIDA AND E.COR_MATERIAL=D.COR_MATERIAL WHERE E.FILIAL IS NOT NULL AND H.ORDEM_PRODUCAO IS NULL END INSERT INTO ESTOQUE_RET_PECA (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,PECA,PARTIDA,QTDE,QTDE_AUX,PERDA,PERDA_REQ_MATERIAL) SELECT D.REQ_MATERIAL,D.FILIAL,D.MATERIAL,D.COR_MATERIAL,D.ITEM,A.PECA,A.PARTIDA,A.QTDE,A.QTDE_AUX,A.PERDA,A.PERDA_REQ_MATERIAL FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_SAI1_MAT H ON H.REQ_MATERIAL=A.REQ_MATERIAL AND H.FILIAL=A.FILIAL AND H.MATERIAL=A.MATERIAL AND H.COR_MATERIAL=A.COR_MATERIAL AND H.ITEM=A.ITEM JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM JOIN FILIAIS E ON E.FILIAL=B.FILIAL_DESTINO JOIN MATERIAIS F ON F.MATERIAL=D.MATERIAL LEFT JOIN ESTOQUE_RET_PECA G ON G.MATERIAL=D.MATERIAL AND G.REQ_MATERIAL=D.REQ_MATERIAL AND G.FILIAL=D.FILIAL AND G.PECA=A.PECA AND G.ITEM=D.ITEM AND G.PARTIDA=A.PARTIDA AND G.COR_MATERIAL=D.COR_MATERIAL WHERE G.FILIAL IS NULL AND (F.CTRL_PECAS=1 OR F.CTRL_PARTIDAS=1) AND E.ESTOQUE_CTRL_PECA = 1 AND H.ORDEM_PRODUCAO IS NULL UPDATE G SET QTDE=A.QTDE, QTDE_AUX=A.QTDE_AUX, PERDA=A.PERDA, PERDA_REQ_MATERIAL=A.PERDA_REQ_MATERIAL FROM (INSERTED A JOIN ESTOQUE_SAI_MAT B ON B.REQ_MATERIAL=A.REQ_MATERIAL AND B.FILIAL=A.FILIAL JOIN ESTOQUE_SAI1_MAT H ON H.REQ_MATERIAL=A.REQ_MATERIAL AND H.FILIAL=A.FILIAL AND H.MATERIAL=A.MATERIAL AND H.COR_MATERIAL=A.COR_MATERIAL AND H.ITEM=A.ITEM JOIN ESTOQUE_RET_MAT C ON C.REQ_MATERIAL=B.REQ_MATERIAL_DESTINO AND C.FILIAL=B.FILIAL_DESTINO) JOIN ESTOQUE_RET1_MAT D ON D.REQ_MATERIAL=C.REQ_MATERIAL AND D.FILIAL=C.FILIAL AND D.MATERIAL=A.MATERIAL AND D.COR_MATERIAL=A.COR_MATERIAL AND D.ITEM=A.ITEM JOIN FILIAIS E ON E.FILIAL=B.FILIAL_DESTINO JOIN MATERIAIS F ON F.MATERIAL=D.MATERIAL LEFT JOIN ESTOQUE_RET_PECA G ON G.MATERIAL=D.MATERIAL AND G.REQ_MATERIAL=D.REQ_MATERIAL AND G.FILIAL=D.FILIAL AND G.PECA=A.PECA AND G.ITEM=D.ITEM AND G.PARTIDA=A.PARTIDA AND G.COR_MATERIAL=D.COR_MATERIAL WHERE G.FILIAL IS NOT NULL AND (F.CTRL_PECAS=1 OR F.CTRL_PARTIDAS=1) AND E.ESTOQUE_CTRL_PECA = 1 AND H.ORDEM_PRODUCAO IS NULL /*--------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_PECA].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_PECA].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_PECA].[PERDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_SAI_PECA].[FRACIONAMENTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CAPACIDADES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_CAPACIDADES]( [RECURSO_PRODUTIVO] [char](5) NOT NULL, [TABELA_OPERACOES] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [CAPACIDADE] [int] NULL, [TEMPO_OPERACAO] [numeric](7, 2) NULL, [TEMPO_PREPARACAO] [numeric](7, 2) NULL, [UNIDADE_TEMPO] [char](1) NULL, [CUSTO_SUGERIDO] [numeric](14, 2) NULL, [TIPO_TEMPO_PROCESSO] [char](1) NULL, CONSTRAINT [XPKPRODUCAO_CAPACIDADES] PRIMARY KEY NONCLUSTERED ( [RECURSO_PRODUTIVO] ASC, [TABELA_OPERACOES] ASC, [FASE_PRODUCAO] ASC, [SETOR_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_CAPACIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_CAPACIDADES] on [PRODUCAO_CAPACIDADES] for INSERT as /* INSERT trigger on PRODUCAO_CAPACIDADES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1678 PRODUCAO_CAPACIDADES ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CAPACIDADES #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUCAO_SETOR R/1606 PRODUCAO_CAPACIDADES ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CAPACIDADES #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1605 PRODUCAO_CAPACIDADES ON CHILD INSERT RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_CAPACIDADES #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_CAPACIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_CAPACIDADES] on [PRODUCAO_CAPACIDADES] for UPDATE as /* UPDATE trigger on PRODUCAO_CAPACIDADES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRECURSO_PRODUTIVO char(5), @insTABELA_OPERACOES varchar(25), @insFASE_PRODUCAO varchar(25), @insSETOR_PRODUCAO varchar(25), @delRECURSO_PRODUTIVO char(5), @delTABELA_OPERACOES varchar(25), @delFASE_PRODUCAO varchar(25), @delSETOR_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TAB_OPERACOES R/1678 PRODUCAO_CAPACIDADES ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CAPACIDADES #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUCAO_SETOR R/1606 PRODUCAO_CAPACIDADES ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CAPACIDADES #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* PRODUCAO_RECURSOS R/1605 PRODUCAO_CAPACIDADES ON CHILD UPDATE RESTRICT */ if update(RECURSO_PRODUTIVO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RECURSOS where inserted.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_CAPACIDADES #porque #PRODUCAO_RECURSOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CAPACIDADES].[CAPACIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CAPACIDADES].[TEMPO_OPERACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CAPACIDADES].[TEMPO_PREPARACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_CAPACIDADES].[CUSTO_SUGERIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_COTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_COTAS_TIPO]( [TIPO_COTA] [varchar](25) NOT NULL, [DIGITA_COTA_MAXIMA] [bit] NOT NULL, [REPRESENTANTE] [bit] NOT NULL, [FORNECEDOR] [bit] NOT NULL, [GRIFFE] [bit] NOT NULL, [LINHA] [bit] NOT NULL, [COLECAO] [bit] NOT NULL, [TIPO_PRODUTO] [bit] NOT NULL, [GRUPO_PRODUTO] [bit] NOT NULL, [SUBGRUPO_PRODUTO] [bit] NOT NULL, [PRODUTO] [bit] NOT NULL, [EMISSAO] [bit] NOT NULL, [ENTREGA] [bit] NOT NULL, CONSTRAINT [XPKVENDAS_COTAS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_COTA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_COTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_COTAS_TIPO] on [VENDAS_COTAS_TIPO] for DELETE as /* DELETE trigger on VENDAS_COTAS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.TIPO_COTA = deleted.TIPO_COTA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_COTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_COTAS_TIPO] on [VENDAS_COTAS_TIPO] for UPDATE as /* UPDATE trigger on VENDAS_COTAS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_COTA varchar(25), @delTIPO_COTA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(TIPO_COTA) BEGIN DECLARE VENDAS_COTAS_TIPO997 CURSOR FOR SELECT TIPO_COTA FROM INSERTED DECLARE VENDAS_COTAS_TIPO645 CURSOR FOR SELECT TIPO_COTA FROM DELETED OPEN VENDAS_COTAS_TIPO997 OPEN VENDAS_COTAS_TIPO645 FETCH NEXT FROM VENDAS_COTAS_TIPO997 INTO @insTIPO_COTA FETCH NEXT FROM VENDAS_COTAS_TIPO645 INTO @delTIPO_COTA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.TIPO_COTA=@insTIPO_COTA WHERE VENDAS_COTAS_TIPO_ITENS.TIPO_COTA = @delTIPO_COTA FETCH NEXT FROM VENDAS_COTAS_TIPO997 INTO @insTIPO_COTA FETCH NEXT FROM VENDAS_COTAS_TIPO645 INTO @delTIPO_COTA END END CLOSE VENDAS_COTAS_TIPO997 CLOSE VENDAS_COTAS_TIPO645 DEALLOCATE VENDAS_COTAS_TIPO997 DEALLOCATE VENDAS_COTAS_TIPO645 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[DIGITA_COTA_MAXIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[REPRESENTANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[FORNECEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[GRIFFE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[LINHA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[COLECAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[TIPO_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[GRUPO_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[SUBGRUPO_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[EMISSAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO].[ENTREGA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MAT_CTG_ITENS]( [NOME_CONTAGEM] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [QTDE_ESTOQUE] [decimal](10, 3) NULL, [QTDE_ESTOQUE_AUX] [decimal](10, 3) NULL, [AJUSTE_ESTOQUE] [decimal](10, 3) NULL, [AJUSTE_ESTOQUE_AUX] [decimal](10, 3) NULL, [SALDO_AJUSTE] [decimal](10, 3) NULL, [SALDO_AJUSTE_AUX] [decimal](10, 3) NULL, CONSTRAINT [XPKESTOQUE_MAT_CTG_ITENS] PRIMARY KEY NONCLUSTERED ( [NOME_CONTAGEM] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_MAT_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_MAT_CTG_ITENS] on [ESTOQUE_MAT_CTG_ITENS] for DELETE as /* DELETE trigger on ESTOQUE_MAT_CTG_ITENS */ /* default body for LXD_ESTOQUE_MAT_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ DECLARE cur_ESTOQUE_MAT_CTG_ITENS CURSOR FOR SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))*-1), CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0))*-1) FROM Deleted JOIN ESTOQUE_MAT_CONTAGEM ON Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_MAT_CTG_ITENS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_ITENS DEALLOCATE cur_ESTOQUE_MAT_CTG_ITENS /*---------------------------------------------------------------------------------------------------------------------*/ /* ESTOQUE_MAT_CTG_ITENS R/1490 ESTOQUE_MAT_CTG_PECAS ON PARENT DELETE CASCADE */ delete ESTOQUE_MAT_CTG_PECAS from ESTOQUE_MAT_CTG_PECAS,deleted where ESTOQUE_MAT_CTG_PECAS.NOME_CONTAGEM = deleted.NOME_CONTAGEM and ESTOQUE_MAT_CTG_PECAS.MATERIAL = deleted.MATERIAL and ESTOQUE_MAT_CTG_PECAS.COR_MATERIAL = deleted.COR_MATERIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MAT_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MAT_CTG_ITENS] on [ESTOQUE_MAT_CTG_ITENS] for INSERT as /* INSERT trigger on ESTOQUE_MAT_CTG_ITENS */ /* default body for LXI_ESTOQUE_MAT_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MAT_CTG_ITENS ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_CTG_ITENS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CTG_ITENS ON CHILD INSERT RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_CTG_ITENS #porque #ESTOQUE_MAT_CONTAGEM #não existe.'' goto error end end /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(AJUSTE_ESTOQUE) OR UPDATE(AJUSTE_ESTOQUE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) BEGIN DECLARE cur_ESTOQUE_MAT_CTG_ITENS CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))), CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0))) FROM Inserted JOIN ESTOQUE_MAT_CONTAGEM ON Inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Inserted.Material, Inserted.Cor_Material, Filial OPEN cur_ESTOQUE_MAT_CTG_ITENS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_ITENS DEALLOCATE cur_ESTOQUE_MAT_CTG_ITENS END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MAT_CTG_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MAT_CTG_ITENS] on [ESTOQUE_MAT_CTG_ITENS] for UPDATE as /* UPDATE trigger on ESTOQUE_MAT_CTG_ITENS */ /* default body for LXU_ESTOQUE_MAT_CTG_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delNOME_CONTAGEM varchar(25), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MAT_CTG_ITENS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_CTG_ITENS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CTG_ITENS ON CHILD UPDATE RESTRICT */ if update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_CONTAGEM where inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_CTG_ITENS #porque #ESTOQUE_MAT_CONTAGEM #não existe.'' goto error end end /* ESTOQUE_MAT_CTG_ITENS R/1490 ESTOQUE_MAT_CTG_PECAS ON PARENT UPDATE CASCADE */ IF update(NOME_CONTAGEM) OR update(MATERIAL) OR update(COR_MATERIAL) BEGIN DECLARE ESTOQUE_MAT_CTG_ITENS1490 CURSOR FOR SELECT NOME_CONTAGEM, MATERIAL, COR_MATERIAL FROM INSERTED DECLARE ESTOQUE_MAT_CTG_ITENS624 CURSOR FOR SELECT NOME_CONTAGEM, MATERIAL, COR_MATERIAL FROM DELETED OPEN ESTOQUE_MAT_CTG_ITENS1490 OPEN ESTOQUE_MAT_CTG_ITENS624 FETCH NEXT FROM ESTOQUE_MAT_CTG_ITENS1490 INTO @insNOME_CONTAGEM, @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MAT_CTG_ITENS624 INTO @delNOME_CONTAGEM, @delMATERIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_CTG_PECAS SET ESTOQUE_MAT_CTG_PECAS.NOME_CONTAGEM=@insNOME_CONTAGEM, ESTOQUE_MAT_CTG_PECAS.MATERIAL=@insMATERIAL, ESTOQUE_MAT_CTG_PECAS.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_MAT_CTG_PECAS.NOME_CONTAGEM = @delNOME_CONTAGEM and ESTOQUE_MAT_CTG_PECAS.MATERIAL = @delMATERIAL and ESTOQUE_MAT_CTG_PECAS.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MAT_CTG_ITENS1490 INTO @insNOME_CONTAGEM, @insMATERIAL, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MAT_CTG_ITENS624 INTO @delNOME_CONTAGEM, @delMATERIAL, @delCOR_MATERIAL END END CLOSE ESTOQUE_MAT_CTG_ITENS1490 CLOSE ESTOQUE_MAT_CTG_ITENS624 DEALLOCATE ESTOQUE_MAT_CTG_ITENS1490 DEALLOCATE ESTOQUE_MAT_CTG_ITENS624 END /*-- Atualiza Estoque MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Materiais */ IF UPDATE(AJUSTE_ESTOQUE) OR UPDATE(AJUSTE_ESTOQUE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) BEGIN DECLARE cur_ESTOQUE_MAT_CTG_ITENS CURSOR FOR SELECT Inserted.Material, Inserted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE),0)), CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)) FROM Inserted JOIN ESTOQUE_MAT_CONTAGEM ON Inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Inserted.Material, Inserted.Cor_Material, Filial UNION SELECT Deleted.Material, Deleted.Cor_Material, Filial, CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))*-1), CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)*-1) FROM Deleted JOIN ESTOQUE_MAT_CONTAGEM ON Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Deleted.Material, Deleted.Cor_Material, Filial OPEN cur_ESTOQUE_MAT_CTG_ITENS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial, @cCor_Material, @cFilial, @nQtde, @nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS( SELECT * FROM FILIAIS WHERE FILIAL=@cFilial AND ISNULL(ESTOQUE_CTRL_PECA,0)=0 ) OR EXISTS( SELECT * FROM MATERIAIS WHERE MATERIAL=@cMaterial AND ISNULL(MATERIAIS.CTRL_PECAS,0) = 0 AND ISNULL(MATERIAIS.CTRL_PARTIDAS,0) = 0) BEGIN IF EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) UPDATE Estoque_Materiais SET Qtde_Estoque = ISNULL(Qtde_Estoque,0) + @nQtde, Qtde_Estoque_Aux = ISNULL(Qtde_Estoque_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial ELSE INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_ITENS INTO @cMaterial,@cCor_Material,@cFilial,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_ITENS DEALLOCATE cur_ESTOQUE_MAT_CTG_ITENS END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[QTDE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[QTDE_ESTOQUE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[AJUSTE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[AJUSTE_ESTOQUE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[SALDO_AJUSTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_ITENS].[SALDO_AJUSTE_AUX]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_CANCELAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_CANCELAMENTO]( [NUM_CANCELAMENTO] [char](5) NOT NULL, [TIPO_CANCELAMENTO] [varchar](25) NOT NULL, [DATA] [datetime] NULL, [TOT_QTDE_CANCELADA] [int] NULL, [TOT_VALOR_CANCELADO] [numeric](14, 2) NULL, [OBS] [text] NULL, CONSTRAINT [XPKVENDAS_CANCELAMENTO] PRIMARY KEY NONCLUSTERED ( [NUM_CANCELAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_CANCELAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_CANCELAMENTO] on [VENDAS_CANCELAMENTO] for DELETE as /* DELETE trigger on VENDAS_CANCELAMENTO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_CANCELAMENTO VENDAS_CANCELAMENTO VENDAS_CANC_PROD ON PARENT DELETE CASCADE */ delete VENDAS_CANC_PROD from VENDAS_CANC_PROD,deleted where VENDAS_CANC_PROD.NUM_CANCELAMENTO = deleted.NUM_CANCELAMENTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_CANCELAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_CANCELAMENTO] on [VENDAS_CANCELAMENTO] for INSERT as /* INSERT trigger on VENDAS_CANCELAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TIPO_CANC VENDAS_TIPO_CANC VENDAS_CANCELAMENTO ON CHILD INSERT RESTRICT */ if update(TIPO_CANCELAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO_CANC where inserted.TIPO_CANCELAMENTO = VENDAS_TIPO_CANC.TIPO_CANCELAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_CANCELAMENTO #porque #VENDAS_TIPO_CANC #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_CANCELAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_CANCELAMENTO] on [VENDAS_CANCELAMENTO] for UPDATE as /* UPDATE trigger on VENDAS_CANCELAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUM_CANCELAMENTO char(5), @delNUM_CANCELAMENTO char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_CANCELAMENTO VENDAS_CANCELAMENTO VENDAS_CANC_PROD ON PARENT UPDATE CASCADE */ IF update(NUM_CANCELAMENTO) BEGIN DECLARE VENDAS_CANCELAMENTO849 CURSOR FOR SELECT NUM_CANCELAMENTO FROM INSERTED DECLARE VENDAS_CANCELAMENTO578 CURSOR FOR SELECT NUM_CANCELAMENTO FROM DELETED OPEN VENDAS_CANCELAMENTO849 OPEN VENDAS_CANCELAMENTO578 FETCH NEXT FROM VENDAS_CANCELAMENTO849 INTO @insNUM_CANCELAMENTO FETCH NEXT FROM VENDAS_CANCELAMENTO578 INTO @delNUM_CANCELAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_CANC_PROD SET VENDAS_CANC_PROD.NUM_CANCELAMENTO=@insNUM_CANCELAMENTO WHERE VENDAS_CANC_PROD.NUM_CANCELAMENTO = @delNUM_CANCELAMENTO FETCH NEXT FROM VENDAS_CANCELAMENTO849 INTO @insNUM_CANCELAMENTO FETCH NEXT FROM VENDAS_CANCELAMENTO578 INTO @delNUM_CANCELAMENTO END END CLOSE VENDAS_CANCELAMENTO849 CLOSE VENDAS_CANCELAMENTO578 DEALLOCATE VENDAS_CANCELAMENTO849 DEALLOCATE VENDAS_CANCELAMENTO578 END /* VENDAS_TIPO_CANC VENDAS_TIPO_CANC VENDAS_CANCELAMENTO ON CHILD UPDATE RESTRICT */ if update(TIPO_CANCELAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_TIPO_CANC where inserted.TIPO_CANCELAMENTO = VENDAS_TIPO_CANC.TIPO_CANCELAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_CANCELAMENTO #porque #VENDAS_TIPO_CANC #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANCELAMENTO].[TOT_QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_CANCELAMENTO].[TOT_VALOR_CANCELADO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_PROG_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_PROG_PROD]( [PROGRAMACAO] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [ENTREGA_INICIAL] [datetime] NOT NULL, [QTDE_PROGRAMADA] [int] NULL, [ORDEM_PRODUCAO] [char](8) NULL, [QTDE_GERADA] [int] NULL, [QTDE_MINIMA_PRODUZIR] [int] NULL, [AUMENTO_VENDAS] [int] NULL, [ENTREGA_FINAL] [datetime] NULL, [COR_SORTIDA] [char](10) NULL, [SOBRA_DE_PRODUTO] [int] NULL, [QTDE_SALDO_EMITIR_OP] [int] NULL, [SORTIMENTO_COR] [real] NULL, [P1] [int] NULL, [P2] [int] NULL, [P3] [int] NULL, [P4] [int] NULL, [P5] [int] NULL, [P6] [int] NULL, [P7] [int] NULL, [P8] [int] NULL, [P9] [int] NULL, [P10] [int] NULL, [P11] [int] NULL, [P12] [int] NULL, [P13] [int] NULL, [P14] [int] NULL, [P15] [int] NULL, [P16] [int] NULL, [P17] [int] NULL, [P18] [int] NULL, [P19] [int] NULL, [P20] [int] NULL, [P21] [int] NULL, [P22] [int] NULL, [P23] [int] NULL, [P24] [int] NULL, [P25] [int] NULL, [P26] [int] NULL, [P27] [int] NULL, [P28] [int] NULL, [P29] [int] NULL, [P30] [int] NULL, [P31] [int] NULL, [P32] [int] NULL, [P33] [int] NULL, [P34] [int] NULL, [P35] [int] NULL, [P36] [int] NULL, [P37] [int] NULL, [P38] [int] NULL, [P39] [int] NULL, [P40] [int] NULL, [P41] [int] NULL, [P42] [int] NULL, [P43] [int] NULL, [P44] [int] NULL, [P45] [int] NULL, [P46] [int] NULL, [P47] [int] NULL, [P48] [int] NULL, [S1] [int] NULL, [S2] [int] NULL, [S3] [int] NULL, [S4] [int] NULL, [S5] [int] NULL, [S6] [int] NULL, [S7] [int] NULL, [S8] [int] NULL, [S9] [int] NULL, [S10] [int] NULL, [S11] [int] NULL, [S12] [int] NULL, [S13] [int] NULL, [S14] [int] NULL, [S15] [int] NULL, [S16] [int] NULL, [S17] [int] NULL, [S18] [int] NULL, [S19] [int] NULL, [S20] [int] NULL, [S21] [int] NULL, [S22] [int] NULL, [S23] [int] NULL, [S24] [int] NULL, [S25] [int] NULL, [S26] [int] NULL, [S27] [int] NULL, [S28] [int] NULL, [S29] [int] NULL, [S30] [int] NULL, [S31] [int] NULL, [S32] [int] NULL, [S33] [int] NULL, [S34] [int] NULL, [S35] [int] NULL, [S36] [int] NULL, [S37] [int] NULL, [S38] [int] NULL, [S39] [int] NULL, [S40] [int] NULL, [S41] [int] NULL, [S42] [int] NULL, [S43] [int] NULL, [S44] [int] NULL, [S45] [int] NULL, [S46] [int] NULL, [S47] [int] NULL, [S48] [int] NULL, [TIMESTAMP] [timestamp] NULL, [MATAR_SALDO_PROGRAMACAO] [bit] NOT NULL, [QTDE_EM_OP] [int] NULL, [ENTREGA_VENDA_FINAL] [datetime] NULL, [ENTREGA_VENDA_INICIAL] [datetime] NULL, CONSTRAINT [XPKPRODUCAO_PROG_PROD] PRIMARY KEY NONCLUSTERED ( [PROGRAMACAO] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [ENTREGA_INICIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_PROG_PROD]') AND name = N'XIE1PRODUCAO_PROG_PROD') CREATE NONCLUSTERED INDEX [XIE1PRODUCAO_PROG_PROD] ON [PRODUCAO_PROG_PROD] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_PROG_PROD]') AND name = N'XIE2PRODUCAO_PROG_PROD') CREATE NONCLUSTERED INDEX [XIE2PRODUCAO_PROG_PROD] ON [PRODUCAO_PROG_PROD] ( [ENTREGA_INICIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUCAO_PROG_PROD]') AND name = N'XIE3PRODUCAO_PROG_PROD') CREATE NONCLUSTERED INDEX [XIE3PRODUCAO_PROG_PROD] ON [PRODUCAO_PROG_PROD] ( [QTDE_SALDO_EMITIR_OP] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_PROG_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_PROG_PROD] on [PRODUCAO_PROG_PROD] for INSERT as /* INSERT trigger on PRODUCAO_PROG_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROGRAMACAO varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA_INICIAL datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_PROG_PROD ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_PROG_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUCAO_PROGRAMA PRODUCAO_PROGRAMA PRODUCAO_PROG_PROD ON CHILD INSERT RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_PROG_PROD #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_I_PRODUCAO_PROG_PROD CURSOR FOR SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM INSERTED OPEN CUR_SALDO_I_PRODUCAO_PROG_PROD FETCH NEXT FROM CUR_SALDO_I_PRODUCAO_PROG_PROD INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_I_PRODUCAO_PROG_PROD INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_I_PRODUCAO_PROG_PROD DEALLOCATE CUR_SALDO_I_PRODUCAO_PROG_PROD /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_PROG_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_PROG_PROD] on [PRODUCAO_PROG_PROD] for UPDATE as /* UPDATE trigger on PRODUCAO_PROG_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @delPROGRAMACAO varchar(25), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @delENTREGA_INICIAL datetime, @insPROGRAMACAO varchar(25), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insENTREGA_INICIAL datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUCAO_PROG_PROD ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_PROG_PROD #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUCAO_PROGRAMA PRODUCAO_PROGRAMA PRODUCAO_PROG_PROD ON CHILD UPDATE RESTRICT */ if update(PROGRAMACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_PROGRAMA where inserted.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_PROG_PROD #porque #PRODUCAO_PROGRAMA #não existe.'' goto error end end /*- MOVIMENTA SALDO PROGRAMACAO --------------------------------------------------------------------------------------*/ IF UPDATE(MATAR_SALDO_PROGRAMACAO) OR UPDATE(P1) OR UPDATE(P2) OR UPDATE(P3) OR UPDATE(P4) OR UPDATE(P5) OR UPDATE(P6) OR UPDATE(P7) OR UPDATE(P8) OR UPDATE(P9) OR UPDATE(P10) OR UPDATE(P11) OR UPDATE(P12) OR UPDATE(P13) OR UPDATE(P14) OR UPDATE(P15) OR UPDATE(P16) OR UPDATE(P17) OR UPDATE(P18) OR UPDATE(P19) OR UPDATE(P20) OR UPDATE(P21) OR UPDATE(P22) OR UPDATE(P23) OR UPDATE(P24) OR UPDATE(P25) OR UPDATE(P26) OR UPDATE(P27) OR UPDATE(P28) OR UPDATE(P29) OR UPDATE(P30) OR UPDATE(P31) OR UPDATE(P32) OR UPDATE(P33) OR UPDATE(P34) OR UPDATE(P35) OR UPDATE(P36) OR UPDATE(P37) OR UPDATE(P38) OR UPDATE(P39) OR UPDATE(P40) OR UPDATE(P41) OR UPDATE(P42) OR UPDATE(P43) OR UPDATE(P44) OR UPDATE(P45) OR UPDATE(P46) OR UPDATE(P47) OR UPDATE(P48) BEGIN DECLARE @sProg Varchar(25) , @sPROD CHAR(12), @sCOR_PROD CHAR(10) DECLARE CUR_SALDO_U_PRODUCAO_PROG_PROD CURSOR FOR SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM INSERTED UNION SELECT DISTINCT PROGRAMACAO ,PRODUTO,COR_PRODUTO FROM DELETED OPEN CUR_SALDO_U_PRODUCAO_PROG_PROD FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_PROG_PROD INTO @sProg , @sProd, @sCor_Prod WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_CALCULA_SALDO_PROGRAMACAO @sPROG , @sPROD, @sCOR_PROD FETCH NEXT FROM CUR_SALDO_U_PRODUCAO_PROG_PROD INTO @sProg , @sProd, @sCor_Prod END CLOSE CUR_SALDO_U_PRODUCAO_PROG_PROD DEALLOCATE CUR_SALDO_U_PRODUCAO_PROG_PROD END /*--------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[QTDE_PROGRAMADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[QTDE_GERADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[QTDE_MINIMA_PRODUZIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[AUMENTO_VENDAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[SOBRA_DE_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[QTDE_SALDO_EMITIR_OP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[P48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[S48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[MATAR_SALDO_PROGRAMACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_PROG_PROD].[QTDE_EM_OP]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_CTG_PECAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MAT_CTG_PECAS]( [NOME_CONTAGEM] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [QTDE_ESTOQUE] [decimal](10, 3) NULL, [QTDE_ESTOQUE_AUX] [decimal](10, 3) NULL, [AJUSTE_ESTOQUE] [decimal](10, 3) NULL, [AJUSTE_ESTOQUE_AUX] [decimal](10, 3) NULL, [SALDO_AJUSTE] [decimal](10, 3) NULL, [SALDO_AJUSTE_AUX] [decimal](10, 3) NULL, CONSTRAINT [XPKESTOQUE_MAT_CTG_PECAS] PRIMARY KEY NONCLUSTERED ( [NOME_CONTAGEM] ASC, [MATERIAL] ASC, [PECA] ASC, [PARTIDA] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_CTG_PECAS]') AND name = N'XIE1ESTOQUE_MAT_CTG_PECAS') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_MAT_CTG_PECAS] ON [ESTOQUE_MAT_CTG_PECAS] ( [PECA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_CTG_PECAS]') AND name = N'XIE2ESTOQUE_MAT_CTG_PECAS') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_MAT_CTG_PECAS] ON [ESTOQUE_MAT_CTG_PECAS] ( [MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_MAT_CTG_PECAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_MAT_CTG_PECAS] on [ESTOQUE_MAT_CTG_PECAS] for DELETE as /* DELETE trigger on ESTOQUE_MAT_CTG_PECAS */ /* default body for LXD_ESTOQUE_MAT_CTG_PECAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insPECA char(6), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ DECLARE cur_ESTOQUE_MAT_CTG_PECAS CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)*-1) FROM Deleted ,ESTOQUE_MAT_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_MAT_CTG_PECAS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_PECAS DEALLOCATE cur_ESTOQUE_MAT_CTG_PECAS /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MAT_CTG_PECAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MAT_CTG_PECAS] on [ESTOQUE_MAT_CTG_PECAS] for INSERT as /* INSERT trigger on ESTOQUE_MAT_CTG_PECAS */ /* default body for LXI_ESTOQUE_MAT_CTG_PECAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insPECA char(6), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_MAT_CTG_ITENS R/1490 ESTOQUE_MAT_CTG_PECAS ON CHILD INSERT RESTRICT */ if update(NOME_CONTAGEM) or update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_CTG_ITENS where inserted.NOME_CONTAGEM = ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM and inserted.MATERIAL = ESTOQUE_MAT_CTG_ITENS.MATERIAL and inserted.COR_MATERIAL = ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_CTG_PECAS #porque #ESTOQUE_MAT_CTG_ITENS #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(AJUSTE_ESTOQUE) OR UPDATE(AJUSTE_ESTOQUE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) BEGIN DECLARE cur_ESTOQUE_MAT_CTG_PECAS CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)) FROM Inserted ,ESTOQUE_MAT_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_MAT_CTG_PECAS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_PECAS DEALLOCATE cur_ESTOQUE_MAT_CTG_PECAS END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MAT_CTG_PECAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MAT_CTG_PECAS] on [ESTOQUE_MAT_CTG_PECAS] for UPDATE as /* UPDATE trigger on ESTOQUE_MAT_CTG_PECAS */ /* default body for LXU_ESTOQUE_MAT_CTG_PECAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CONTAGEM varchar(25), @insMATERIAL char(11), @insPECA char(6), @insPARTIDA char(6), @insCOR_MATERIAL char(10), @delNOME_CONTAGEM varchar(25), @delMATERIAL char(11), @delPECA char(6), @delPARTIDA char(6), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_MAT_CTG_ITENS R/1490 ESTOQUE_MAT_CTG_PECAS ON CHILD UPDATE RESTRICT */ if update(NOME_CONTAGEM) or update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MAT_CTG_ITENS where inserted.NOME_CONTAGEM = ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM and inserted.MATERIAL = ESTOQUE_MAT_CTG_ITENS.MATERIAL and inserted.COR_MATERIAL = ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_CTG_PECAS #porque #ESTOQUE_MAT_CTG_ITENS #não existe.'' goto error end end /*-- Atualiza Estoque PECAS MP ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque Pecas */ IF UPDATE(AJUSTE_ESTOQUE) OR UPDATE(AJUSTE_ESTOQUE_AUX) OR UPDATE(MATERIAL) OR UPDATE(COR_MATERIAL) BEGIN DECLARE cur_ESTOQUE_MAT_CTG_PECAS CURSOR FOR SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE),0)), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)) FROM Inserted ,ESTOQUE_MAT_CONTAGEM WHERE Inserted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Material, Cor_Material, Filial,Peca,Partida UNION SELECT Material, Cor_Material, Filial,Peca,Partida, QTDE = CONVERT(NUMERIC(10,3),(ISNULL(SUM(AJUSTE_ESTOQUE),0))*-1), QTDE_AUX = CONVERT(NUMERIC(10,3),ISNULL(SUM(AJUSTE_ESTOQUE_AUX),0)*-1) FROM Deleted ,ESTOQUE_MAT_CONTAGEM WHERE Deleted.NOME_CONTAGEM = ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM GROUP BY Material, Cor_Material, Filial,Peca,Partida OPEN cur_ESTOQUE_MAT_CTG_PECAS DECLARE @cMaterial Char(11), @cCor_Material Char(10), @cFilial VarChar(25), @nQtde Numeric(10,3),@nQtde_Aux Numeric(10,3), @cPeca Char(6),@cPartida Char(6), @cLocalizacao CHAR(8),@cLargura REAL, @cCONTROLE_QUALIDADE SMALLINT, @nQtdeMaterial Numeric(10,3),@nQtde_AuxMaterial Numeric(10,3), @nGramatura Numeric(9,3), @cReceita Varchar(20) FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux WHILE (@@Fetch_Status != -1) BEGIN IF EXISTS (SELECT * FROM Estoque_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida) UPDATE Estoque_Mat_Peca SET Qtde = ISNULL(Qtde,0) + @nQtde, Qtde_Aux = ISNULL(Qtde_Aux,0) + @nQtde_Aux, Saldo_Anterior = Qtde, Saldo_Anterior_Aux = Qtde_Aux, Data_Saldo_Anterior = GETDATE(), DATA_ULT_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida ELSE BEGIN IF NOT EXISTS (SELECT * FROM Estoque_Materiais WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial) BEGIN INSERT INTO Estoque_Materiais (Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Ant, ULTIMA_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, 0,0,GETDATE(),GETDATE()) END INSERT INTO Estoque_Mat_Peca (Material,Cor_Material,Filial,Qtde,Qtde_Aux,Peca,Partida, Saldo_Anterior,Saldo_Anterior_Aux,Data_Saldo_Anterior, DATA_ULT_ENTRADA) VALUES(@cMaterial, @cCor_Material, @cFilial, @nQtde,@nQtde_Aux, @cPeca,@cPartida,0,0,GETDATE(),GETDATE()) END IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MAT_PECA.'' goto error END SELECT @nQtdeMaterial = ISNULL(SUM(Qtde),0), @nQtde_AuxMaterial = ISNULL(SUM(Qtde_Aux),0) FROM ESTOQUE_MAT_PECA WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial UPDATE Estoque_Materiais SET Qtde_Estoque = @nQtdeMaterial, Qtde_Estoque_Aux = @nQtde_AuxMaterial, Saldo_Anterior = Qtde_Estoque, Saldo_Anterior_Aux = Qtde_Estoque_Aux, Data_Saldo_Ant = GETDATE(), ULTIMA_ENTRADA = GETDATE() WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_MATERIAIS#.'' goto error END FETCH NEXT FROM cur_ESTOQUE_MAT_CTG_PECAS INTO @cMaterial,@cCor_Material,@cFilial,@cPeca,@cPartida,@nQtde,@nQtde_Aux END CLOSE cur_ESTOQUE_MAT_CTG_PECAS DEALLOCATE cur_ESTOQUE_MAT_CTG_PECAS END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[QTDE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[QTDE_ESTOQUE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[AJUSTE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[AJUSTE_ESTOQUE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[SALDO_AJUSTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_CTG_PECAS].[SALDO_AJUSTE_AUX]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ENCAIXE_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ENCAIXE_PECA]( [FILIAL] [varchar](25) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [ORDEM_CORTE] [char](8) NOT NULL, [NUMERO_ENCAIXE] [int] NOT NULL, [QTDE] [decimal](10, 3) NULL, CONSTRAINT [XPKPRODUCAO_ENCAIXE_PECA] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [MATERIAL] ASC, [PECA] ASC, [PARTIDA] ASC, [ORDEM_CORTE] ASC, [NUMERO_ENCAIXE] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ENCAIXE_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ENCAIXE_PECA] on [PRODUCAO_ENCAIXE_PECA] for INSERT as /* INSERT trigger on PRODUCAO_ENCAIXE_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ENCAIXE R/1754 PRODUCAO_ENCAIXE_PECA ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) or update(NUMERO_ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_ENCAIXE.ORDEM_CORTE and inserted.NUMERO_ENCAIXE = PRODUCAO_ENCAIXE.NUMERO_ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ENCAIXE_PECA #porque #PRODUCAO_ENCAIXE #não existe.'' goto error end end /* MATERIAIS_CORES R/1753 PRODUCAO_ENCAIXE_PECA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ENCAIXE_PECA #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ENCAIXE_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ENCAIXE_PECA] on [PRODUCAO_ENCAIXE_PECA] for UPDATE as /* UPDATE trigger on PRODUCAO_ENCAIXE_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insMATERIAL char(11), @insPECA char(6), @insPARTIDA char(6), @insORDEM_CORTE char(8), @insNUMERO_ENCAIXE int, @insCOR_MATERIAL char(10), @delFILIAL varchar(25), @delMATERIAL char(11), @delPECA char(6), @delPARTIDA char(6), @delORDEM_CORTE char(8), @delNUMERO_ENCAIXE int, @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_ENCAIXE R/1754 PRODUCAO_ENCAIXE_PECA ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) or update(NUMERO_ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_ENCAIXE.ORDEM_CORTE and inserted.NUMERO_ENCAIXE = PRODUCAO_ENCAIXE.NUMERO_ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ENCAIXE_PECA #porque #PRODUCAO_ENCAIXE #não existe.'' goto error end end /* MATERIAIS_CORES R/1753 PRODUCAO_ENCAIXE_PECA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ENCAIXE_PECA #porque #MATERIAIS_CORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_PECA].[NUMERO_ENCAIXE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_PECA].[QTDE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_COTAS_TIPO_ITENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_COTAS_TIPO_ITENS]( [COTA] [char](5) NOT NULL, [TIPO_COTA] [varchar](25) NOT NULL, [REPRESENTANTE] [varchar](25) NULL, [FORNECEDOR] [varchar](25) NULL, [GRIFFE] [varchar](25) NULL, [LINHA] [varchar](25) NULL, [COLECAO] [char](6) NULL, [TIPO_PRODUTO] [varchar](25) NULL, [GRUPO_PRODUTO] [varchar](25) NULL, [SUBGRUPO_PRODUTO] [varchar](25) NULL, [PRODUTO] [char](12) NULL, [QTDE] [int] NULL, [VALOR] [numeric](14, 2) NULL, [QTDE_MAXIMA] [int] NULL, [VALOR_MAXIMA] [numeric](14, 2) NULL, [ENTREGA_INICIAL] [datetime] NULL, [ENTREGA_FINAL] [datetime] NULL, [EMISSAO_INICIAL] [datetime] NULL, [EMISSAO_FINAL] [datetime] NULL, CONSTRAINT [XPKVENDAS_COTAS_TIPO_ITENS] PRIMARY KEY NONCLUSTERED ( [COTA] ASC, [TIPO_COTA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[VENDAS_COTAS_TIPO_ITENS]') AND name = N'XAK1VENDAS_COTAS_TIPO_ITENS') CREATE UNIQUE NONCLUSTERED INDEX [XAK1VENDAS_COTAS_TIPO_ITENS] ON [VENDAS_COTAS_TIPO_ITENS] ( [COTA] ASC, [REPRESENTANTE] ASC, [FORNECEDOR] ASC, [GRIFFE] ASC, [LINHA] ASC, [COLECAO] ASC, [TIPO_PRODUTO] ASC, [GRUPO_PRODUTO] ASC, [SUBGRUPO_PRODUTO] ASC, [PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_COTAS_TIPO_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_COTAS_TIPO_ITENS] on [VENDAS_COTAS_TIPO_ITENS] for INSERT as /* INSERT trigger on VENDAS_COTAS_TIPO_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(TIPO_COTA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_COTAS_TIPO where inserted.TIPO_COTA = VENDAS_COTAS_TIPO.TIPO_COTA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #VENDAS_COTAS_TIPO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTE VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #REPRESENTANTES #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR select @nullcnt = count(*) from inserted where inserted.FORNECEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS_LINHAS PRODUTOS_LINHAS VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA select @nullcnt = count(*) from inserted where inserted.LINHA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE select @nullcnt = count(*) from inserted where inserted.GRIFFE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* COLECOES COLECOES VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #COLECOES #não existe.'' goto error end end /* PRODUTOS_TIPOS PRODUTOS_TIPOS VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.TIPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.GRUPO_PRODUTO is null or inserted.SUBGRUPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTOS PRODUTOS VENDAS_COTAS_TIPO_ITENS ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_COTAS_TIPO_ITENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_COTAS_TIPO_ITENS] on [VENDAS_COTAS_TIPO_ITENS] for UPDATE as /* UPDATE trigger on VENDAS_COTAS_TIPO_ITENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOTA char(5), @insTIPO_COTA varchar(25), @delCOTA char(5), @delTIPO_COTA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(TIPO_COTA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_COTAS_TIPO where inserted.TIPO_COTA = VENDAS_COTAS_TIPO.TIPO_COTA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #VENDAS_COTAS_TIPO #não existe.'' goto error end end /* REPRESENTANTES REPRESENTANTE VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #REPRESENTANTES #não existe.'' goto error end end /* FORNECEDORES FORNECEDORES VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR select @nullcnt = count(*) from inserted where inserted.FORNECEDOR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #FORNECEDORES #não existe.'' goto error end end /* PRODUTOS_LINHAS PRODUTOS_LINHAS VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA select @nullcnt = count(*) from inserted where inserted.LINHA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS_GRIFFES PRODUTOS_GRIFFES VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE select @nullcnt = count(*) from inserted where inserted.GRIFFE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* COLECOES COLECOES VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #COLECOES #não existe.'' goto error end end /* PRODUTOS_TIPOS PRODUTOS_TIPOS VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.TIPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO PRODUTOS_SUBGRUPO VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.GRUPO_PRODUTO is null and inserted.SUBGRUPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTOS PRODUTOS VENDAS_COTAS_TIPO_ITENS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_COTAS_TIPO_ITENS #porque #PRODUTOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO_ITENS].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO_ITENS].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO_ITENS].[QTDE_MAXIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_COTAS_TIPO_ITENS].[VALOR_MAXIMA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_BASE_TRATAMENTO]( [TRATAMENTO] [char](5) NOT NULL, [REFERENCIA_BASE] [char](11) NOT NULL, [SEQUENCIA_PRODUTIVA] [smallint] NOT NULL, [FILEIRAS] [numeric](9, 3) NULL, [COLUNAS] [numeric](9, 3) NULL, [GRAMATURA] [numeric](9, 3) NULL, CONSTRAINT [XPKMATERIAIS_BASE_TRATAMENTO] PRIMARY KEY NONCLUSTERED ( [TRATAMENTO] ASC, [REFERENCIA_BASE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_BASE_TRATAMENTO] on [MATERIAIS_BASE_TRATAMENTO] for DELETE as /* DELETE trigger on MATERIAIS_BASE_TRATAMENTO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON PARENT DELETE CASCADE */ delete MATERIAIS_BASE_DIMENSAO from MATERIAIS_BASE_DIMENSAO,deleted where MATERIAIS_BASE_DIMENSAO.TRATAMENTO = deleted.TRATAMENTO and MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE = deleted.REFERENCIA_BASE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_BASE_TRATAMENTO] on [MATERIAIS_BASE_TRATAMENTO] for INSERT as /* INSERT trigger on MATERIAIS_BASE_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE R/1938 MATERIAIS_BASE_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_TRATAMENTO #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1937 MATERIAIS_BASE_TRATAMENTO ON CHILD INSERT RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_BASE_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_BASE_TRATAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_BASE_TRATAMENTO] on [MATERIAIS_BASE_TRATAMENTO] for UPDATE as /* UPDATE trigger on MATERIAIS_BASE_TRATAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRATAMENTO char(5), @insREFERENCIA_BASE char(11), @delTRATAMENTO char(5), @delREFERENCIA_BASE char(11), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_BASE_TRATAMENTO R/1939 MATERIAIS_BASE_DIMENSAO ON PARENT UPDATE CASCADE */ IF update(TRATAMENTO) OR update(REFERENCIA_BASE) BEGIN DECLARE MATERIAIS_BASE_TRATAMENTO1939 CURSOR FOR SELECT TRATAMENTO, REFERENCIA_BASE FROM INSERTED DECLARE MATERIAIS_BASE_TRATAMENTO1096 CURSOR FOR SELECT TRATAMENTO, REFERENCIA_BASE FROM DELETED OPEN MATERIAIS_BASE_TRATAMENTO1939 OPEN MATERIAIS_BASE_TRATAMENTO1096 FETCH NEXT FROM MATERIAIS_BASE_TRATAMENTO1939 INTO @insTRATAMENTO, @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE_TRATAMENTO1096 INTO @delTRATAMENTO, @delREFERENCIA_BASE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_BASE_DIMENSAO SET MATERIAIS_BASE_DIMENSAO.TRATAMENTO=@insTRATAMENTO, MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE=@insREFERENCIA_BASE WHERE MATERIAIS_BASE_DIMENSAO.TRATAMENTO = @delTRATAMENTO and MATERIAIS_BASE_DIMENSAO.REFERENCIA_BASE = @delREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE_TRATAMENTO1939 INTO @insTRATAMENTO, @insREFERENCIA_BASE FETCH NEXT FROM MATERIAIS_BASE_TRATAMENTO1096 INTO @delTRATAMENTO, @delREFERENCIA_BASE END END CLOSE MATERIAIS_BASE_TRATAMENTO1939 CLOSE MATERIAIS_BASE_TRATAMENTO1096 DEALLOCATE MATERIAIS_BASE_TRATAMENTO1939 DEALLOCATE MATERIAIS_BASE_TRATAMENTO1096 END /* MATERIAIS_BASE R/1938 MATERIAIS_BASE_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(REFERENCIA_BASE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_BASE where inserted.REFERENCIA_BASE = MATERIAIS_BASE.REFERENCIA_BASE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_TRATAMENTO #porque #MATERIAIS_BASE #não existe.'' goto error end end /* MATERIAIS_TRATAMENTO R/1937 MATERIAIS_BASE_TRATAMENTO ON CHILD UPDATE RESTRICT */ if update(TRATAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_TRATAMENTO where inserted.TRATAMENTO = MATERIAIS_TRATAMENTO.TRATAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_BASE_TRATAMENTO #porque #MATERIAIS_TRATAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_TRATAMENTO].[SEQUENCIA_PRODUTIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_TRATAMENTO].[FILEIRAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_BASE_TRATAMENTO].[COLUNAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[MATERIAIS_BASE_TRATAMENTO].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_ENCAIXE_TECIDO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_ENCAIXE_TECIDO]( [ORDEM_CORTE] [char](8) NOT NULL, [ORDEM_PRODUCAO] [char](8) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [ITEM_FICHA_TECNICA] [char](4) NOT NULL, [NUMERO_ENCAIXE] [int] NOT NULL, [NUMERO_COLCHOES] [int] NULL, [NUMERO_FOLHAS] [int] NOT NULL, [ENFESTO_NORMAL_TUBULAR_MEIA] [int] NULL, [PERDAS_NAS_PONTAS] [numeric](6, 2) NOT NULL, CONSTRAINT [XPKPRODUCAO_ENCAIXE_TECIDO] PRIMARY KEY NONCLUSTERED ( [ORDEM_CORTE] ASC, [ORDEM_PRODUCAO] ASC, [MATERIAL] ASC, [ITEM_FICHA_TECNICA] ASC, [NUMERO_ENCAIXE] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUCAO_ENCAIXE_TECIDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUCAO_ENCAIXE_TECIDO] on [PRODUCAO_ENCAIXE_TECIDO] for INSERT as /* INSERT trigger on PRODUCAO_ENCAIXE_TECIDO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RESERVA R/1752 PRODUCAO_ENCAIXE_TECIDO ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) or update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RESERVA where inserted.ORDEM_PRODUCAO = PRODUCAO_RESERVA.ORDEM_PRODUCAO and inserted.MATERIAL = PRODUCAO_RESERVA.MATERIAL and inserted.COR_MATERIAL = PRODUCAO_RESERVA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ENCAIXE_TECIDO #porque #PRODUCAO_RESERVA #não existe.'' goto error end end /* PRODUCAO_ENCAIXE R/1750 PRODUCAO_ENCAIXE_TECIDO ON CHILD INSERT RESTRICT */ if update(ORDEM_CORTE) or update(NUMERO_ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_ENCAIXE.ORDEM_CORTE and inserted.NUMERO_ENCAIXE = PRODUCAO_ENCAIXE.NUMERO_ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUCAO_ENCAIXE_TECIDO #porque #PRODUCAO_ENCAIXE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_ENCAIXE_TECIDO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_ENCAIXE_TECIDO] on [PRODUCAO_ENCAIXE_TECIDO] for UPDATE as /* UPDATE trigger on PRODUCAO_ENCAIXE_TECIDO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_CORTE char(8), @insORDEM_PRODUCAO char(8), @insMATERIAL char(11), @insITEM_FICHA_TECNICA char(4), @insNUMERO_ENCAIXE int, @insCOR_MATERIAL char(10), @delORDEM_CORTE char(8), @delORDEM_PRODUCAO char(8), @delMATERIAL char(11), @delITEM_FICHA_TECNICA char(4), @delNUMERO_ENCAIXE int, @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_RESERVA R/1752 PRODUCAO_ENCAIXE_TECIDO ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) or update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_RESERVA where inserted.ORDEM_PRODUCAO = PRODUCAO_RESERVA.ORDEM_PRODUCAO and inserted.MATERIAL = PRODUCAO_RESERVA.MATERIAL and inserted.COR_MATERIAL = PRODUCAO_RESERVA.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ENCAIXE_TECIDO #porque #PRODUCAO_RESERVA #não existe.'' goto error end end /* PRODUCAO_ENCAIXE R/1750 PRODUCAO_ENCAIXE_TECIDO ON CHILD UPDATE RESTRICT */ if update(ORDEM_CORTE) or update(NUMERO_ENCAIXE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_ENCAIXE where inserted.ORDEM_CORTE = PRODUCAO_ENCAIXE.ORDEM_CORTE and inserted.NUMERO_ENCAIXE = PRODUCAO_ENCAIXE.NUMERO_ENCAIXE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUCAO_ENCAIXE_TECIDO #porque #PRODUCAO_ENCAIXE #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_TECIDO].[NUMERO_ENCAIXE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_TECIDO].[NUMERO_COLCHOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_TECIDO].[NUMERO_FOLHAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_ENCAIXE_TECIDO].[ENFESTO_NORMAL_TUBULAR_MEIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MAT_PECA]( [PECA] [char](6) NOT NULL, [PARTIDA] [char](6) NOT NULL, [MATERIAL] [char](11) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [LOCALIZACAO] [char](8) NULL, [QTDE_AUX] [decimal](10, 3) NULL, [QTDE] [decimal](10, 3) NULL, [LARGURA] [real] NULL, [SALDO_ANTERIOR] [numeric](14, 2) NULL, [SALDO_ANTERIOR_AUX] [numeric](14, 2) NULL, [DATA_SALDO_ANTERIOR] [datetime] NULL, [DATA_ULT_ENTRADA] [datetime] NULL, [DATA_ULT_SAIDA] [datetime] NULL, [CONTROLE_QUALIDADE] [smallint] NULL, [GRAMATURA] [numeric](9, 3) NULL, [RECEITA] [varchar](20) NULL, [DI] [varchar](20) NULL, [NCM] [varchar](20) NULL, CONSTRAINT [XPKESTOQUE_MAT_PECA] PRIMARY KEY NONCLUSTERED ( [PECA] ASC, [PARTIDA] ASC, [MATERIAL] ASC, [FILIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_PECA]') AND name = N'XIE1ESTOQUE_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_MAT_PECA] ON [ESTOQUE_MAT_PECA] ( [MATERIAL] ASC, [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_PECA]') AND name = N'XIE2ESTOQUE_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_MAT_PECA] ON [ESTOQUE_MAT_PECA] ( [PECA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_PECA]') AND name = N'XIE3ESTOQUE_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_MAT_PECA] ON [ESTOQUE_MAT_PECA] ( [QTDE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MAT_PECA]') AND name = N'XIE4ESTOQUE_MAT_PECA') CREATE NONCLUSTERED INDEX [XIE4ESTOQUE_MAT_PECA] ON [ESTOQUE_MAT_PECA] ( [SALDO_ANTERIOR] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MAT_PECA] on [ESTOQUE_MAT_PECA] for INSERT as /* INSERT trigger on ESTOQUE_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_MAT_PECA ON CHILD INSERT RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ESTOQUE_MATERIAIS ESTOQUE_MATERIAIS ESTOQUE_MAT_PECA ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(FILIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MATERIAIS where inserted.MATERIAL = ESTOQUE_MATERIAIS.MATERIAL and inserted.FILIAL = ESTOQUE_MATERIAIS.FILIAL and inserted.COR_MATERIAL = ESTOQUE_MATERIAIS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MAT_PECA #porque #ESTOQUE_MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MAT_PECA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MAT_PECA] on [ESTOQUE_MAT_PECA] for UPDATE as /* UPDATE trigger on ESTOQUE_MAT_PECA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPECA char(6), @insPARTIDA char(6), @insMATERIAL char(11), @insFILIAL varchar(25), @insCOR_MATERIAL char(10), @delPECA char(6), @delPARTIDA char(6), @delMATERIAL char(11), @delFILIAL varchar(25), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_LOCALIZA MATERIAIS_LOCALIZA ESTOQUE_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(LOCALIZACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_LOCALIZA where inserted.LOCALIZACAO = MATERIAIS_LOCALIZA.LOCALIZACAO select @nullcnt = count(*) from inserted where inserted.LOCALIZACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_PECA #porque #MATERIAIS_LOCALIZA #não existe.'' goto error end end /* ESTOQUE_MATERIAIS ESTOQUE_MATERIAIS ESTOQUE_MAT_PECA ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(FILIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_MATERIAIS where inserted.MATERIAL = ESTOQUE_MATERIAIS.MATERIAL and inserted.FILIAL = ESTOQUE_MATERIAIS.FILIAL and inserted.COR_MATERIAL = ESTOQUE_MATERIAIS.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MAT_PECA #porque #ESTOQUE_MATERIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_PECA].[QTDE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_PECA].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_PECA].[LARGURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_PECA].[SALDO_ANTERIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MAT_PECA].[SALDO_ANTERIOR_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ESTOQUE_MAT_PECA].[GRAMATURA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_HISTORICO_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_HISTORICO_PROD]( [PEDIDO] [varchar](20) NOT NULL, [PRODUTO] [char](12) NOT NULL, [ENTREGA] [datetime] NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [QTDE_ORIGINAL] [int] NULL, [QTDE_ENTREGAR] [int] NULL, [QTDE_ENTREGUE] [int] NULL, [QTDE_DEVOLVIDA] [int] NULL, [QTDE_CANCELADA] [int] NULL, [PRECO_MEDIO] [numeric](14, 2) NULL, [VALOR_CANCELADO] [numeric](14, 2) NULL, [VALOR_ORIGINAL] [numeric](14, 2) NULL, [VALOR_ENTREGAR] [numeric](14, 2) NULL, [VALOR_DEVOLVIDO] [numeric](14, 2) NULL, [VALOR_ENTREGUE] [numeric](14, 2) NULL, [ENTREGUE_MOEDA_PADRAO] [numeric](17, 5) NULL, CONSTRAINT [XPKVENDAS_HISTORICO_PROD] PRIMARY KEY NONCLUSTERED ( [PEDIDO] ASC, [PRODUTO] ASC, [ENTREGA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_HISTORICO_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_HISTORICO_PROD] on [VENDAS_HISTORICO_PROD] for INSERT as /* INSERT trigger on VENDAS_HISTORICO_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1385 VENDAS_HISTORICO_PROD ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO_PROD #porque #PRODUTOS #não existe.'' goto error end end /* VENDAS_HISTORICO R/1383 VENDAS_HISTORICO_PROD ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_HISTORICO where inserted.PEDIDO = VENDAS_HISTORICO.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_HISTORICO_PROD #porque #VENDAS_HISTORICO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_HISTORICO_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_HISTORICO_PROD] on [VENDAS_HISTORICO_PROD] for UPDATE as /* UPDATE trigger on VENDAS_HISTORICO_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPEDIDO varchar(20), @insPRODUTO char(12), @insENTREGA datetime, @delPEDIDO varchar(20), @delPRODUTO char(12), @delENTREGA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS R/1385 VENDAS_HISTORICO_PROD ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO_PROD #porque #PRODUTOS #não existe.'' goto error end end /* VENDAS_HISTORICO R/1383 VENDAS_HISTORICO_PROD ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS_HISTORICO where inserted.PEDIDO = VENDAS_HISTORICO.PEDIDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_HISTORICO_PROD #porque #VENDAS_HISTORICO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[QTDE_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[QTDE_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[QTDE_ENTREGUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[QTDE_DEVOLVIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[PRECO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[VALOR_CANCELADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[VALOR_ORIGINAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[VALOR_ENTREGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[VALOR_DEVOLVIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_HISTORICO_PROD].[VALOR_ENTREGUE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_PRODUTO]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [ITEM] [char](4) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [NATUREZA] [char](15) NULL, [NATUREZA_CONTABILIZAR] [char](15) NULL, [PEDIDO] [char](8) NULL, [PRODUTO_PEDIDO] [char](12) NULL, [COR_PRODUTO_PEDIDO] [char](10) NULL, [ENTREGA_PEDIDO] [datetime] NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [CUSTO1] [numeric](14, 2) NULL, [CUSTO2] [numeric](14, 2) NULL, [CUSTO3] [numeric](14, 2) NULL, [CUSTO4] [numeric](14, 2) NULL, [IPI] [real] NULL, [VALOR] [numeric](14, 2) NULL, [MATA_SALDO_PEDIDO] [bit] NOT NULL, [TOTAL_ENTRADAS] [int] NULL, [QTDE_CANCELADA] [int] NULL, [EN1] [int] NULL, [EN2] [int] NULL, [EN3] [int] NULL, [EN4] [int] NULL, [EN5] [int] NULL, [EN6] [int] NULL, [EN7] [int] NULL, [EN8] [int] NULL, [EN9] [int] NULL, [EN10] [int] NULL, [EN11] [int] NULL, [EN12] [int] NULL, [EN13] [int] NULL, [EN14] [int] NULL, [EN15] [int] NULL, [EN16] [int] NULL, [EN17] [int] NULL, [EN18] [int] NULL, [EN19] [int] NULL, [EN20] [int] NULL, [EN21] [int] NULL, [EN22] [int] NULL, [EN23] [int] NULL, [EN24] [int] NULL, [EN25] [int] NULL, [EN26] [int] NULL, [EN27] [int] NULL, [EN28] [int] NULL, [EN29] [int] NULL, [EN30] [int] NULL, [EN31] [int] NULL, [EN32] [int] NULL, [EN33] [int] NULL, [EN34] [int] NULL, [EN35] [int] NULL, [EN36] [int] NULL, [EN37] [int] NULL, [EN38] [int] NULL, [EN39] [int] NULL, [EN40] [int] NULL, [EN41] [int] NULL, [EN42] [int] NULL, [EN43] [int] NULL, [EN44] [int] NULL, [EN45] [int] NULL, [EN46] [int] NULL, [EN47] [int] NULL, [EN48] [int] NULL, [TIMESTAMP] [timestamp] NULL, CONSTRAINT [XPKENTRADAS_PRODUTO] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [ITEM] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_PRODUTO]') AND name = N'XIE1ENTRADAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE1ENTRADAS_PRODUTO] ON [ENTRADAS_PRODUTO] ( [PEDIDO] ASC, [PRODUTO_PEDIDO] ASC, [COR_PRODUTO_PEDIDO] ASC, [ENTREGA_PEDIDO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ENTRADAS_PRODUTO]') AND name = N'XIE2ENTRADAS_PRODUTO') CREATE NONCLUSTERED INDEX [XIE2ENTRADAS_PRODUTO] ON [ENTRADAS_PRODUTO] ( [PRODUTO] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ENTRADAS_PRODUTO] on [ENTRADAS_PRODUTO] for DELETE as /* DELETE trigger on ENTRADAS_PRODUTO */ /* default body for LXD_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Deleted, ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Excluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT VENDAS_PRODUTO.PEDIDO FROM DELETED JOIN VENDAS_PRODUTO ON DELETED.PEDIDO=VENDAS_PRODUTO.PEDIDO_COMPRA WHERE VENDAS_PRODUTO.PEDIDO_COMPRA IS NOT NULL AND DELETED.PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ /* ENTRADAS_PRODUTO R/1670 FATURAM_DEV_PROD ON PARENT DELETE CASCADE */ delete FATURAM_DEV_PROD from FATURAM_DEV_PROD,deleted where FATURAM_DEV_PROD.NOME_CLIFOR = deleted.NOME_CLIFOR and FATURAM_DEV_PROD.NF_ENTRADA = deleted.NF_ENTRADA and FATURAM_DEV_PROD.ITEM = deleted.ITEM and FATURAM_DEV_PROD.PRODUTO = deleted.PRODUTO and FATURAM_DEV_PROD.COR_PRODUTO = deleted.COR_PRODUTO /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted ,ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRODUTO DEALLOCATE cur_ENTRADAS_PRODUTO /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_PRODUTO] on [ENTRADAS_PRODUTO] for INSERT as /* INSERT trigger on ENTRADAS_PRODUTO */ /* default body for LXI_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Inserted, ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ IF EXISTS(SELECT * FROM Inserted, ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Incluir Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END /*---------------------------------------------------------------------------------------------------------------------*/ /* NATUREZAS_ENTRADAS R/1615 ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRODUTO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1614 ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRODUTO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRODUTO #porque #ENTRADAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ENTRADAS_PRODUTO ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT VENDAS_PRODUTO.PEDIDO FROM INSERTED JOIN VENDAS_PRODUTO ON INSERTED.PEDIDO=VENDAS_PRODUTO.PEDIDO_COMPRA WHERE VENDAS_PRODUTO.PEDIDO_COMPRA IS NOT NULL AND INSERTED.PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ /*--- Atualiza Custo PA -----------------------------------------------------------------------------------------------*/ BEGIN DECLARE @zPRODUTO CHAR(12), @zCOR_PRODUTO CHAR(10), @zCUSTO1 NUMERIC(6,2), @zCUSTO2 NUMERIC(6,2), @zCUSTO3 NUMERIC(6,2), @zCUSTO4 NUMERIC(6,2), @zCUSTO_MATERIAL NUMERIC(6,2), @Fator_Custo REAL, @zVALOR_ATUAL VARCHAR(40), @zEMISSAO DateTime, @zCUSTO1ICMS NUMERIC(6,2), @zCUSTO2ICMS NUMERIC(6,2), @zCUSTO3ICMS NUMERIC(6,2), @zCUSTO4ICMS NUMERIC(6,2) DECLARE cur_Custo CURSOR FOR SELECT B.PRODUTO, B.COR_PRODUTO, EMISSAO, ''CUSTO1'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO1,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO1*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO1,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO1*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO2'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO2,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO2*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO2,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO2*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO3'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO3,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO3*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO3,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO3*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO4'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO4,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO4*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO4,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO4*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO1ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO1,0)), ''CUSTO2ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO2,0)), ''CUSTO3ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO3,0)), ''CUSTO4ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO4,0)), ''Custo_Material'' = CONVERT(NUMERIC(6,2),ISNULL((SELECT SUM(CASE WHEN MATERIAIS.FATOR_CONVERSAO <> 0 THEN Materiais_cores.CUSTO_A_VISTA/Materiais.FATOR_CONVERSAO*(Produtos_ficha_cor.PORCENTAGEM_CONSUMO/100)*Produtos_ficha.C1 ELSE 0 END) FROM PRODUTOS_FICHA, MATERIAIS_CORES, PRODUTOS_FICHA_COR, MATERIAIS WHERE Produtos_ficha_cor.MATERIAL = Materiais_cores.MATERIAL AND Produtos_ficha_cor.COR_MATERIAL = Materiais_cores.COR_MATERIAL AND Produtos_ficha_cor.PRODUTO = Produtos_ficha.PRODUTO AND Produtos_ficha_cor.MATERIAL = Produtos_ficha.MATERIAL AND Materiais.MATERIAL = Produtos_ficha_cor.MATERIAL AND Produtos_ficha_cor.PRODUTO = B.PRODUTO AND Produtos_ficha_cor.COR_PRODUTO = B.COR_PRODUTO),0)) FROM ENTRADAS A JOIN INSERTED B ON A.NOME_CLIFOR=B.NOME_CLIFOR AND A.NF_ENTRADA=B.NF_ENTRADA JOIN PRODUTO_CORES C ON C.PRODUTO=B.PRODUTO AND C.COR_PRODUTO=B.COR_PRODUTO ORDER BY B.PRODUTO,B.COR_PRODUTO,EMISSAO SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO_ENT'' OPEN CUR_CUSTO FETCH NEXT FROM CUR_CUSTO INTO @zPRODUTO,@zCOR_PRODUTO,@zEMISSAO,@zCUSTO1,@zCUSTO2,@zCUSTO3,@zCUSTO4,@zCUSTO1ICMS,@zCUSTO2ICMS,@zCUSTO3ICMS,@zCUSTO4ICMS,@zCUSTO_MATERIAL WHILE @@FETCH_STATUS = 0 BEGIN IF (SELECT ISNULL(CONVERT(INT,VALOR_ATUAL),0) FROM PARAMETROS WHERE PARAMETRO=''ENTRADA_ATUALIZA_CUSTO_PA'') IN (2,3) BEGIN UPDATE PRODUTOS SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo, DATA_REPOSICAO=@zEMISSAO FROM PRODUTOS WHERE PRODUTOS.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo FROM PRODUTO_CORES, PRODUTOS WHERE PRODUTO_CORES.PRODUTO = PRODUTOS.PRODUTO AND PRODUTO_CORES.PRODUTO = @zPRODUTO AND PRODUTO_CORES.COR_PRODUTO = @zCOR_PRODUTO AND PRODUTOS.VARIA_PRECO_COR = 1 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo FROM PRODUTO_CORES, PRODUTOS WHERE PRODUTO_CORES.PRODUTO = PRODUTOS.PRODUTO AND PRODUTO_CORES.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 END IF EXISTS (SELECT * FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO=(SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO_ENT'')) BEGIN SELECT @zVALOR_ATUAL=RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO_ENT'' UPDATE PRODUTOS_PRECOS SET PRECO1=@zCUSTO1ICMS*@Fator_Custo, PRECO2=@zCUSTO2ICMS*@Fator_Custo, PRECO3=@zCUSTO3ICMS*@Fator_Custo, PRECO4=@zCUSTO4ICMS*@Fator_Custo, ULT_ATUALIZACAO=@zEMISSAO FROM PRODUTOS_PRECOS, PRODUTOS WHERE PRODUTOS_PRECOS.PRODUTO=PRODUTOS.PRODUTO AND PRODUTOS_PRECOS.CODIGO_TAB_PRECO=@zVALOR_ATUAL AND PRODUTOS_PRECOS.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS_PRECOS.ULT_ATUALIZACAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTOS_PRECO_COR SET PRECO1=@zCUSTO1ICMS*@Fator_Custo, PRECO2=@zCUSTO2ICMS*@Fator_Custo, PRECO3=@zCUSTO3ICMS*@Fator_Custo, PRECO4=@zCUSTO4ICMS*@Fator_Custo FROM PRODUTOS_PRECO_COR, PRODUTOS, PRODUTOS_PRECOS WHERE PRODUTOS_PRECO_COR.PRODUTO=PRODUTOS.PRODUTO AND PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=PRODUTOS_PRECOS.CODIGO_TAB_PRECO AND PRODUTOS_PRECO_COR.PRODUTO=PRODUTOS_PRECOS.PRODUTO AND PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=@zVALOR_ATUAL AND PRODUTOS_PRECO_COR.PRODUTO = @zPRODUTO AND PRODUTOS_PRECO_COR.COR_PRODUTO = @zCOR_PRODUTO AND PRODUTOS.VARIA_PRECO_COR = 1 AND PRODUTOS_PRECOS.ULT_ATUALIZACAO < @zEMISSAO AND @zCUSTO1 > 0 END FETCH NEXT FROM CUR_CUSTO INTO @zPRODUTO,@zCOR_PRODUTO,@zEMISSAO,@zCUSTO1,@zCUSTO2,@zCUSTO3,@zCUSTO4,@zCUSTO1ICMS,@zCUSTO2ICMS,@zCUSTO3ICMS,@zCUSTO4ICMS,@zCUSTO_MATERIAL END CLOSE CUR_CUSTO DEALLOCATE CUR_CUSTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted ,ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRODUTO DEALLOCATE cur_ENTRADAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_ENTRADAS_PRODUTO] on [ENTRADAS_PRODUTO] for UPDATE as /* UPDATE trigger on ENTRADAS_PRODUTO */ /* default body for LXU_ENTRADAS_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delITEM char(4), @delPRODUTO char(12), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Verifica Movimentacao Estoque PA ---------------------------------------------------------------------------------*/ DECLARE @xDataSaldo DateTime SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF ( SELECT COUNT(*) FROM Deleted, ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo )+ ( SELECT COUNT(*) FROM Inserted, ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS.RECEBIMENTO <= @xDataSaldo ) > 0 BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' GOTO error END /*--- BLOQUEIO POR AJUSTE ---*/ BEGIN IF EXISTS(SELECT * FROM Deleted, ENTRADAS, ESTOQUE_PRODUTOS WHERE DELETED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND DELETED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=DELETED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=DELETED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) OR EXISTS(SELECT * FROM Inserted, ENTRADAS, ESTOQUE_PRODUTOS WHERE INSERTED.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND INSERTED.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ESTOQUE_PRODUTOS.FILIAL=ENTRADAS.FILIAL AND ESTOQUE_PRODUTOS.PRODUTO=INSERTED.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO=INSERTED.COR_PRODUTO AND ENTRADAS.RECEBIMENTO < ESTOQUE_PRODUTOS.DATA_AJUSTE ) BEGIN SELECT @errno=30002, @errmsg=''Não é possível Alterar Movimentacao de Estoque anterior ao Ajuste !'' GOTO error END END /*---------------------------------------------------------------------------------------------------------------------*/ /* NATUREZAS_ENTRADAS R/1615 ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(NATUREZA_CONTABILIZAR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA_CONTABILIZAR = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA_CONTABILIZAR is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRODUTO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* NATUREZAS_ENTRADAS R/1614 ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(NATUREZA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_ENTRADAS where inserted.NATUREZA = NATUREZAS_ENTRADAS.NATUREZA select @nullcnt = count(*) from inserted where inserted.NATUREZA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRODUTO #porque #NATUREZAS_ENTRADAS #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRODUTO #porque #ENTRADAS #não existe.'' goto error end end /* PRODUTO_CORES PRODUTO_CORES ENTRADAS_PRODUTO ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_PRODUTO #porque #PRODUTO_CORES #não existe.'' goto error end end /* ENTRADAS_PRODUTO R/1670 FATURAM_DEV_PROD ON PARENT UPDATE CASCADE */ IF update(NOME_CLIFOR) OR update(NF_ENTRADA) OR update(ITEM) OR update(PRODUTO) OR update(COR_PRODUTO) BEGIN DECLARE ENTRADAS_PRODUTO1670 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA, ITEM, PRODUTO, COR_PRODUTO FROM INSERTED DECLARE ENTRADAS_PRODUTO13 CURSOR FOR SELECT NOME_CLIFOR, NF_ENTRADA, ITEM, PRODUTO, COR_PRODUTO FROM DELETED OPEN ENTRADAS_PRODUTO1670 OPEN ENTRADAS_PRODUTO13 FETCH NEXT FROM ENTRADAS_PRODUTO1670 INTO @insNOME_CLIFOR, @insNF_ENTRADA, @insITEM, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM ENTRADAS_PRODUTO13 INTO @delNOME_CLIFOR, @delNF_ENTRADA, @delITEM, @delPRODUTO, @delCOR_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAM_DEV_PROD SET FATURAM_DEV_PROD.NOME_CLIFOR=@insNOME_CLIFOR, FATURAM_DEV_PROD.NF_ENTRADA=@insNF_ENTRADA, FATURAM_DEV_PROD.ITEM=@insITEM, FATURAM_DEV_PROD.PRODUTO=@insPRODUTO, FATURAM_DEV_PROD.COR_PRODUTO=@insCOR_PRODUTO WHERE FATURAM_DEV_PROD.NOME_CLIFOR = @delNOME_CLIFOR and FATURAM_DEV_PROD.NF_ENTRADA = @delNF_ENTRADA and FATURAM_DEV_PROD.ITEM = @delITEM and FATURAM_DEV_PROD.PRODUTO = @delPRODUTO and FATURAM_DEV_PROD.COR_PRODUTO = @delCOR_PRODUTO FETCH NEXT FROM ENTRADAS_PRODUTO1670 INTO @insNOME_CLIFOR, @insNF_ENTRADA, @insITEM, @insPRODUTO, @insCOR_PRODUTO FETCH NEXT FROM ENTRADAS_PRODUTO13 INTO @delNOME_CLIFOR, @delNF_ENTRADA, @delITEM, @delPRODUTO, @delCOR_PRODUTO END END CLOSE ENTRADAS_PRODUTO1670 CLOSE ENTRADAS_PRODUTO13 DEALLOCATE ENTRADAS_PRODUTO1670 DEALLOCATE ENTRADAS_PRODUTO13 END /*-- MOVIMENTA VENDA ----------------------------------------------------------------------------------*/ DECLARE @sPEDIDO CHAR(8) DECLARE CUR_VENDAS CURSOR FOR SELECT DISTINCT VENDAS_PRODUTO.PEDIDO FROM INSERTED JOIN VENDAS_PRODUTO ON INSERTED.PEDIDO=VENDAS_PRODUTO.PEDIDO_COMPRA WHERE VENDAS_PRODUTO.PEDIDO_COMPRA IS NOT NULL AND INSERTED.PEDIDO IS NOT NULL OPEN CUR_VENDAS FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO WHILE @@FETCH_STATUS=0 BEGIN EXEC LX_MOVIMENTA_VENDAS_PA @sPEDIDO FETCH NEXT FROM CUR_VENDAS INTO @sPEDIDO END CLOSE CUR_VENDAS DEALLOCATE CUR_VENDAS /*-----------------------------------------------------------------------------------------------------*/ /*--- Atualiza Custo PA -----------------------------------------------------------------------------------------------*/ BEGIN DECLARE @zPRODUTO CHAR(12), @zCOR_PRODUTO CHAR(10), @zCUSTO1 NUMERIC(6,2), @zCUSTO2 NUMERIC(6,2), @zCUSTO3 NUMERIC(6,2), @zCUSTO4 NUMERIC(6,2), @zCUSTO_MATERIAL NUMERIC(6,2), @Fator_Custo REAL, @zVALOR_ATUAL VARCHAR(40), @zEMISSAO DateTime, @zCUSTO1ICMS NUMERIC(6,2), @zCUSTO2ICMS NUMERIC(6,2), @zCUSTO3ICMS NUMERIC(6,2), @zCUSTO4ICMS NUMERIC(6,2) DECLARE cur_Custo CURSOR FOR SELECT B.PRODUTO, B.COR_PRODUTO, EMISSAO, ''CUSTO1'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO1,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO1*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO1,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO1*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO2'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO2,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO2*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO2,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO2*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO3'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO3,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO3*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO3,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO3*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO4'' = ISNULL(CONVERT(NUMERIC(6,2),CASE WHEN ISNULL(A.ICMS_BASE,0) <> 0 THEN ((ISNULL(CUSTO4,0)+((ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0))*ISNULL(VALOR/A.ICMS_BASE,0)))*(1-ISNULL(ICMS_VALOR/ICMS_BASE,0)))+ISNULL(CUSTO4*IPI,0)+((ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0))*ISNULL(VALOR/ICMS_BASE,0)) ELSE (ISNULL(CUSTO4,0)+ISNULL(A.FRETE,0)+ISNULL(A.SEGURO,0)+ISNULL((CUSTO4*IPI),0)+ISNULL(VALOR_FRETE_TRANSPORTADORA,0)+ISNULL(IMPORTACAO_IMPOSTO,0)+ISNULL(IMPORTACAO_ICMS,0)+ISNULL(IMPORTACAO_IPI,0)+ISNULL(IMPORTACAO_ALFANDEGA,0)+ISNULL(IMPORTACAO_OUTRAS_DESPESAS,0)+ISNULL(IMPORTACAO_FRETE,0)+ISNULL(IMPORTACAO_SEGURO,0)+ISNULL(IMPORTACAO_DESEMBARACO,0)) END),0), ''CUSTO1ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO1,0)), ''CUSTO2ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO2,0)), ''CUSTO3ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO3,0)), ''CUSTO4ICMS'' = CONVERT(NUMERIC(6,2),ISNULL(CUSTO4,0)), ''Custo_Material'' = CONVERT(NUMERIC(6,2),ISNULL((SELECT SUM(CASE WHEN MATERIAIS.FATOR_CONVERSAO <> 0 THEN Materiais_cores.CUSTO_A_VISTA/Materiais.FATOR_CONVERSAO*(Produtos_ficha_cor.PORCENTAGEM_CONSUMO/100)*Produtos_ficha.C1 ELSE 0 END) FROM PRODUTOS_FICHA, MATERIAIS_CORES, PRODUTOS_FICHA_COR, MATERIAIS WHERE Produtos_ficha_cor.MATERIAL = Materiais_cores.MATERIAL AND Produtos_ficha_cor.COR_MATERIAL = Materiais_cores.COR_MATERIAL AND Produtos_ficha_cor.PRODUTO = Produtos_ficha.PRODUTO AND Produtos_ficha_cor.MATERIAL = Produtos_ficha.MATERIAL AND Materiais.MATERIAL = Produtos_ficha_cor.MATERIAL AND Produtos_ficha_cor.PRODUTO = B.PRODUTO AND Produtos_ficha_cor.COR_PRODUTO = B.COR_PRODUTO),0)) FROM ENTRADAS A JOIN INSERTED B ON A.NOME_CLIFOR=B.NOME_CLIFOR AND A.NF_ENTRADA=B.NF_ENTRADA JOIN PRODUTO_CORES C ON C.PRODUTO=B.PRODUTO AND C.COR_PRODUTO=B.COR_PRODUTO ORDER BY B.PRODUTO,B.COR_PRODUTO,EMISSAO SELECT @Fator_Custo=1 SELECT @Fator_Custo=CONVERT(REAL,ISNULL(VALOR_ATUAL,''1'')) FROM PARAMETROS WHERE PARAMETRO = ''FATOR_PRECO_CUSTO_ENT'' OPEN CUR_CUSTO FETCH NEXT FROM CUR_CUSTO INTO @zPRODUTO,@zCOR_PRODUTO,@zEMISSAO,@zCUSTO1,@zCUSTO2,@zCUSTO3,@zCUSTO4,@zCUSTO1ICMS,@zCUSTO2ICMS,@zCUSTO3ICMS,@zCUSTO4ICMS,@zCUSTO_MATERIAL WHILE @@FETCH_STATUS = 0 BEGIN IF (SELECT ISNULL(CONVERT(INT,VALOR_ATUAL),0) FROM PARAMETROS WHERE PARAMETRO=''ENTRADA_ATUALIZA_CUSTO_PA'') IN (2,3) BEGIN UPDATE PRODUTOS SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo, DATA_REPOSICAO=@zEMISSAO FROM PRODUTOS WHERE PRODUTOS.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo FROM PRODUTO_CORES, PRODUTOS WHERE PRODUTO_CORES.PRODUTO = PRODUTOS.PRODUTO AND PRODUTO_CORES.PRODUTO = @zPRODUTO AND PRODUTO_CORES.COR_PRODUTO = @zCOR_PRODUTO AND PRODUTOS.VARIA_PRECO_COR = 1 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTO_CORES SET CUSTO_REPOSICAO1=(@zCUSTO1+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO2=(@zCUSTO2+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO3=(@zCUSTO3+@zCUSTO_MATERIAL)*@Fator_Custo, CUSTO_REPOSICAO4=(@zCUSTO4+@zCUSTO_MATERIAL)*@Fator_Custo FROM PRODUTO_CORES, PRODUTOS WHERE PRODUTO_CORES.PRODUTO = PRODUTOS.PRODUTO AND PRODUTO_CORES.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS.DATA_REPOSICAO < @zEMISSAO AND @zCUSTO1 > 0 END IF EXISTS (SELECT * FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO=(SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO_ENT'')) BEGIN SELECT @zVALOR_ATUAL=RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''TABELA_PRECO_CUSTO_ENT'' UPDATE PRODUTOS_PRECOS SET PRECO1=@zCUSTO1ICMS*@Fator_Custo, PRECO2=@zCUSTO2ICMS*@Fator_Custo, PRECO3=@zCUSTO3ICMS*@Fator_Custo, PRECO4=@zCUSTO4ICMS*@Fator_Custo, ULT_ATUALIZACAO=@zEMISSAO FROM PRODUTOS_PRECOS, PRODUTOS WHERE PRODUTOS_PRECOS.PRODUTO=PRODUTOS.PRODUTO AND PRODUTOS_PRECOS.CODIGO_TAB_PRECO=@zVALOR_ATUAL AND PRODUTOS_PRECOS.PRODUTO = @zPRODUTO AND PRODUTOS.VARIA_PRECO_COR = 0 AND PRODUTOS_PRECOS.ULT_ATUALIZACAO < @zEMISSAO AND @zCUSTO1 > 0 UPDATE PRODUTOS_PRECO_COR SET PRECO1=@zCUSTO1ICMS*@Fator_Custo, PRECO2=@zCUSTO2ICMS*@Fator_Custo, PRECO3=@zCUSTO3ICMS*@Fator_Custo, PRECO4=@zCUSTO4ICMS*@Fator_Custo FROM PRODUTOS_PRECO_COR, PRODUTOS, PRODUTOS_PRECOS WHERE PRODUTOS_PRECO_COR.PRODUTO=PRODUTOS.PRODUTO AND PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=PRODUTOS_PRECOS.CODIGO_TAB_PRECO AND PRODUTOS_PRECO_COR.PRODUTO=PRODUTOS_PRECOS.PRODUTO AND PRODUTOS_PRECO_COR.CODIGO_TAB_PRECO=@zVALOR_ATUAL AND PRODUTOS_PRECO_COR.PRODUTO = @zPRODUTO AND PRODUTOS_PRECO_COR.COR_PRODUTO = @zCOR_PRODUTO AND PRODUTOS.VARIA_PRECO_COR = 1 AND PRODUTOS_PRECOS.ULT_ATUALIZACAO < @zEMISSAO AND @zCUSTO1 > 0 END FETCH NEXT FROM CUR_CUSTO INTO @zPRODUTO,@zCOR_PRODUTO,@zEMISSAO,@zCUSTO1,@zCUSTO2,@zCUSTO3,@zCUSTO4,@zCUSTO1ICMS,@zCUSTO2ICMS,@zCUSTO3ICMS,@zCUSTO4ICMS,@zCUSTO_MATERIAL END CLOSE CUR_CUSTO DEALLOCATE CUR_CUSTO END /*---------------------------------------------------------------------------------------------------------------------*/ /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(EN1) OR UPDATE(EN2) OR UPDATE(EN3) OR UPDATE(EN4) OR UPDATE(EN5) OR UPDATE(EN6) OR UPDATE(EN7) OR UPDATE(EN8) OR UPDATE(EN9) OR UPDATE(EN10) OR UPDATE(EN11) OR UPDATE(EN12) OR UPDATE(EN13) OR UPDATE(EN14) OR UPDATE(EN15) OR UPDATE(EN16) OR UPDATE(EN17) OR UPDATE(EN18) OR UPDATE(EN19) OR UPDATE(EN20) OR UPDATE(EN21) OR UPDATE(EN22) OR UPDATE(EN23) OR UPDATE(EN24) OR UPDATE(EN25) OR UPDATE(EN26) OR UPDATE(EN27) OR UPDATE(EN28) OR UPDATE(EN29) OR UPDATE(EN30) OR UPDATE(EN31) OR UPDATE(EN32) OR UPDATE(EN33) OR UPDATE(EN34) OR UPDATE(EN35) OR UPDATE(EN36) OR UPDATE(EN37) OR UPDATE(EN38) OR UPDATE(EN39) OR UPDATE(EN40) OR UPDATE(EN41) OR UPDATE(EN42) OR UPDATE(EN43) OR UPDATE(EN44) OR UPDATE(EN45) OR UPDATE(EN46) OR UPDATE(EN47) OR UPDATE(EN48) BEGIN DECLARE cur_ENTRADAS_PRODUTO CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(EN1), SUM(EN2), SUM(EN3), SUM(EN4), SUM(EN5), SUM(EN6), SUM(EN7), SUM(EN8), SUM(EN9), SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16), SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20), SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28), SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32), SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40), SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44), SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM Inserted ,ENTRADAS WHERE Inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(EN1)*-1, SUM(EN2)*-1, SUM(EN3)*-1, SUM(EN4)*-1, SUM(EN5)*-1, SUM(EN6)*-1, SUM(EN7)*-1, SUM(EN8)*-1, SUM(EN9)*-1, SUM(EN10)*-1,SUM(EN11)*-1,SUM(EN12)*-1, SUM(EN13)*-1,SUM(EN14)*-1,SUM(EN15)*-1,SUM(EN16)*-1, SUM(EN17)*-1,SUM(EN18)*-1,SUM(EN19)*-1,SUM(EN20)*-1, SUM(EN21)*-1,SUM(EN22)*-1,SUM(EN23)*-1,SUM(EN24)*-1, SUM(EN25)*-1,SUM(EN26)*-1,SUM(EN27)*-1,SUM(EN28)*-1, SUM(EN29)*-1,SUM(EN30)*-1,SUM(EN31)*-1,SUM(EN32)*-1, SUM(EN33)*-1,SUM(EN34)*-1,SUM(EN35)*-1,SUM(EN36)*-1, SUM(EN37)*-1,SUM(EN38)*-1,SUM(EN39)*-1,SUM(EN40)*-1, SUM(EN41)*-1,SUM(EN42)*-1,SUM(EN43)*-1,SUM(EN44)*-1, SUM(EN45)*-1,SUM(EN46)*-1,SUM(EN47)*-1,SUM(EN48)*-1 FROM Deleted ,ENTRADAS WHERE Deleted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and Deleted.NF_ENTRADA = ENTRADAS.NF_ENTRADA GROUP BY Produto, Cor_Produto, Filial OPEN cur_ENTRADAS_PRODUTO DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE + @nEstoque, ULTIMA_ENTRADA = GETDATE(), ES1 =ES1 + @nES1, ES2 =ES2 + @nES2, ES3 =ES3 + @nES3, ES4 =ES4 + @nES4, ES5 =ES5 + @nES5, ES6 =ES6 + @nES6, ES7 =ES7 + @nES7, ES8 =ES8 + @nES8, ES9 =ES9 + @nES9, ES10=ES10 + @nES10, ES11=ES11 + @nES11, ES12=ES12 + @nES12, ES13=ES13 + @nES13, ES14=ES14 + @nES14, ES15=ES15 + @nES15, ES16=ES16 + @nES16, ES17=ES17 + @nES17, ES18=ES18 + @nES18, ES19=ES19 + @nES19, ES20=ES20 + @nES20, ES21=ES21 + @nES21, ES22=ES22 + @nES22, ES23=ES23 + @nES23, ES24=ES24 + @nES24, ES25=ES25 + @nES25, ES26=ES26 + @nES26, ES27=ES27 + @nES27, ES28=ES28 + @nES28, ES29=ES29 + @nES29, ES30=ES30 + @nES30, ES31=ES31 + @nES31, ES32=ES32 + @nES32, ES33=ES33 + @nES33, ES34=ES34 + @nES34, ES35=ES35 + @nES35, ES36=ES36 + @nES36, ES37=ES37 + @nES37, ES38=ES38 + @nES38, ES39=ES39 + @nES39, ES40=ES40 + @nES40, ES41=ES41 + @nES41, ES42=ES42 + @nES42, ES43=ES43 + @nES43, ES44=ES44 + @nES44, ES45=ES45 + @nES45, ES46=ES46 + @nES46, ES47=ES47 + @nES47, ES48=ES48 + @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_ENTRADA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque, GETDATE(), @nEs1, @nEs2,@nEs3, @nEs4,@nEs5, @nEs6,@nEs7, @nEs8, @nEs9, @nEs10,@nEs11, @nEs12,@nEs13, @nEs14,@nEs15, @nEs16, @nEs17, @nEs18,@nEs19, @nEs20,@nEs21, @nEs22,@nEs23, @nEs24, @nEs25, @nEs26,@nEs27, @nEs28,@nEs29, @nEs30,@nEs31, @nEs32, @nEs33, @nEs34,@nEs35, @nEs36,@nEs37, @nEs38,@nEs39, @nEs40, @nEs41, @nEs42,@nEs43, @nEs44,@nEs45, @nEs46,@nEs47, @nEs48) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_ENTRADAS_PRODUTO INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_ENTRADAS_PRODUTO DEALLOCATE cur_ENTRADAS_PRODUTO END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[ENTRADAS_PRODUTO].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[CUSTO1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[CUSTO2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[CUSTO3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[CUSTO4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[MATA_SALDO_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[TOTAL_ENTRADAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[QTDE_CANCELADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_PRODUTO].[EN48]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUCAO_FASE]( [FASE_PRODUCAO] [varchar](25) NOT NULL, [DESC_FASE_PRODUCAO] [varchar](40) NULL, [SEQUENCIA_PRODUTIVA] [int] NULL, [FALTA_MATERIAL_BLOQUEIA_OP] [int] NULL, CONSTRAINT [XPKPRODUCAO_FASE] PRIMARY KEY NONCLUSTERED ( [FASE_PRODUCAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUCAO_FASE fecha de la secuencia de comandos: Sep 19 2001 15:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUCAO_FASE] ON [PRODUCAO_FASE] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCAO_FASE'')))=1) RETURN ELSE BEGIN DECLARE @FASE VARCHAR(25) DECLARE FASE CURSOR FOR SELECT FASE_PRODUCAO FROM DELETED OPEN FASE FETCH NEXT FROM FASE INTO @FASE WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASE) BEGIN DELETE FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASE END ELSE BEGIN FETCH NEXT FROM FASE INTO @FASE END FETCH NEXT FROM FASE INTO @FASE END CLOSE FASE DEALLOCATE FASE END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUCAO_FASE fecha de la secuencia de comandos: Sep 19 2001 13:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUCAO_FASE] ON [PRODUCAO_FASE] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_FASE'')))=1 ) RETURN ELSE BEGIN DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() DECLARE @FASE VARCHAR(25) DECLARE FASE CURSOR FOR SELECT FASE_PRODUCAO FROM INSERTED OPEN FASE FETCH NEXT FROM FASE INTO @FASE WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASE) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUCAO_FASE (ID,GF_FASE_PRODUCAO,GF_DESC_FASE_PRO,GF_SECUENCIA_PRO,GF_FALTA_MATERIA,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT IDMAX,FASE_PRODUCAO,DESC_FASE_PRODUCAO,SEQUENCIA_PRODUTIVA,FALTA_MATERIAL_BLOQUEIA_OP, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUCAO_FASE , GF_PRODUCAO_FASECNT WHERE FASE_PRODUCAO=@FASE UPDATE GF_PRODUCAO_FASECNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Fase de Producción, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM FASE INTO @FASE END FETCH NEXT FROM FASE INTO @FASE END CLOSE FASE DEALLOCATE FASE --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUCAO_FASE fecha de la secuencia de comandos: Sep 19 2001 15:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUCAO_FASE] ON [PRODUCAO_FASE] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUCAO_FASE'')))=1 ) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUCAO_FASE'')))=1 ) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUCAO_FASE'')) ) < 2 ) BEGIN DECLARE @FASED VARCHAR(25), @FASE VARCHAR(25) DECLARE FASED CURSOR FOR SELECT FASE_PRODUCAO FROM DELETED DECLARE FASE CURSOR FOR SELECT FASE_PRODUCAO FROM INSERTED OPEN FASED OPEN FASE FETCH NEXT FROM FASED INTO @FASED FETCH NEXT FROM FASE INTO @FASE IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=@FASED) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUCAO_FASE SET GF_FASE_PRODUCAO=@FASE, GF_DESC_FASE_PRO=(SELECT DESC_FASE_PRODUCAO FROM INSERTED WHERE FASE_PRODUCAO=@FASE), GF_SECUENCIA_PRO=(SELECT SEQUENCIA_PRODUTIVA FROM INSERTED WHERE FASE_PRODUCAO=@FASE), GF_FALTA_MATERIA=(SELECT CONVERT(CHAR(1),FALTA_MATERIAL_BLOQUEIA_OP) FROM INSERTED WHERE FASE_PRODUCAO=@FASE), USERM=@USER,FECHAM=GETDATE() WHERE GF_FASE_PRODUCAO=@FASED UPDATE GF_PRODUCAO_SETO SET GF_FASE_PRODUCAO=@FASE WHERE GF_FASE_PRODUCAO=@FASED UPDATE PRODUCAO_SETOR SET FASE_PRODUCAO=@FASE WHERE FASE_PRODUCAO=@FASED --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Fase de Producción, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM FASED INTO @FASED FETCH NEXT FROM FASE INTO @FASE END FETCH NEXT FROM FASED INTO @FASED FETCH NEXT FROM FASE INTO @FASE END CLOSE FASED DEALLOCATE FASED CLOSE FASE DEALLOCATE FASE END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUCAO_FASE] on [PRODUCAO_FASE] for DELETE as /* DELETE trigger on PRODUCAO_FASE */ begin declare @errno int, @errmsg varchar(255) /* PRODUCAO_FASE R/1785 PRODUCAO_OS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUCAO_OS where PRODUCAO_OS.FASE_PRODUCAO = deleted.FASE_PRODUCAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUCAO_FASE #porque existem registros em #PRODUCAO_OS#.'' goto error end /* PRODUCAO_FASE R/1530 PRODUCAO_RECURSOS_FASE ON PARENT DELETE CASCADE */ delete PRODUCAO_RECURSOS_FASE from PRODUCAO_RECURSOS_FASE,deleted where PRODUCAO_RECURSOS_FASE.FASE_PRODUCAO = deleted.FASE_PRODUCAO /* PRODUCAO_FASE PRODUCAO_FASE PRODUCAO_SETOR ON PARENT DELETE CASCADE */ delete PRODUCAO_SETOR from PRODUCAO_SETOR,deleted where PRODUCAO_SETOR.FASE_PRODUCAO = deleted.FASE_PRODUCAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUCAO_FASE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUCAO_FASE] on [PRODUCAO_FASE] for UPDATE as /* UPDATE trigger on PRODUCAO_FASE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFASE_PRODUCAO varchar(25), @delFASE_PRODUCAO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_FASE R/1785 PRODUCAO_OS ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_FASE1785 CURSOR FOR SELECT FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_FASE62 CURSOR FOR SELECT FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_FASE1785 OPEN PRODUCAO_FASE62 FETCH NEXT FROM PRODUCAO_FASE1785 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_OS SET PRODUCAO_OS.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_OS.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE1785 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO END END CLOSE PRODUCAO_FASE1785 CLOSE PRODUCAO_FASE62 DEALLOCATE PRODUCAO_FASE1785 DEALLOCATE PRODUCAO_FASE62 END /* PRODUCAO_FASE R/1530 PRODUCAO_RECURSOS_FASE ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_FASE1530 CURSOR FOR SELECT FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_FASE62 CURSOR FOR SELECT FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_FASE1530 OPEN PRODUCAO_FASE62 FETCH NEXT FROM PRODUCAO_FASE1530 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_RECURSOS_FASE SET PRODUCAO_RECURSOS_FASE.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_RECURSOS_FASE.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE1530 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO END END CLOSE PRODUCAO_FASE1530 CLOSE PRODUCAO_FASE62 DEALLOCATE PRODUCAO_FASE1530 DEALLOCATE PRODUCAO_FASE62 END /* PRODUCAO_FASE PRODUCAO_FASE PRODUCAO_SETOR ON PARENT UPDATE CASCADE */ IF update(FASE_PRODUCAO) BEGIN DECLARE PRODUCAO_FASE783 CURSOR FOR SELECT FASE_PRODUCAO FROM INSERTED DECLARE PRODUCAO_FASE62 CURSOR FOR SELECT FASE_PRODUCAO FROM DELETED OPEN PRODUCAO_FASE783 OPEN PRODUCAO_FASE62 FETCH NEXT FROM PRODUCAO_FASE783 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_SETOR SET PRODUCAO_SETOR.FASE_PRODUCAO=@insFASE_PRODUCAO WHERE PRODUCAO_SETOR.FASE_PRODUCAO = @delFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE783 INTO @insFASE_PRODUCAO FETCH NEXT FROM PRODUCAO_FASE62 INTO @delFASE_PRODUCAO END END CLOSE PRODUCAO_FASE783 CLOSE PRODUCAO_FASE62 DEALLOCATE PRODUCAO_FASE783 DEALLOCATE PRODUCAO_FASE62 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_FASE].[SEQUENCIA_PRODUTIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUCAO_FASE].[FALTA_MATERIAL_BLOQUEIA_OP]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_MATERIAIS]( [MATERIAL] [char](11) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [QTDE_ESTOQUE] [decimal](10, 3) NULL, [QTDE_ESTOQUE_AUX] [decimal](10, 3) NULL, [CUSTO_MEDIO] [numeric](15, 5) NULL, [SALDO_ANTERIOR] [decimal](10, 3) NULL, [SALDO_ANTERIOR_AUX] [decimal](10, 3) NULL, [DATA_SALDO_ANT] [datetime] NULL, [ULTIMO_CUSTO] [numeric](15, 5) NULL, [ULTIMA_ENTRADA] [datetime] NULL, [ULTIMA_SAIDA] [datetime] NULL, [DATA_CUSTO_MEDIO] [datetime] NULL, [DATA_ULT_CUSTO] [datetime] NULL, [ESTOQUE_IDEAL] [decimal](10, 3) NULL, [PONTO_ENCOMENDA] [decimal](10, 3) NULL, CONSTRAINT [XPKESTOQUE_MATERIAIS] PRIMARY KEY NONCLUSTERED ( [MATERIAL] ASC, [FILIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS]') AND name = N'XIE1ESTOQUE_MATERIAIS') CREATE NONCLUSTERED INDEX [XIE1ESTOQUE_MATERIAIS] ON [ESTOQUE_MATERIAIS] ( [FILIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS]') AND name = N'XIE2ESTOQUE_MATERIAIS') CREATE NONCLUSTERED INDEX [XIE2ESTOQUE_MATERIAIS] ON [ESTOQUE_MATERIAIS] ( [QTDE_ESTOQUE] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ESTOQUE_MATERIAIS]') AND name = N'XIE3ESTOQUE_MATERIAIS') CREATE NONCLUSTERED INDEX [XIE3ESTOQUE_MATERIAIS] ON [ESTOQUE_MATERIAIS] ( [MATERIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ESTOQUE_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ESTOQUE_MATERIAIS] on [ESTOQUE_MATERIAIS] for DELETE as /* DELETE trigger on ESTOQUE_MATERIAIS */ begin declare @errno int, @errmsg varchar(255) /* ESTOQUE_MATERIAIS ESTOQUE_MATERIAIS ESTOQUE_MAT_PECA ON PARENT DELETE CASCADE */ delete ESTOQUE_MAT_PECA from ESTOQUE_MAT_PECA,deleted where ESTOQUE_MAT_PECA.MATERIAL = deleted.MATERIAL and ESTOQUE_MAT_PECA.FILIAL = deleted.FILIAL and ESTOQUE_MAT_PECA.COR_MATERIAL = deleted.COR_MATERIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_MATERIAIS] on [ESTOQUE_MATERIAIS] for INSERT as /* INSERT trigger on ESTOQUE_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MATERIAIS ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MATERIAIS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_MATERIAIS ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_MATERIAIS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_MATERIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_MATERIAIS] on [ESTOQUE_MATERIAIS] for UPDATE as /* UPDATE trigger on ESTOQUE_MATERIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMATERIAL char(11), @insFILIAL varchar(25), @insCOR_MATERIAL char(10), @delMATERIAL char(11), @delFILIAL varchar(25), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ESTOQUE_MATERIAIS ESTOQUE_MATERIAIS ESTOQUE_MAT_PECA ON PARENT UPDATE CASCADE */ IF update(MATERIAL) OR update(FILIAL) OR update(COR_MATERIAL) BEGIN DECLARE ESTOQUE_MATERIAIS616 CURSOR FOR SELECT MATERIAL, FILIAL, COR_MATERIAL FROM INSERTED DECLARE ESTOQUE_MATERIAIS65 CURSOR FOR SELECT MATERIAL, FILIAL, COR_MATERIAL FROM DELETED OPEN ESTOQUE_MATERIAIS616 OPEN ESTOQUE_MATERIAIS65 FETCH NEXT FROM ESTOQUE_MATERIAIS616 INTO @insMATERIAL, @insFILIAL, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MATERIAIS65 INTO @delMATERIAL, @delFILIAL, @delCOR_MATERIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ESTOQUE_MAT_PECA SET ESTOQUE_MAT_PECA.MATERIAL=@insMATERIAL, ESTOQUE_MAT_PECA.FILIAL=@insFILIAL, ESTOQUE_MAT_PECA.COR_MATERIAL=@insCOR_MATERIAL WHERE ESTOQUE_MAT_PECA.MATERIAL = @delMATERIAL and ESTOQUE_MAT_PECA.FILIAL = @delFILIAL and ESTOQUE_MAT_PECA.COR_MATERIAL = @delCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MATERIAIS616 INTO @insMATERIAL, @insFILIAL, @insCOR_MATERIAL FETCH NEXT FROM ESTOQUE_MATERIAIS65 INTO @delMATERIAL, @delFILIAL, @delCOR_MATERIAL END END CLOSE ESTOQUE_MATERIAIS616 CLOSE ESTOQUE_MATERIAIS65 DEALLOCATE ESTOQUE_MATERIAIS616 DEALLOCATE ESTOQUE_MATERIAIS65 END /* MATERIAIS_CORES MATERIAIS_CORES ESTOQUE_MATERIAIS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MATERIAIS #porque #MATERIAIS_CORES #não existe.'' goto error end end /* FILIAIS FILIAIS ESTOQUE_MATERIAIS ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_MATERIAIS #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[QTDE_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[QTDE_ESTOQUE_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[CUSTO_MEDIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[SALDO_ANTERIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[SALDO_ANTERIOR_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[ULTIMO_CUSTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[ESTOQUE_IDEAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_MATERIAIS].[PONTO_ENCOMENDA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_BARRA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_BARRA]( [CODIGO_BARRA] [varchar](25) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [TAMANHO] [int] NULL, [GRADE] [varchar](8) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [CODIGO_BARRA_PADRAO] [bit] NULL, [NOME_CLIFOR] [char](25) NULL, [xml_envio] [binary](10) NOT NULL DEFAULT (0), CONSTRAINT [XPKPRODUTOS_BARRA] PRIMARY KEY NONCLUSTERED ( [CODIGO_BARRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[PRODUTOS_BARRA]') AND name = N'XIE1PRODUTOS_BARRA') CREATE NONCLUSTERED INDEX [XIE1PRODUTOS_BARRA] ON [PRODUTOS_BARRA] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [TAMANHO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_BARRA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_BARRA] on [PRODUTOS_BARRA] for DELETE as /* DELETE trigger on PRODUTOS_BARRA */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_BARRA R/2008 COLETOR_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_CAIXA where COLETOR_CAIXA.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_BARRA #porque existem registros em #COLETOR_CAIXA#.'' goto error end /* PRODUTOS_BARRA R/2002 COLETOR_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_PRODUTO where COLETOR_PRODUTO.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_BARRA #porque existem registros em #COLETOR_PRODUTO#.'' goto error end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_TROCA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_TROCA where LOJA_VENDA_TROCA.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_BARRA #porque existem registros em #LOJA_VENDA_TROCA#.'' goto error end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PRODUTO where LOJA_VENDA_PRODUTO.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_BARRA #porque existem registros em #LOJA_VENDA_PRODUTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_BARRA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_BARRA] on [PRODUTOS_BARRA] for INSERT as /* INSERT trigger on PRODUTOS_BARRA */ /* default body for LXI_PRODUTOS_BARRA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_BARRA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_BARRA ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_BARRA #porque #PRODUTO_CORES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_BARRA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_BARRA, INSERTED WHERE PRODUTOS_BARRA.CODIGO_BARRA = INSERTED.CODIGO_BARRA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_BARRA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_BARRA] on [PRODUTOS_BARRA] for UPDATE as /* UPDATE trigger on PRODUTOS_BARRA */ /* default body for LXU_PRODUTOS_BARRA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_BARRA varchar(25), @delCODIGO_BARRA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES PRODUTOS_BARRA ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_BARRA #porque #PRODUTO_CORES #não existe.'' goto error end end /* PRODUTOS_BARRA R/2008 COLETOR_CAIXA ON PARENT UPDATE CASCADE */ IF update(CODIGO_BARRA) BEGIN DECLARE PRODUTOS_BARRA2008 CURSOR FOR SELECT CODIGO_BARRA FROM INSERTED DECLARE PRODUTOS_BARRA169 CURSOR FOR SELECT CODIGO_BARRA FROM DELETED OPEN PRODUTOS_BARRA2008 OPEN PRODUTOS_BARRA169 FETCH NEXT FROM PRODUTOS_BARRA2008 INTO @insCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA169 INTO @delCODIGO_BARRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_CAIXA SET COLETOR_CAIXA.CODIGO_BARRA=@insCODIGO_BARRA WHERE COLETOR_CAIXA.CODIGO_BARRA = @delCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA2008 INTO @insCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA169 INTO @delCODIGO_BARRA END END CLOSE PRODUTOS_BARRA2008 CLOSE PRODUTOS_BARRA169 DEALLOCATE PRODUTOS_BARRA2008 DEALLOCATE PRODUTOS_BARRA169 END /* PRODUTOS_BARRA R/2002 COLETOR_PRODUTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_BARRA) BEGIN DECLARE PRODUTOS_BARRA2002 CURSOR FOR SELECT CODIGO_BARRA FROM INSERTED DECLARE PRODUTOS_BARRA169 CURSOR FOR SELECT CODIGO_BARRA FROM DELETED OPEN PRODUTOS_BARRA2002 OPEN PRODUTOS_BARRA169 FETCH NEXT FROM PRODUTOS_BARRA2002 INTO @insCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA169 INTO @delCODIGO_BARRA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_PRODUTO SET COLETOR_PRODUTO.CODIGO_BARRA=@insCODIGO_BARRA WHERE COLETOR_PRODUTO.CODIGO_BARRA = @delCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA2002 INTO @insCODIGO_BARRA FETCH NEXT FROM PRODUTOS_BARRA169 INTO @delCODIGO_BARRA END END CLOSE PRODUTOS_BARRA2002 CLOSE PRODUTOS_BARRA169 DEALLOCATE PRODUTOS_BARRA2002 DEALLOCATE PRODUTOS_BARRA169 END /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_TROCA ON PARENT UPDATE RESTRICT */ if update(CODIGO_BARRA) begin if exists ( select * from deleted,LOJA_VENDA_TROCA where LOJA_VENDA_TROCA.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_BARRA #porque existem registros em #LOJA_VENDA_TROCA#.'' goto error end end /* PRODUTOS_BARRA PRODUTOS_BARRA LOJA_VENDA_PRODUTO ON PARENT UPDATE RESTRICT */ if update(CODIGO_BARRA) begin if exists ( select * from deleted,LOJA_VENDA_PRODUTO where LOJA_VENDA_PRODUTO.CODIGO_BARRA = deleted.CODIGO_BARRA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #PRODUTOS_BARRA #porque existem registros em #LOJA_VENDA_PRODUTO#.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_BARRA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_BARRA, INSERTED WHERE PRODUTOS_BARRA.CODIGO_BARRA = INSERTED.CODIGO_BARRA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_BARRA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_BARRA].[TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_BARRA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTOS_BARRA].[CODIGO_BARRA_PADRAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAM_DEV_PROD]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FATURAM_DEV_PROD]( [FILIAL] [varchar](25) NOT NULL, [NF_SAIDA] [char](7) NOT NULL, [SERIE_NF] [char](2) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [ITEM] [char](4) NOT NULL, [PRODUTO] [char](12) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [FAIXA] [char](1) NOT NULL, [IPI] [real] NULL, [ICMS] [numeric](8, 1) NULL, [DESCONTO_ITEM] [numeric](14, 2) NULL, [QTDE] [int] NULL, [PRECO] [numeric](14, 2) NULL, [VALOR] [numeric](14, 2) NULL, [F1] [int] NULL, [F2] [int] NULL, [F3] [int] NULL, [F4] [int] NULL, [F5] [int] NULL, [F6] [int] NULL, [F7] [int] NULL, [F8] [int] NULL, [F9] [int] NULL, [F10] [int] NULL, [F11] [int] NULL, [F12] [int] NULL, [F13] [int] NULL, [F14] [int] NULL, [F15] [int] NULL, [F16] [int] NULL, [F17] [int] NULL, [F18] [int] NULL, [F19] [int] NULL, [F20] [int] NULL, [F21] [int] NULL, [F22] [int] NULL, [F23] [int] NULL, [F24] [int] NULL, [F25] [int] NULL, [F26] [int] NULL, [F27] [int] NULL, [F28] [int] NULL, [F29] [int] NULL, [F30] [int] NULL, [F31] [int] NULL, [F32] [int] NULL, [F33] [int] NULL, [F34] [int] NULL, [F35] [int] NULL, [F36] [int] NULL, [F37] [int] NULL, [F38] [int] NULL, [F39] [int] NULL, [F40] [int] NULL, [F41] [int] NULL, [F42] [int] NULL, [F43] [int] NULL, [F44] [int] NULL, [F45] [int] NULL, [F46] [int] NULL, [F47] [int] NULL, [F48] [int] NULL, [MOEDA] [char](6) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, CONSTRAINT [XPKFATURAM_DEV_PROD] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NF_SAIDA] ASC, [SERIE_NF] ASC, [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [ITEM] ASC, [PRODUTO] ASC, [COR_PRODUTO] ASC, [FAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAM_DEV_PROD]') AND name = N'XIE1FATURAM_DEV_PROD') CREATE NONCLUSTERED INDEX [XIE1FATURAM_DEV_PROD] ON [FATURAM_DEV_PROD] ( [NF_ENTRADA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[FATURAM_DEV_PROD]') AND name = N'XIE2FATURAM_DEV_PROD') CREATE NONCLUSTERED INDEX [XIE2FATURAM_DEV_PROD] ON [FATURAM_DEV_PROD] ( [PRODUTO] ASC, [COR_PRODUTO] ASC, [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FATURAM_DEV_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FATURAM_DEV_PROD] on [FATURAM_DEV_PROD] for DELETE as /* DELETE trigger on FATURAM_DEV_PROD */ /* default body for LXD_FATURAM_DEV_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFAIXA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ DECLARE cur_FATURAM_DEV_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAM_DEV_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAM_DEV_PROD DEALLOCATE cur_FATURAM_DEV_PROD /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_FATURAM_DEV_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_FATURAM_DEV_PROD] on [FATURAM_DEV_PROD] for INSERT as /* INSERT trigger on FATURAM_DEV_PROD */ /* default body for LXI_FATURAM_DEV_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFAIXA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_PRODUTO R/1670 FATURAM_DEV_PROD ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) or update(ITEM) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_PRODUTO where inserted.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA and inserted.ITEM = ENTRADAS_PRODUTO.ITEM and inserted.PRODUTO = ENTRADAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = ENTRADAS_PRODUTO.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_PROD #porque #ENTRADAS_PRODUTO #não existe.'' goto error end end /* FATURAMENTO R/1669 FATURAM_DEV_PROD ON CHILD INSERT RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #FATURAM_DEV_PROD #porque #FATURAMENTO #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_FATURAM_DEV_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAM_DEV_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAM_DEV_PROD DEALLOCATE cur_FATURAM_DEV_PROD END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FATURAM_DEV_PROD]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FATURAM_DEV_PROD] on [FATURAM_DEV_PROD] for UPDATE as /* UPDATE trigger on FATURAM_DEV_PROD */ /* default body for LXU_FATURAM_DEV_PROD */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNF_SAIDA char(7), @insSERIE_NF char(2), @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insITEM char(4), @insPRODUTO char(12), @insCOR_PRODUTO char(10), @insFAIXA char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ENTRADAS_PRODUTO R/1670 FATURAM_DEV_PROD ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) or update(ITEM) or update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS_PRODUTO where inserted.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA and inserted.ITEM = ENTRADAS_PRODUTO.ITEM and inserted.PRODUTO = ENTRADAS_PRODUTO.PRODUTO and inserted.COR_PRODUTO = ENTRADAS_PRODUTO.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_PROD #porque #ENTRADAS_PRODUTO #não existe.'' goto error end end /* FATURAMENTO R/1669 FATURAM_DEV_PROD ON CHILD UPDATE RESTRICT */ if update(FILIAL) or update(NF_SAIDA) or update(SERIE_NF) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO where inserted.FILIAL = FATURAMENTO.FILIAL and inserted.NF_SAIDA = FATURAMENTO.NF_SAIDA and inserted.SERIE_NF = FATURAMENTO.SERIE_NF if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #FATURAM_DEV_PROD #porque #FATURAMENTO #não existe.'' goto error end end /*-- Atualiza Estoque PA ----------------------------------------------------------------------------------------------*/ /* Atualizacao de Estoque */ IF UPDATE(PRODUTO) OR UPDATE(COR_PRODUTO) OR UPDATE(FILIAL) OR UPDATE(F1) OR UPDATE(F2) OR UPDATE(F3) OR UPDATE(F4) OR UPDATE(F5) OR UPDATE(F6) OR UPDATE(F7) OR UPDATE(F8) OR UPDATE(F9) OR UPDATE(F10) OR UPDATE(F11) OR UPDATE(F12) OR UPDATE(F13) OR UPDATE(F14) OR UPDATE(F15) OR UPDATE(F16) OR UPDATE(F17) OR UPDATE(F18) OR UPDATE(F19) OR UPDATE(F20) OR UPDATE(F21) OR UPDATE(F22) OR UPDATE(F23) OR UPDATE(F24) OR UPDATE(F25) OR UPDATE(F26) OR UPDATE(F27) OR UPDATE(F28) OR UPDATE(F29) OR UPDATE(F30) OR UPDATE(F31) OR UPDATE(F32) OR UPDATE(F33) OR UPDATE(F34) OR UPDATE(F35) OR UPDATE(F36) OR UPDATE(F37) OR UPDATE(F38) OR UPDATE(F39) OR UPDATE(F40) OR UPDATE(F41) OR UPDATE(F42) OR UPDATE(F43) OR UPDATE(F44) OR UPDATE(F45) OR UPDATE(F46) OR UPDATE(F47) OR UPDATE(F48) BEGIN DECLARE cur_FATURAM_DEV_PROD CURSOR FOR SELECT Produto, Cor_Produto, Filial, SUM(F1), SUM(F2), SUM(F3), SUM(F4), SUM(F5), SUM(F6), SUM(F7), SUM(F8), SUM(F9), SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16), SUM(F17),SUM(F18),SUM(F19),SUM(F20), SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28), SUM(F29),SUM(F30),SUM(F31),SUM(F32), SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40), SUM(F41),SUM(F42),SUM(F43),SUM(F44), SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM Inserted GROUP BY Produto, Cor_Produto, Filial UNION SELECT Produto, Cor_Produto, Filial, SUM(F1)*-1, SUM(F2)*-1, SUM(F3)*-1, SUM(F4)*-1, SUM(F5)*-1, SUM(F6)*-1, SUM(F7)*-1, SUM(F8)*-1, SUM(F9)*-1, SUM(F10)*-1,SUM(F11)*-1,SUM(F12)*-1, SUM(F13)*-1,SUM(F14)*-1,SUM(F15)*-1,SUM(F16)*-1, SUM(F17)*-1,SUM(F18)*-1,SUM(F19)*-1,SUM(F20)*-1, SUM(F21)*-1,SUM(F22)*-1,SUM(F23)*-1,SUM(F24)*-1, SUM(F25)*-1,SUM(F26)*-1,SUM(F27)*-1,SUM(F28)*-1, SUM(F29)*-1,SUM(F30)*-1,SUM(F31)*-1,SUM(F32)*-1, SUM(F33)*-1,SUM(F34)*-1,SUM(F35)*-1,SUM(F36)*-1, SUM(F37)*-1,SUM(F38)*-1,SUM(F39)*-1,SUM(F40)*-1, SUM(F41)*-1,SUM(F42)*-1,SUM(F43)*-1,SUM(F44)*-1, SUM(F45)*-1,SUM(F46)*-1,SUM(F47)*-1,SUM(F48)*-1 FROM Deleted GROUP BY Produto, Cor_Produto, Filial OPEN cur_FATURAM_DEV_PROD DECLARE @cProduto Char(12), @cCor_Produto Char(10), @cFilial VarChar(25), @nEstoque Int, @nEs1 Int, @nEs2 Int, @nEs3 Int, @nEs4 Int, @nEs5 Int, @nEs6 Int, @nEs7 Int, @nEs8 Int, @nEs9 Int, @nEs10 Int, @nEs11 Int, @nEs12 Int, @nEs13 Int, @nEs14 Int, @nEs15 Int, @nEs16 Int, @nEs17 Int, @nEs18 Int, @nEs19 Int, @nEs20 Int, @nEs21 Int, @nEs22 Int, @nEs23 Int, @nEs24 Int, @nEs25 Int, @nEs26 Int, @nEs27 Int, @nEs28 Int, @nEs29 Int, @nEs30 Int, @nEs31 Int, @nEs32 Int, @nEs33 Int, @nEs34 Int, @nEs35 Int, @nEs36 Int, @nEs37 Int, @nEs38 Int, @nEs39 Int, @nEs40 Int, @nEs41 Int, @nEs42 Int, @nEs43 Int, @nEs44 Int, @nEs45 Int, @nEs46 Int, @nEs47 Int, @nEs48 Int FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto,@cCor_Produto,@cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 WHILE (@@Fetch_Status = 0) BEGIN SELECT @nEstoque = @nEs1 + @nEs2 + @nEs3 + @nEs4 + @nEs5 + @nEs6 + @nEs7 + @nEs8 + @nEs9 + @nEs10 + @nEs11 + @nEs12 + @nEs13 + @nEs14 + @nEs15 + @nEs16 + @nEs17 + @nEs18 + @nEs19 + @nEs20 + @nEs21 + @nEs22 + @nEs23 + @nEs24 + @nEs25 + @nEs26 + @nEs27 + @nEs28 + @nEs29 + @nEs30 + @nEs31 + @nEs32 + @nEs33 + @nEs34 + @nEs35 + @nEs36 + @nEs37 + @nEs38 + @nEs39 + @nEs40 + @nEs41 + @nEs42 + @nEs43 + @nEs44 + @nEs45 + @nEs46 + @nEs47 + @nEs48 IF (SELECT COUNT(*) FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial) > 0 UPDATE ESTOQUE_PRODUTOS SET ESTOQUE = ESTOQUE - @nEstoque, ULTIMA_SAIDA = GETDATE(), ES1 =ES1 - @nES1, ES2 =ES2 - @nES2, ES3 =ES3 - @nES3, ES4 =ES4 - @nES4, ES5 =ES5 - @nES5, ES6 =ES6 - @nES6, ES7 =ES7 - @nES7, ES8 =ES8 - @nES8, ES9 =ES9 - @nES9, ES10=ES10 - @nES10, ES11=ES11 - @nES11, ES12=ES12 - @nES12, ES13=ES13 - @nES13, ES14=ES14 - @nES14, ES15=ES15 - @nES15, ES16=ES16 - @nES16, ES17=ES17 - @nES17, ES18=ES18 - @nES18, ES19=ES19 - @nES19, ES20=ES20 - @nES20, ES21=ES21 - @nES21, ES22=ES22 - @nES22, ES23=ES23 - @nES23, ES24=ES24 - @nES24, ES25=ES25 - @nES25, ES26=ES26 - @nES26, ES27=ES27 - @nES27, ES28=ES28 - @nES28, ES29=ES29 - @nES29, ES30=ES30 - @nES30, ES31=ES31 - @nES31, ES32=ES32 - @nES32, ES33=ES33 - @nES33, ES34=ES34 - @nES34, ES35=ES35 - @nES35, ES36=ES36 - @nES36, ES37=ES37 - @nES37, ES38=ES38 - @nES38, ES39=ES39 - @nES39, ES40=ES40 - @nES40, ES41=ES41 - @nES41, ES42=ES42 - @nES42, ES43=ES43 - @nES43, ES44=ES44 - @nES44, ES45=ES45 - @nES45, ES46=ES46 - @nES46, ES47=ES47 - @nES47, ES48=ES48 - @nES48 FROM estoque_produtos WHERE PRODUTO=@cProduto AND COR_PRODUTO=@cCor_Produto AND FILIAL=@cFilial ELSE INSERT INTO Estoque_Produtos (Produto,Cor_Produto,Filial,Estoque, ULTIMA_SAIDA, Es1, Es2, Es3, Es4, Es5, Es6, Es7, Es8, Es9, Es10, Es11, Es12, Es13, Es14, Es15, Es16, Es17, Es18, Es19, Es20, Es21, Es22, Es23, Es24, Es25, Es26, Es27, Es28, Es29, Es30, Es31, Es32, Es33, Es34, Es35, Es36, Es37, Es38, Es39, Es40, Es41, Es42, Es43, Es44, Es45, Es46, Es47, Es48) VALUES(@cProduto, @cCor_Produto, @cFilial, @nEstoque*-1, GETDATE(), @nEs1*-1, @nEs2*-1,@nEs3*-1, @nEs4*-1,@nEs5*-1, @nEs6*-1,@nEs7*-1, @nEs8*-1, @nEs9*-1, @nEs10*-1,@nEs11*-1, @nEs12*-1,@nEs13*-1, @nEs14*-1,@nEs15*-1, @nEs16*-1, @nEs17*-1, @nEs18*-1,@nEs19*-1, @nEs20*-1,@nEs21*-1, @nEs22*-1,@nEs23*-1, @nEs24*-1, @nEs25*-1, @nEs26*-1,@nEs27*-1, @nEs28*-1,@nEs29*-1, @nEs30*-1,@nEs31*-1, @nEs32*-1, @nEs33*-1, @nEs34*-1,@nEs35*-1, @nEs36*-1,@nEs37*-1, @nEs38*-1,@nEs39*-1, @nEs40*-1, @nEs41*-1, @nEs42*-1,@nEs43*-1, @nEs44*-1,@nEs45*-1, @nEs46*-1,@nEs47*-1, @nEs48*-1) IF @@ROWCOUNT = 0 BEGIN select @errno = 30002, @errmsg = ''Operação Cancelada, Não foi Possível Atualizar #ESTOQUE_PRODUTOS#.'' goto error END FETCH NEXT FROM cur_FATURAM_DEV_PROD INTO @cProduto, @cCor_Produto, @cFilial, @nEs1, @nEs2, @nEs3, @nEs4, @nEs5, @nEs6, @nEs7, @nEs8, @nEs9, @nEs10, @nEs11, @nEs12, @nEs13, @nEs14, @nEs15, @nEs16, @nEs17, @nEs18, @nEs19, @nEs20, @nEs21, @nEs22, @nEs23, @nEs24, @nEs25, @nEs26, @nEs27, @nEs28, @nEs29, @nEs30, @nEs31, @nEs32, @nEs33, @nEs34, @nEs35, @nEs36, @nEs37, @nEs38, @nEs39, @nEs40, @nEs41, @nEs42, @nEs43, @nEs44, @nEs45, @nEs46, @nEs47, @nEs48 END CLOSE cur_FATURAM_DEV_PROD DEALLOCATE cur_FATURAM_DEV_PROD END /*---------------------------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[IPI]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[ICMS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[DESCONTO_ITEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[FATURAM_DEV_PROD].[F48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[FATURAM_DEV_PROD].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_DESENHO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_DESENHO]( [DESENHO] [char](10) NOT NULL, [TIPO_DESENHO] [varchar](20) NULL, [MEIO_PRODUCAO_DESENHO] [varchar](25) NULL, [DESC_DESENHO] [varchar](40) NULL, [NUMERO_CORES] [int] NULL, [ARQUIVO_IMAGEM_DESENHO] [varchar](100) NOT NULL, CONSTRAINT [XPKMATERIAIS_DESENHO] PRIMARY KEY NONCLUSTERED ( [DESENHO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_DESENHO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_DESENHO] on [MATERIAIS_DESENHO] for DELETE as /* DELETE trigger on MATERIAIS_DESENHO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_DESENHO R/2102 MATERIAIS_DESENHO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_DESENHO_CORES where MATERIAIS_DESENHO_CORES.DESENHO = deleted.DESENHO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_DESENHO #porque existem registros em #MATERIAIS_DESENHO_CORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_DESENHO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_DESENHO] on [MATERIAIS_DESENHO] for INSERT as /* INSERT trigger on MATERIAIS_DESENHO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_DESENHO_TIPO R/1996 MATERIAIS_DESENHO ON CHILD INSERT RESTRICT */ if update(TIPO_DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO_TIPO where inserted.TIPO_DESENHO = MATERIAIS_DESENHO_TIPO.TIPO_DESENHO select @nullcnt = count(*) from inserted where inserted.TIPO_DESENHO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_DESENHO #porque #MATERIAIS_DESENHO_TIPO #não existe.'' goto error end end /* MATERIAIS_DESENHO_MEIO_PRODUCAO R/1995 MATERIAIS_DESENHO ON CHILD INSERT RESTRICT */ if update(MEIO_PRODUCAO_DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO_MEIO_PRODUCAO where inserted.MEIO_PRODUCAO_DESENHO = MATERIAIS_DESENHO_MEIO_PRODUCAO.MEIO_PRODUCAO_DESENHO select @nullcnt = count(*) from inserted where inserted.MEIO_PRODUCAO_DESENHO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_DESENHO #porque #MATERIAIS_DESENHO_MEIO_PRODUCAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_DESENHO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_DESENHO] on [MATERIAIS_DESENHO] for UPDATE as /* UPDATE trigger on MATERIAIS_DESENHO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDESENHO char(10), @delDESENHO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_DESENHO R/2102 MATERIAIS_DESENHO_CORES ON PARENT UPDATE CASCADE */ IF update(DESENHO) BEGIN DECLARE MATERIAIS_DESENHO2102 CURSOR FOR SELECT DESENHO FROM INSERTED DECLARE MATERIAIS_DESENHO1117 CURSOR FOR SELECT DESENHO FROM DELETED OPEN MATERIAIS_DESENHO2102 OPEN MATERIAIS_DESENHO1117 FETCH NEXT FROM MATERIAIS_DESENHO2102 INTO @insDESENHO FETCH NEXT FROM MATERIAIS_DESENHO1117 INTO @delDESENHO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_DESENHO_CORES SET MATERIAIS_DESENHO_CORES.DESENHO=@insDESENHO WHERE MATERIAIS_DESENHO_CORES.DESENHO = @delDESENHO FETCH NEXT FROM MATERIAIS_DESENHO2102 INTO @insDESENHO FETCH NEXT FROM MATERIAIS_DESENHO1117 INTO @delDESENHO END END CLOSE MATERIAIS_DESENHO2102 CLOSE MATERIAIS_DESENHO1117 DEALLOCATE MATERIAIS_DESENHO2102 DEALLOCATE MATERIAIS_DESENHO1117 END /* MATERIAIS_DESENHO_TIPO R/1996 MATERIAIS_DESENHO ON CHILD UPDATE RESTRICT */ if update(TIPO_DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO_TIPO where inserted.TIPO_DESENHO = MATERIAIS_DESENHO_TIPO.TIPO_DESENHO select @nullcnt = count(*) from inserted where inserted.TIPO_DESENHO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_DESENHO #porque #MATERIAIS_DESENHO_TIPO #não existe.'' goto error end end /* MATERIAIS_DESENHO_MEIO_PRODUCAO R/1995 MATERIAIS_DESENHO ON CHILD UPDATE RESTRICT */ if update(MEIO_PRODUCAO_DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO_MEIO_PRODUCAO where inserted.MEIO_PRODUCAO_DESENHO = MATERIAIS_DESENHO_MEIO_PRODUCAO.MEIO_PRODUCAO_DESENHO select @nullcnt = count(*) from inserted where inserted.MEIO_PRODUCAO_DESENHO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_DESENHO #porque #MATERIAIS_DESENHO_MEIO_PRODUCAO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_DESENHO].[NUMERO_CORES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_DESENHO_CORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_DESENHO_CORES]( [COR] [char](10) NOT NULL, [DESENHO] [char](10) NOT NULL, [VARIANTE_DESENHO] [char](15) NOT NULL, [DESC_COR_VARIANTE_DESENHO] [char](18) NULL, [ORDEM_UTILIZACAO] [int] NULL, [DIMENSAO_VARIANTE] [numeric](9, 3) NULL, [RGB] [int] NULL, CONSTRAINT [XPKMATERIAIS_DESENHO_CORES] PRIMARY KEY NONCLUSTERED ( [DESENHO] ASC, [VARIANTE_DESENHO] ASC, [COR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_DESENHO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00002] */ create trigger [LXD_MATERIAIS_DESENHO_CORES] on [MATERIAIS_DESENHO_CORES] for DELETE as /* DELETE trigger on MATERIAIS_DESENHO_CORES */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_DESENHO_CORES R/2104 MATERIAIS_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_CORES where MATERIAIS_CORES.DESENHO = deleted.DESENHO and MATERIAIS_CORES.VARIANTE_DESENHO = deleted.VARIANTE_DESENHO and MATERIAIS_CORES.COR = deleted.COR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_DESENHO_CORES #porque existem registros em #MATERIAIS_CORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_DESENHO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_DESENHO_CORES] on [MATERIAIS_DESENHO_CORES] for INSERT as /* INSERT trigger on MATERIAIS_DESENHO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CORES_BASICAS R/2103 MATERIAIS_DESENHO_CORES ON CHILD INSERT RESTRICT */ if update(COR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CORES_BASICAS where inserted.COR = CORES_BASICAS.COR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_DESENHO_CORES #porque #CORES_BASICAS #não existe.'' goto error end end /* MATERIAIS_DESENHO R/2102 MATERIAIS_DESENHO_CORES ON CHILD INSERT RESTRICT */ if update(DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO where inserted.DESENHO = MATERIAIS_DESENHO.DESENHO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_DESENHO_CORES #porque #MATERIAIS_DESENHO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_DESENHO_CORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_DESENHO_CORES] on [MATERIAIS_DESENHO_CORES] for UPDATE as /* UPDATE trigger on MATERIAIS_DESENHO_CORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDESENHO char(10), @insVARIANTE_DESENHO char(15), @insCOR char(10), @delDESENHO char(10), @delVARIANTE_DESENHO char(15), @delCOR char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CORES_BASICAS R/2103 MATERIAIS_DESENHO_CORES ON CHILD UPDATE RESTRICT */ if update(COR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CORES_BASICAS where inserted.COR = CORES_BASICAS.COR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_DESENHO_CORES #porque #CORES_BASICAS #não existe.'' goto error end end /* MATERIAIS_DESENHO R/2102 MATERIAIS_DESENHO_CORES ON CHILD UPDATE RESTRICT */ if update(DESENHO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_DESENHO where inserted.DESENHO = MATERIAIS_DESENHO.DESENHO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_DESENHO_CORES #porque #MATERIAIS_DESENHO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_DESENHO_CORES].[ORDEM_UTILIZACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_DESENHO_CORES].[DIMENSAO_VARIANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_DESENHO_CORES].[RGB]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DISTRIBUICAO_PORCENTAGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DISTRIBUICAO_PORCENTAGEM]( [FILIAL] [varchar](25) NOT NULL, [CODIGO_AGRUPAMENTO] [int] NOT NULL, [CODIGO_VALOR_AGRUPAMENTO] [int] NOT NULL, [PORCENTAGEM_TOTAL] [real] NULL, [A1] [numeric](14, 2) NULL, [A2] [numeric](14, 2) NULL, [A3] [numeric](14, 2) NULL, [A4] [numeric](14, 2) NULL, [A5] [numeric](14, 2) NULL, [A6] [numeric](14, 2) NULL, [A7] [numeric](14, 2) NULL, [A8] [numeric](14, 2) NULL, [A9] [numeric](14, 2) NULL, [A10] [numeric](14, 2) NULL, [A11] [numeric](14, 2) NULL, [A12] [numeric](14, 2) NULL, [A13] [numeric](14, 2) NULL, [A14] [numeric](14, 2) NULL, [A15] [numeric](14, 2) NULL, [A16] [numeric](14, 2) NULL, [A17] [numeric](14, 2) NULL, [A18] [numeric](14, 2) NULL, [A19] [numeric](14, 2) NULL, [A20] [numeric](14, 2) NULL, [A21] [numeric](14, 2) NULL, [A22] [numeric](14, 2) NULL, [A23] [numeric](14, 2) NULL, [A24] [numeric](14, 2) NULL, [A25] [numeric](14, 2) NULL, [A26] [numeric](14, 2) NULL, [A27] [numeric](14, 2) NULL, [A28] [numeric](14, 2) NULL, [A29] [numeric](14, 2) NULL, [A30] [numeric](14, 2) NULL, [A31] [numeric](14, 2) NULL, [A32] [numeric](14, 2) NULL, [A33] [numeric](14, 2) NULL, [A34] [numeric](14, 2) NULL, [A35] [numeric](14, 2) NULL, [A36] [numeric](14, 2) NULL, [A37] [numeric](14, 2) NULL, [A38] [numeric](14, 2) NULL, [A39] [numeric](14, 2) NULL, [A40] [numeric](14, 2) NULL, [A41] [numeric](14, 2) NULL, [A42] [numeric](14, 2) NULL, [A43] [numeric](14, 2) NULL, [A44] [numeric](14, 2) NULL, [A45] [numeric](14, 2) NULL, [A46] [numeric](14, 2) NULL, [A47] [numeric](14, 2) NULL, [A48] [numeric](14, 2) NULL, [FIXA_PORCENTAGEM] [bit] NOT NULL, [PORCENTAGEM_FILIAL] [real] NULL, [PORCENTAGEM_VALOR] [real] NULL, [PORCENTAGEM_FILIAL_VALOR] [real] NULL, CONSTRAINT [XPKDISTRIBUICAO_PORCENTAGEM] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [CODIGO_AGRUPAMENTO] ASC, [CODIGO_VALOR_AGRUPAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_DISTRIBUICAO_PORCENTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_DISTRIBUICAO_PORCENTAGEM] on [DISTRIBUICAO_PORCENTAGEM] for INSERT as /* INSERT trigger on DISTRIBUICAO_PORCENTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_AGRUPAMENTO R/2112 DISTRIBUICAO_PORCENTAGEM ON CHILD INSERT RESTRICT */ if update(CODIGO_AGRUPAMENTO) or update(CODIGO_VALOR_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO and inserted.CODIGO_VALOR_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DISTRIBUICAO_PORCENTAGEM #porque #DISTRIBUICAO_AGRUPAMENTO #não existe.'' goto error end end /* FILIAIS R/1852 DISTRIBUICAO_PORCENTAGEM ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DISTRIBUICAO_PORCENTAGEM #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DISTRIBUICAO_PORCENTAGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DISTRIBUICAO_PORCENTAGEM] on [DISTRIBUICAO_PORCENTAGEM] for UPDATE as /* UPDATE trigger on DISTRIBUICAO_PORCENTAGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insCODIGO_AGRUPAMENTO int, @insCODIGO_VALOR_AGRUPAMENTO int, @delFILIAL varchar(25), @delCODIGO_AGRUPAMENTO int, @delCODIGO_VALOR_AGRUPAMENTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_AGRUPAMENTO R/2112 DISTRIBUICAO_PORCENTAGEM ON CHILD UPDATE RESTRICT */ if update(CODIGO_AGRUPAMENTO) or update(CODIGO_VALOR_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO and inserted.CODIGO_VALOR_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DISTRIBUICAO_PORCENTAGEM #porque #DISTRIBUICAO_AGRUPAMENTO #não existe.'' goto error end end /* FILIAIS R/1852 DISTRIBUICAO_PORCENTAGEM ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DISTRIBUICAO_PORCENTAGEM #porque #FILIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[CODIGO_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[CODIGO_VALOR_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[PORCENTAGEM_TOTAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A5]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A6]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A7]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A8]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A9]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A10]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A11]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A12]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A13]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A14]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A15]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A16]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A17]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A18]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A19]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A20]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A21]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A22]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A23]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A24]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A25]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A26]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A27]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A28]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A29]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A30]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A31]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A32]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A33]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A34]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A35]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A36]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A37]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A38]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A39]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A40]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A41]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A42]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A43]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A44]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A45]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A46]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A47]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[A48]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_PORCENTAGEM].[FIXA_PORCENTAGEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS]( [ORCAMENTO] [varchar](25) NOT NULL, [DESC_PRODUTO_ORCAMENTO] [varchar](40) NULL, [TABELA_MEDIDAS] [varchar](25) NULL, [TABELA_OPERACOES] [varchar](25) NULL, [GRADE] [varchar](25) NULL, [GRIFFE] [varchar](25) NULL, [TIPO_PRODUTO] [varchar](25) NULL, [CLIENTE_ATACADO] [varchar](25) NULL, [REPRESENTANTE] [varchar](25) NULL, [LINHA] [varchar](25) NULL, [FOTO_DIANTEIRO] [varchar](100) NULL, [FOTO_TRASEIRO] [varchar](100) NULL, [COLECAO] [char](6) NULL, [GRUPO_PRODUTO] [varchar](25) NULL, [SUBGRUPO_PRODUTO] [varchar](25) NULL, [DATA] [smalldatetime] NULL, [DATA_APROVACAO_CLIENTE] [smalldatetime] NULL, [DATA_CONCLUSAO] [smalldatetime] NULL, [RESPONSAVEL] [varchar](25) NULL, [VALOR_TOTAL] [numeric](14, 2) NULL, [PRODUTO] [char](12) NULL, [MATERIAL] [char](11) NULL, [OBS_CLIENTE] [text] NULL, CONSTRAINT [XPKORCAMENTOS] PRIMARY KEY NONCLUSTERED ( [ORCAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ORCAMENTOS]') AND name = N'XIE1ORCAMENTOS') CREATE NONCLUSTERED INDEX [XIE1ORCAMENTOS] ON [ORCAMENTOS] ( [MATERIAL] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ORCAMENTOS]') AND name = N'XIE2ORCAMENTOS') CREATE NONCLUSTERED INDEX [XIE2ORCAMENTOS] ON [ORCAMENTOS] ( [PRODUTO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ORCAMENTOS]') AND name = N'XIE3ORCAMENTOS') CREATE NONCLUSTERED INDEX [XIE3ORCAMENTOS] ON [ORCAMENTOS] ( [CLIENTE_ATACADO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[ORCAMENTOS]') AND name = N'XIE4ORCAMENTOS') CREATE NONCLUSTERED INDEX [XIE4ORCAMENTOS] ON [ORCAMENTOS] ( [COLECAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ORCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ORCAMENTOS] on [ORCAMENTOS] for DELETE as /* DELETE trigger on ORCAMENTOS */ begin declare @errno int, @errmsg varchar(255) /* ORCAMENTOS R/1980 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.ORCAMENTO = deleted.ORCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ORCAMENTOS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* ORCAMENTOS R/1985 ORCAMENTOS_MATERIAIS_BASE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS_MATERIAIS_BASE where ORCAMENTOS_MATERIAIS_BASE.ORCAMENTO = deleted.ORCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ORCAMENTOS #porque existem registros em #ORCAMENTOS_MATERIAIS_BASE#.'' goto error end /* ORCAMENTOS R/1983 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.ORCAMENTO = deleted.ORCAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #ORCAMENTOS #porque existem registros em #PRODUTOS#.'' goto error end /* ORCAMENTOS R/1339 ORCAMENTOS_PRECOS ON PARENT DELETE CASCADE */ delete ORCAMENTOS_PRECOS from ORCAMENTOS_PRECOS,deleted where ORCAMENTOS_PRECOS.ORCAMENTO = deleted.ORCAMENTO /* ORCAMENTOS R/1337 ORCAMENTOS_ITENS ON PARENT DELETE CASCADE */ delete ORCAMENTOS_ITENS from ORCAMENTOS_ITENS,deleted where ORCAMENTOS_ITENS.ORCAMENTO = deleted.ORCAMENTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ORCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ORCAMENTOS] on [ORCAMENTOS] for INSERT as /* INSERT trigger on ORCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLECOES R/1363 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #COLECOES #não existe.'' goto error end end /* REPRESENTANTES R/1361 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #REPRESENTANTES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1359 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* PRODUTOS_TIPOS R/1357 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.TIPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* MATERIAIS R/1356 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_LINHAS R/1355 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA select @nullcnt = count(*) from inserted where inserted.LINHA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS R/1354 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO R/1353 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.GRUPO_PRODUTO is null or inserted.SUBGRUPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTOS_TAB_OPERACOES R/1348 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES select @nullcnt = count(*) from inserted where inserted.TABELA_OPERACOES is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTOS_TAMANHOS R/1345 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE select @nullcnt = count(*) from inserted where inserted.GRADE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /* PRODUTOS_GRIFFES R/1343 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE select @nullcnt = count(*) from inserted where inserted.GRIFFE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* PRODUTOS_TAB_MEDIDAS R/1342 ORCAMENTOS ON CHILD INSERT RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS select @nullcnt = count(*) from inserted where inserted.TABELA_MEDIDAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS] on [ORCAMENTOS] for UPDATE as /* UPDATE trigger on ORCAMENTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORCAMENTO varchar(25), @delORCAMENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS R/1339 ORCAMENTOS_PRECOS ON PARENT UPDATE CASCADE */ IF update(ORCAMENTO) BEGIN DECLARE ORCAMENTOS1339 CURSOR FOR SELECT ORCAMENTO FROM INSERTED DECLARE ORCAMENTOS807 CURSOR FOR SELECT ORCAMENTO FROM DELETED OPEN ORCAMENTOS1339 OPEN ORCAMENTOS807 FETCH NEXT FROM ORCAMENTOS1339 INTO @insORCAMENTO FETCH NEXT FROM ORCAMENTOS807 INTO @delORCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_PRECOS SET ORCAMENTOS_PRECOS.ORCAMENTO=@insORCAMENTO WHERE ORCAMENTOS_PRECOS.ORCAMENTO = @delORCAMENTO FETCH NEXT FROM ORCAMENTOS1339 INTO @insORCAMENTO FETCH NEXT FROM ORCAMENTOS807 INTO @delORCAMENTO END END CLOSE ORCAMENTOS1339 CLOSE ORCAMENTOS807 DEALLOCATE ORCAMENTOS1339 DEALLOCATE ORCAMENTOS807 END /* ORCAMENTOS R/1337 ORCAMENTOS_ITENS ON PARENT UPDATE CASCADE */ IF update(ORCAMENTO) BEGIN DECLARE ORCAMENTOS1337 CURSOR FOR SELECT ORCAMENTO FROM INSERTED DECLARE ORCAMENTOS807 CURSOR FOR SELECT ORCAMENTO FROM DELETED OPEN ORCAMENTOS1337 OPEN ORCAMENTOS807 FETCH NEXT FROM ORCAMENTOS1337 INTO @insORCAMENTO FETCH NEXT FROM ORCAMENTOS807 INTO @delORCAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_ITENS SET ORCAMENTOS_ITENS.ORCAMENTO=@insORCAMENTO WHERE ORCAMENTOS_ITENS.ORCAMENTO = @delORCAMENTO FETCH NEXT FROM ORCAMENTOS1337 INTO @insORCAMENTO FETCH NEXT FROM ORCAMENTOS807 INTO @delORCAMENTO END END CLOSE ORCAMENTOS1337 CLOSE ORCAMENTOS807 DEALLOCATE ORCAMENTOS1337 DEALLOCATE ORCAMENTOS807 END /* COLECOES R/1363 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(COLECAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLECOES where inserted.COLECAO = COLECOES.COLECAO select @nullcnt = count(*) from inserted where inserted.COLECAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #COLECOES #não existe.'' goto error end end /* REPRESENTANTES R/1361 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(REPRESENTANTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REPRESENTANTES where inserted.REPRESENTANTE = REPRESENTANTES.REPRESENTANTE select @nullcnt = count(*) from inserted where inserted.REPRESENTANTE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #REPRESENTANTES #não existe.'' goto error end end /* CLIENTES_ATACADO R/1359 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO select @nullcnt = count(*) from inserted where inserted.CLIENTE_ATACADO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* PRODUTOS_TIPOS R/1357 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(TIPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TIPOS where inserted.TIPO_PRODUTO = PRODUTOS_TIPOS.TIPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.TIPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_TIPOS #não existe.'' goto error end end /* MATERIAIS R/1356 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS where inserted.MATERIAL = MATERIAIS.MATERIAL select @nullcnt = count(*) from inserted where inserted.MATERIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #MATERIAIS #não existe.'' goto error end end /* PRODUTOS_LINHAS R/1355 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(LINHA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_LINHAS where inserted.LINHA = PRODUTOS_LINHAS.LINHA select @nullcnt = count(*) from inserted where inserted.LINHA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_LINHAS #não existe.'' goto error end end /* PRODUTOS R/1354 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS where inserted.PRODUTO = PRODUTOS.PRODUTO select @nullcnt = count(*) from inserted where inserted.PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS #não existe.'' goto error end end /* PRODUTOS_SUBGRUPO R/1353 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(GRUPO_PRODUTO) or update(SUBGRUPO_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_SUBGRUPO where inserted.GRUPO_PRODUTO = PRODUTOS_SUBGRUPO.GRUPO_PRODUTO and inserted.SUBGRUPO_PRODUTO = PRODUTOS_SUBGRUPO.SUBGRUPO_PRODUTO select @nullcnt = count(*) from inserted where inserted.GRUPO_PRODUTO is null and inserted.SUBGRUPO_PRODUTO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_SUBGRUPO #não existe.'' goto error end end /* PRODUTOS_TAB_OPERACOES R/1348 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(TABELA_OPERACOES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_OPERACOES where inserted.TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES select @nullcnt = count(*) from inserted where inserted.TABELA_OPERACOES is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_TAB_OPERACOES #não existe.'' goto error end end /* PRODUTOS_TAMANHOS R/1345 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(GRADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAMANHOS where inserted.GRADE = PRODUTOS_TAMANHOS.GRADE select @nullcnt = count(*) from inserted where inserted.GRADE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_TAMANHOS #não existe.'' goto error end end /* PRODUTOS_GRIFFES R/1343 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE select @nullcnt = count(*) from inserted where inserted.GRIFFE is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /* PRODUTOS_TAB_MEDIDAS R/1342 ORCAMENTOS ON CHILD UPDATE RESTRICT */ if update(TABELA_MEDIDAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_TAB_MEDIDAS where inserted.TABELA_MEDIDAS = PRODUTOS_TAB_MEDIDAS.TABELA_MEDIDAS select @nullcnt = count(*) from inserted where inserted.TABELA_MEDIDAS is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS #porque #PRODUTOS_TAB_MEDIDAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS].[VALOR_TOTAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA_PG]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_PAGAR_PARCELA_PG]( [NOME_CLIFOR] [varchar](25) NOT NULL, [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [LANCAMENTO] [char](8) NOT NULL, [ITEM] [char](4) NOT NULL, [VALOR_PAGO] [numeric](14, 2) NULL, [DATA_PAGAMENTO] [datetime] NOT NULL, [VENCIMENTO] [datetime] NULL, [PGTO_CARTORIO] [datetime] NULL, [JUROS_PAGOS] [numeric](14, 2) NULL, [JUROS_A_PAGAR] [numeric](14, 2) NULL, [LANCAMENTO_JUROS] [bit] NOT NULL, [DESCONTO_NA_BAIXA] [numeric](14, 2) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, CONSTRAINT [XPKA_PAGAR_PARCELA_PG] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [FATURA] ASC, [PARCELA] ASC, [LANCAMENTO] ASC, [ITEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA_PG]') AND name = N'XIE1A_PAGAR_PARCELA_PG') CREATE NONCLUSTERED INDEX [XIE1A_PAGAR_PARCELA_PG] ON [A_PAGAR_PARCELA_PG] ( [FATURA] ASC, [PARCELA] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_PAGAR_PARCELA_PG]') AND name = N'XIE2A_PAGAR_PARCELA_PG') CREATE NONCLUSTERED INDEX [XIE2A_PAGAR_PARCELA_PG] ON [A_PAGAR_PARCELA_PG] ( [LANCAMENTO] ASC, [ITEM] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_PAGAR_PARCELA_PG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_PAGAR_PARCELA_PG] on [A_PAGAR_PARCELA_PG] for INSERT as /* INSERT trigger on A_PAGAR_PARCELA_PG */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_PARCELA A_PAGAR_PARCELA A_PAGAR_PARCELA_PG ON CHILD INSERT RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_PARCELA_PG #porque #A_PAGAR_PARCELA #não existe.'' goto error end end /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_PAGAR_PARCELA_PG ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_PAGAR_PARCELA_PG #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_PAGAR_PARCELA_PG]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_PAGAR_PARCELA_PG] on [A_PAGAR_PARCELA_PG] for UPDATE as /* UPDATE trigger on A_PAGAR_PARCELA_PG */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insFATURA char(11), @insPARCELA char(2), @insLANCAMENTO char(8), @insITEM char(4), @delNOME_CLIFOR varchar(25), @delFATURA char(11), @delPARCELA char(2), @delLANCAMENTO char(8), @delITEM char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_PAGAR_PARCELA A_PAGAR_PARCELA A_PAGAR_PARCELA_PG ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(NOME_CLIFOR) or update(PARCELA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_PAGAR_PARCELA where inserted.FATURA = A_PAGAR_PARCELA.FATURA and inserted.NOME_CLIFOR = A_PAGAR_PARCELA.NOME_CLIFOR and inserted.PARCELA = A_PAGAR_PARCELA.PARCELA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_PARCELA_PG #porque #A_PAGAR_PARCELA #não existe.'' goto error end end /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_PAGAR_PARCELA_PG ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_PAGAR_PARCELA_PG #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA_PG].[VALOR_PAGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA_PG].[JUROS_PAGOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA_PG].[JUROS_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA_PG].[LANCAMENTO_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_PAGAR_PARCELA_PG].[DESCONTO_NA_BAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[A_PAGAR_PARCELA_PG].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UNIDADES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UNIDADES]( [UNIDADE] [char](5) NOT NULL, [USO_MATERIAIS] [bit] NOT NULL, [USO_PRODUTOS] [bit] NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKUNIDADES] PRIMARY KEY NONCLUSTERED ( [UNIDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFIV_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 17:45PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_UNIDADES] ON [UNIDADES] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @UNIDADE CHAR(5) DECLARE UNIDADE CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADE FETCH NEXT FROM UNIDADE INTO @UNIDADE WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE) DELETE FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE ELSE BEGIN FETCH NEXT FROM UNIDADE INTO @UNIDADE END FETCH NEXT FROM UNIDADE INTO @UNIDADE END CLOSE UNIDADE DEALLOCATE UNIDADE END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 17:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_UNIDADES] ON [UNIDADES] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_UNIDADES'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @UNIDADE CHAR(5) DECLARE UNIDADE CURSOR FOR SELECT UNIDADE FROM INSERTED OPEN UNIDADE FETCH NEXT FROM UNIDADE INTO @UNIDADE WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_UNIDADES (ID,GF_UNIDADE,GF_USO_MATERIAIS,GF_USO_PRODUTOS,Data_para_transferencia,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,UNIDADE,USO_MATERIAIS,USO_PRODUTOS,Data_para_transferencia, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM UNIDADES A, GF_UNIDADESCNT B WHERE UNIDADE=@UNIDADE UPDATE GF_UNIDADESCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Unidad, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM UNIDADE INTO @UNIDADE END FETCH NEXT FROM UNIDADE INTO @UNIDADE END CLOSE UNIDADE DEALLOCATE UNIDADE --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_UNIDADES fecha de la secuencia de comandos: Sep 5 2001 12:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_UNIDADES] ON [UNIDADES] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_UNIDADES'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_UNIDADES'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_UNIDADES'')) ) < 2 ) BEGIN DECLARE @UNIDADED CHAR(6), @UNIDADE CHAR(6) DECLARE UNIDADED CURSOR FOR SELECT UNIDADE FROM DELETED DECLARE UNIDADE CURSOR FOR SELECT UNIDADE FROM INSERTED OPEN UNIDADED OPEN UNIDADE FETCH NEXT FROM UNIDADED INTO @UNIDADED FETCH NEXT FROM UNIDADE INTO @UNIDADE IF @@ROWCOUNT>=0 BEGIN --RC WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE GF_UNIDADE=@UNIDADE) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_UNIDADES SET GF_UNIDADE=(SELECT UNIDADE FROM INSERTED),GF_USO_MATERIAIS=(SELECT USO_MATERIAIS FROM INSERTED), GF_USO_PRODUTOS=(SELECT USO_PRODUTOS FROM INSERTED), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED), USERM=@USER, FECHAM=GETDATE() WHERE GF_UNIDADE=@UNIDADED --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Unidad, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM UNIDADED INTO @UNIDADED FETCH NEXT FROM UNIDADE INTO @UNIDADE END FETCH NEXT FROM UNIDADED INTO @UNIDADED FETCH NEXT FROM UNIDADE INTO @UNIDADE END CLOSE UNIDADED DEALLOCATE UNIDADED CLOSE UNIDADE DEALLOCATE UNIDADE END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_UNIDADES] on [UNIDADES] for DELETE as /* DELETE trigger on UNIDADES */ begin declare @errno int, @errmsg varchar(255) /* UNIDADES UNIDADE UNIDADES_CONVERSOES ON PARENT DELETE CASCADE */ delete UNIDADES_CONVERSOES from UNIDADES_CONVERSOES,deleted where UNIDADES_CONVERSOES.UNIDADE = deleted.UNIDADE /* UNIDADES CONVERSAO UNIDADES_CONVERSOES ON PARENT DELETE CASCADE */ delete UNIDADES_CONVERSOES from UNIDADES_CONVERSOES,deleted where UNIDADES_CONVERSOES.UNIDADE_CONVERTIDA = deleted.UNIDADE /* UNIDADES UNIDADES REQUISICAO_CONSUMIVEL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REQUISICAO_CONSUMIVEL where REQUISICAO_CONSUMIVEL.UNIDADE = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #REQUISICAO_CONSUMIVEL#.'' goto error end /* UNIDADES UNIDADES COTACOES_CONSUMIVEL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_CONSUMIVEL where COTACOES_CONSUMIVEL.UNIDADE = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #COTACOES_CONSUMIVEL#.'' goto error end /* UNIDADES UNIDADES MATERIAIS_FORNECEDOR ON PARENT DELETE CASCADE */ delete MATERIAIS_FORNECEDOR from MATERIAIS_FORNECEDOR,deleted where MATERIAIS_FORNECEDOR.UNIDADE = deleted.UNIDADE /* UNIDADES UNIDADES_3 MATERIAIS_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_SUBGRUPO where MATERIAIS_SUBGRUPO.UNIDADE_AUXILIAR = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS_SUBGRUPO#.'' goto error end /* UNIDADES UNIDADES_2 MATERIAIS_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_SUBGRUPO where MATERIAIS_SUBGRUPO.UNIDADE_FICHA_TEC = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS_SUBGRUPO#.'' goto error end /* UNIDADES UNIDADES_1 MATERIAIS_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_SUBGRUPO where MATERIAIS_SUBGRUPO.UNIDADE_ESTOQUE = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS_SUBGRUPO#.'' goto error end /* UNIDADES UNIDADES_2 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.UNID_ESTOQUE = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS#.'' goto error end /* UNIDADES UNIDADES_3 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.UNID_AUXILIAR = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS#.'' goto error end /* UNIDADES UNIDADES_1 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.UNID_FICHA_TEC = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #MATERIAIS#.'' goto error end /* UNIDADES UNIDADES PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.UNIDADE = deleted.UNIDADE ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_UNIDADES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_UNIDADES] on [UNIDADES] for UPDATE as /* UPDATE trigger on UNIDADES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUNIDADE char(5), @delUNIDADE char(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES UNIDADE UNIDADES_CONVERSOES ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES1293 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES1293 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES1293 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE UNIDADES_CONVERSOES SET UNIDADES_CONVERSOES.UNIDADE=@insUNIDADE WHERE UNIDADES_CONVERSOES.UNIDADE = @delUNIDADE FETCH NEXT FROM UNIDADES1293 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES1293 CLOSE UNIDADES154 DEALLOCATE UNIDADES1293 DEALLOCATE UNIDADES154 END /* UNIDADES CONVERSAO UNIDADES_CONVERSOES ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES1292 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES1292 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES1292 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE UNIDADES_CONVERSOES SET UNIDADES_CONVERSOES.UNIDADE_CONVERTIDA=@insUNIDADE WHERE UNIDADES_CONVERSOES.UNIDADE_CONVERTIDA = @delUNIDADE FETCH NEXT FROM UNIDADES1292 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES1292 CLOSE UNIDADES154 DEALLOCATE UNIDADES1292 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES REQUISICAO_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES1210 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES1210 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES1210 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REQUISICAO_CONSUMIVEL SET REQUISICAO_CONSUMIVEL.UNIDADE=@insUNIDADE WHERE REQUISICAO_CONSUMIVEL.UNIDADE = @delUNIDADE FETCH NEXT FROM UNIDADES1210 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES1210 CLOSE UNIDADES154 DEALLOCATE UNIDADES1210 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES COTACOES_CONSUMIVEL ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES1209 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES1209 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES1209 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONSUMIVEL SET COTACOES_CONSUMIVEL.UNIDADE=@insUNIDADE WHERE COTACOES_CONSUMIVEL.UNIDADE = @delUNIDADE FETCH NEXT FROM UNIDADES1209 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES1209 CLOSE UNIDADES154 DEALLOCATE UNIDADES1209 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES MATERIAIS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES1061 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES1061 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES1061 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_FORNECEDOR SET MATERIAIS_FORNECEDOR.UNIDADE=@insUNIDADE WHERE MATERIAIS_FORNECEDOR.UNIDADE = @delUNIDADE FETCH NEXT FROM UNIDADES1061 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES1061 CLOSE UNIDADES154 DEALLOCATE UNIDADES1061 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_3 MATERIAIS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES519 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES519 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES519 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_SUBGRUPO SET MATERIAIS_SUBGRUPO.UNIDADE_AUXILIAR=@insUNIDADE WHERE MATERIAIS_SUBGRUPO.UNIDADE_AUXILIAR = @delUNIDADE FETCH NEXT FROM UNIDADES519 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES519 CLOSE UNIDADES154 DEALLOCATE UNIDADES519 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_2 MATERIAIS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES518 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES518 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES518 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_SUBGRUPO SET MATERIAIS_SUBGRUPO.UNIDADE_FICHA_TEC=@insUNIDADE WHERE MATERIAIS_SUBGRUPO.UNIDADE_FICHA_TEC = @delUNIDADE FETCH NEXT FROM UNIDADES518 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES518 CLOSE UNIDADES154 DEALLOCATE UNIDADES518 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_1 MATERIAIS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES517 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES517 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES517 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS_SUBGRUPO SET MATERIAIS_SUBGRUPO.UNIDADE_ESTOQUE=@insUNIDADE WHERE MATERIAIS_SUBGRUPO.UNIDADE_ESTOQUE = @delUNIDADE FETCH NEXT FROM UNIDADES517 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES517 CLOSE UNIDADES154 DEALLOCATE UNIDADES517 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_2 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES241 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES241 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES241 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.UNID_ESTOQUE=@insUNIDADE WHERE MATERIAIS.UNID_ESTOQUE = @delUNIDADE FETCH NEXT FROM UNIDADES241 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES241 CLOSE UNIDADES154 DEALLOCATE UNIDADES241 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_3 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES240 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES240 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES240 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.UNID_AUXILIAR=@insUNIDADE WHERE MATERIAIS.UNID_AUXILIAR = @delUNIDADE FETCH NEXT FROM UNIDADES240 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES240 CLOSE UNIDADES154 DEALLOCATE UNIDADES240 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES_1 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES239 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES239 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES239 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.UNID_FICHA_TEC=@insUNIDADE WHERE MATERIAIS.UNID_FICHA_TEC = @delUNIDADE FETCH NEXT FROM UNIDADES239 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES239 CLOSE UNIDADES154 DEALLOCATE UNIDADES239 DEALLOCATE UNIDADES154 END /* UNIDADES UNIDADES PRODUTOS ON PARENT UPDATE CASCADE */ IF update(UNIDADE) BEGIN DECLARE UNIDADES264 CURSOR FOR SELECT UNIDADE FROM INSERTED DECLARE UNIDADES154 CURSOR FOR SELECT UNIDADE FROM DELETED OPEN UNIDADES264 OPEN UNIDADES154 FETCH NEXT FROM UNIDADES264 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.UNIDADE=@insUNIDADE WHERE PRODUTOS.UNIDADE = @delUNIDADE FETCH NEXT FROM UNIDADES264 INTO @insUNIDADE FETCH NEXT FROM UNIDADES154 INTO @delUNIDADE END END CLOSE UNIDADES264 CLOSE UNIDADES154 DEALLOCATE UNIDADES264 DEALLOCATE UNIDADES154 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE UNIDADES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM UNIDADES, INSERTED WHERE UNIDADES.UNIDADE = INSERTED.UNIDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR UNIDADES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES].[USO_MATERIAIS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES].[USO_PRODUTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[UNIDADES].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ESTOQUE_PROD_CTG_BARRAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ESTOQUE_PROD_CTG_BARRAS]( [NUMERO_CONTAGEM] [char](2) NOT NULL, [PRODUTO] [char](12) NOT NULL, [NUMERO_LOCAL] [int] NOT NULL, [ITEM] [char](7) NOT NULL, [NOME_CONTAGEM] [varchar](25) NOT NULL, [COR_PRODUTO] [char](10) NOT NULL, [CODIGO_BARRA] [varchar](25) NULL, [QTDE] [int] NULL, [TAMANHO] [int] NULL, [GRADE] [varchar](8) NOT NULL, [MASCARA_BARRA] [varchar](5) NULL, CONSTRAINT [XPKESTOQUE_PROD_CTG_BARRAS] PRIMARY KEY NONCLUSTERED ( [NUMERO_CONTAGEM] ASC, [PRODUTO] ASC, [NUMERO_LOCAL] ASC, [ITEM] ASC, [NOME_CONTAGEM] ASC, [COR_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ESTOQUE_PROD_CTG_BARRAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ESTOQUE_PROD_CTG_BARRAS] on [ESTOQUE_PROD_CTG_BARRAS] for INSERT as /* INSERT trigger on ESTOQUE_PROD_CTG_BARRAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_BARRAS ON CHILD INSERT RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_BARRAS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_BARRAS ON CHILD INSERT RESTRICT */ if update(NUMERO_CONTAGEM) or update(NUMERO_LOCAL) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_LOCAL where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM and inserted.NUMERO_LOCAL = ESTOQUE_PROD_CTG_LOCAL.NUMERO_LOCAL and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ESTOQUE_PROD_CTG_BARRAS #porque #ESTOQUE_PROD_CTG_LOCAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ESTOQUE_PROD_CTG_BARRAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ESTOQUE_PROD_CTG_BARRAS] on [ESTOQUE_PROD_CTG_BARRAS] for UPDATE as /* UPDATE trigger on ESTOQUE_PROD_CTG_BARRAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_CONTAGEM char(2), @insPRODUTO char(12), @insNUMERO_LOCAL int, @insITEM char(7), @insNOME_CONTAGEM varchar(25), @insCOR_PRODUTO char(10), @delNUMERO_CONTAGEM char(2), @delPRODUTO char(12), @delNUMERO_LOCAL int, @delITEM char(7), @delNOME_CONTAGEM varchar(25), @delCOR_PRODUTO char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTO_CORES PRODUTO_CORES ESTOQUE_PROD_CTG_BARRAS ON CHILD UPDATE RESTRICT */ if update(PRODUTO) or update(COR_PRODUTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTO_CORES where inserted.PRODUTO = PRODUTO_CORES.PRODUTO and inserted.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_BARRAS #porque #PRODUTO_CORES #não existe.'' goto error end end /* ESTOQUE_PROD_CTG_LOCAL CONTAGEM_LOCAL ESTOQUE_PROD_CTG_BARRAS ON CHILD UPDATE RESTRICT */ if update(NUMERO_CONTAGEM) or update(NUMERO_LOCAL) or update(NOME_CONTAGEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ESTOQUE_PROD_CTG_LOCAL where inserted.NUMERO_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NUMERO_CONTAGEM and inserted.NUMERO_LOCAL = ESTOQUE_PROD_CTG_LOCAL.NUMERO_LOCAL and inserted.NOME_CONTAGEM = ESTOQUE_PROD_CTG_LOCAL.NOME_CONTAGEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ESTOQUE_PROD_CTG_BARRAS #porque #ESTOQUE_PROD_CTG_LOCAL #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_BARRAS].[NUMERO_CONTAGEM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_BARRAS].[NUMERO_LOCAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_BARRAS].[QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ESTOQUE_PROD_CTG_BARRAS].[TAMANHO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADAS_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADAS_CENTROS_CUSTO]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [CENTRO_CUSTO] [varchar](25) NOT NULL, [PORCENTAGEM] [numeric](15, 5) NULL, CONSTRAINT [XPKENTRADAS_CENTROS_CUSTO] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [CENTRO_CUSTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADAS_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADAS_CENTROS_CUSTO] on [ENTRADAS_CENTROS_CUSTO] for INSERT as /* INSERT trigger on ENTRADAS_CENTROS_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO ENTRADAS_CENTROS_CUSTO ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CENTROS_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_CENTROS_CUSTO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADAS_CENTROS_CUSTO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADAS_CENTROS_CUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADAS_CENTROS_CUSTO] on [ENTRADAS_CENTROS_CUSTO] for UPDATE as /* UPDATE trigger on ENTRADAS_CENTROS_CUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insCENTRO_CUSTO varchar(25), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delCENTRO_CUSTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO ENTRADAS_CENTROS_CUSTO ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CENTROS_CUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* ENTRADAS ENTRADAS ENTRADAS_CENTROS_CUSTO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADAS_CENTROS_CUSTO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADAS_CENTROS_CUSTO].[PORCENTAGEM]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_FATORES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_FATORES]( [ORCAMENTO] [varchar](25) NOT NULL, [CODIGO_TAB_PRECO] [char](2) NOT NULL, [ITEM_NUMERO] [smallint] NOT NULL, [DESC_FATOR_CUSTOS] [varchar](40) NULL, [FATOR] [numeric](15, 5) NULL, [VALOR] [numeric](14, 2) NULL, CONSTRAINT [XPKORCAMENTOS_FATORES] PRIMARY KEY NONCLUSTERED ( [ITEM_NUMERO] ASC, [ORCAMENTO] ASC, [CODIGO_TAB_PRECO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ORCAMENTOS_FATORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ORCAMENTOS_FATORES] on [ORCAMENTOS_FATORES] for INSERT as /* INSERT trigger on ORCAMENTOS_FATORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_PRECOS R/1340 ORCAMENTOS_FATORES ON CHILD INSERT RESTRICT */ if update(ORCAMENTO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_PRECOS where inserted.ORCAMENTO = ORCAMENTOS_PRECOS.ORCAMENTO and inserted.CODIGO_TAB_PRECO = ORCAMENTOS_PRECOS.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_FATORES #porque #ORCAMENTOS_PRECOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS_FATORES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS_FATORES] on [ORCAMENTOS_FATORES] for UPDATE as /* UPDATE trigger on ORCAMENTOS_FATORES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insITEM_NUMERO smallint, @insORCAMENTO varchar(25), @insCODIGO_TAB_PRECO char(2), @delITEM_NUMERO smallint, @delORCAMENTO varchar(25), @delCODIGO_TAB_PRECO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_PRECOS R/1340 ORCAMENTOS_FATORES ON CHILD UPDATE RESTRICT */ if update(ORCAMENTO) or update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_PRECOS where inserted.ORCAMENTO = ORCAMENTOS_PRECOS.ORCAMENTO and inserted.CODIGO_TAB_PRECO = ORCAMENTOS_PRECOS.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_FATORES #porque #ORCAMENTOS_PRECOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_FATORES].[ITEM_NUMERO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_FATORES].[FATOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_FATORES].[VALOR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADA_DEVOLUCAO_ACERTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADA_DEVOLUCAO_ACERTO]( [NOME_CLIFOR] [varchar](25) NOT NULL, [NF_ENTRADA] [char](7) NOT NULL, [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [VALOR_DEVOLUCAO] [numeric](14, 2) NULL, CONSTRAINT [XPKENTRADA_DEVOLUCAO_ACERTO] PRIMARY KEY NONCLUSTERED ( [NOME_CLIFOR] ASC, [NF_ENTRADA] ASC, [FATURA] ASC, [PARCELA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ENTRADA_DEVOLUCAO_ACERTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ENTRADA_DEVOLUCAO_ACERTO] on [ENTRADA_DEVOLUCAO_ACERTO] for INSERT as /* INSERT trigger on ENTRADA_DEVOLUCAO_ACERTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS ENTRADA_DEVOLUCAO_ACERTO ON CHILD INSERT RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADA_DEVOLUCAO_ACERTO #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* ENTRADAS ACERTO_A_RECEBER ENTRADA_DEVOLUCAO_ACERTO ON CHILD INSERT RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ENTRADA_DEVOLUCAO_ACERTO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ENTRADA_DEVOLUCAO_ACERTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ENTRADA_DEVOLUCAO_ACERTO] on [ENTRADA_DEVOLUCAO_ACERTO] for UPDATE as /* UPDATE trigger on ENTRADA_DEVOLUCAO_ACERTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNOME_CLIFOR varchar(25), @insNF_ENTRADA char(7), @insFATURA char(11), @insPARCELA char(2), @delNOME_CLIFOR varchar(25), @delNF_ENTRADA char(7), @delFATURA char(11), @delPARCELA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS ENTRADA_DEVOLUCAO_ACERTO ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADA_DEVOLUCAO_ACERTO #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end /* ENTRADAS ACERTO_A_RECEBER ENTRADA_DEVOLUCAO_ACERTO ON CHILD UPDATE RESTRICT */ if update(NOME_CLIFOR) or update(NF_ENTRADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ENTRADAS where inserted.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR and inserted.NF_ENTRADA = ENTRADAS.NF_ENTRADA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ENTRADA_DEVOLUCAO_ACERTO #porque #ENTRADAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_DEVOLUCAO_ACERTO].[VALOR_DEVOLUCAO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ENTRADA_PORTARIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ENTRADA_PORTARIA]( [RECEBIMENTO] [datetime] NOT NULL, [VOLUMES] [int] NULL, [VALOR_TOTAL] [numeric](14, 2) NULL ) ON [PRIMARY] END GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_PORTARIA].[VOLUMES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ENTRADA_PORTARIA].[VALOR_TOTAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ORCAMENTOS_COMPONENTES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [ORCAMENTOS_COMPONENTES]( [COMPONENTE] [varchar](50) NOT NULL, [GRUPO_COMPONENTE] [varchar](25) NOT NULL, [CONSUMO_SUGERIDO] [numeric](9, 3) NOT NULL, [CUSTO_UNITARIO_SUGERIDO] [numeric](14, 2) NOT NULL, [UNIDADE_SUGERIDA] [char](5) NULL, CONSTRAINT [XPKORCAMENTOS_COMPONENTES] PRIMARY KEY NONCLUSTERED ( [COMPONENTE] ASC, [GRUPO_COMPONENTE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_ORCAMENTOS_COMPONENTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_ORCAMENTOS_COMPONENTES] on [ORCAMENTOS_COMPONENTES] for DELETE as /* DELETE trigger on ORCAMENTOS_COMPONENTES */ begin declare @errno int, @errmsg varchar(255) /* ORCAMENTOS_COMPONENTES R/1346 ORCAMENTOS_ITENS ON PARENT DELETE CASCADE */ delete ORCAMENTOS_ITENS from ORCAMENTOS_ITENS,deleted where ORCAMENTOS_ITENS.COMPONENTE = deleted.COMPONENTE and ORCAMENTOS_ITENS.GRUPO_COMPONENTE = deleted.GRUPO_COMPONENTE return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_ORCAMENTOS_COMPONENTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_ORCAMENTOS_COMPONENTES] on [ORCAMENTOS_COMPONENTES] for INSERT as /* INSERT trigger on ORCAMENTOS_COMPONENTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_GRUPOS R/1341 ORCAMENTOS_COMPONENTES ON CHILD INSERT RESTRICT */ if update(GRUPO_COMPONENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_GRUPOS where inserted.GRUPO_COMPONENTE = ORCAMENTOS_GRUPOS.GRUPO_COMPONENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #ORCAMENTOS_COMPONENTES #porque #ORCAMENTOS_GRUPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_ORCAMENTOS_COMPONENTES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_ORCAMENTOS_COMPONENTES] on [ORCAMENTOS_COMPONENTES] for UPDATE as /* UPDATE trigger on ORCAMENTOS_COMPONENTES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOMPONENTE varchar(50), @insGRUPO_COMPONENTE varchar(25), @delCOMPONENTE varchar(50), @delGRUPO_COMPONENTE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* ORCAMENTOS_COMPONENTES R/1346 ORCAMENTOS_ITENS ON PARENT UPDATE CASCADE */ IF update(COMPONENTE) OR update(GRUPO_COMPONENTE) BEGIN DECLARE ORCAMENTOS_COMPONENTES1346 CURSOR FOR SELECT COMPONENTE, GRUPO_COMPONENTE FROM INSERTED DECLARE ORCAMENTOS_COMPONENTES808 CURSOR FOR SELECT COMPONENTE, GRUPO_COMPONENTE FROM DELETED OPEN ORCAMENTOS_COMPONENTES1346 OPEN ORCAMENTOS_COMPONENTES808 FETCH NEXT FROM ORCAMENTOS_COMPONENTES1346 INTO @insCOMPONENTE, @insGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_COMPONENTES808 INTO @delCOMPONENTE, @delGRUPO_COMPONENTE IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS_ITENS SET ORCAMENTOS_ITENS.COMPONENTE=@insCOMPONENTE, ORCAMENTOS_ITENS.GRUPO_COMPONENTE=@insGRUPO_COMPONENTE WHERE ORCAMENTOS_ITENS.COMPONENTE = @delCOMPONENTE and ORCAMENTOS_ITENS.GRUPO_COMPONENTE = @delGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_COMPONENTES1346 INTO @insCOMPONENTE, @insGRUPO_COMPONENTE FETCH NEXT FROM ORCAMENTOS_COMPONENTES808 INTO @delCOMPONENTE, @delGRUPO_COMPONENTE END END CLOSE ORCAMENTOS_COMPONENTES1346 CLOSE ORCAMENTOS_COMPONENTES808 DEALLOCATE ORCAMENTOS_COMPONENTES1346 DEALLOCATE ORCAMENTOS_COMPONENTES808 END /* ORCAMENTOS_GRUPOS R/1341 ORCAMENTOS_COMPONENTES ON CHILD UPDATE RESTRICT */ if update(GRUPO_COMPONENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ORCAMENTOS_GRUPOS where inserted.GRUPO_COMPONENTE = ORCAMENTOS_GRUPOS.GRUPO_COMPONENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #ORCAMENTOS_COMPONENTES #porque #ORCAMENTOS_GRUPOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_COMPONENTES].[CONSUMO_SUGERIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[ORCAMENTOS_COMPONENTES].[CUSTO_UNITARIO_SUGERIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_ATACADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_ATACADO]( [CLIENTE_ATACADO] [varchar](25) NOT NULL, [COD_CLIENTE] [char](6) NULL, [CONDICAO_PGTO] [char](3) NOT NULL, [REGIAO] [varchar](25) NOT NULL, [MATRIZ_CLIENTE] [varchar](25) NULL, [FILIAL] [varchar](25) NOT NULL, [PONTUALIDADE] [varchar](25) NOT NULL, [TRANSPORTADORA] [varchar](25) NOT NULL, [CONCEITO] [varchar](25) NOT NULL, [TIPO] [varchar](25) NOT NULL, [TIPO_BLOQUEIO] [varchar](25) NOT NULL, [CGC_CPF] [varchar](19) NOT NULL, [CLIFOR] [char](6) NOT NULL, [FRETE_A_PAGAR] [bit] NOT NULL, [PRIORIDADE] [int] NULL, [SEM_CREDITO] [bit] NOT NULL, [LIMITE_CREDITO] [numeric](14, 2) NULL, [BLOQUEIO_EXPEDICAO] [datetime] NULL, [BLOQUEIO_FATURAMENTO] [datetime] NULL, [ACEITA_JUNTAR_PED] [bit] NOT NULL, [BLOQUEIO_PEDIDOS] [datetime] NULL, [NUMERO_PEDIDOS] [int] NULL, [DATA_MAIOR_PEDIDO] [datetime] NULL, [MAIOR_PEDIDO] [numeric](14, 2) NULL, [DATA_MAIOR_QTDE_PEDIDO] [datetime] NULL, [MAIOR_QTDE_PEDIDO] [int] NULL, [MAIOR_SALDO] [numeric](14, 2) NULL, [DATA_MAIOR_SALDO] [datetime] NULL, [NUMERO_ATRASOS] [int] NULL, [MAIOR_ATRASO] [int] NULL, [PGTOS_CARTORIO] [int] NULL, [NUMERO_DEVOLUCOES] [int] NULL, [DATA_MAIOR_DEVOLUCAO] [datetime] NULL, [MAIOR_DEVOLUCAO] [numeric](14, 2) NULL, [DATA_MAIOR_QTDE_DEV] [datetime] NULL, [MAIOR_QTDE_DEV] [int] NULL, [NUMERO_PRORROGACOES] [int] NULL, [MAIOR_PRORROGACAO] [int] NULL, [DESCONTO_FATURAMENTO] [real] NULL, [OBS] [text] NULL, [INATIVO] [bit] NOT NULL, [MOEDA] [char](6) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [INDICA_FRANQUIA] [smallint] NULL, [CODIGO_TAB_PRECO] [char](2) NULL, [FATOR_CUSTO_FRANQUIA] [numeric](8, 3) NULL, [DESCONTO_PEDIDO_VENDA] [numeric](8, 4) NULL, [SEGURO_NUMERO_CONTRATO] [varchar](12) NULL, [SEGURO_NUMERO_CLIENTE] [varchar](8) NULL, [SEGURO_VALIDADE] [datetime] NULL, [CONTA_CONTABIL] [char](20) NULL, [MESES_SEM_VENCIMENTO] [varchar](20) NULL, [EXPEDICAO_COMPLETO_PEDIDO] [bit] NOT NULL, [EXPEDICAO_COMPLETO_PACK] [bit] NOT NULL, [EXPEDICAO_COMPLETO_TAMANHOS] [bit] NOT NULL, [EXPEDICAO_COMPLETO_COR] [bit] NOT NULL, [EXPEDICAO_COMPLETO_COORDENADO] [bit] NOT NULL, [EXPEDICAO_COMPLETO_CARTELA] [bit] NOT NULL, [EXPEDICAO_PORCENTAGEM_MAIOR] [int] NULL, [EXPEDICAO_PORCENTAGEM_MINIMA] [int] NULL, [EXPEDICAO_PORCENTAGEM_TIPO] [int] NULL, [EXPEDICAO_VALOR_MAXIMO] [numeric](14, 2) NULL, [CONTA_CONTABIL_ANTECIPACAO] [char](20) NULL, [TRANSP_REDESPACHO] [varchar](25) NULL, [CONTA_CONTABIL_VENDAS_TIPO] [char](20) NULL, [TRANSPORTADORA2] [varchar](25) NULL, [natureza_saida] [varchar](7) NULL, [NATUREZA_SAIDA_FATURA] [char](7) NULL, [DESCONTO_SOBRE_1] [numeric](8, 2) NULL, [DESCONTO_SOBRE_2] [numeric](8, 2) NULL, [DESCONTO_SOBRE_3] [numeric](8, 2) NULL, [DESCONTO_SOBRE_4] [numeric](8, 2) NULL, [DESCONTO_BRUTO_1] [numeric](8, 2) NULL, [DESCONTO_BRUTO_2] [numeric](8, 2) NULL, [DESCONTO_BRUTO_3] [numeric](8, 2) NULL, [DESCONTO_BRUTO_4] [numeric](8, 2) NULL, CONSTRAINT [XPKCLIENTES_ATACADO] PRIMARY KEY NONCLUSTERED ( [CLIENTE_ATACADO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_ATACADO]') AND name = N'XAK1CLIENTES_ATACADO') CREATE UNIQUE NONCLUSTERED INDEX [XAK1CLIENTES_ATACADO] ON [CLIENTES_ATACADO] ( [CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[CLIENTES_ATACADO]') AND name = N'XIE1CLIENTES_ATACADO') CREATE NONCLUSTERED INDEX [XIE1CLIENTES_ATACADO] ON [CLIENTES_ATACADO] ( [CGC_CPF] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CLIENTES_ATACA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_CLIENTES_ATACA fecha de la secuencia de comandos: Sep 12 2001 10:40AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CLIENTES_ATACA] ON [CLIENTES_ATACADO] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @CLIENTE CHAR(25) DECLARE CLIENTE CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTE FETCH NEXT FROM CLIENTE INTO @CLIENTE WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_CLIENTE_ATACA FROM GF_CLIENTES_ATAC WHERE GF_CLIENTE_ATACA=@CLIENTE) DELETE FROM GF_CLIENTES_ATAC WHERE GF_CLIENTE_ATACA=@CLIENTE ELSE BEGIN FETCH NEXT FROM CLIENTE INTO @CLIENTE END FETCH NEXT FROM CLIENTE INTO @CLIENTE END CLOSE CLIENTE DEALLOCATE CLIENTE END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CLIENTES_ATAC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_CLIENTES_ATAC fecha de la secuencia de comandos: Sep 11 2001 19:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CLIENTES_ATAC] ON [CLIENTES_ATACADO] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @CLIENTE CHAR(25) DECLARE CLIENTE CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED OPEN CLIENTE FETCH NEXT FROM CLIENTE INTO @CLIENTE WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_CLIENTE_ATACA FROM GF_CLIENTES_ATAC WHERE GF_CLIENTE_ATACA=@CLIENTE) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CLIENTES_ATAC (ID,GF_CLIENTE_ATACA,GF_COD_CLIENTE,GF_CONDICAO_PGTO,GF_REGIAO,GF_MATRIZ_CLIENT, GF_FILIAL,GF_PONTUALIDADE,GF_TRANSPORTADOR,GF_CONCEITO,GF_TIPO,GF_TIPO_BLOQUEIO,GF_CGC_CPF,GF_CLIFOR, GF_FRETE_A_PAGAR,GF_DESCONTO_FATU,GF_PRIORIDADE,GF_OBS,GF_INATIVO,GF_MOEDA,GF_CODIGO_TAB_PR,GF_DESCONTO_PEDI, GF_CONTA_CONTABI,EMP,ACCESO,USERC,FECHAC,USERM,FECHAM,USERP) SELECT B.IDMAX,CLIENTE_ATACADO,COD_CLIENTE,CONDICAO_PGTO, (SELECT ID FROM GF_REGIOES_VENDA WHERE GF_REGIAO=(SELECT REGIAO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), MATRIZ_CLIENTE,FILIAL,PONTUALIDADE,TRANSPORTADORA,CONCEITO,TIPO,TIPO_BLOQUEIO,CGC_CPF,CLIFOR, FRETE_A_PAGAR,DESCONTO_FATURAMENTO,PRIORIDADE,OBS,INATIVO, (SELECT ID FROM GF_MOEDAS WHERE GF_MOEDA=(SELECT MOEDA FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), CODIGO_TAB_PRECO,DESCONTO_PEDIDO_VENDA, (SELECT ID FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=(SELECT CONTA_CONTABIL FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), @EMPRESA,28983,@USER,GETDATE(),@USER,GETDATE(),@USER FROM CLIENTES_ATACADO A, GF_CLIENTES_ATACCNT B WHERE CLIENTE_ATACADO=@CLIENTE UPDATE GF_CLIENTES_ATACCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END --ELSE --BEGIN --FETCH NEXT FROM CLIENTE INTO @CLIENTE --END FETCH NEXT FROM CLIENTE INTO @CLIENTE END CLOSE CLIENTE DEALLOCATE CLIENTE --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CLIENTES_ATAC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'CREATE TRIGGER [GFU_CLIENTES_ATAC] ON [CLIENTES_ATACADO] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CLIENTES_ATAC'')) ) < 2 ) BEGIN DECLARE @CLIENTE CHAR(25), @CLIENTED CHAR(25), @OBS VARCHAR(254) DECLARE CLIENTED CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED DECLARE CLIENTE CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED OPEN CLIENTED OPEN CLIENTE FETCH NEXT FROM CLIENTED INTO @CLIENTED FETCH NEXT FROM CLIENTE INTO @CLIENTE IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_CLIENTE_ATACA FROM GF_CLIENTES_ATAC WHERE GF_CLIENTE_ATACA=@CLIENTED) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER SET @OBS=(SELECT SUBSTRING(OBS,1,254) FROM CLIENTES_ATACADO WHERE CLIENTE_ATACADO=@CLIENTE) UPDATE GF_CLIENTES_ATAC SET GF_CLIENTE_ATACA=@CLIENTE, GF_COD_CLIENTE=(SELECT CLIFOR FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_CONDICAO_PGTO=(SELECT CONDICAO_PGTO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_REGIAO=(SELECT ID FROM GF_REGIOES_VENDA WHERE GF_REGIAO=(SELECT REGIAO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), GF_MATRIZ_CLIENT=(SELECT MATRIZ_CLIENTE FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_FILIAL=(SELECT FILIAL FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_PONTUALIDADE=(SELECT PONTUALIDADE FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_TRANSPORTADOR=(SELECT PONTUALIDADE FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_CONCEITO=(SELECT CONCEITO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_TIPO=(SELECT TIPO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_TIPO_BLOQUEIO=(SELECT TIPO_BLOQUEIO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_CGC_CPF=(SELECT CGC_CPF FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_CLIFOR=(SELECT CLIFOR FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_FRETE_A_PAGAR=(SELECT FRETE_A_PAGAR FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_DESCONTO_FATU=(SELECT DESCONTO_FATURAMENTO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_PRIORIDADE=(SELECT CLIFOR FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_OBS=@OBS, GF_INATIVO=(SELECT INATIVO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_MOEDA=(SELECT ID FROM GF_MOEDAS WHERE GF_MOEDA=(SELECT MOEDA FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), GF_CODIGO_TAB_PR=(SELECT CODIGO_TAB_PRECO FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_DESCONTO_PEDI=(SELECT DESCONTO_PEDIDO_VENDA FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE), GF_CONTA_CONTABI=(SELECT ID FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=(SELECT CONTA_CONTABIL FROM INSERTED WHERE CLIENTE_ATACADO=@CLIENTE)), USERM=@USER, FECHAM=GETDATE() WHERE GF_CLIENTE_ATACA=@CLIENTED --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Ubicación del Stock, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM CLIENTED INTO @CLIENTED FETCH NEXT FROM CLIENTE INTO @CLIENTE END FETCH NEXT FROM CLIENTED INTO @CLIENTED FETCH NEXT FROM CLIENTE INTO @CLIENTE END CLOSE CLIENTED DEALLOCATE CLIENTED CLOSE CLIENTE DEALLOCATE CLIENTE END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTES_ATACADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTES_ATACADO] on [CLIENTES_ATACADO] for DELETE as /* DELETE trigger on CLIENTES_ATACADO */ begin declare @errno int, @errmsg varchar(255) /* CLIENTES_ATACADO R/2109 SUBSTITUICOES_MATERIAL_CLIENTE ON PARENT DELETE CASCADE */ delete SUBSTITUICOES_MATERIAL_CLIENTE from SUBSTITUICOES_MATERIAL_CLIENTE,deleted where SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO /* CLIENTES_ATACADO R/2079 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_PRODUTO_RATEIO_CAIXA where VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #VENDAS_PRODUTO_RATEIO_CAIXA#.'' goto error end /* CLIENTES_ATACADO R/2011 COLETOR_COLETA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_COLETA where COLETOR_COLETA.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #COLETOR_COLETA#.'' goto error end /* CLIENTES_ATACADO R/1987 M_ORDEM_FABRICACAO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,M_ORDEM_FABRICACAO where M_ORDEM_FABRICACAO.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #M_ORDEM_FABRICACAO#.'' goto error end /* CLIENTES_ATACADO R/1981 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* CLIENTES_ATACADO R/1982 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.CLIENTE_DO_PRODUTO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #PRODUTOS#.'' goto error end /* CLIENTES_ATACADO R/1668 PRODUTOS_CLIENTE_COR ON PARENT DELETE CASCADE */ delete PRODUTOS_CLIENTE_COR from PRODUTOS_CLIENTE_COR,deleted where PRODUTOS_CLIENTE_COR.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO /* CLIENTES_ATACADO R/1663 PRODUTOS_CLIENTE ON PARENT DELETE CASCADE */ delete PRODUTOS_CLIENTE from PRODUTOS_CLIENTE,deleted where PRODUTOS_CLIENTE.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO /* CLIENTES_ATACADO R/1400 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #VENDAS_LOTE#.'' goto error end /* CLIENTES_ATACADO R/1378 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* CLIENTES_ATACADO R/1359 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #ORCAMENTOS#.'' goto error end /* CLIENTES_ATACADO CLIENTES_ATACADO CLIENTE_REPRE ON PARENT DELETE CASCADE */ delete CLIENTE_REPRE from CLIENTE_REPRE,deleted where CLIENTE_REPRE.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO /* CLIENTES_ATACADO CLIENTES_ATACADO VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.CLIENTE_ATACADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #VENDAS#.'' goto error end /* CLIENTES_ATACADO VAL_ACLI PRODUTOS_GRIFFES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_GRIFFES where PRODUTOS_GRIFFES.LICENCIADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTES_ATACADO #porque existem registros em #PRODUTOS_GRIFFES#.'' goto error end /* CLIENTES_ATACADO MATRIZ CLIENTES_ATACADO ON PARENT DELETE CASCADE */ delete CLIENTES_ATACADO from CLIENTES_ATACADO,deleted where CLIENTES_ATACADO.MATRIZ_CLIENTE = deleted.CLIENTE_ATACADO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTES_ATACADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXI_CLIENTES_ATACADO] on [CLIENTES_ATACADO] for INSERT as /* INSERT trigger on CLIENTES_ATACADO */ /* default body for LXI_CLIENTES_ATACADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLIENTE_ATACADO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_SAIDAS R/1327 CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if /* update(NATUREZA_SAIDA_FATURA) */ update(NATUREZA_SAIDA_FATURA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA_FATURA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA_FATURA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA_FATURA is null */ select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA_FATURA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #NATUREZAS_SAIDAS #não existe.'' goto error end end /* ERwin Builtin Thu Jan 16 14:16:03 2003 */ /* NATUREZAS_SAIDAS R/1326 CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA is null */ select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #NATUREZAS_SAIDAS #não existe.'' goto error end end /* CONTAS_PLANO R/2167 CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL_VENDAS_TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL_VENDAS_TIPO = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL_VENDAS_TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CONTAS_PLANO #não existe.'' goto error end end /* CONTAS_PLANO R/2166 CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL_ANTECIPACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL_ANTECIPACAO = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL_ANTECIPACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CONTAS_PLANO #não existe.'' goto error end end /* TABELAS_PRECO R/1705 CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #TABELAS_PRECO #não existe.'' goto error end end /* COND_ATAC_PGTOS COND_ATAC_PGTOS CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #REGIOES_VENDA #não existe.'' goto error end end /* CLIENTE_ATAC_PONT CLIENTE_ATAC_PONT CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(PONTUALIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_PONT where inserted.PONTUALIDADE = CLIENTE_ATAC_PONT.PONTUALIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CLIENTE_ATAC_PONT #não existe.'' goto error end end /* FILIAIS FILIAIS CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #FILIAIS #não existe.'' goto error end end /* CLIENTE_ATAC_BLOQ CLIENTE_ATAC_BLOQ CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(TIPO_BLOQUEIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_BLOQ where inserted.TIPO_BLOQUEIO = CLIENTE_ATAC_BLOQ.TIPO_BLOQUEIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CLIENTE_ATAC_BLOQ #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.CLIENTE_ATACADO = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* CLIENTE_ATAC_TIPOS CLIENTE_ATAC_TIPOS CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_TIPOS where inserted.TIPO = CLIENTE_ATAC_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CLIENTE_ATAC_TIPOS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #TRANSPORTADORAS #não existe.'' goto error end end /* CLIENTE_CONCEITOS CLIENTE_CONCEITOS CLIENTES_ATACADO ON CHILD INSERT RESTRICT */ if update(CONCEITO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_CONCEITOS where inserted.CONCEITO = CLIENTE_CONCEITOS.CONCEITO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_ATACADO #porque #CLIENTE_CONCEITOS #não existe.'' goto error end end /*---LINX-Atualiza Cliente_Varejo-----------------------------------------------------------------------*/ IF EXISTS(SELECT * FROM PARAMETROS WHERE PARAMETRO = ''COPIA_CLIENTE_ATACADO'' AND VALOR_ATUAL=''.T.'') BEGIN INSERT INTO CLIENTES_VAREJO (CODIGO_CLIENTE,CONCEITO,CLIENTE_VAREJO,FILIAL,PONTUALIDADE,TIPO_BLOQUEIO,ENDERECO,PF_PJ,RG_IE,CPF_CGC,CIDADE,CEP,TELEFONE,FAX,LIMITE_CREDITO,ANIVERSARIO,SEM_CREDITO,CADASTRAMENTO,DDD,UF,EMAIL,BAIRRO,LIMITE_CREDITO_TOTAL,NAO_CONSULTA_CHEQUE) SELECT CLIENTES_ATACADO.CLIFOR+''-IMP_CA'', (SELECT CLIENTES_ATACADO.CONCEITO FROM CLIENTE_VAR_CONCEITOS WHERE CLIENTE_VAR_CONCEITOS.CONCEITO=CLIENTES_ATACADO.CONCEITO), CLIENTES_ATACADO.CLIENTE_ATACADO,CLIENTES_ATACADO.FILIAL, (SELECT CLIENTES_ATACADO.PONTUALIDADE FROM CLIENTE_VAR_PONT WHERE CLIENTE_VAR_PONT.PONTUALIDADE=CLIENTES_ATACADO.PONTUALIDADE), CLIENTES_ATACADO.TIPO_BLOQUEIO,CADASTRO_CLI_FOR.ENDERECO,CADASTRO_CLI_FOR.PJ_PF,CADASTRO_CLI_FOR.RG_IE,CLIENTES_ATACADO.CGC_CPF, CADASTRO_CLI_FOR.CIDADE,CADASTRO_CLI_FOR.CEP,CADASTRO_CLI_FOR.TELEFONE1,CADASTRO_CLI_FOR.FAX,CLIENTES_ATACADO.LIMITE_CREDITO,CADASTRO_CLI_FOR.ANIVERSARIO, CLIENTES_ATACADO.SEM_CREDITO,CADASTRO_CLI_FOR.CADASTRAMENTO,CADASTRO_CLI_FOR.DDD1,CADASTRO_CLI_FOR.UF,CADASTRO_CLI_FOR.EMAIL, CADASTRO_CLI_FOR.BAIRRO,CLIENTES_ATACADO.LIMITE_CREDITO,0 FROM INSERTED CLIENTES_ATACADO JOIN CADASTRO_CLI_FOR ON CLIENTES_ATACADO.CLIENTE_ATACADO=CADASTRO_CLI_FOR.NOME_CLIFOR LEFT JOIN CLIENTES_VAREJO ON CLIENTES_VAREJO.CLIENTE_VAREJO=CLIENTES_ATACADO.CLIENTE_ATACADO OR CLIENTES_VAREJO.CPF_CGC=CLIENTES_ATACADO.CGC_CPF OR CLIENTES_VAREJO.CODIGO_CLIENTE=CLIENTES_ATACADO.CLIFOR+''-IMP_CA'' WHERE CLIENTES_VAREJO.CODIGO_CLIENTE IS NULL END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTES_ATACADO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_ATACADO, INSERTED WHERE CLIENTES_ATACADO.CLIENTE_ATACADO = INSERTED.CLIENTE_ATACADO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_ATACADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_CLIENTES_ATACADO] on [CLIENTES_ATACADO] for UPDATE as /* UPDATE trigger on CLIENTES_ATACADO */ /* default body for LXU_CLIENTES_ATACADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCLIENTE_ATACADO varchar(25), @delCLIENTE_ATACADO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* NATUREZAS_SAIDAS R/1327 CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if /* update(NATUREZA_SAIDA_FATURA) */ update(NATUREZA_SAIDA_FATURA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA_FATURA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA_FATURA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA_FATURA is null */ select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA_FATURA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE CLIENTES_ATACADO because NATUREZAS_SAIDAS does not exist.'' goto error end end /* ERwin Builtin Thu Jan 16 14:16:08 2003 */ /* NATUREZAS_SAIDAS R/1326 CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if /* update(NATUREZA_SAIDA) */ update(NATUREZA_SAIDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,NATUREZAS_SAIDAS where /* inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA */ inserted.NATUREZA_SAIDA = NATUREZAS_SAIDAS.NATUREZA_SAIDA /* select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA is null */ select @nullcnt = count(*) from inserted where inserted.NATUREZA_SAIDA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Cannot UPDATE CLIENTES_ATACADO because NATUREZAS_SAIDAS does not exist.'' goto error end end /* CONTAS_PLANO R/2167 CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL_VENDAS_TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL_VENDAS_TIPO = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL_VENDAS_TIPO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CONTAS_PLANO #não existe.'' goto error end end /* CONTAS_PLANO R/2166 CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL_ANTECIPACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL_ANTECIPACAO = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL_ANTECIPACAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CONTAS_PLANO #não existe.'' goto error end end /* TABELAS_PRECO R/1705 CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO select @nullcnt = count(*) from inserted where inserted.CODIGO_TAB_PRECO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #TABELAS_PRECO #não existe.'' goto error end end /* COND_ATAC_PGTOS COND_ATAC_PGTOS CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CONDICAO_PGTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COND_ATAC_PGTOS where inserted.CONDICAO_PGTO = COND_ATAC_PGTOS.CONDICAO_PGTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #COND_ATAC_PGTOS #não existe.'' goto error end end /* REGIOES_VENDA REGIOES_VENDA CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(REGIAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,REGIOES_VENDA where inserted.REGIAO = REGIOES_VENDA.REGIAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #REGIOES_VENDA #não existe.'' goto error end end /* CLIENTE_ATAC_PONT CLIENTE_ATAC_PONT CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(PONTUALIDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_PONT where inserted.PONTUALIDADE = CLIENTE_ATAC_PONT.PONTUALIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CLIENTE_ATAC_PONT #não existe.'' goto error end end /* FILIAIS FILIAIS CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #FILIAIS #não existe.'' goto error end end /* CLIENTE_ATAC_BLOQ CLIENTE_ATAC_BLOQ CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(TIPO_BLOQUEIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_BLOQ where inserted.TIPO_BLOQUEIO = CLIENTE_ATAC_BLOQ.TIPO_BLOQUEIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CLIENTE_ATAC_BLOQ #não existe.'' goto error end end /* CADASTRO_CLI_FOR CADASTRO_CLI_FOR CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CADASTRO_CLI_FOR where inserted.CLIENTE_ATACADO = CADASTRO_CLI_FOR.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CADASTRO_CLI_FOR #não existe.'' goto error end end /* CLIENTE_ATAC_TIPOS CLIENTE_ATAC_TIPOS CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(TIPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_ATAC_TIPOS where inserted.TIPO = CLIENTE_ATAC_TIPOS.TIPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CLIENTE_ATAC_TIPOS #não existe.'' goto error end end /* TRANSPORTADORAS TRANSPORTADORAS CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(TRANSPORTADORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSPORTADORAS where inserted.TRANSPORTADORA = TRANSPORTADORAS.TRANSPORTADORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #TRANSPORTADORAS #não existe.'' goto error end end /* CLIENTE_CONCEITOS CLIENTE_CONCEITOS CLIENTES_ATACADO ON CHILD UPDATE RESTRICT */ if update(CONCEITO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_CONCEITOS where inserted.CONCEITO = CLIENTE_CONCEITOS.CONCEITO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque #CLIENTE_CONCEITOS #não existe.'' goto error end end /* CLIENTES_ATACADO R/2109 SUBSTITUICOES_MATERIAL_CLIENTE ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO2109 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO2109 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO2109 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SUBSTITUICOES_MATERIAL_CLIENTE SET SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO2109 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO2109 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO2109 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/2079 VENDAS_PRODUTO_RATEIO_CAIXA ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO2079 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO2079 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO2079 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_PRODUTO_RATEIO_CAIXA SET VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE VENDAS_PRODUTO_RATEIO_CAIXA.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO2079 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO2079 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO2079 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/2011 COLETOR_COLETA ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO2011 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO2011 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO2011 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_COLETA SET COLETOR_COLETA.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE COLETOR_COLETA.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO2011 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO2011 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO2011 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1987 M_ORDEM_FABRICACAO ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1987 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1987 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1987 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE M_ORDEM_FABRICACAO SET M_ORDEM_FABRICACAO.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE M_ORDEM_FABRICACAO.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1987 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1987 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1987 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1668 PRODUTOS_CLIENTE_COR ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1668 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1668 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1668 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_CLIENTE_COR SET PRODUTOS_CLIENTE_COR.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE PRODUTOS_CLIENTE_COR.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1668 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1668 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1668 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1663 PRODUTOS_CLIENTE ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1663 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1663 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1663 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_CLIENTE SET PRODUTOS_CLIENTE.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE PRODUTOS_CLIENTE.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1663 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1663 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1663 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1487 PRODUCAO_ORDEM ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1487 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1487 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1487 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUCAO_ORDEM SET PRODUCAO_ORDEM.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE PRODUCAO_ORDEM.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1487 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1487 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1487 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1400 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1400 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1400 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1400 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE VENDAS_LOTE.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1400 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1400 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1400 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1378 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1378 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1378 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1378 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE VENDAS_HISTORICO.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1378 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1378 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1378 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO R/1359 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO1359 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO1359 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO1359 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE ORCAMENTOS.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO1359 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO1359 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO1359 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO CLIENTES_ATACADO CLIENTE_REPRE ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO758 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO758 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO758 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_REPRE SET CLIENTE_REPRE.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE CLIENTE_REPRE.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO758 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO758 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO758 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO CLIENTES_ATACADO VENDAS ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO395 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO395 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO395 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.CLIENTE_ATACADO=@insCLIENTE_ATACADO WHERE VENDAS.CLIENTE_ATACADO = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO395 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO395 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO395 DEALLOCATE CLIENTES_ATACADO35 END /* CLIENTES_ATACADO VAL_ACLI PRODUTOS_GRIFFES ON PARENT UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin if exists ( select * from deleted,PRODUTOS_GRIFFES where PRODUTOS_GRIFFES.LICENCIADO = deleted.CLIENTE_ATACADO ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #CLIENTES_ATACADO #porque existem registros em #PRODUTOS_GRIFFES#.'' goto error end end /* CLIENTES_ATACADO MATRIZ CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CLIENTE_ATACADO) BEGIN DECLARE CLIENTES_ATACADO420 CURSOR FOR SELECT CLIENTE_ATACADO FROM INSERTED DECLARE CLIENTES_ATACADO35 CURSOR FOR SELECT CLIENTE_ATACADO FROM DELETED OPEN CLIENTES_ATACADO420 OPEN CLIENTES_ATACADO35 FETCH NEXT FROM CLIENTES_ATACADO420 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.MATRIZ_CLIENTE=@insCLIENTE_ATACADO WHERE CLIENTES_ATACADO.MATRIZ_CLIENTE = @delCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO420 INTO @insCLIENTE_ATACADO FETCH NEXT FROM CLIENTES_ATACADO35 INTO @delCLIENTE_ATACADO END END CLOSE CLIENTES_ATACADO420 CLOSE CLIENTES_ATACADO35 DEALLOCATE CLIENTES_ATACADO420 DEALLOCATE CLIENTES_ATACADO35 END /*---LINX-Atualiza Cliente_Varejo-----------------------------------------------------------------------*/ IF EXISTS(SELECT * FROM PARAMETROS WHERE PARAMETRO = ''COPIA_CLIENTE_ATACADO'' AND VALOR_ATUAL=''.T.'') BEGIN UPDATE CLIENTES_VAREJO SET CONCEITO=(SELECT CLIENTES_ATACADO.CONCEITO FROM CLIENTE_VAR_CONCEITOS WHERE CLIENTE_VAR_CONCEITOS.CONCEITO=CLIENTES_ATACADO.CONCEITO), PONTUALIDADE=(SELECT CLIENTES_ATACADO.PONTUALIDADE FROM CLIENTE_VAR_PONT WHERE CLIENTE_VAR_PONT.PONTUALIDADE=CLIENTES_ATACADO.PONTUALIDADE), TIPO_BLOQUEIO=CLIENTES_ATACADO.TIPO_BLOQUEIO, ENDERECO=CADASTRO_CLI_FOR.ENDERECO, PF_PJ=CADASTRO_CLI_FOR.PJ_PF, RG_IE=CADASTRO_CLI_FOR.RG_IE, CPF_CGC=CLIENTES_ATACADO.CGC_CPF, CIDADE=CADASTRO_CLI_FOR.CIDADE, CEP=CADASTRO_CLI_FOR.CEP, TELEFONE=CADASTRO_CLI_FOR.TELEFONE1, FAX=CADASTRO_CLI_FOR.FAX, LIMITE_CREDITO=CLIENTES_ATACADO.LIMITE_CREDITO, ANIVERSARIO=CADASTRO_CLI_FOR.ANIVERSARIO, SEM_CREDITO=CLIENTES_ATACADO.SEM_CREDITO, CADASTRAMENTO=CADASTRO_CLI_FOR.CADASTRAMENTO, DDD=CADASTRO_CLI_FOR.DDD1, UF=CADASTRO_CLI_FOR.UF, EMAIL=CADASTRO_CLI_FOR.EMAIL, BAIRRO=CADASTRO_CLI_FOR.BAIRRO, LIMITE_CREDITO_TOTAL=CLIENTES_ATACADO.LIMITE_CREDITO FROM INSERTED CLIENTES_ATACADO JOIN CADASTRO_CLI_FOR ON CLIENTES_ATACADO.CLIENTE_ATACADO=CADASTRO_CLI_FOR.NOME_CLIFOR JOIN CLIENTES_VAREJO ON CLIENTES_VAREJO.CLIENTE_VAREJO=CLIENTES_ATACADO.CLIENTE_ATACADO OR CLIENTES_VAREJO.CPF_CGC=CLIENTES_ATACADO.CGC_CPF OR CLIENTES_VAREJO.CODIGO_CLIENTE=CLIENTES_ATACADO.CLIFOR+''-IMP_CA'' INSERT INTO CLIENTES_VAREJO (CODIGO_CLIENTE,CONCEITO,CLIENTE_VAREJO,FILIAL,PONTUALIDADE,TIPO_BLOQUEIO,ENDERECO,PF_PJ,RG_IE,CPF_CGC,CIDADE,CEP,TELEFONE,FAX,LIMITE_CREDITO,ANIVERSARIO,SEM_CREDITO,CADASTRAMENTO,DDD,UF,EMAIL,BAIRRO,LIMITE_CREDITO_TOTAL,NAO_CONSULTA_CHEQUE) SELECT CLIENTES_ATACADO.CLIFOR+''-IMP_CA'', (SELECT CLIENTES_ATACADO.CONCEITO FROM CLIENTE_VAR_CONCEITOS WHERE CLIENTE_VAR_CONCEITOS.CONCEITO=CLIENTES_ATACADO.CONCEITO), CLIENTES_ATACADO.CLIENTE_ATACADO,CLIENTES_ATACADO.FILIAL, (SELECT CLIENTES_ATACADO.PONTUALIDADE FROM CLIENTE_VAR_PONT WHERE CLIENTE_VAR_PONT.PONTUALIDADE=CLIENTES_ATACADO.PONTUALIDADE), CLIENTES_ATACADO.TIPO_BLOQUEIO,CADASTRO_CLI_FOR.ENDERECO,CADASTRO_CLI_FOR.PJ_PF,CADASTRO_CLI_FOR.RG_IE,CLIENTES_ATACADO.CGC_CPF, CADASTRO_CLI_FOR.CIDADE,CADASTRO_CLI_FOR.CEP,CADASTRO_CLI_FOR.TELEFONE1,CADASTRO_CLI_FOR.FAX,CLIENTES_ATACADO.LIMITE_CREDITO,CADASTRO_CLI_FOR.ANIVERSARIO, CLIENTES_ATACADO.SEM_CREDITO,CADASTRO_CLI_FOR.CADASTRAMENTO,CADASTRO_CLI_FOR.DDD1,CADASTRO_CLI_FOR.UF,CADASTRO_CLI_FOR.EMAIL, CADASTRO_CLI_FOR.BAIRRO,CLIENTES_ATACADO.LIMITE_CREDITO,0 FROM INSERTED CLIENTES_ATACADO JOIN CADASTRO_CLI_FOR ON CLIENTES_ATACADO.CLIENTE_ATACADO=CADASTRO_CLI_FOR.NOME_CLIFOR LEFT JOIN CLIENTES_VAREJO ON CLIENTES_VAREJO.CLIENTE_VAREJO=CLIENTES_ATACADO.CLIENTE_ATACADO OR CLIENTES_VAREJO.CPF_CGC=CLIENTES_ATACADO.CGC_CPF OR CLIENTES_VAREJO.CODIGO_CLIENTE=CLIENTES_ATACADO.CLIFOR+''-IMP_CA'' WHERE CLIENTES_VAREJO.CODIGO_CLIENTE IS NULL END /*-----------------------------------------------------------------------------------------------------*/ /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_ATACADO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_ATACADO, INSERTED WHERE CLIENTES_ATACADO.CLIENTE_ATACADO = INSERTED.CLIENTE_ATACADO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_ATACADO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[FRETE_A_PAGAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[SEM_CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[LIMITE_CREDITO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[ACEITA_JUNTAR_PED]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[NUMERO_PEDIDOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_QTDE_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[NUMERO_ATRASOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_ATRASO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[PGTOS_CARTORIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[NUMERO_DEVOLUCOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_DEVOLUCAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_QTDE_DEV]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[NUMERO_PRORROGACOES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[MAIOR_PRORROGACAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_FATURAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_ATACADO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[INDICA_FRANQUIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_PEDIDO_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_PEDIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_PACK]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_TAMANHOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_COR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_COORDENADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_COMPLETO_CARTELA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_PORCENTAGEM_MAIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_PORCENTAGEM_MINIMA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_PORCENTAGEM_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[EXPEDICAO_VALOR_MAXIMO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_SOBRE_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_SOBRE_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_SOBRE_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_SOBRE_4]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_BRUTO_1]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_BRUTO_2]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_BRUTO_3]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CLIENTES_ATACADO].[DESCONTO_BRUTO_4]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[UNIDADES_FEDERACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [UNIDADES_FEDERACAO]( [UF] [char](2) NOT NULL, [ICMS_SAIDA] [real] NULL, [ICMS_ENTRADA] [real] NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKUNIDADES_FEDERACAO] PRIMARY KEY NONCLUSTERED ( [UF] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_UNIDADES_FEDERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_UNIDADES_FEDERACAO] on [UNIDADES_FEDERACAO] for DELETE as /* DELETE trigger on UNIDADES_FEDERACAO */ begin declare @errno int, @errmsg varchar(255) /* UNIDADES_FEDERACAO R/2169 REGIOES_CEP ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REGIOES_CEP where REGIOES_CEP.UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #REGIOES_CEP#.'' goto error end /* UNIDADES_FEDERACAO R/1899 UNIDADES_FEDERACAO_ICMS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,UNIDADES_FEDERACAO_ICMS where UNIDADES_FEDERACAO_ICMS.UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #UNIDADES_FEDERACAO_ICMS#.'' goto error end /* UNIDADES_FEDERACAO R/1898 UNIDADES_FEDERACAO_ICMS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,UNIDADES_FEDERACAO_ICMS where UNIDADES_FEDERACAO_ICMS.UF_DESTINO = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #UNIDADES_FEDERACAO_ICMS#.'' goto error end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.ENTREGA_UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.COBRANCA_UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO TRANSPORTADORAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TRANSPORTADORAS where TRANSPORTADORAS.UF = deleted.UF ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #UNIDADES_FEDERACAO #porque existem registros em #TRANSPORTADORAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_UNIDADES_FEDERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_UNIDADES_FEDERACAO] on [UNIDADES_FEDERACAO] for INSERT as /* INSERT trigger on UNIDADES_FEDERACAO */ /* default body for LXI_UNIDADES_FEDERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE UNIDADES_FEDERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM UNIDADES_FEDERACAO, INSERTED WHERE UNIDADES_FEDERACAO.UF = INSERTED.UF AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_UNIDADES_FEDERACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_UNIDADES_FEDERACAO] on [UNIDADES_FEDERACAO] for UPDATE as /* UPDATE trigger on UNIDADES_FEDERACAO */ /* default body for LXU_UNIDADES_FEDERACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUF char(2), @delUF char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* UNIDADES_FEDERACAO R/2169 REGIOES_CEP ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO2169 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO2169 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO2169 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REGIOES_CEP SET REGIOES_CEP.UF=@insUF WHERE REGIOES_CEP.UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO2169 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO2169 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO2169 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO R/1899 UNIDADES_FEDERACAO_ICMS ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO1899 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO1899 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO1899 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE UNIDADES_FEDERACAO_ICMS SET UNIDADES_FEDERACAO_ICMS.UF=@insUF WHERE UNIDADES_FEDERACAO_ICMS.UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO1899 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO1899 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO1899 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO R/1898 UNIDADES_FEDERACAO_ICMS ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO1898 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO1898 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO1898 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE UNIDADES_FEDERACAO_ICMS SET UNIDADES_FEDERACAO_ICMS.UF_DESTINO=@insUF WHERE UNIDADES_FEDERACAO_ICMS.UF_DESTINO = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO1898 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO1898 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO1898 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO260 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO260 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO260 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.ENTREGA_UF=@insUF WHERE CADASTRO_CLI_FOR.ENTREGA_UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO260 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO260 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO260 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO259 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO259 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO259 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.COBRANCA_UF=@insUF WHERE CADASTRO_CLI_FOR.COBRANCA_UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO259 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO259 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO259 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO253 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO253 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO253 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.UF=@insUF WHERE CADASTRO_CLI_FOR.UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO253 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO253 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO253 DEALLOCATE UNIDADES_FEDERACAO42 END /* UNIDADES_FEDERACAO UNIDADES_FEDERACAO TRANSPORTADORAS ON PARENT UPDATE CASCADE */ IF update(UF) BEGIN DECLARE UNIDADES_FEDERACAO254 CURSOR FOR SELECT UF FROM INSERTED DECLARE UNIDADES_FEDERACAO42 CURSOR FOR SELECT UF FROM DELETED OPEN UNIDADES_FEDERACAO254 OPEN UNIDADES_FEDERACAO42 FETCH NEXT FROM UNIDADES_FEDERACAO254 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSPORTADORAS SET TRANSPORTADORAS.UF=@insUF WHERE TRANSPORTADORAS.UF = @delUF FETCH NEXT FROM UNIDADES_FEDERACAO254 INTO @insUF FETCH NEXT FROM UNIDADES_FEDERACAO42 INTO @delUF END END CLOSE UNIDADES_FEDERACAO254 CLOSE UNIDADES_FEDERACAO42 DEALLOCATE UNIDADES_FEDERACAO254 DEALLOCATE UNIDADES_FEDERACAO42 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE UNIDADES_FEDERACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM UNIDADES_FEDERACAO, INSERTED WHERE UNIDADES_FEDERACAO.UF = INSERTED.UF AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR UNIDADES_FEDERACAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES_FEDERACAO].[ICMS_SAIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[UNIDADES_FEDERACAO].[ICMS_ENTRADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[UNIDADES_FEDERACAO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DATAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DATAS]( [DATA] [smalldatetime] NOT NULL, [SEMANA454] [int] NULL, [MES454] [int] NULL, [ANO454] [char](18) NOT NULL, [DIA_DO_ANO454] [smallint] NULL, [PORCENTAGEM_MES] [real] NULL, [PORCENTAGEM_SEMANA] [real] NULL, [PORCENTAGEM_MES454] [real] NULL, [PORCENTAGEM_SEMANA454] [real] NULL, CONSTRAINT [XPKDATAS] PRIMARY KEY NONCLUSTERED ( [DATA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_DATAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_DATAS] on [DATAS] for DELETE as /* DELETE trigger on DATAS */ begin declare @errno int, @errmsg varchar(255) /* DATAS R/2155 DATAS_FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,DATAS_FILIAIS where DATAS_FILIAIS.DATA = deleted.DATA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #DATAS #porque existem registros em #DATAS_FILIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DATAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DATAS] on [DATAS] for UPDATE as /* UPDATE trigger on DATAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insDATA smalldatetime, @delDATA smalldatetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DATAS R/2155 DATAS_FILIAIS ON PARENT UPDATE CASCADE */ IF update(DATA) BEGIN DECLARE DATAS2155 CURSOR FOR SELECT DATA FROM INSERTED DECLARE DATAS1187 CURSOR FOR SELECT DATA FROM DELETED OPEN DATAS2155 OPEN DATAS1187 FETCH NEXT FROM DATAS2155 INTO @insDATA FETCH NEXT FROM DATAS1187 INTO @delDATA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DATAS_FILIAIS SET DATAS_FILIAIS.DATA=@insDATA WHERE DATAS_FILIAIS.DATA = @delDATA FETCH NEXT FROM DATAS2155 INTO @insDATA FETCH NEXT FROM DATAS1187 INTO @delDATA END END CLOSE DATAS2155 CLOSE DATAS1187 DEALLOCATE DATAS2155 DEALLOCATE DATAS1187 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[SEMANA454]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[MES454]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[PORCENTAGEM_MES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[PORCENTAGEM_SEMANA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[PORCENTAGEM_MES454]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DATAS].[PORCENTAGEM_SEMANA454]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[USERS_MODULOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [USERS_MODULOS]( [USUARIO] [varchar](25) NOT NULL, [MODULO] [char](6) NOT NULL, [ACESSO_MODULOS] [bit] NOT NULL, [INCLUIR] [bit] NOT NULL, [ALTERAR] [bit] NOT NULL, [EXCLUIR] [bit] NOT NULL, [PESQUISAR] [bit] NOT NULL, [PESQUISA_ESPECIAL] [bit] NOT NULL, [IMPRIMIR] [bit] NOT NULL, [CRIAR_RELATORIO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKUSERS_MODULOS] PRIMARY KEY NONCLUSTERED ( [USUARIO] ASC, [MODULO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_USERS_MODULOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_USERS_MODULOS] on [USERS_MODULOS] for INSERT as /* INSERT trigger on USERS_MODULOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS MODULOS USERS_MODULOS ON CHILD INSERT RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_MODULOS #porque #MODULOS #não existe.'' goto error end end /* USERS USERS USERS_MODULOS ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #USERS_MODULOS #porque #USERS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE USERS_MODULOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM USERS_MODULOS, INSERTED WHERE USERS_MODULOS.USUARIO = INSERTED.USUARIO and USERS_MODULOS.MODULO = INSERTED.MODULO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_USERS_MODULOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_USERS_MODULOS] on [USERS_MODULOS] for UPDATE as /* UPDATE trigger on USERS_MODULOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insUSUARIO varchar(25), @insMODULO char(6), @delUSUARIO varchar(25), @delMODULO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS MODULOS USERS_MODULOS ON CHILD UPDATE RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_MODULOS #porque #MODULOS #não existe.'' goto error end end /* USERS USERS USERS_MODULOS ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #USERS_MODULOS #porque #USERS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE USERS_MODULOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM USERS_MODULOS, INSERTED WHERE USERS_MODULOS.USUARIO = INSERTED.USUARIO and USERS_MODULOS.MODULO = INSERTED.MODULO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR USERS_MODULOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[ACESSO_MODULOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[INCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[ALTERAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[EXCLUIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[PESQUISAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[PESQUISA_ESPECIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[IMPRIMIR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[USERS_MODULOS].[CRIAR_RELATORIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[USERS_MODULOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLETOR_CAIXA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLETOR_CAIXA]( [COLETA] [int] NOT NULL, [CODIGO_BARRA] [varchar](25) NOT NULL, [COLETOR] [int] NOT NULL, [TIPO_CAIXA] [char](8) NULL, [PESO_BRUTO_CAIXA] [numeric](8, 3) NULL, [DATA_EMBALAGEM] [datetime] NULL, [CAIXA_NUMERO_CLIENTE] [varchar](6) NULL, [GRUPO_DE_CAIXAS] [varchar](6) NULL, [CAIXA] [varchar](8) NOT NULL, [QTDE_EMBALADA] [int] NULL, [EMBALADOR] [varchar](25) NOT NULL, CONSTRAINT [XPKCOLETOR_CAIXA] PRIMARY KEY NONCLUSTERED ( [COLETA] ASC, [CODIGO_BARRA] ASC, [COLETOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COLETOR_CAIXA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COLETOR_CAIXA] on [COLETOR_CAIXA] for INSERT as /* INSERT trigger on COLETOR_CAIXA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR R/2010 COLETOR_CAIXA ON CHILD INSERT RESTRICT */ if update(COLETOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR where inserted.COLETOR = COLETOR.COLETOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_CAIXA #porque #COLETOR #não existe.'' goto error end end /* FATURAMENTO_CAIXA_TIPO R/2009 COLETOR_CAIXA ON CHILD INSERT RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_CAIXA #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* PRODUTOS_BARRA R/2008 COLETOR_CAIXA ON CHILD INSERT RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_CAIXA #porque #PRODUTOS_BARRA #não existe.'' goto error end end /* COLETOR_COLETA R/2007 COLETOR_CAIXA ON CHILD INSERT RESTRICT */ if update(COLETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA = COLETOR_COLETA.COLETA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_CAIXA #porque #COLETOR_COLETA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COLETOR_CAIXA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COLETOR_CAIXA] on [COLETOR_CAIXA] for UPDATE as /* UPDATE trigger on COLETOR_CAIXA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLETA int, @insCODIGO_BARRA varchar(25), @insCOLETOR int, @delCOLETA int, @delCODIGO_BARRA varchar(25), @delCOLETOR int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR R/2010 COLETOR_CAIXA ON CHILD UPDATE RESTRICT */ if update(COLETOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR where inserted.COLETOR = COLETOR.COLETOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_CAIXA #porque #COLETOR #não existe.'' goto error end end /* FATURAMENTO_CAIXA_TIPO R/2009 COLETOR_CAIXA ON CHILD UPDATE RESTRICT */ if update(TIPO_CAIXA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FATURAMENTO_CAIXA_TIPO where inserted.TIPO_CAIXA = FATURAMENTO_CAIXA_TIPO.TIPO_CAIXA select @nullcnt = count(*) from inserted where inserted.TIPO_CAIXA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_CAIXA #porque #FATURAMENTO_CAIXA_TIPO #não existe.'' goto error end end /* PRODUTOS_BARRA R/2008 COLETOR_CAIXA ON CHILD UPDATE RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_CAIXA #porque #PRODUTOS_BARRA #não existe.'' goto error end end /* COLETOR_COLETA R/2007 COLETOR_CAIXA ON CHILD UPDATE RESTRICT */ if update(COLETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA = COLETOR_COLETA.COLETA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_CAIXA #porque #COLETOR_COLETA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_CAIXA].[COLETOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_CAIXA].[QTDE_EMBALADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MOEDAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MOEDAS]( [MOEDA] [char](6) NOT NULL, [INDICA_PADRAO] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [NOME_MOEDA_PLURAL] [varchar](25) NULL, [NOME_FRACAO_MOEDA_PLURAL] [varchar](25) NULL, [NOME_MOEDA] [varchar](25) NULL, [NOME_FRACAO_MOEDA] [varchar](25) NULL, CONSTRAINT [XPKMOEDAS] PRIMARY KEY NONCLUSTERED ( [MOEDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 16:05PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MOEDAS] ON [MOEDAS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @MONEDA CHAR(6) DECLARE MONEDA CURSOR FOR SELECT MOEDA FROM DELETED OPEN MONEDA FETCH NEXT FROM MONEDA INTO @MONEDA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_MOEDA FROM GF_MOEDAS WHERE GF_MOEDA=@MONEDA) DELETE FROM GF_MOEDAS WHERE GF_MOEDA=@MONEDA ELSE BEGIN FETCH NEXT FROM MONEDA INTO @MONEDA END FETCH NEXT FROM MONEDA INTO @MONEDA END CLOSE MONEDA DEALLOCATE MONEDA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 13:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MOEDAS] ON [MOEDAS] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESAX --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @MONEDA CHAR(6) DECLARE MONEDA CURSOR FOR SELECT MOEDA FROM INSERTED OPEN MONEDA FETCH NEXT FROM MONEDA INTO @MONEDA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_MOEDA FROM GF_MOEDAS WHERE GF_MOEDA=@MONEDA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_MOEDAS (ID,GF_MOEDA,GF_INDICA_PADRAO,GF_DATA_PARA_TRANSFERENCIA,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,MOEDA,INDICA_PADRAO,DATA_PARA_TRANSFERENCIA, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM MOEDAS A, GF_MOEDASCNT B WHERE MOEDA=@MONEDA UPDATE GF_MOEDASCNT SET IDMAX=IDMAX+1 END --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END -- ELSE -- BEGIN -- FETCH NEXT FROM MONEDA INTO @MONEDA -- END FETCH NEXT FROM MONEDA INTO @MONEDA END CLOSE MONEDA DEALLOCATE MONEDA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MOEDAS fecha de la secuencia de comandos: Sep 18 2001 13:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MOEDAS] ON [MOEDAS] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS'')) ) =1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS_CONVER'')) ) = 1 ) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS_CONVER'')) ) = 1 ) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MOEDAS'')) ) < 2 ) BEGIN DECLARE @MONEDA CHAR(6), @MONEDAD CHAR(6) DECLARE MONEDAD CURSOR FOR SELECT MOEDA FROM DELETED DECLARE MONEDA CURSOR FOR SELECT MOEDA FROM INSERTED OPEN MONEDAD OPEN MONEDA FETCH NEXT FROM MONEDAD INTO @MONEDAD FETCH NEXT FROM MONEDA INTO @MONEDA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_MOEDA FROM GF_MOEDAS WHERE GF_MOEDA=@MONEDAD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_MOEDAS SET GF_MOEDA=@MONEDA, GF_INDICA_PADRAO=(SELECT INDICA_PADRAO FROM INSERTED WHERE MOEDA=@MONEDA), GF_DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE MOEDA=@MONEDA), USERM=@USER, FECHAM=GETDATE() WHERE GF_MOEDA=@MONEDAD UPDATE GF_MOEDAS_CONVER SET GF_MOEDA=@MONEDA WHERE GF_MOEDA=@MONEDAD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Proveedor, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM MONEDAD INTO @MONEDAD FETCH NEXT FROM MONEDA INTO @MONEDA END FETCH NEXT FROM MONEDAD INTO @MONEDAD FETCH NEXT FROM MONEDA INTO @MONEDA END CLOSE MONEDAD DEALLOCATE MONEDAD CLOSE MONEDA DEALLOCATE MONEDA END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MOEDAS] on [MOEDAS] for DELETE as /* DELETE trigger on MOEDAS */ begin declare @errno int, @errmsg varchar(255) /* MOEDAS R/2149 ENTRADAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_DESPESA where ENTRADAS_DESPESA.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #ENTRADAS_DESPESA#.'' goto error end /* MOEDAS R/2143 COMPRAS_DESPESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS_DESPESA where COMPRAS_DESPESA.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #COMPRAS_DESPESA#.'' goto error end /* MOEDAS R/1901 PAISES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PAISES where PAISES.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #PAISES#.'' goto error end /* MOEDAS R/1410 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #VENDAS_LOTE#.'' goto error end /* MOEDAS R/1388 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* MOEDAS R/1375 ENTRADAS_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_CONSUMO where ENTRADAS_CONSUMO.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #ENTRADAS_CONSUMO#.'' goto error end /* MOEDAS R/1374 ENTRADAS_MATERIAL ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS_MATERIAL where ENTRADAS_MATERIAL.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #ENTRADAS_MATERIAL#.'' goto error end /* MOEDAS R/1373 ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.MOEDA_COMPRA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #ENTRADAS#.'' goto error end /* MOEDAS R/1372 ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ENTRADAS where ENTRADAS.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #ENTRADAS#.'' goto error end /* MOEDAS MOEDAS LOJA_VENDA_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PARCELAS where LOJA_VENDA_PARCELAS.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #LOJA_VENDA_PARCELAS#.'' goto error end /* MOEDAS MOEDAS TABELAS_PRECO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,TABELAS_PRECO where TABELAS_PRECO.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #TABELAS_PRECO#.'' goto error end /* MOEDAS MOEDAS COTACOES_MAT_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_MAT_FORNECEDOR where COTACOES_MAT_FORNECEDOR.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #COTACOES_MAT_FORNECEDOR#.'' goto error end /* MOEDAS MOEDAS COTACOES_CONS_FORNECEDOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COTACOES_CONS_FORNECEDOR where COTACOES_CONS_FORNECEDOR.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #COTACOES_CONS_FORNECEDOR#.'' goto error end /* MOEDAS MOEDAS MOEDAS_CONVERSAO ON PARENT DELETE CASCADE */ delete MOEDAS_CONVERSAO from MOEDAS_CONVERSAO,deleted where MOEDAS_CONVERSAO.MOEDA = deleted.MOEDA /* MOEDAS MOEDAS COMPRAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COMPRAS where COMPRAS.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #COMPRAS#.'' goto error end /* MOEDAS MOEDAS A_PAGAR_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_PAGAR_FATURA where A_PAGAR_FATURA.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #A_PAGAR_FATURA#.'' goto error end /* MOEDAS MOEDAS A_RECEBER_FATURA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_FATURA where A_RECEBER_FATURA.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #A_RECEBER_FATURA#.'' goto error end /* MOEDAS MOEDAS VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.MOEDA = deleted.MOEDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MOEDAS #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MOEDAS] on [MOEDAS] for INSERT as /* INSERT trigger on MOEDAS */ /* default body for LXI_MOEDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMOEDA char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE MOEDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MOEDAS, INSERTED WHERE MOEDAS.MOEDA = INSERTED.MOEDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MOEDAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MOEDAS] on [MOEDAS] for UPDATE as /* UPDATE trigger on MOEDAS */ /* default body for LXU_MOEDAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMOEDA char(6), @delMOEDA char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS R/2149 ENTRADAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS2149 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS2149 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS2149 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_DESPESA SET ENTRADAS_DESPESA.MOEDA=@insMOEDA WHERE ENTRADAS_DESPESA.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS2149 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS2149 CLOSE MOEDAS64 DEALLOCATE MOEDAS2149 DEALLOCATE MOEDAS64 END /* MOEDAS R/2143 COMPRAS_DESPESA ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS2143 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS2143 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS2143 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS_DESPESA SET COMPRAS_DESPESA.MOEDA=@insMOEDA WHERE COMPRAS_DESPESA.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS2143 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS2143 CLOSE MOEDAS64 DEALLOCATE MOEDAS2143 DEALLOCATE MOEDAS64 END /* MOEDAS R/1410 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1410 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1410 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1410 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.MOEDA=@insMOEDA WHERE VENDAS_LOTE.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS1410 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1410 CLOSE MOEDAS64 DEALLOCATE MOEDAS1410 DEALLOCATE MOEDAS64 END /* MOEDAS R/1388 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1388 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1388 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1388 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.MOEDA=@insMOEDA WHERE VENDAS_HISTORICO.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS1388 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1388 CLOSE MOEDAS64 DEALLOCATE MOEDAS1388 DEALLOCATE MOEDAS64 END /* MOEDAS R/1375 ENTRADAS_CONSUMO ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1375 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1375 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1375 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_CONSUMO SET ENTRADAS_CONSUMO.MOEDA=@insMOEDA WHERE ENTRADAS_CONSUMO.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS1375 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1375 CLOSE MOEDAS64 DEALLOCATE MOEDAS1375 DEALLOCATE MOEDAS64 END /* MOEDAS R/1374 ENTRADAS_MATERIAL ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1374 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1374 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1374 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS_MATERIAL SET ENTRADAS_MATERIAL.MOEDA=@insMOEDA WHERE ENTRADAS_MATERIAL.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS1374 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1374 CLOSE MOEDAS64 DEALLOCATE MOEDAS1374 DEALLOCATE MOEDAS64 END /* MOEDAS R/1373 ENTRADAS ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1373 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1373 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1373 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.MOEDA_COMPRA=@insMOEDA WHERE ENTRADAS.MOEDA_COMPRA = @delMOEDA FETCH NEXT FROM MOEDAS1373 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1373 CLOSE MOEDAS64 DEALLOCATE MOEDAS1373 DEALLOCATE MOEDAS64 END /* MOEDAS R/1372 ENTRADAS ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS1372 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS1372 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS1372 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ENTRADAS SET ENTRADAS.MOEDA=@insMOEDA WHERE ENTRADAS.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS1372 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS1372 CLOSE MOEDAS64 DEALLOCATE MOEDAS1372 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS LOJA_VENDA_PARCELAS ON PARENT UPDATE RESTRICT */ if update(MOEDA) begin if exists ( select * from deleted,LOJA_VENDA_PARCELAS where LOJA_VENDA_PARCELAS.MOEDA = deleted.MOEDA ) begin select @errno = 30005, @errmsg = ''Impossível Atualizar #MOEDAS #porque existem registros em #LOJA_VENDA_PARCELAS#.'' goto error end end /* MOEDAS MOEDAS TABELAS_PRECO ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS811 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS811 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS811 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TABELAS_PRECO SET TABELAS_PRECO.MOEDA=@insMOEDA WHERE TABELAS_PRECO.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS811 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS811 CLOSE MOEDAS64 DEALLOCATE MOEDAS811 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS COTACOES_MAT_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS799 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS799 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS799 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_MAT_FORNECEDOR SET COTACOES_MAT_FORNECEDOR.MOEDA=@insMOEDA WHERE COTACOES_MAT_FORNECEDOR.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS799 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS799 CLOSE MOEDAS64 DEALLOCATE MOEDAS799 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS COTACOES_CONS_FORNECEDOR ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS798 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS798 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS798 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COTACOES_CONS_FORNECEDOR SET COTACOES_CONS_FORNECEDOR.MOEDA=@insMOEDA WHERE COTACOES_CONS_FORNECEDOR.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS798 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS798 CLOSE MOEDAS64 DEALLOCATE MOEDAS798 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS MOEDAS_CONVERSAO ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS76 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS76 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS76 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MOEDAS_CONVERSAO SET MOEDAS_CONVERSAO.MOEDA=@insMOEDA WHERE MOEDAS_CONVERSAO.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS76 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS76 CLOSE MOEDAS64 DEALLOCATE MOEDAS76 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS COMPRAS ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS62 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS62 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS62 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COMPRAS SET COMPRAS.MOEDA=@insMOEDA WHERE COMPRAS.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS62 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS62 CLOSE MOEDAS64 DEALLOCATE MOEDAS62 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS A_PAGAR_FATURA ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS63 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS63 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS63 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_PAGAR_FATURA SET A_PAGAR_FATURA.MOEDA=@insMOEDA WHERE A_PAGAR_FATURA.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS63 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS63 CLOSE MOEDAS64 DEALLOCATE MOEDAS63 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS A_RECEBER_FATURA ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS381 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS381 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS381 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_FATURA SET A_RECEBER_FATURA.MOEDA=@insMOEDA WHERE A_RECEBER_FATURA.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS381 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS381 CLOSE MOEDAS64 DEALLOCATE MOEDAS381 DEALLOCATE MOEDAS64 END /* MOEDAS MOEDAS VENDAS ON PARENT UPDATE CASCADE */ IF update(MOEDA) BEGIN DECLARE MOEDAS292 CURSOR FOR SELECT MOEDA FROM INSERTED DECLARE MOEDAS64 CURSOR FOR SELECT MOEDA FROM DELETED OPEN MOEDAS292 OPEN MOEDAS64 FETCH NEXT FROM MOEDAS292 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.MOEDA=@insMOEDA WHERE VENDAS.MOEDA = @delMOEDA FETCH NEXT FROM MOEDAS292 INTO @insMOEDA FETCH NEXT FROM MOEDAS64 INTO @delMOEDA END END CLOSE MOEDAS292 CLOSE MOEDAS64 DEALLOCATE MOEDAS292 DEALLOCATE MOEDAS64 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE MOEDAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MOEDAS, INSERTED WHERE MOEDAS.MOEDA = INSERTED.MOEDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR MOEDAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MOEDAS].[INDICA_PADRAO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MOEDAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_REPORT]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_REPORT]( [COD_REPORT] [char](4) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [DESC_REPORT] [varchar](80) NOT NULL, [PADRAO_USUARIO] [bit] NOT NULL, [PUBLICO] [bit] NOT NULL, [CRIACAO] [datetime] NOT NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [PADRAO_LINX] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [REPORT_QRP] [text] NULL, CONSTRAINT [XPKTRANSACOES_REPORT] PRIMARY KEY NONCLUSTERED ( [COD_REPORT] ASC, [COD_TRANSACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_REPORT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_REPORT] on [TRANSACOES_REPORT] for INSERT as /* INSERT trigger on TRANSACOES_REPORT */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_REPORT ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_REPORT #porque #TRANSACOES #não existe.'' goto error end end /* USERS USERS TRANSACOES_REPORT ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_REPORT #porque #USERS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TRANSACOES_REPORT SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_REPORT, INSERTED WHERE TRANSACOES_REPORT.COD_REPORT = INSERTED.COD_REPORT and TRANSACOES_REPORT.COD_TRANSACAO = INSERTED.COD_TRANSACAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_REPORT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_REPORT] on [TRANSACOES_REPORT] for UPDATE as /* UPDATE trigger on TRANSACOES_REPORT */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_REPORT char(4), @insCOD_TRANSACAO char(23), @delCOD_REPORT char(4), @delCOD_TRANSACAO char(23), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_REPORT ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_REPORT #porque #TRANSACOES #não existe.'' goto error end end /* USERS USERS TRANSACOES_REPORT ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_REPORT #porque #USERS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSACOES_REPORT SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_REPORT, INSERTED WHERE TRANSACOES_REPORT.COD_REPORT = INSERTED.COD_REPORT and TRANSACOES_REPORT.COD_TRANSACAO = INSERTED.COD_TRANSACAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSACOES_REPORT.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_REPORT].[PADRAO_USUARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_REPORT].[PUBLICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_REPORT].[PADRAO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSACOES_REPORT].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLETOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLETOR]( [COLETOR] [int] NOT NULL, [SEQUENCIAL_CAIXAS] [char](8) NOT NULL, [NUMERO_SERIAL_COLETOR] [varchar](40) NOT NULL, [TIPO_COLETOR] [int] NULL, [DESC_COLETOR] [varchar](25) NOT NULL, CONSTRAINT [XPKCOLETOR] PRIMARY KEY NONCLUSTERED ( [COLETOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COLETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COLETOR] on [COLETOR] for DELETE as /* DELETE trigger on COLETOR */ begin declare @errno int, @errmsg varchar(255) /* COLETOR R/2010 COLETOR_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_CAIXA where COLETOR_CAIXA.COLETOR = deleted.COLETOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLETOR #porque existem registros em #COLETOR_CAIXA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COLETOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COLETOR] on [COLETOR] for UPDATE as /* UPDATE trigger on COLETOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLETOR int, @delCOLETOR int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR R/2010 COLETOR_CAIXA ON PARENT UPDATE CASCADE */ IF update(COLETOR) BEGIN DECLARE COLETOR2010 CURSOR FOR SELECT COLETOR FROM INSERTED DECLARE COLETOR1126 CURSOR FOR SELECT COLETOR FROM DELETED OPEN COLETOR2010 OPEN COLETOR1126 FETCH NEXT FROM COLETOR2010 INTO @insCOLETOR FETCH NEXT FROM COLETOR1126 INTO @delCOLETOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_CAIXA SET COLETOR_CAIXA.COLETOR=@insCOLETOR WHERE COLETOR_CAIXA.COLETOR = @delCOLETOR FETCH NEXT FROM COLETOR2010 INTO @insCOLETOR FETCH NEXT FROM COLETOR1126 INTO @delCOLETOR END END CLOSE COLETOR2010 CLOSE COLETOR1126 DEALLOCATE COLETOR2010 DEALLOCATE COLETOR1126 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR].[COLETOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR].[TIPO_COLETOR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_VAREJO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_VAREJO]( [CODIGO_FILIAL] [char](6) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [SEQUENCIA_TIKET] [char](8) NULL, [GERENTE_PERIODO] [char](4) NULL, [BENEFICIARIO_CHQ] [varchar](50) NULL, [CIDADE_CHQ] [varchar](18) NULL, [SENHA_DESISTENCIA_VENDA] [varchar](10) NULL, [NAO_ENVIA_ESTOQUE] [bit] NULL, [SEQUENCIA_RESERVA] [char](8) NULL, [SEQUENCIA_SAIDAS] [char](8) NULL, [SEQUENCIA_ENTRADAS] [char](8) NULL, [SEQUENCIA_CLIENTES] [char](8) NULL, [NAO_GERA_GIRO] [bit] NULL, [USA_CPF_RG_OU_CODIGO] [smallint] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [PERMANENCIA_TROCO] [numeric](4, 2) NULL, [MOSTRA_FOTOS] [bit] NULL, [TIRA_FOTO] [bit] NULL, [VALIDA_PRODUTO] [bit] NULL, [ABRE_VENDA_VENDEDOR] [bit] NULL, [PEDE_SENHA_VEND] [bit] NULL, [CPF_OBRIGATORIO] [bit] NULL, [IMPRIME_ITEM_LANCADO] [bit] NULL, [ACUMULA_ITEM_VENDA] [bit] NULL, [SUSP_VENDA] [bit] NULL, [TROCA_VOLTA_VENDA] [bit] NULL, [LISTA_TIPO_PGTO_TICKET] [bit] NULL, [SENHA_DESCONTO] [bit] NULL, [DESC_CENTAVOS] [bit] NULL, [FIXA_DESCONTO] [bit] NULL, [PARCELAS_MESMO_DIA] [bit] NULL, [ENT_SAI_CBAR] [bit] NULL, [OBRIGA_TITULO] [bit] NULL, [RODIZIO_FOTOS] [bit] NULL, [DATAS_RESUMOS] [bit] NULL, [DATAS_VENDEDORES] [bit] NULL, [DESTACA_TROCA] [bit] NULL, [DESCONTA_TROCA] [bit] NULL, [MOSTRA_TICKET] [int] NULL, [SEQUENCIA_TICKET] [int] NULL, [PERG_IMP_ROMANEIOS] [int] NULL, [MOSTRA_NO_TICKET] [int] NULL, [IMPRIME_TICKETS_SUSPENSOS] [int] NULL, [PERG_IMP_TICKETS] [int] NULL, [MASCARA_CODIGO] [varchar](25) NULL, [JANELA_TROCO] [bit] NULL, [PREVISAO_RETORNO] [int] NULL, [ALTERA_NA_LOJA] [bit] NULL, [PARAMETRO_POR_LOJA] [bit] NULL, [NOME_GERENTE_LOJA] [varchar](25) NULL, [COD_GERENTE_LOJA] [varchar](4) NULL, [COD_GERENTE_PERIODO] [varchar](4) NULL, [NOME_GERENTE_PERIODO] [varchar](25) NULL, [OCULTAR_FAIXA_PGTO] [bit] NULL, [SENHA_TECNICA] [char](6) NULL, [CONTROLA_BAIXAS] [bit] NULL, [TIMESTAMP] [timestamp] NULL, [USA_TICKET] [smallint] NULL, [SALDO_INICIAL] [smallint] NULL, [ACEITA_MAIS_PERIODOS] [smallint] NULL, [IMP_NOTA_CUPOM] [smallint] NULL, [PERG_PERMITE_EST] [smallint] NULL, [DESC_CENTAVOS_VEND] [smallint] NULL, [MOSTRA_EST] [smallint] NULL, [ENT_NUMTICKET] [smallint] NULL, [SENHA_VENDA] [varchar](10) NULL, [COMANDO_EXCLUSAO] [varchar](40) NULL, [MOVIMENTA_CAIXA_FECHADO] [smallint] NULL, [DESC_PGTO_AVISTA] [numeric](5, 2) NULL, [LANCA_ACRES] [smallint] NULL, [TICKET_AGRUPADO] [smallint] NULL, [VALIDA_CHEQUE] [smallint] NULL, [PERG_FUNCIONARIO] [int] NULL, [PERMITE_ENT_FORNEC] [smallint] NULL, [FUNC_POR_FORA] [int] NULL, [LIMITE_PGTO_CHQ] [numeric](14, 2) NULL, CONSTRAINT [XPKLOJAS_VAREJO] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[LOJAS_VAREJO]') AND name = N'XAK1LOJAS_VAREJO') CREATE UNIQUE NONCLUSTERED INDEX [XAK1LOJAS_VAREJO] ON [LOJAS_VAREJO] ( [FILIAL] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJAS_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJAS_VAREJO] on [LOJAS_VAREJO] for DELETE as /* DELETE trigger on LOJAS_VAREJO */ begin declare @errno int, @errmsg varchar(255) /* LOJAS_VAREJO LOJA_ORIGEM LOJA_VENDEDORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDEDORES where LOJA_VENDEDORES.CODIGO_FILIAL = deleted.CODIGO_FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJAS_VAREJO #porque existem registros em #LOJA_VENDEDORES#.'' goto error end /* LOJAS_VAREJO LOJAS_VAREJO LOJA_VENDA ON PARENT DELETE CASCADE */ delete LOJA_VENDA from LOJA_VENDA,deleted where LOJA_VENDA.CODIGO_FILIAL = deleted.CODIGO_FILIAL /* LOJAS_VAREJO LOJAS_VAREJO LOJA_TERMINAIS ON PARENT DELETE CASCADE */ delete LOJA_TERMINAIS from LOJA_TERMINAIS,deleted where LOJA_TERMINAIS.CODIGO_FILIAL = deleted.CODIGO_FILIAL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_VAREJO] on [LOJAS_VAREJO] for INSERT as /* INSERT trigger on LOJAS_VAREJO */ /* default body for LXI_LOJAS_VAREJO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS LOJAS_VAREJO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJAS_VAREJO #porque #FILIAIS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJAS_VAREJO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_VAREJO, INSERTED WHERE LOJAS_VAREJO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_VAREJO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_VAREJO] on [LOJAS_VAREJO] for UPDATE as /* UPDATE trigger on LOJAS_VAREJO */ /* default body for LXU_LOJAS_VAREJO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @delCODIGO_FILIAL char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS FILIAIS LOJAS_VAREJO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJAS_VAREJO #porque #FILIAIS #não existe.'' goto error end end /* LOJAS_VAREJO LOJA_ORIGEM LOJA_VENDEDORES ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) BEGIN DECLARE LOJAS_VAREJO1196 CURSOR FOR SELECT CODIGO_FILIAL FROM INSERTED DECLARE LOJAS_VAREJO705 CURSOR FOR SELECT CODIGO_FILIAL FROM DELETED OPEN LOJAS_VAREJO1196 OPEN LOJAS_VAREJO705 FETCH NEXT FROM LOJAS_VAREJO1196 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDEDORES SET LOJA_VENDEDORES.CODIGO_FILIAL=@insCODIGO_FILIAL WHERE LOJA_VENDEDORES.CODIGO_FILIAL = @delCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO1196 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL END END CLOSE LOJAS_VAREJO1196 CLOSE LOJAS_VAREJO705 DEALLOCATE LOJAS_VAREJO1196 DEALLOCATE LOJAS_VAREJO705 END /* LOJAS_VAREJO LOJAS_VAREJO LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) BEGIN DECLARE LOJAS_VAREJO1107 CURSOR FOR SELECT CODIGO_FILIAL FROM INSERTED DECLARE LOJAS_VAREJO705 CURSOR FOR SELECT CODIGO_FILIAL FROM DELETED OPEN LOJAS_VAREJO1107 OPEN LOJAS_VAREJO705 FETCH NEXT FROM LOJAS_VAREJO1107 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_FILIAL=@insCODIGO_FILIAL WHERE LOJA_VENDA.CODIGO_FILIAL = @delCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO1107 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL END END CLOSE LOJAS_VAREJO1107 CLOSE LOJAS_VAREJO705 DEALLOCATE LOJAS_VAREJO1107 DEALLOCATE LOJAS_VAREJO705 END /* LOJAS_VAREJO LOJAS_VAREJO LOJA_TERMINAIS ON PARENT UPDATE CASCADE */ IF update(CODIGO_FILIAL) BEGIN DECLARE LOJAS_VAREJO1106 CURSOR FOR SELECT CODIGO_FILIAL FROM INSERTED DECLARE LOJAS_VAREJO705 CURSOR FOR SELECT CODIGO_FILIAL FROM DELETED OPEN LOJAS_VAREJO1106 OPEN LOJAS_VAREJO705 FETCH NEXT FROM LOJAS_VAREJO1106 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_TERMINAIS SET LOJA_TERMINAIS.CODIGO_FILIAL=@insCODIGO_FILIAL WHERE LOJA_TERMINAIS.CODIGO_FILIAL = @delCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO1106 INTO @insCODIGO_FILIAL FETCH NEXT FROM LOJAS_VAREJO705 INTO @delCODIGO_FILIAL END END CLOSE LOJAS_VAREJO1106 CLOSE LOJAS_VAREJO705 DEALLOCATE LOJAS_VAREJO1106 DEALLOCATE LOJAS_VAREJO705 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_VAREJO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_VAREJO, INSERTED WHERE LOJAS_VAREJO.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_VAREJO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[NAO_ENVIA_ESTOQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[NAO_GERA_GIRO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[USA_CPF_RG_OU_CODIGO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_VAREJO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[MOSTRA_FOTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[TIRA_FOTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[VALIDA_PRODUTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[ABRE_VENDA_VENDEDOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[PEDE_SENHA_VEND]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[CPF_OBRIGATORIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[IMPRIME_ITEM_LANCADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[ACUMULA_ITEM_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[SUSP_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[TROCA_VOLTA_VENDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[LISTA_TIPO_PGTO_TICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[SENHA_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[DESC_CENTAVOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[FIXA_DESCONTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[PARCELAS_MESMO_DIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[ENT_SAI_CBAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[OBRIGA_TITULO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[RODIZIO_FOTOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[DATAS_RESUMOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[DATAS_VENDEDORES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[DESTACA_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[DESCONTA_TROCA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[MOSTRA_TICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[SEQUENCIA_TICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[PERG_IMP_ROMANEIOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[MOSTRA_NO_TICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[IMPRIME_TICKETS_SUSPENSOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[PERG_IMP_TICKETS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[JANELA_TROCO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[ALTERA_NA_LOJA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[PARAMETRO_POR_LOJA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[OCULTAR_FAIXA_PGTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[CONTROLA_BAIXAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[USA_TICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[SALDO_INICIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[ACEITA_MAIS_PERIODOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[IMP_NOTA_CUPOM]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[PERG_PERMITE_EST]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[DESC_CENTAVOS_VEND]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[MOSTRA_EST]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[ENT_NUMTICKET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[MOVIMENTA_CAIXA_FECHADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[LANCA_ACRES]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[TICKET_AGRUPADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[VALIDA_CHEQUE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[LOJAS_VAREJO].[PERG_FUNCIONARIO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[LOJAS_VAREJO].[PERMITE_ENT_FORNEC]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DISTRIBUICAO_META_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DISTRIBUICAO_META_AGRUPAMENTO]( [CODIGO_AGRUPAMENTO] [int] NOT NULL, [CODIGO_VALOR_AGRUPAMENTO] [int] NOT NULL, [FILIAL] [varchar](25) NOT NULL, [ID_FREQUENCIA] [int] NOT NULL, [ANO] [smallint] NOT NULL, [META_COBERTURA] [real] NULL, [META_QTDE] [int] NULL, [META_VALOR] [numeric](14, 2) NULL, [META_QTDE_COMPRA] [int] NULL, [META_VALOR_COMPRA] [numeric](14, 2) NULL, [PORC_META_COLECAO_ATIVA] [real] NULL, [MARK_UP] [real] NULL, CONSTRAINT [XPKDISTRIBUICAO_META_AGRUPAMEN] PRIMARY KEY NONCLUSTERED ( [CODIGO_AGRUPAMENTO] ASC, [CODIGO_VALOR_AGRUPAMENTO] ASC, [FILIAL] ASC, [ID_FREQUENCIA] ASC, [ANO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_DISTRIBUICAO_META_AGRUPAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_DISTRIBUICAO_META_AGRUPAME] on [DISTRIBUICAO_META_AGRUPAMENTO] for INSERT as /* INSERT trigger on DISTRIBUICAO_META_AGRUPAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2114 DISTRIBUICAO_META_AGRUPAMENTO ON CHILD INSERT RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DISTRIBUICAO_META_AGRUPAMENTO #porque #FILIAIS #não existe.'' goto error end end /* DISTRIBUICAO_AGRUPAMENTO R/2113 DISTRIBUICAO_META_AGRUPAMENTO ON CHILD INSERT RESTRICT */ if update(CODIGO_AGRUPAMENTO) or update(CODIGO_VALOR_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO and inserted.CODIGO_VALOR_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DISTRIBUICAO_META_AGRUPAMENTO #porque #DISTRIBUICAO_AGRUPAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DISTRIBUICAO_META_AGRUPAME]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DISTRIBUICAO_META_AGRUPAME] on [DISTRIBUICAO_META_AGRUPAMENTO] for UPDATE as /* UPDATE trigger on DISTRIBUICAO_META_AGRUPAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_AGRUPAMENTO int, @insCODIGO_VALOR_AGRUPAMENTO int, @insFILIAL varchar(25), @insID_FREQUENCIA int, @insANO smallint, @delCODIGO_AGRUPAMENTO int, @delCODIGO_VALOR_AGRUPAMENTO int, @delFILIAL varchar(25), @delID_FREQUENCIA int, @delANO smallint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAIS R/2114 DISTRIBUICAO_META_AGRUPAMENTO ON CHILD UPDATE RESTRICT */ if update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FILIAIS where inserted.FILIAL = FILIAIS.FILIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DISTRIBUICAO_META_AGRUPAMENTO #porque #FILIAIS #não existe.'' goto error end end /* DISTRIBUICAO_AGRUPAMENTO R/2113 DISTRIBUICAO_META_AGRUPAMENTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_AGRUPAMENTO) or update(CODIGO_VALOR_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_AGRUPAMENTO and inserted.CODIGO_VALOR_AGRUPAMENTO = DISTRIBUICAO_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DISTRIBUICAO_META_AGRUPAMENTO #porque #DISTRIBUICAO_AGRUPAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[CODIGO_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[CODIGO_VALOR_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[ID_FREQUENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[ANO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[META_COBERTURA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[META_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[META_VALOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[PORC_META_COLECAO_ATIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_META_AGRUPAMENTO].[MARK_UP]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLETOR_PRODUTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLETOR_PRODUTO]( [COLETA] [int] NOT NULL, [CODIGO_BARRA] [varchar](25) NOT NULL, [QTDE_A_COLETAR] [int] NULL, [QTDE_COLETADA] [int] NULL, CONSTRAINT [XPKCOLETOR_PRODUTO] PRIMARY KEY NONCLUSTERED ( [COLETA] ASC, [CODIGO_BARRA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COLETOR_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COLETOR_PRODUTO] on [COLETOR_PRODUTO] for INSERT as /* INSERT trigger on COLETOR_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR_COLETA R/2003 COLETOR_PRODUTO ON CHILD INSERT RESTRICT */ if update(COLETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA = COLETOR_COLETA.COLETA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_PRODUTO #porque #COLETOR_COLETA #não existe.'' goto error end end /* PRODUTOS_BARRA R/2002 COLETOR_PRODUTO ON CHILD INSERT RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_PRODUTO #porque #PRODUTOS_BARRA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COLETOR_PRODUTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COLETOR_PRODUTO] on [COLETOR_PRODUTO] for UPDATE as /* UPDATE trigger on COLETOR_PRODUTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLETA int, @insCODIGO_BARRA varchar(25), @delCOLETA int, @delCODIGO_BARRA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR_COLETA R/2003 COLETOR_PRODUTO ON CHILD UPDATE RESTRICT */ if update(COLETA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA = COLETOR_COLETA.COLETA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_PRODUTO #porque #COLETOR_COLETA #não existe.'' goto error end end /* PRODUTOS_BARRA R/2002 COLETOR_PRODUTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_BARRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_BARRA where inserted.CODIGO_BARRA = PRODUTOS_BARRA.CODIGO_BARRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_PRODUTO #porque #PRODUTOS_BARRA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_PRODUTO].[QTDE_A_COLETAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_PRODUTO].[QTDE_COLETADA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[M_ORDEM_SERVICO_ITEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [M_ORDEM_SERVICO_ITEM]( [ORDEM_PRODUCAO] [char](8) NOT NULL, [ORDEM_SERVICO] [char](8) NOT NULL, [QTDE_SEMI_ACABADO] [numeric](9, 3) NOT NULL, [MATAR_SALDO] [bit] NOT NULL, [RECALCULA_NIVEIS_SUPERIORES] [bit] NOT NULL, CONSTRAINT [XPKM_ORDEM_SERVICO_ITEM] PRIMARY KEY NONCLUSTERED ( [ORDEM_PRODUCAO] ASC, [ORDEM_SERVICO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[M_ORDEM_SERVICO_ITEM]') AND name = N'XIE1M_ORDEM_SERVICO_ITEM') CREATE NONCLUSTERED INDEX [XIE1M_ORDEM_SERVICO_ITEM] ON [M_ORDEM_SERVICO_ITEM] ( [ORDEM_PRODUCAO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_M_ORDEM_SERVICO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_M_ORDEM_SERVICO_ITEM] on [M_ORDEM_SERVICO_ITEM] for DELETE as /* DELETE trigger on M_ORDEM_SERVICO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delORDEM_SERVICO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM DELETED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_M_ORDEM_SERVICO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_M_ORDEM_SERVICO_ITEM] on [M_ORDEM_SERVICO_ITEM] for INSERT as /* INSERT trigger on M_ORDEM_SERVICO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delORDEM_SERVICO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_SERVICO R/2025 M_ORDEM_SERVICO_ITEM ON CHILD INSERT RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_SERVICO where inserted.ORDEM_SERVICO = M_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_SERVICO_ITEM #porque #M_ORDEM_SERVICO #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/1896 M_ORDEM_SERVICO_ITEM ON CHILD INSERT RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #M_ORDEM_SERVICO_ITEM #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_M_ORDEM_SERVICO_ITEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_M_ORDEM_SERVICO_ITEM] on [M_ORDEM_SERVICO_ITEM] for UPDATE as /* UPDATE trigger on M_ORDEM_SERVICO_ITEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insORDEM_PRODUCAO char(8), @insORDEM_SERVICO char(8), @delORDEM_PRODUCAO char(8), @delORDEM_SERVICO char(8), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* M_ORDEM_SERVICO R/2025 M_ORDEM_SERVICO_ITEM ON CHILD UPDATE RESTRICT */ if update(ORDEM_SERVICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_SERVICO where inserted.ORDEM_SERVICO = M_ORDEM_SERVICO.ORDEM_SERVICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_SERVICO_ITEM #porque #M_ORDEM_SERVICO #não existe.'' goto error end end /* M_ORDEM_FABRICACAO_ITEM R/1896 M_ORDEM_SERVICO_ITEM ON CHILD UPDATE RESTRICT */ if update(ORDEM_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,M_ORDEM_FABRICACAO_ITEM where inserted.ORDEM_PRODUCAO = M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #M_ORDEM_SERVICO_ITEM #porque #M_ORDEM_FABRICACAO_ITEM #não existe.'' goto error end end /*-- MOVIMENTA ORDEM DE PRODUCAO DE MATERIAL ----------------------------------------------------------*/ DECLARE @ORDEM_PRODUCAO CHAR(8), @ORDEM_PRODUCAO_ANTERIOR CHAR(8), @QTDE_PARA_CONSUMO NUMERIC(9,3), @nRESERVA_ORIGINAL NUMERIC(9,3), @QTDE_ENVIADA NUMERIC(9,3), @QTDE_FINALIZADA NUMERIC(9,3), @INICIO_REAL DATETIME, @FIM_ATUALIZADO DATETIME, @VALOR_MATERIAL_UTILIZADO NUMERIC(14,2), @CUSTO_SERVICO_REALIZADO NUMERIC(14,2), @MATAR_SALDO_SAIDA INT, @MATAR_SALDO_RETORNO INT, @RESERVA_MATERIAL CHAR(11), @RESERVA_COR_MATERIAL CHAR(10), @lENCERRADO INT, @lRECALCULA_NIVEIS_SUPERIORES INT, @VALOR_MATERIAL_TERCEIRO_REALIZADO NUMERIC(14,2), @VALOR_TRATAMENTO_REALIZADO NUMERIC(14,2), @VALOR_MATERIA_PRIMA_REALIZADO NUMERIC(14,2) SET NOCOUNT ON DECLARE Cur_ORDEM_PRODUCAO SCROLL CURSOR FOR SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED A WHERE ORDEM_PRODUCAO IS NOT NULL OPEN Cur_ORDEM_PRODUCAO FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @QTDE_ENVIADA = ISNULL(SUM(A.QTDE_SEMI_ACABADO),0) , @MATAR_SALDO_SAIDA = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO)),0), @lRECALCULA_NIVEIS_SUPERIORES = ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) FROM M_ORDEM_SERVICO_ITEM A WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_FINALIZADA = ISNULL(SUM(A.QTDE),0), @MATAR_SALDO_RETORNO = ISNULL(MAX(CONVERT(INT,A.MATAR_SALDO_RESERVA)),0), @lRECALCULA_NIVEIS_SUPERIORES = CASE WHEN @lRECALCULA_NIVEIS_SUPERIORES=1 THEN 1 ELSE ISNULL(MAX(CONVERT(INT,A.RECALCULA_NIVEIS_SUPERIORES)),0) END, @VALOR_MATERIAL_TERCEIRO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIAL_TERCEIRO,0))),0), @VALOR_TRATAMENTO_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_SERVICO,0))),0), @VALOR_MATERIA_PRIMA_REALIZADO = ISNULL(SUM(ISNULL(A.QTDE,0)*(ISNULL(A.CUSTO_MATERIA_PRIMA,0))),0) FROM ESTOQUE_RET1_MAT A JOIN ESTOQUE_RET_MAT B ON A.REQ_MATERIAL=B.REQ_MATERIAL AND A.FILIAL=B.FILIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND TIPO_MOVIMENTACAO=''C'' SELECT @INICIO_REAL=MIN(A.EMISSAO), @FIM_ATUALIZADO=MAX(A.EMISSAO) FROM M_ORDEM_SERVICO A JOIN M_ORDEM_SERVICO_ITEM B ON A.ORDEM_SERVICO=B.ORDEM_SERVICO WHERE B.ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PARA_CONSUMO=QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_EM_PROCESSO = CASE WHEN @QTDE_ENVIADA < @QTDE_FINALIZADA OR @MATAR_SALDO_RETORNO=1 THEN 0 ELSE @QTDE_ENVIADA - @QTDE_FINALIZADA END, QTDE_FINALIZADA = @QTDE_FINALIZADA, QTDE_PERDAS = CASE WHEN @MATAR_SALDO_RETORNO=1 OR @QTDE_ENVIADA < @QTDE_FINALIZADA THEN @QTDE_ENVIADA - @QTDE_FINALIZADA ELSE 0 END, QTDE_ALTERACAO_OF = CASE WHEN @MATAR_SALDO_SAIDA=1 OR (QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) < @QTDE_ENVIADA THEN @QTDE_ENVIADA-(QTDE_PREVISTA+QTDE_ALT_OUTRAS_OF) ELSE 0 END, INICIO_REAL = @INICIO_REAL, FIM_ATUALIZADO = @FIM_ATUALIZADO, VALOR_MATERIAL_TERCEIRO_REALIZADO = @VALOR_MATERIAL_TERCEIRO_REALIZADO, VALOR_TRATAMENTO_REALIZADO = @VALOR_TRATAMENTO_REALIZADO, VALOR_MATERIA_PRIMA_REALIZADO = @VALOR_MATERIA_PRIMA_REALIZADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO UPDATE M_ORDEM_FABRICACAO_ITEM SET QTDE_A_PRODUZIR = QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF, ENCERRAMENTO = CASE WHEN QTDE_PREVISTA-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF=0 AND QTDE_EM_PROCESSO=0 THEN @FIM_ATUALIZADO ELSE NULL END WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO DECLARE Cur_RESERVA SCROLL CURSOR FOR SELECT A.MATERIAL,A.COR_MATERIAL,CONVERT(NUMERIC(9,3),A.RESERVA_ORIGINAL/@QTDE_PARA_CONSUMO*(QTDE_PREVISTA+QTDE_ALTERACAO_OF+QTDE_ALT_OUTRAS_OF-QTDE_PERDAS)) AS RESERVA_ORIGINAL, CONVERT(INT,CASE WHEN ENCERRAMENTO IS NULL THEN 0 ELSE 1 END) AS ENCERRADO FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN Cur_RESERVA FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO WHILE @@FETCH_STATUS=0 BEGIN UPDATE PRODUCAO_RESERVA SET RESERVA_ORIGINAL = @nRESERVA_ORIGINAL, MATAR_SALDO_RESERVA = @lENCERRADO WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND MATERIAL=@RESERVA_MATERIAL AND COR_MATERIAL=@RESERVA_COR_MATERIAL FETCH NEXT FROM Cur_RESERVA INTO @RESERVA_MATERIAL,@RESERVA_COR_MATERIAL,@nRESERVA_ORIGINAL,@lENCERRADO END CLOSE Cur_RESERVA DEALLOCATE Cur_RESERVA IF @lRECALCULA_NIVEIS_SUPERIORES=1 OR EXISTS( SELECT * FROM DELETED WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND RECALCULA_NIVEIS_SUPERIORES=1) BEGIN EXEC LX_RECALCULA_NIVEL_SUPERIOR @ORDEM_PRODUCAO END FETCH NEXT FROM Cur_ORDEM_PRODUCAO INTO @ORDEM_PRODUCAO END CLOSE Cur_ORDEM_PRODUCAO DEALLOCATE Cur_ORDEM_PRODUCAO SET NOCOUNT OFF /*-----------------------------------------------------------------------------------------------------*/ /*-- MOVIMENTA RESERVA PRODUCAO -----------------------------------------------------------------------*/ IF EXISTS (SELECT ORDEM_PRODUCAO FROM INSERTED WHERE ORDEM_PRODUCAO IS NOT NULL) OR EXISTS (SELECT ORDEM_PRODUCAO FROM DELETED WHERE ORDEM_PRODUCAO IS NOT NULL) BEGIN DECLARE @rORDEM_PRODUCAO CHAR(8), @rMATERIAL CHAR(11), @rCOR_MATERIAL CHAR(10), @rRESERVA_ORIGINAL NUMERIC(9,3), @rRESERVA NUMERIC(9,3), @rCONSUMIDA NUMERIC(9,3), @rDIFERENCA_PREVISAO NUMERIC(9,3), @rQTDE_SAIDA NUMERIC(9,3), @rQTDE_RET NUMERIC(9,3), @rTRANSFERENCIA_ESTOQUE NUMERIC(9,3), @rVALOR_MATERIAL NUMERIC(14,2), @rMATAR_SALDO SMALLINT DECLARE CUR_RESERVA SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL FROM PRODUCAO_RESERVA INNER JOIN (SELECT DISTINCT ORDEM_PRODUCAO FROM INSERTED) X ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=X.ORDEM_PRODUCAO OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN SELECT @rRESERVA_ORIGINAL = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA_ORIGINAL)), @rRESERVA = CONVERT(NUMERIC(9,3),SUM(RESERVA.RESERVA)) , @rCONSUMIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.CONSUMIDA)) , @rDIFERENCA_PREVISAO = CONVERT(NUMERIC(9,3),SUM(RESERVA.DIFERENCA_PREVISAO)) , @rQTDE_SAIDA = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_SAIDA)) , @rQTDE_RET = CONVERT(NUMERIC(9,3),SUM(RESERVA.QTDE_RET)) , @rMATAR_SALDO = CONVERT(SMALLINT,MAX(RESERVA.MATAR_SALDO)) , @rVALOR_MATERIAL = CONVERT(NUMERIC(14,2),SUM(VALOR_MATERIAL)) FROM ( SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUCAO_RESERVA.RESERVA,CONSUMIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO,0 AS QTDE_SAIDA,0 AS QTDE_RET, CASE WHEN PRODUCAO_ORDEM.STATUS=''E'' OR PRODUCAO_RESERVA.MATAR_SALDO_RESERVA=1 OR COMPRAS.TOT_QTDE_ENTREGAR=0 THEN 1 ELSE 0 END AS MATAR_SALDO, 0 AS VALOR_MATERIAL FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO WHERE PRODUCAO_RESERVA.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND PRODUCAO_RESERVA.MATERIAL=@rMATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL=@rCOR_MATERIAL UNION ALL SELECT ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL,0,0,0,0,0,SUM(ESTOQUE_RET1_MAT.QTDE) AS QTDE_RET,MAX(CASE WHEN ESTOQUE_RET1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END), -ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE*CUSTO_ULT_SAIDA),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_RET1_MAT.ORDEM_PRODUCAO,ESTOQUE_RET1_MAT.MATERIAL,ESTOQUE_RET1_MAT.COR_MATERIAL UNION ALL SELECT ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL,0,0,0,0,SUM(ESTOQUE_SAI1_MAT.QTDE),0,MAX(CASE WHEN ESTOQUE_SAI1_MAT.MATAR_SALDO_RESERVA=1 THEN 1 ELSE 0 END),SUM(ESTOQUE_SAI1_MAT.VALOR) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL GROUP BY ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO,ESTOQUE_SAI1_MAT.MATERIAL,ESTOQUE_SAI1_MAT.COR_MATERIAL) RESERVA WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL /* SELECT @rTRANSFERENCIA_ESTOQUE=0 SELECT @rTRANSFERENCIA_ESTOQUE=ISNULL(SUM(ESTOQUE_SAI1_MAT.QTDE),0) FROM ESTOQUE_SAI1_MAT WHERE ESTOQUE_SAI1_MAT.TRANSF_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_SAI1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_SAI1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL=@rCOR_MATERIAL SELECT @rTRANSFERENCIA_ESTOQUE=@rTRANSFERENCIA_ESTOQUE-ISNULL(SUM(ESTOQUE_RET1_MAT.QTDE),0) FROM ESTOQUE_RET1_MAT WHERE ESTOQUE_RET1_MAT.TRANSF_SOBRA_ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND ESTOQUE_RET1_MAT.ORDEM_PRODUCAO IS NULL AND ESTOQUE_RET1_MAT.MATERIAL=@rMATERIAL AND ESTOQUE_RET1_MAT.COR_MATERIAL=@rCOR_MATERIAL */ UPDATE PRODUCAO_RESERVA SET CONSUMIDA = @rQTDE_SAIDA-@rQTDE_RET, RESERVA = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 0 ELSE 1 END, DIFERENCA_PREVISAO = (RESERVA_ORIGINAL-(@rQTDE_SAIDA-@rQTDE_RET))*CASE WHEN @rMATAR_SALDO=1 OR (@rQTDE_SAIDA-@rQTDE_RET)>RESERVA_ORIGINAL THEN 1 ELSE 0 END, MATAR_SALDO_RESERVA = @rMATAR_SALDO, -- TRANSFERENCIA_ESTOQUE = ISNULL(@rTRANSFERENCIA_ESTOQUE,0), VALOR_MATERIAL_CONSUMIDO = ISNULL(@rVALOR_MATERIAL,0) WHERE ORDEM_PRODUCAO=@rORDEM_PRODUCAO AND MATERIAL=@rMATERIAL AND COR_MATERIAL=@rCOR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @rORDEM_PRODUCAO, @rMATERIAL, @rCOR_MATERIAL END CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_SERVICO_ITEM].[QTDE_SEMI_ACABADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_SERVICO_ITEM].[MATAR_SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[M_ORDEM_SERVICO_ITEM].[RECALCULA_NIVEIS_SUPERIORES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLECOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLECOES]( [COLECAO] [char](6) NOT NULL, [DESC_COLECAO] [varchar](40) NOT NULL, [TIMESTAMP] [timestamp] NULL, [ENVIA_LOJA_VAREJO] [bit] NOT NULL, [ENVIA_LOJA_ATACADO] [bit] NOT NULL, [ENVIA_REPRESENTANTE] [bit] NOT NULL, [ENVIA_VAREJO_INTERNET] [bit] NOT NULL, [ENVIA_ATACADO_INTERNET] [bit] NOT NULL, [INATIVO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [INIBE_DESCONTO_CLIENTE] [bit] NOT NULL, [DATA_INICIO_META] [datetime] NULL, [DATA_FINAL_META] [datetime] NULL, [TEMPORADA] [tinyint] NULL, CONSTRAINT [XPKCOLECOES] PRIMARY KEY NONCLUSTERED ( [COLECAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COLECOES] on [COLECOES] for DELETE as /* DELETE trigger on COLECOES */ begin declare @errno int, @errmsg varchar(255) /* COLECOES R/1401 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #VENDAS_LOTE#.'' goto error end /* COLECOES R/1387 VENDAS_HISTORICO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_HISTORICO where VENDAS_HISTORICO.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #VENDAS_HISTORICO#.'' goto error end /* COLECOES R/1363 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #ORCAMENTOS#.'' goto error end /* COLECOES COLECOES VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.COLECAO = deleted.COLECAO /* COLECOES COLECOES VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #VENDAS#.'' goto error end /* COLECOES COLECOES REPRESENTANTE_COTA ON PARENT DELETE CASCADE */ delete REPRESENTANTE_COTA from REPRESENTANTE_COTA,deleted where REPRESENTANTE_COTA.COLECAO = deleted.COLECAO /* COLECOES COLECOES MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #MATERIAIS#.'' goto error end /* COLECOES COLECOES PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.COLECAO = deleted.COLECAO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLECOES #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COLECOES] on [COLECOES] for INSERT as /* INSERT trigger on COLECOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLECAO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE COLECOES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COLECOES, INSERTED WHERE COLECOES.COLECAO = INSERTED.COLECAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COLECOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COLECOES] on [COLECOES] for UPDATE as /* UPDATE trigger on COLECOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLECAO char(6), @delCOLECAO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLECOES R/1401 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES1401 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES1401 OPEN COLECOES28 FETCH NEXT FROM COLECOES1401 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.COLECAO=@insCOLECAO WHERE VENDAS_LOTE.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES1401 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES1401 CLOSE COLECOES28 DEALLOCATE COLECOES1401 DEALLOCATE COLECOES28 END /* COLECOES R/1387 VENDAS_HISTORICO ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES1387 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES1387 OPEN COLECOES28 FETCH NEXT FROM COLECOES1387 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_HISTORICO SET VENDAS_HISTORICO.COLECAO=@insCOLECAO WHERE VENDAS_HISTORICO.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES1387 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES1387 CLOSE COLECOES28 DEALLOCATE COLECOES1387 DEALLOCATE COLECOES28 END /* COLECOES R/1363 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES1363 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES1363 OPEN COLECOES28 FETCH NEXT FROM COLECOES1363 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.COLECAO=@insCOLECAO WHERE ORCAMENTOS.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES1363 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES1363 CLOSE COLECOES28 DEALLOCATE COLECOES1363 DEALLOCATE COLECOES28 END /* COLECOES COLECOES VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES923 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES923 OPEN COLECOES28 FETCH NEXT FROM COLECOES923 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.COLECAO=@insCOLECAO WHERE VENDAS_COTAS_TIPO_ITENS.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES923 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES923 CLOSE COLECOES28 DEALLOCATE COLECOES923 DEALLOCATE COLECOES28 END /* COLECOES COLECOES VENDAS ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES866 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES866 OPEN COLECOES28 FETCH NEXT FROM COLECOES866 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.COLECAO=@insCOLECAO WHERE VENDAS.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES866 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES866 CLOSE COLECOES28 DEALLOCATE COLECOES866 DEALLOCATE COLECOES28 END /* COLECOES COLECOES REPRESENTANTE_COTA ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES864 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES864 OPEN COLECOES28 FETCH NEXT FROM COLECOES864 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTE_COTA SET REPRESENTANTE_COTA.COLECAO=@insCOLECAO WHERE REPRESENTANTE_COTA.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES864 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES864 CLOSE COLECOES28 DEALLOCATE COLECOES864 DEALLOCATE COLECOES28 END /* COLECOES COLECOES MATERIAIS ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES271 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES271 OPEN COLECOES28 FETCH NEXT FROM COLECOES271 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.COLECAO=@insCOLECAO WHERE MATERIAIS.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES271 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES271 CLOSE COLECOES28 DEALLOCATE COLECOES271 DEALLOCATE COLECOES28 END /* COLECOES COLECOES PRODUTOS ON PARENT UPDATE CASCADE */ IF update(COLECAO) BEGIN DECLARE COLECOES42 CURSOR FOR SELECT COLECAO FROM INSERTED DECLARE COLECOES28 CURSOR FOR SELECT COLECAO FROM DELETED OPEN COLECOES42 OPEN COLECOES28 FETCH NEXT FROM COLECOES42 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.COLECAO=@insCOLECAO WHERE PRODUTOS.COLECAO = @delCOLECAO FETCH NEXT FROM COLECOES42 INTO @insCOLECAO FETCH NEXT FROM COLECOES28 INTO @delCOLECAO END END CLOSE COLECOES42 CLOSE COLECOES28 DEALLOCATE COLECOES42 DEALLOCATE COLECOES28 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE COLECOES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM COLECOES, INSERTED WHERE COLECOES.COLECAO = INSERTED.COLECAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR COLECOES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[ENVIA_LOJA_VAREJO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[ENVIA_LOJA_ATACADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[ENVIA_REPRESENTANTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[ENVIA_VAREJO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[ENVIA_ATACADO_INTERNET]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[INATIVO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[COLECOES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLECOES].[INIBE_DESCONTO_CLIENTE]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[COLETOR_COLETA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [COLETOR_COLETA]( [COLETA] [int] NOT NULL, [CLIENTE_ATACADO] [varchar](25) NOT NULL, [COLETA_AGRUPADA] [int] NULL, [PEDIDO] [char](12) NULL, [ROMANEIO] [char](8) NULL, [FILIAL] [varchar](25) NULL, [STATUS_COLETA] [int] NOT NULL, [PRIORIDADE] [int] NULL, [COLETA_TIPO] [int] NULL, [ACEITA_COLETA_A_MAIOR] [bit] NOT NULL, [COLETA_SEM_PEDIDO] [bit] NOT NULL, CONSTRAINT [XPKCOLETOR_COLETA] PRIMARY KEY NONCLUSTERED ( [COLETA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_COLETOR_COLETA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_COLETOR_COLETA] on [COLETOR_COLETA] for DELETE as /* DELETE trigger on COLETOR_COLETA */ begin declare @errno int, @errmsg varchar(255) /* COLETOR_COLETA R/2007 COLETOR_CAIXA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_CAIXA where COLETOR_CAIXA.COLETA = deleted.COLETA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLETOR_COLETA #porque existem registros em #COLETOR_CAIXA#.'' goto error end /* COLETOR_COLETA R/2006 COLETOR_COLETA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_COLETA where COLETOR_COLETA.COLETA_AGRUPADA = deleted.COLETA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLETOR_COLETA #porque existem registros em #COLETOR_COLETA#.'' goto error end /* COLETOR_COLETA R/2003 COLETOR_PRODUTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,COLETOR_PRODUTO where COLETOR_PRODUTO.COLETA = deleted.COLETA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #COLETOR_COLETA #porque existem registros em #COLETOR_PRODUTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COLETOR_COLETA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COLETOR_COLETA] on [COLETOR_COLETA] for INSERT as /* INSERT trigger on COLETOR_COLETA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_ATACADO R/2011 COLETOR_COLETA ON CHILD INSERT RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_COLETA #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* COLETOR_COLETA R/2006 COLETOR_COLETA ON CHILD INSERT RESTRICT */ if update(COLETA_AGRUPADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA_AGRUPADA = COLETOR_COLETA.COLETA select @nullcnt = count(*) from inserted where inserted.COLETA_AGRUPADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_COLETA #porque #COLETOR_COLETA #não existe.'' goto error end end /* VENDAS R/2005 COLETOR_COLETA ON CHILD INSERT RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_COLETA #porque #VENDAS #não existe.'' goto error end end /* ROMANEIOS R/2004 COLETOR_COLETA ON CHILD INSERT RESTRICT */ if update(ROMANEIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS where inserted.ROMANEIO = ROMANEIOS.ROMANEIO and inserted.FILIAL = ROMANEIOS.FILIAL select @nullcnt = count(*) from inserted where inserted.ROMANEIO is null or inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #COLETOR_COLETA #porque #ROMANEIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COLETOR_COLETA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COLETOR_COLETA] on [COLETOR_COLETA] for UPDATE as /* UPDATE trigger on COLETOR_COLETA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOLETA int, @delCOLETA int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* COLETOR_COLETA R/2007 COLETOR_CAIXA ON PARENT UPDATE CASCADE */ IF update(COLETA) BEGIN DECLARE COLETOR_COLETA2007 CURSOR FOR SELECT COLETA FROM INSERTED DECLARE COLETOR_COLETA1123 CURSOR FOR SELECT COLETA FROM DELETED OPEN COLETOR_COLETA2007 OPEN COLETOR_COLETA1123 FETCH NEXT FROM COLETOR_COLETA2007 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_CAIXA SET COLETOR_CAIXA.COLETA=@insCOLETA WHERE COLETOR_CAIXA.COLETA = @delCOLETA FETCH NEXT FROM COLETOR_COLETA2007 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA END END CLOSE COLETOR_COLETA2007 CLOSE COLETOR_COLETA1123 DEALLOCATE COLETOR_COLETA2007 DEALLOCATE COLETOR_COLETA1123 END /* COLETOR_COLETA R/2006 COLETOR_COLETA ON PARENT UPDATE CASCADE */ IF update(COLETA) BEGIN DECLARE COLETOR_COLETA2006 CURSOR FOR SELECT COLETA FROM INSERTED DECLARE COLETOR_COLETA1123 CURSOR FOR SELECT COLETA FROM DELETED OPEN COLETOR_COLETA2006 OPEN COLETOR_COLETA1123 FETCH NEXT FROM COLETOR_COLETA2006 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_COLETA SET COLETOR_COLETA.COLETA_AGRUPADA=@insCOLETA WHERE COLETOR_COLETA.COLETA_AGRUPADA = @delCOLETA FETCH NEXT FROM COLETOR_COLETA2006 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA END END CLOSE COLETOR_COLETA2006 CLOSE COLETOR_COLETA1123 DEALLOCATE COLETOR_COLETA2006 DEALLOCATE COLETOR_COLETA1123 END /* COLETOR_COLETA R/2003 COLETOR_PRODUTO ON PARENT UPDATE CASCADE */ IF update(COLETA) BEGIN DECLARE COLETOR_COLETA2003 CURSOR FOR SELECT COLETA FROM INSERTED DECLARE COLETOR_COLETA1123 CURSOR FOR SELECT COLETA FROM DELETED OPEN COLETOR_COLETA2003 OPEN COLETOR_COLETA1123 FETCH NEXT FROM COLETOR_COLETA2003 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE COLETOR_PRODUTO SET COLETOR_PRODUTO.COLETA=@insCOLETA WHERE COLETOR_PRODUTO.COLETA = @delCOLETA FETCH NEXT FROM COLETOR_COLETA2003 INTO @insCOLETA FETCH NEXT FROM COLETOR_COLETA1123 INTO @delCOLETA END END CLOSE COLETOR_COLETA2003 CLOSE COLETOR_COLETA1123 DEALLOCATE COLETOR_COLETA2003 DEALLOCATE COLETOR_COLETA1123 END /* CLIENTES_ATACADO R/2011 COLETOR_COLETA ON CHILD UPDATE RESTRICT */ if update(CLIENTE_ATACADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_ATACADO where inserted.CLIENTE_ATACADO = CLIENTES_ATACADO.CLIENTE_ATACADO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_COLETA #porque #CLIENTES_ATACADO #não existe.'' goto error end end /* COLETOR_COLETA R/2006 COLETOR_COLETA ON CHILD UPDATE RESTRICT */ if update(COLETA_AGRUPADA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,COLETOR_COLETA where inserted.COLETA_AGRUPADA = COLETOR_COLETA.COLETA select @nullcnt = count(*) from inserted where inserted.COLETA_AGRUPADA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_COLETA #porque #COLETOR_COLETA #não existe.'' goto error end end /* VENDAS R/2005 COLETOR_COLETA ON CHILD UPDATE RESTRICT */ if update(PEDIDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VENDAS where inserted.PEDIDO = VENDAS.PEDIDO select @nullcnt = count(*) from inserted where inserted.PEDIDO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_COLETA #porque #VENDAS #não existe.'' goto error end end /* ROMANEIOS R/2004 COLETOR_COLETA ON CHILD UPDATE RESTRICT */ if update(ROMANEIO) or update(FILIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,ROMANEIOS where inserted.ROMANEIO = ROMANEIOS.ROMANEIO and inserted.FILIAL = ROMANEIOS.FILIAL select @nullcnt = count(*) from inserted where inserted.ROMANEIO is null and inserted.FILIAL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #COLETOR_COLETA #porque #ROMANEIOS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_COLETA].[STATUS_COLETA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_COLETA].[PRIORIDADE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_COLETA].[COLETA_TIPO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_COLETA].[ACEITA_COLETA_A_MAIOR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[COLETOR_COLETA].[COLETA_SEM_PEDIDO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EMPRESA_FISCAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EMPRESA_FISCAL]( [EMPRESA_FISCAL] [tinyint] NOT NULL, [DESC_EMPRESA_FISCAL] [varchar](25) NOT NULL, [CGC_EMPRESA_FISCAL] [varchar](19) NOT NULL, CONSTRAINT [XPKEMPRESA_FISCAL] PRIMARY KEY NONCLUSTERED ( [EMPRESA_FISCAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_EMPRESA_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXD_EMPRESA_FISCAL] on [EMPRESA_FISCAL] for DELETE as /* DELETE trigger on EMPRESA_FISCAL */ begin declare @errno int, @errmsg varchar(255) /* EMPRESA_FISCAL R/2550 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.EMPRESA_FISCAL = deleted.EMPRESA_FISCAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA_FISCAL #porque existem registros em #FILIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EMPRESA_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07008] */ create trigger [LXU_EMPRESA_FISCAL] on [EMPRESA_FISCAL] for UPDATE as /* UPDATE trigger on EMPRESA_FISCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insEMPRESA_FISCAL tinyint, @delEMPRESA_FISCAL tinyint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA_FISCAL R/2550 FILIAIS ON PARENT UPDATE CASCADE */ IF update(EMPRESA_FISCAL) BEGIN DECLARE EMPRESA_FISCAL2550 CURSOR FOR SELECT EMPRESA_FISCAL FROM INSERTED DECLARE EMPRESA_FISCAL1335 CURSOR FOR SELECT EMPRESA_FISCAL FROM DELETED OPEN EMPRESA_FISCAL2550 OPEN EMPRESA_FISCAL1335 FETCH NEXT FROM EMPRESA_FISCAL2550 INTO @insEMPRESA_FISCAL FETCH NEXT FROM EMPRESA_FISCAL1335 INTO @delEMPRESA_FISCAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.EMPRESA_FISCAL=@insEMPRESA_FISCAL WHERE FILIAIS.EMPRESA_FISCAL = @delEMPRESA_FISCAL FETCH NEXT FROM EMPRESA_FISCAL2550 INTO @insEMPRESA_FISCAL FETCH NEXT FROM EMPRESA_FISCAL1335 INTO @delEMPRESA_FISCAL END END CLOSE EMPRESA_FISCAL2550 CLOSE EMPRESA_FISCAL1335 DEALLOCATE EMPRESA_FISCAL2550 DEALLOCATE EMPRESA_FISCAL1335 END return error: raiserror @errno @errmsg rollback transaction end' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[EMPRESA_FISCAL].[EMPRESA_FISCAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DISTRIBUICAO_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [DISTRIBUICAO_AGRUPAMENTO]( [CODIGO_AGRUPAMENTO] [int] NOT NULL, [CODIGO_VALOR_AGRUPAMENTO] [int] NOT NULL, [VALOR_AGRUPAMENTO1] [varchar](25) NOT NULL, [VALOR_AGRUPAMENTO2] [varchar](25) NOT NULL, [VALOR_AGRUPAMENTO3] [varchar](25) NOT NULL, [VALOR_AGRUPAMENTO4] [varchar](25) NOT NULL, [VALOR_AGRUPAMENTO5] [varchar](25) NOT NULL, [VALOR_AGRUPAMENTO6] [varchar](25) NOT NULL, [LANCAMENTO_MANUAL] [bit] NOT NULL, CONSTRAINT [XPKDISTRIBUICAO_AGRUPAMENTO] PRIMARY KEY NONCLUSTERED ( [CODIGO_AGRUPAMENTO] ASC, [CODIGO_VALOR_AGRUPAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_DISTRIBUICAO_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_DISTRIBUICAO_AGRUPAMENTO] on [DISTRIBUICAO_AGRUPAMENTO] for DELETE as /* DELETE trigger on DISTRIBUICAO_AGRUPAMENTO */ begin declare @errno int, @errmsg varchar(255) /* DISTRIBUICAO_AGRUPAMENTO R/2113 DISTRIBUICAO_META_AGRUPAMENTO ON PARENT DELETE CASCADE */ delete DISTRIBUICAO_META_AGRUPAMENTO from DISTRIBUICAO_META_AGRUPAMENTO,deleted where DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_AGRUPAMENTO = deleted.CODIGO_AGRUPAMENTO and DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO = deleted.CODIGO_VALOR_AGRUPAMENTO /* DISTRIBUICAO_AGRUPAMENTO R/2112 DISTRIBUICAO_PORCENTAGEM ON PARENT DELETE CASCADE */ delete DISTRIBUICAO_PORCENTAGEM from DISTRIBUICAO_PORCENTAGEM,deleted where DISTRIBUICAO_PORCENTAGEM.CODIGO_AGRUPAMENTO = deleted.CODIGO_AGRUPAMENTO and DISTRIBUICAO_PORCENTAGEM.CODIGO_VALOR_AGRUPAMENTO = deleted.CODIGO_VALOR_AGRUPAMENTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_DISTRIBUICAO_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_DISTRIBUICAO_AGRUPAMENTO] on [DISTRIBUICAO_AGRUPAMENTO] for INSERT as /* INSERT trigger on DISTRIBUICAO_AGRUPAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_TIPO_AGRUPAMENTO R/2111 DISTRIBUICAO_AGRUPAMENTO ON CHILD INSERT RESTRICT */ if update(CODIGO_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_TIPO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_TIPO_AGRUPAMENTO.CODIGO_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #DISTRIBUICAO_AGRUPAMENTO #porque #DISTRIBUICAO_TIPO_AGRUPAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_DISTRIBUICAO_AGRUPAMENTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_DISTRIBUICAO_AGRUPAMENTO] on [DISTRIBUICAO_AGRUPAMENTO] for UPDATE as /* UPDATE trigger on DISTRIBUICAO_AGRUPAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_AGRUPAMENTO int, @insCODIGO_VALOR_AGRUPAMENTO int, @delCODIGO_AGRUPAMENTO int, @delCODIGO_VALOR_AGRUPAMENTO int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* DISTRIBUICAO_AGRUPAMENTO R/2113 DISTRIBUICAO_META_AGRUPAMENTO ON PARENT UPDATE CASCADE */ IF update(CODIGO_AGRUPAMENTO) OR update(CODIGO_VALOR_AGRUPAMENTO) BEGIN DECLARE DISTRIBUICAO_AGRUPAMENTO2113 CURSOR FOR SELECT CODIGO_AGRUPAMENTO, CODIGO_VALOR_AGRUPAMENTO FROM INSERTED DECLARE DISTRIBUICAO_AGRUPAMENTO1186 CURSOR FOR SELECT CODIGO_AGRUPAMENTO, CODIGO_VALOR_AGRUPAMENTO FROM DELETED OPEN DISTRIBUICAO_AGRUPAMENTO2113 OPEN DISTRIBUICAO_AGRUPAMENTO1186 FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO2113 INTO @insCODIGO_AGRUPAMENTO, @insCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO1186 INTO @delCODIGO_AGRUPAMENTO, @delCODIGO_VALOR_AGRUPAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DISTRIBUICAO_META_AGRUPAMENTO SET DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_AGRUPAMENTO=@insCODIGO_AGRUPAMENTO, DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO=@insCODIGO_VALOR_AGRUPAMENTO WHERE DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_AGRUPAMENTO = @delCODIGO_AGRUPAMENTO and DISTRIBUICAO_META_AGRUPAMENTO.CODIGO_VALOR_AGRUPAMENTO = @delCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO2113 INTO @insCODIGO_AGRUPAMENTO, @insCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO1186 INTO @delCODIGO_AGRUPAMENTO, @delCODIGO_VALOR_AGRUPAMENTO END END CLOSE DISTRIBUICAO_AGRUPAMENTO2113 CLOSE DISTRIBUICAO_AGRUPAMENTO1186 DEALLOCATE DISTRIBUICAO_AGRUPAMENTO2113 DEALLOCATE DISTRIBUICAO_AGRUPAMENTO1186 END /* DISTRIBUICAO_AGRUPAMENTO R/2112 DISTRIBUICAO_PORCENTAGEM ON PARENT UPDATE CASCADE */ IF update(CODIGO_AGRUPAMENTO) OR update(CODIGO_VALOR_AGRUPAMENTO) BEGIN DECLARE DISTRIBUICAO_AGRUPAMENTO2112 CURSOR FOR SELECT CODIGO_AGRUPAMENTO, CODIGO_VALOR_AGRUPAMENTO FROM INSERTED DECLARE DISTRIBUICAO_AGRUPAMENTO1186 CURSOR FOR SELECT CODIGO_AGRUPAMENTO, CODIGO_VALOR_AGRUPAMENTO FROM DELETED OPEN DISTRIBUICAO_AGRUPAMENTO2112 OPEN DISTRIBUICAO_AGRUPAMENTO1186 FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO2112 INTO @insCODIGO_AGRUPAMENTO, @insCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO1186 INTO @delCODIGO_AGRUPAMENTO, @delCODIGO_VALOR_AGRUPAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE DISTRIBUICAO_PORCENTAGEM SET DISTRIBUICAO_PORCENTAGEM.CODIGO_AGRUPAMENTO=@insCODIGO_AGRUPAMENTO, DISTRIBUICAO_PORCENTAGEM.CODIGO_VALOR_AGRUPAMENTO=@insCODIGO_VALOR_AGRUPAMENTO WHERE DISTRIBUICAO_PORCENTAGEM.CODIGO_AGRUPAMENTO = @delCODIGO_AGRUPAMENTO and DISTRIBUICAO_PORCENTAGEM.CODIGO_VALOR_AGRUPAMENTO = @delCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO2112 INTO @insCODIGO_AGRUPAMENTO, @insCODIGO_VALOR_AGRUPAMENTO FETCH NEXT FROM DISTRIBUICAO_AGRUPAMENTO1186 INTO @delCODIGO_AGRUPAMENTO, @delCODIGO_VALOR_AGRUPAMENTO END END CLOSE DISTRIBUICAO_AGRUPAMENTO2112 CLOSE DISTRIBUICAO_AGRUPAMENTO1186 DEALLOCATE DISTRIBUICAO_AGRUPAMENTO2112 DEALLOCATE DISTRIBUICAO_AGRUPAMENTO1186 END /* DISTRIBUICAO_TIPO_AGRUPAMENTO R/2111 DISTRIBUICAO_AGRUPAMENTO ON CHILD UPDATE RESTRICT */ if update(CODIGO_AGRUPAMENTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,DISTRIBUICAO_TIPO_AGRUPAMENTO where inserted.CODIGO_AGRUPAMENTO = DISTRIBUICAO_TIPO_AGRUPAMENTO.CODIGO_AGRUPAMENTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #DISTRIBUICAO_AGRUPAMENTO #porque #DISTRIBUICAO_TIPO_AGRUPAMENTO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_AGRUPAMENTO].[CODIGO_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_AGRUPAMENTO].[CODIGO_VALOR_AGRUPAMENTO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[DISTRIBUICAO_AGRUPAMENTO].[LANCAMENTO_MANUAL]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_SUBGRUPO]( [SUBGRUPO] [varchar](25) NOT NULL, [GRUPO] [varchar](25) NOT NULL, [FASE_PRODUCAO] [varchar](25) NOT NULL, [SETOR_PRODUCAO] [varchar](25) NOT NULL, [CODIGO_SUBGRUPO] [char](2) NOT NULL, [CODIGO_SEQUENCIAL] [char](4) NOT NULL, [UNIDADE_ESTOQUE] [char](5) NOT NULL, [FATOR_CONVERSAO] [real] NULL, [UNIDADE_FICHA_TEC] [char](5) NOT NULL, [UNIDADE_AUXILIAR] [char](5) NULL, [CTRL_UNID_AUX] [bit] NOT NULL, [CTRL_PARTIDAS] [bit] NOT NULL, [CTRL_PECAS] [bit] NOT NULL, [CTRL_PECAS_PARCIAL] [bit] NOT NULL, [VARIA_MATERIAL_TAMANHO] [bit] NOT NULL, [MATERIAL_INDIRETO] [bit] NOT NULL, [RESERVA_MATERIAL_OP] [bit] NOT NULL, [ABATER_RESERVA_QTDE] [bit] NOT NULL, [IGNORAR_EM_FORMACAO_PRECO] [bit] NOT NULL, [IMPRESSAO_ETIQUETA_PRODUCAO] [varchar](1) NULL, [INDICA_CORTE] [int] NULL, [CTRL_DETALHES_TECIDO] [bit] NULL, [CTRL_DETALHES_FIO] [bit] NULL, CONSTRAINT [XPKMATERIAIS_SUBGRUPO] PRIMARY KEY NONCLUSTERED ( [SUBGRUPO] ASC, [GRUPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 20:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MATERIAIS_SUB] ON [MATERIAIS_SUBGRUPO] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_MATERIAIS_SUB'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO,SUBGRUPO FROM DELETED OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS ( SELECT GF_GRUPO,GF_SUBGRUPO FROM GF_MATERIAIS_SUB WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO) BEGIN DELETE FROM GF_MATERIAIS_SUB WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO END ELSE BEGIN FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 17:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MATERIAIS_SUB] ON [MATERIAIS_SUBGRUPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MATERIAIS_SUB'')))=1) RETURN ELSE BEGIN DECLARE @GRUPO VARCHAR(25), @SUBGRUPO VARCHAR(25) DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO,SUBGRUPO FROM INSERTED OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS ( SELECT GF_SUBGRUPO FROM GF_MATERIAIS_SUB WHERE GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO) BEGIN INSERT INTO GF_MATERIAIS_SUB (ID, ID_GRUPO, GF_GRUPO, GF_SUBGRUPO, GF_CODIGO_SUBGRU,GF_CODIGO_SEQUEN, GF_FASE_PRODUCAO, GF_SETOR_PRODUCA, GF_UNIDADE_STOQ, GF_FATOR_CONVERS, GF_UNIDADE_FICHA, GF_CTRL_UNID_AUX, GF_UNIDADE_AUXIL, GF_CTRL_PARTIDAS, GF_CTRL_PECAS, GF_CTRL_PECAS_PA, GF_MATERIAL_INDI, GF_RESERVA_MATER, GF_IMPRESSAO_ETI, GF_INDICA_CORTE, GF_CTRL_DETALHES, GF_ABATER_RESERV, GF_IGNORAR_EM_FO, GF_CTRL_DETALLES, GF_VARIA_MATERI, ORDENPM) SELECT B.IDMAX,(SELECT ID FROM GF_MATERIAIS_GRU WHERE GF_GRUPO=@GRUPO), @GRUPO, @SUBGRUPO, CODIGO_SUBGRUPO, CODIGO_SEQUENCIAL, (SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), (SELECT ID FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA=(SELECT SETOR_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) AND GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), (SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_ESTOQUE FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), FATOR_CONVERSAO, (SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_FICHA_TEC FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), (CTRL_UNID_AUX+1), (SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_AUXILIAR FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), (CTRL_PARTIDAS+1), (CTRL_PECAS+1), (CTRL_PECAS_PARCIAL+1), (MATERIAL_INDIRETO+1), (CASE WHEN RESERVA_MATERIAL_OP=0 THEN 2 ELSE RESERVA_MATERIAL_OP END), (IMPRESSAO_ETIQUETA_PRODUCAO+1), INDICA_CORTE, (CTRL_DETALHES_TECIDO+1), (ABATER_RESERVA_QTDE+1), (IGNORAR_EM_FORMACAO_PRECO+1), (CTRL_DETALHES_FIO+1), (VARIA_MATERIAL_TAMANHO+1), ISNULL((SELECT MAX(ORDENPM)+1 FROM GF_MATERIAIS_SUB WHERE GF_GRUPO=@GRUPO),1) FROM INSERTED A, GF_MATERIAIS_SUBCNT B WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO UPDATE GF_MATERIAIS_SUBCNT SET IDMAX=IDMAX+1 END FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MATERIAIS_SUB]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MATERIAIS_SUB fecha de la secuencia de comandos: Sep 17 2001 19:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MATERIAIS_SUB] ON [MATERIAIS_SUBGRUPO] FOR UPDATE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_MATERIAIS_SUB'')) ) < 2 ) DECLARE @SUBGRUPO VARCHAR(25), @SUBGRUPOD VARCHAR(25), @GRUPO VARCHAR(25), @GRUPOD VARCHAR(25) DECLARE SUBGRUPOD CURSOR FOR SELECT GRUPO,SUBGRUPO FROM DELETED DECLARE SUBGRUPO CURSOR FOR SELECT GRUPO,SUBGRUPO FROM INSERTED OPEN SUBGRUPOD OPEN SUBGRUPO FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRUPO,GF_SUBGRUPO FROM GF_MATERIAIS_SUB WHERE GF_GRUPO=@GRUPOD AND GF_SUBGRUPO=@SUBGRUPOD) BEGIN UPDATE GF_MATERIAIS_SUB SET GF_GRUPO=@GRUPO, GF_SUBGRUPO=@SUBGRUPO, GF_CODIGO_SUBGRU=(SELECT CODIGO_SUBGRUPO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CODIGO_SEQUEN=(SELECT CODIGO_SEQUENCIAL FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_FASE_PRODUCAO=(SELECT ID FROM GF_PRODUCAO_FASE WHERE GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), GF_SETOR_PRODUCA=(SELECT ID FROM GF_PRODUCAO_SETO WHERE GF_SETOR_PRODUCA=(SELECT SETOR_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) AND GF_FASE_PRODUCAO=(SELECT FASE_PRODUCAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), GF_UNIDADE_STOQ=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_ESTOQUE FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), GF_FATOR_CONVERS=(SELECT FATOR_CONVERSAO FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_UNIDADE_FICHA=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_FICHA_TEC FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), GF_UNIDADE_AUXIL=(SELECT ID FROM GF_UNIDADES WHERE GF_UNIDADE=(SELECT UNIDADE_AUXILIAR FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)), GF_CTRL_UNID_AUX=(SELECT CTRL_UNID_AUX+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CTRL_PARTIDAS=(SELECT CTRL_PARTIDAS+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CTRL_PECAS=(SELECT CTRL_PECAS+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CTRL_PECAS_PA=(SELECT CTRL_PECAS_PARCIAL+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_MATERIAL_INDI=(SELECT MATERIAL_INDIRETO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_RESERVA_MATER=(CASE WHEN (SELECT RESERVA_MATERIAL_OP FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO)=0 THEN 2 ELSE (SELECT RESERVA_MATERIAL_OP FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) END), GF_IMPRESSAO_ETI=(SELECT IMPRESSAO_ETIQUETA_PRODUCAO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_INDICA_CORTE=(SELECT INDICA_CORTE FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CTRL_DETALHES=(SELECT CTRL_DETALHES_TECIDO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_ABATER_RESERV=(SELECT ABATER_RESERVA_QTDE+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_IGNORAR_EM_FO=(SELECT IGNORAR_EM_FORMACAO_PRECO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_CTRL_DETALLES=(SELECT CTRL_DETALHES_FIO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO), GF_VARIA_MATERI=(SELECT VARIA_MATERIAL_TAMANHO+1 FROM INSERTED WHERE GRUPO=@GRUPO AND SUBGRUPO=@SUBGRUPO) WHERE GF_GRUPO=@GRUPOD AND GF_SUBGRUPO=@SUBGRUPOD END ELSE BEGIN FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END FETCH NEXT FROM SUBGRUPOD INTO @GRUPOD,@SUBGRUPOD FETCH NEXT FROM SUBGRUPO INTO @GRUPO,@SUBGRUPO END CLOSE SUBGRUPOD DEALLOCATE SUBGRUPOD CLOSE SUBGRUPO DEALLOCATE SUBGRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MATERIAIS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MATERIAIS_SUBGRUPO] on [MATERIAIS_SUBGRUPO] for DELETE as /* DELETE trigger on MATERIAIS_SUBGRUPO */ begin declare @errno int, @errmsg varchar(255) /* MATERIAIS_SUBGRUPO R/1960 MATERIAIS_BASE_SUBGRUPO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS_BASE_SUBGRUPO where MATERIAIS_BASE_SUBGRUPO.SUBGRUPO = deleted.SUBGRUPO and MATERIAIS_BASE_SUBGRUPO.GRUPO = deleted.GRUPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_SUBGRUPO #porque existem registros em #MATERIAIS_BASE_SUBGRUPO#.'' goto error end /* MATERIAIS_SUBGRUPO MATERIAIS_SUBGRUPO MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.SUBGRUPO = deleted.SUBGRUPO and MATERIAIS.GRUPO = deleted.GRUPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #MATERIAIS_SUBGRUPO #porque existem registros em #MATERIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_SUBGRUPO] on [MATERIAIS_SUBGRUPO] for INSERT as /* INSERT trigger on MATERIAIS_SUBGRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS_SUBGRUPO ON CHILD INSERT RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_SUBGRUPO #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* UNIDADES UNIDADES_2 MATERIAIS_SUBGRUPO ON CHILD INSERT RESTRICT */ if update(UNIDADE_FICHA_TEC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_FICHA_TEC = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_SUBGRUPO #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES UNIDADES_1 MATERIAIS_SUBGRUPO ON CHILD INSERT RESTRICT */ if update(UNIDADE_ESTOQUE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_ESTOQUE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_SUBGRUPO #porque #UNIDADES #não existe.'' goto error end end /* MATERIAIS_GRUPO MATERIAIS_GRUPO MATERIAIS_SUBGRUPO ON CHILD INSERT RESTRICT */ if update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_GRUPO where inserted.GRUPO = MATERIAIS_GRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_SUBGRUPO #porque #MATERIAIS_GRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_SUBGRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_SUBGRUPO] on [MATERIAIS_SUBGRUPO] for UPDATE as /* UPDATE trigger on MATERIAIS_SUBGRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insSUBGRUPO varchar(25), @insGRUPO varchar(25), @delSUBGRUPO varchar(25), @delGRUPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_SUBGRUPO MATERIAIS_SUBGRUPO MATERIAIS ON PARENT UPDATE CASCADE */ IF update(SUBGRUPO) OR update(GRUPO) BEGIN DECLARE MATERIAIS_SUBGRUPO26 CURSOR FOR SELECT SUBGRUPO, GRUPO FROM INSERTED DECLARE MATERIAIS_SUBGRUPO31 CURSOR FOR SELECT SUBGRUPO, GRUPO FROM DELETED OPEN MATERIAIS_SUBGRUPO26 OPEN MATERIAIS_SUBGRUPO31 FETCH NEXT FROM MATERIAIS_SUBGRUPO26 INTO @insSUBGRUPO, @insGRUPO FETCH NEXT FROM MATERIAIS_SUBGRUPO31 INTO @delSUBGRUPO, @delGRUPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.SUBGRUPO=@insSUBGRUPO, MATERIAIS.GRUPO=@insGRUPO WHERE MATERIAIS.SUBGRUPO = @delSUBGRUPO and MATERIAIS.GRUPO = @delGRUPO FETCH NEXT FROM MATERIAIS_SUBGRUPO26 INTO @insSUBGRUPO, @insGRUPO FETCH NEXT FROM MATERIAIS_SUBGRUPO31 INTO @delSUBGRUPO, @delGRUPO END END CLOSE MATERIAIS_SUBGRUPO26 CLOSE MATERIAIS_SUBGRUPO31 DEALLOCATE MATERIAIS_SUBGRUPO26 DEALLOCATE MATERIAIS_SUBGRUPO31 END /* PRODUCAO_SETOR PRODUCAO_SETOR MATERIAIS_SUBGRUPO ON CHILD UPDATE RESTRICT */ if update(FASE_PRODUCAO) or update(SETOR_PRODUCAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUCAO_SETOR where inserted.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO and inserted.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_SUBGRUPO #porque #PRODUCAO_SETOR #não existe.'' goto error end end /* UNIDADES UNIDADES_2 MATERIAIS_SUBGRUPO ON CHILD UPDATE RESTRICT */ if update(UNIDADE_FICHA_TEC) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_FICHA_TEC = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_SUBGRUPO #porque #UNIDADES #não existe.'' goto error end end /* UNIDADES UNIDADES_1 MATERIAIS_SUBGRUPO ON CHILD UPDATE RESTRICT */ if update(UNIDADE_ESTOQUE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,UNIDADES where inserted.UNIDADE_ESTOQUE = UNIDADES.UNIDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_SUBGRUPO #porque #UNIDADES #não existe.'' goto error end end /* MATERIAIS_GRUPO MATERIAIS_GRUPO MATERIAIS_SUBGRUPO ON CHILD UPDATE RESTRICT */ if update(GRUPO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_GRUPO where inserted.GRUPO = MATERIAIS_GRUPO.GRUPO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_SUBGRUPO #porque #MATERIAIS_GRUPO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_UNID_AUX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_PARTIDAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_PECAS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_PECAS_PARCIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[VARIA_MATERIAL_TAMANHO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[MATERIAL_INDIRETO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[RESERVA_MATERIAL_OP]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[ABATER_RESERVA_QTDE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[IGNORAR_EM_FORMACAO_PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[INDICA_CORTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_DETALHES_TECIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_SUBGRUPO].[CTRL_DETALHES_FIO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_NAVEGA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_NAVEGA]( [NAVEGACAO] [char](8) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [MODULO] [char](6) NOT NULL, [SUGESTAO_LINX] [bit] NOT NULL, [HABILITADO] [bit] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKTRANSACOES_NAVEGA] PRIMARY KEY NONCLUSTERED ( [NAVEGACAO] ASC, [COD_TRANSACAO] ASC, [MODULO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES_NAVEGA]') AND name = N'XIE1TRANSACOES_NAVEGA') CREATE NONCLUSTERED INDEX [XIE1TRANSACOES_NAVEGA] ON [TRANSACOES_NAVEGA] ( [COD_TRANSACAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES_NAVEGA]') AND name = N'XIE2TRANSACOES_NAVEGA') CREATE NONCLUSTERED INDEX [XIE2TRANSACOES_NAVEGA] ON [TRANSACOES_NAVEGA] ( [MODULO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_NAVEGA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_NAVEGA] on [TRANSACOES_NAVEGA] for INSERT as /* INSERT trigger on TRANSACOES_NAVEGA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS MODULOS TRANSACOES_NAVEGA ON CHILD INSERT RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_NAVEGA #porque #MODULOS #não existe.'' goto error end end /* TRANSACOES TRANSACOES TRANSACOES_NAVEGA ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_NAVEGA #porque #TRANSACOES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TRANSACOES_NAVEGA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_NAVEGA, INSERTED WHERE TRANSACOES_NAVEGA.NAVEGACAO = INSERTED.NAVEGACAO and TRANSACOES_NAVEGA.COD_TRANSACAO = INSERTED.COD_TRANSACAO and TRANSACOES_NAVEGA.MODULO = INSERTED.MODULO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_NAVEGA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_NAVEGA] on [TRANSACOES_NAVEGA] for UPDATE as /* UPDATE trigger on TRANSACOES_NAVEGA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNAVEGACAO char(8), @insCOD_TRANSACAO char(23), @insMODULO char(6), @delNAVEGACAO char(8), @delCOD_TRANSACAO char(23), @delMODULO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS MODULOS TRANSACOES_NAVEGA ON CHILD UPDATE RESTRICT */ if update(MODULO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MODULOS where inserted.MODULO = MODULOS.MODULO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_NAVEGA #porque #MODULOS #não existe.'' goto error end end /* TRANSACOES TRANSACOES TRANSACOES_NAVEGA ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_NAVEGA #porque #TRANSACOES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSACOES_NAVEGA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_NAVEGA, INSERTED WHERE TRANSACOES_NAVEGA.NAVEGACAO = INSERTED.NAVEGACAO and TRANSACOES_NAVEGA.COD_TRANSACAO = INSERTED.COD_TRANSACAO and TRANSACOES_NAVEGA.MODULO = INSERTED.MODULO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSACOES_NAVEGA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_NAVEGA].[SUGESTAO_LINX]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_NAVEGA].[HABILITADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSACOES_NAVEGA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_QUERY]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_QUERY]( [COD_TRANSACAO] [char](23) NOT NULL, [CODIGO_QUERY] [char](4) NOT NULL, [NOME_QUERY] [varchar](80) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [PUBLICO] [bit] NOT NULL, [CRIACAO] [datetime] NOT NULL, [ULT_ATUALIZACAO] [datetime] NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [COMANDO_USUARIO] [text] NULL, [COMANDO_SQL] [text] NULL, CONSTRAINT [XPKTRANSACOES_QUERY] PRIMARY KEY NONCLUSTERED ( [COD_TRANSACAO] ASC, [CODIGO_QUERY] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_QUERY]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_QUERY] on [TRANSACOES_QUERY] for INSERT as /* INSERT trigger on TRANSACOES_QUERY */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_QUERY ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_QUERY #porque #TRANSACOES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TRANSACOES_QUERY SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_QUERY, INSERTED WHERE TRANSACOES_QUERY.COD_TRANSACAO = INSERTED.COD_TRANSACAO and TRANSACOES_QUERY.CODIGO_QUERY = INSERTED.CODIGO_QUERY AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_QUERY]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_QUERY] on [TRANSACOES_QUERY] for UPDATE as /* UPDATE trigger on TRANSACOES_QUERY */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_TRANSACAO char(23), @insCODIGO_QUERY char(4), @delCOD_TRANSACAO char(23), @delCODIGO_QUERY char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_QUERY ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_QUERY #porque #TRANSACOES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSACOES_QUERY SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_QUERY, INSERTED WHERE TRANSACOES_QUERY.COD_TRANSACAO = INSERTED.COD_TRANSACAO and TRANSACOES_QUERY.CODIGO_QUERY = INSERTED.CODIGO_QUERY AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSACOES_QUERY.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TRANSACOES_QUERY].[PUBLICO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSACOES_QUERY].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_PLANO]( [CONTA_CONTABIL] [char](20) NOT NULL, [CODIGO_HISTORICO] [char](4) NOT NULL, [DESC_CONTA] [varchar](40) NOT NULL, [TIPO_CONTA] [varchar](25) NOT NULL, [INATIVA] [bit] NOT NULL, [CODIGO_RESUMIDO] [char](7) NOT NULL, [SALDO] [numeric](14, 2) NULL, [CONTA_CORRENTE] [bit] NOT NULL, [DESATIVADA] [bit] NOT NULL, [INDICA_SINTETICA] [bit] NOT NULL, [SALDO_INICIAL] [numeric](14, 2) NULL, [ULTIMO_CHEQUE] [varchar](10) NULL, [EXPORTACAO_CONTA_CONTABIL] [varchar](20) NULL, [EXPORTACAO_TIPO] [char](1) NULL, [DESC_CONTA_REDUZIDA] [varchar](20) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [DESC_DETALHADA] [varchar](250) NULL, CONSTRAINT [XPKCONTAS_PLANO] PRIMARY KEY NONCLUSTERED ( [CONTA_CONTABIL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_CONTAS_PLANO fecha de la secuencia de comandos: Sep 5 2001 20:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CONTAS_PLANO] ON [CONTAS_PLANO] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @CONTA VARCHAR(30) DECLARE CONTA CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTA FETCH NEXT FROM CONTA INTO @CONTA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=@CONTA) DELETE FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=@CONTA ELSE BEGIN FETCH NEXT FROM CONTA INTO @CONTA END FETCH NEXT FROM CONTA INTO @CONTA END CLOSE CONTA DEALLOCATE CONTA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_CONTAS_PLANO fecha de la secuencia de comandos: Sep 5 2001 18:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CONTAS_PLANO] ON [CONTAS_PLANO] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @CONTA CHAR(30) DECLARE CONTA CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED OPEN CONTA FETCH NEXT FROM CONTA INTO @CONTA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=@CONTA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CONTAS_PLANO (ID,GF_CONTA_CONTABI,GF_CODIGO_HISTOR,GF_DESC_CONTA,GF_TIPO_CONTA,GF_CODIGO_RESUMI,GF_INATIVA, GF_SALDO,GF_CONTA_CORRIEN,GF_DESATIVADA,GF_INDICA_SINTET,GF_SALDO_INICIAL,GF_ULTIMO_CHEQUE, GF_EXPORTACAO_CO,GF_EXPORTACAO_TI,GF_CONTA_RED,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,CONTA_CONTABIL,CODIGO_HISTORICO,DESC_CONTA, (SELECT ID FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=(SELECT TIPO_CONTA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA)), CODIGO_RESUMIDO,INATIVA,SALDO,CONTA_CORRENTE,DESATIVADA,INDICA_SINTETICA,SALDO_INICIAL, ULTIMO_CHEQUE,EXPORTACAO_CONTA_CONTABIL,EXPORTACAO_TIPO,DESC_CONTA_REDUZIDA, @EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM CONTAS_PLANO A, GF_CONTAS_PLANOCNT B WHERE CONTA_CONTABIL=@CONTA UPDATE GF_CONTAS_PLANOCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM CONTA INTO @CONTA END FETCH NEXT FROM CONTA INTO @CONTA END CLOSE CONTA DEALLOCATE CONTA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_CONTAS_PLANO fecha de la secuencia de comandos: Sep 5 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_CONTAS_PLANO] ON [CONTAS_PLANO] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CONTAS_PLANO'')) ) < 2 ) BEGIN DECLARE @CONTAD CHAR(30), @CONTA CHAR (30) DECLARE CONTAD CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED DECLARE CONTA CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED OPEN CONTAD OPEN CONTA FETCH NEXT FROM CONTAD INTO @CONTAD FETCH NEXT FROM CONTA INTO @CONTA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE GF_CONTA_CONTABI=@CONTAD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_CONTAS_PLANO SET GF_CONTA_CONTABI=(SELECT CONTA_CONTABIL FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_CODIGO_HISTOR=(SELECT CODIGO_HISTORICO FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_DESC_CONTA=(SELECT DESC_CONTA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_TIPO_CONTA=(SELECT ID FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=(SELECT TIPO_CONTA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA)), GF_CODIGO_RESUMI=(SELECT CODIGO_RESUMIDO FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_INATIVA=(SELECT INATIVA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_SALDO=(SELECT SALDO FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_CONTA_CORRIEN=(SELECT CONTA_CORRENTE FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_DESATIVADA=(SELECT DESATIVADA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_INDICA_SINTET=(SELECT INDICA_SINTETICA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_SALDO_INICIAL=(SELECT SALDO_INICIAL FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_ULTIMO_CHEQUE=(SELECT ULTIMO_CHEQUE FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_EXPORTACAO_CO=(SELECT EXPORTACAO_CONTA_CONTABIL FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_EXPORTACAO_TI=(SELECT EXPORTACAO_TIPO FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), GF_CONTA_RED=(SELECT DESC_CONTA_REDUZIDA FROM INSERTED WHERE CONTA_CONTABIL=@CONTA), USERM=@USER, FECHAM=GETDATE() WHERE GF_CONTA_CONTABI=@CONTAD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM CONTAD INTO @CONTAD FETCH NEXT FROM CONTA INTO @CONTA END FETCH NEXT FROM CONTAD INTO @CONTAD FETCH NEXT FROM CONTA INTO @CONTA END CLOSE CONTAD DEALLOCATE CONTAD CLOSE CONTA DEALLOCATE CONTA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_PLANO] on [CONTAS_PLANO] for DELETE as /* DELETE trigger on CONTAS_PLANO */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_PLANO R/2167 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CONTA_CONTABIL_VENDAS_TIPO = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* CONTAS_PLANO R/2166 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CONTA_CONTABIL_ANTECIPACAO = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* CONTAS_PLANO R/2073 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #PRODUTOS#.'' goto error end /* CONTAS_PLANO R/1903 REPRESENTANTES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REPRESENTANTES where REPRESENTANTES.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #REPRESENTANTES#.'' goto error end /* CONTAS_PLANO R/1905 FORNECEDORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FORNECEDORES where FORNECEDORES.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #FORNECEDORES#.'' goto error end /* CONTAS_PLANO R/1902 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #FILIAIS#.'' goto error end /* CONTAS_PLANO R/1904 CLIENTES_ATACADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_ATACADO where CLIENTES_ATACADO.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CLIENTES_ATACADO#.'' goto error end /* CONTAS_PLANO R/1616 MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #MATERIAIS#.'' goto error end /* CONTAS_PLANO CONTAS_PLANO CONTRATOS_DESCONTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTRATOS_DESCONTO where CONTRATOS_DESCONTO.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CONTRATOS_DESCONTO#.'' goto error end /* CONTAS_PLANO CONTAS_PLANO CADASTRO_CLI_FOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CADASTRO_CLI_FOR where CADASTRO_CLI_FOR.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CADASTRO_CLI_FOR#.'' goto error end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANCAMENTOS where CONTAS_LANCAMENTOS.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CONTAS_LANCAMENTOS#.'' goto error end /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANC_ITENS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANC_ITENS where CONTAS_LANC_ITENS.CONTA_CONTABIL = deleted.CONTA_CONTABIL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_PLANO #porque existem registros em #CONTAS_LANC_ITENS#.'' goto error end /* CONTAS_PLANO CONTAS_PLANO CONTAS_CENTROCUSTO ON PARENT DELETE CASCADE */ delete CONTAS_CENTROCUSTO from CONTAS_CENTROCUSTO,deleted where CONTAS_CENTROCUSTO.CONTA_CONTABIL = deleted.CONTA_CONTABIL return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTAS_PLANO] on [CONTAS_PLANO] for INSERT as /* INSERT trigger on CONTAS_PLANO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_HIST_PADRAO CONTAS_HIST_PADRAO CONTAS_PLANO ON CHILD INSERT RESTRICT */ if update(CODIGO_HISTORICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_HIST_PADRAO where inserted.CODIGO_HISTORICO = CONTAS_HIST_PADRAO.CODIGO_HISTORICO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_PLANO #porque #CONTAS_HIST_PADRAO #não existe.'' goto error end end /* CONTAS_TIPO CONTAS_TIPO CONTAS_PLANO ON CHILD INSERT RESTRICT */ if update(TIPO_CONTA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_TIPO where inserted.TIPO_CONTA = CONTAS_TIPO.TIPO_CONTA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_PLANO #porque #CONTAS_TIPO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CONTAS_PLANO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CONTAS_PLANO, INSERTED WHERE CONTAS_PLANO.CONTA_CONTABIL = INSERTED.CONTA_CONTABIL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_PLANO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_PLANO] on [CONTAS_PLANO] for UPDATE as /* UPDATE trigger on CONTAS_PLANO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONTA_CONTABIL char(20), @delCONTA_CONTABIL char(20), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_PLANO R/2167 CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO2167 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO2167 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO2167 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.CONTA_CONTABIL_VENDAS_TIPO=@insCONTA_CONTABIL WHERE CLIENTES_ATACADO.CONTA_CONTABIL_VENDAS_TIPO = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO2167 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO2167 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO2167 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO R/2166 CLIENTES_ATACADO ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO2166 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO2166 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO2166 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_ATACADO SET CLIENTES_ATACADO.CONTA_CONTABIL_ANTECIPACAO=@insCONTA_CONTABIL WHERE CLIENTES_ATACADO.CONTA_CONTABIL_ANTECIPACAO = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO2166 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO2166 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO2166 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO R/2073 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO2073 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO2073 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO2073 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE PRODUTOS.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO2073 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO2073 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO2073 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO R/1616 MATERIAIS ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO1616 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO1616 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO1616 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE MATERIAIS.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO1616 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO1616 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO1616 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO CONTAS_PLANO CONTRATOS_DESCONTO ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO1320 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO1320 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO1320 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTRATOS_DESCONTO SET CONTRATOS_DESCONTO.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE CONTRATOS_DESCONTO.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO1320 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO1320 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO1320 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO CONTAS_PLANO CADASTRO_CLI_FOR ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO891 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO891 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO891 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CADASTRO_CLI_FOR SET CADASTRO_CLI_FOR.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE CADASTRO_CLI_FOR.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO891 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO891 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO891 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO746 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO746 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO746 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANCAMENTOS SET CONTAS_LANCAMENTOS.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE CONTAS_LANCAMENTOS.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO746 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO746 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO746 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO CONTAS_PLANO CONTAS_LANC_ITENS ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO744 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO744 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO744 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANC_ITENS SET CONTAS_LANC_ITENS.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE CONTAS_LANC_ITENS.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO744 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO744 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO744 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_PLANO CONTAS_PLANO CONTAS_CENTROCUSTO ON PARENT UPDATE CASCADE */ IF update(CONTA_CONTABIL) BEGIN DECLARE CONTAS_PLANO95 CURSOR FOR SELECT CONTA_CONTABIL FROM INSERTED DECLARE CONTAS_PLANO70 CURSOR FOR SELECT CONTA_CONTABIL FROM DELETED OPEN CONTAS_PLANO95 OPEN CONTAS_PLANO70 FETCH NEXT FROM CONTAS_PLANO95 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_CENTROCUSTO SET CONTAS_CENTROCUSTO.CONTA_CONTABIL=@insCONTA_CONTABIL WHERE CONTAS_CENTROCUSTO.CONTA_CONTABIL = @delCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO95 INTO @insCONTA_CONTABIL FETCH NEXT FROM CONTAS_PLANO70 INTO @delCONTA_CONTABIL END END CLOSE CONTAS_PLANO95 CLOSE CONTAS_PLANO70 DEALLOCATE CONTAS_PLANO95 DEALLOCATE CONTAS_PLANO70 END /* CONTAS_HIST_PADRAO CONTAS_HIST_PADRAO CONTAS_PLANO ON CHILD UPDATE RESTRICT */ if update(CODIGO_HISTORICO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_HIST_PADRAO where inserted.CODIGO_HISTORICO = CONTAS_HIST_PADRAO.CODIGO_HISTORICO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_PLANO #porque #CONTAS_HIST_PADRAO #não existe.'' goto error end end /* CONTAS_TIPO CONTAS_TIPO CONTAS_PLANO ON CHILD UPDATE RESTRICT */ if update(TIPO_CONTA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_TIPO where inserted.TIPO_CONTA = CONTAS_TIPO.TIPO_CONTA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_PLANO #porque #CONTAS_TIPO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CONTAS_PLANO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CONTAS_PLANO, INSERTED WHERE CONTAS_PLANO.CONTA_CONTABIL = INSERTED.CONTA_CONTABIL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CONTAS_PLANO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[INATIVA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[SALDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[CONTA_CORRENTE]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[DESATIVADA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[INDICA_SINTETICA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_PLANO].[SALDO_INICIAL]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CONTAS_PLANO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TIPOS_PGTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TIPOS_PGTO]( [TIPO_PGTO] [char](1) NOT NULL, [DESC_TIPO_PGTO] [varchar](40) NULL, [TIPO_A_VISTA] [bit] NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKTIPOS_PGTO] PRIMARY KEY NONCLUSTERED ( [TIPO_PGTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TIPOS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_TIPOS_PGTO] on [TIPOS_PGTO] for DELETE as /* DELETE trigger on TIPOS_PGTO */ begin declare @errno int, @errmsg varchar(255) /* TIPOS_PGTO R/1390 LOJA_PGTO_CLIENTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_PGTO_CLIENTE where LOJA_PGTO_CLIENTE.TIPO_PGTO = deleted.TIPO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_PGTO #porque existem registros em #LOJA_PGTO_CLIENTE#.'' goto error end /* TIPOS_PGTO TIPO_PGTOS A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.TIPO_PGTO = deleted.TIPO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_PGTO #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end /* TIPOS_PGTO TIPOS_TITULO LOJA_FORMAS_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_FORMAS_PARCELAS where LOJA_FORMAS_PARCELAS.TIPO_PGTO = deleted.TIPO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_PGTO #porque existem registros em #LOJA_FORMAS_PARCELAS#.'' goto error end /* TIPOS_PGTO TIPOS_PGTO LOJA_VENDA_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA_PARCELAS where LOJA_VENDA_PARCELAS.TIPO_PGTO = deleted.TIPO_PGTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TIPOS_PGTO #porque existem registros em #LOJA_VENDA_PARCELAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TIPOS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TIPOS_PGTO] on [TIPOS_PGTO] for INSERT as /* INSERT trigger on TIPOS_PGTO */ /* default body for LXI_TIPOS_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_PGTO char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TIPOS_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TIPOS_PGTO, INSERTED WHERE TIPOS_PGTO.TIPO_PGTO = INSERTED.TIPO_PGTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TIPOS_PGTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TIPOS_PGTO] on [TIPOS_PGTO] for UPDATE as /* UPDATE trigger on TIPOS_PGTO */ /* default body for LXU_TIPOS_PGTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_PGTO char(1), @delTIPO_PGTO char(1), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TIPOS_PGTO R/1390 LOJA_PGTO_CLIENTE ON PARENT UPDATE CASCADE */ IF update(TIPO_PGTO) BEGIN DECLARE TIPOS_PGTO1390 CURSOR FOR SELECT TIPO_PGTO FROM INSERTED DECLARE TIPOS_PGTO708 CURSOR FOR SELECT TIPO_PGTO FROM DELETED OPEN TIPOS_PGTO1390 OPEN TIPOS_PGTO708 FETCH NEXT FROM TIPOS_PGTO1390 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_PGTO_CLIENTE SET LOJA_PGTO_CLIENTE.TIPO_PGTO=@insTIPO_PGTO WHERE LOJA_PGTO_CLIENTE.TIPO_PGTO = @delTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO1390 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO END END CLOSE TIPOS_PGTO1390 CLOSE TIPOS_PGTO708 DEALLOCATE TIPOS_PGTO1390 DEALLOCATE TIPOS_PGTO708 END /* TIPOS_PGTO TIPO_PGTOS A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(TIPO_PGTO) BEGIN DECLARE TIPOS_PGTO1132 CURSOR FOR SELECT TIPO_PGTO FROM INSERTED DECLARE TIPOS_PGTO708 CURSOR FOR SELECT TIPO_PGTO FROM DELETED OPEN TIPOS_PGTO1132 OPEN TIPOS_PGTO708 FETCH NEXT FROM TIPOS_PGTO1132 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.TIPO_PGTO=@insTIPO_PGTO WHERE A_RECEBER_CHEQUES.TIPO_PGTO = @delTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO1132 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO END END CLOSE TIPOS_PGTO1132 CLOSE TIPOS_PGTO708 DEALLOCATE TIPOS_PGTO1132 DEALLOCATE TIPOS_PGTO708 END /* TIPOS_PGTO TIPOS_TITULO LOJA_FORMAS_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_PGTO) BEGIN DECLARE TIPOS_PGTO1131 CURSOR FOR SELECT TIPO_PGTO FROM INSERTED DECLARE TIPOS_PGTO708 CURSOR FOR SELECT TIPO_PGTO FROM DELETED OPEN TIPOS_PGTO1131 OPEN TIPOS_PGTO708 FETCH NEXT FROM TIPOS_PGTO1131 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_FORMAS_PARCELAS SET LOJA_FORMAS_PARCELAS.TIPO_PGTO=@insTIPO_PGTO WHERE LOJA_FORMAS_PARCELAS.TIPO_PGTO = @delTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO1131 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO END END CLOSE TIPOS_PGTO1131 CLOSE TIPOS_PGTO708 DEALLOCATE TIPOS_PGTO1131 DEALLOCATE TIPOS_PGTO708 END /* TIPOS_PGTO TIPOS_PGTO LOJA_VENDA_PARCELAS ON PARENT UPDATE CASCADE */ IF update(TIPO_PGTO) BEGIN DECLARE TIPOS_PGTO1130 CURSOR FOR SELECT TIPO_PGTO FROM INSERTED DECLARE TIPOS_PGTO708 CURSOR FOR SELECT TIPO_PGTO FROM DELETED OPEN TIPOS_PGTO1130 OPEN TIPOS_PGTO708 FETCH NEXT FROM TIPOS_PGTO1130 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA_PARCELAS SET LOJA_VENDA_PARCELAS.TIPO_PGTO=@insTIPO_PGTO WHERE LOJA_VENDA_PARCELAS.TIPO_PGTO = @delTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO1130 INTO @insTIPO_PGTO FETCH NEXT FROM TIPOS_PGTO708 INTO @delTIPO_PGTO END END CLOSE TIPOS_PGTO1130 CLOSE TIPOS_PGTO708 DEALLOCATE TIPOS_PGTO1130 DEALLOCATE TIPOS_PGTO708 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TIPOS_PGTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TIPOS_PGTO, INSERTED WHERE TIPOS_PGTO.TIPO_PGTO = INSERTED.TIPO_PGTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TIPOS_PGTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[TIPOS_PGTO].[TIPO_A_VISTA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TIPOS_PGTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MATERIAIS_PRECO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MATERIAIS_PRECO]( [CODIGO_TAB_PRECO] [char](2) NOT NULL, [MATERIAL] [char](11) NOT NULL, [COR_MATERIAL] [char](10) NOT NULL, [PRECO] [numeric](14, 2) NULL, [PRECO_DESCONTO] [numeric](14, 2) NULL, CONSTRAINT [XPKMATERIAIS_PRECO] PRIMARY KEY NONCLUSTERED ( [CODIGO_TAB_PRECO] ASC, [MATERIAL] ASC, [COR_MATERIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MATERIAIS_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MATERIAIS_PRECO] on [MATERIAIS_PRECO] for INSERT as /* INSERT trigger on MATERIAIS_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1493 MATERIAIS_PRECO ON CHILD INSERT RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PRECO #porque #MATERIAIS_CORES #não existe.'' goto error end end /* TABELAS_PRECO R/1492 MATERIAIS_PRECO ON CHILD INSERT RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MATERIAIS_PRECO #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MATERIAIS_PRECO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MATERIAIS_PRECO] on [MATERIAIS_PRECO] for UPDATE as /* UPDATE trigger on MATERIAIS_PRECO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_TAB_PRECO char(2), @insMATERIAL char(11), @insCOR_MATERIAL char(10), @delCODIGO_TAB_PRECO char(2), @delMATERIAL char(11), @delCOR_MATERIAL char(10), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MATERIAIS_CORES R/1493 MATERIAIS_PRECO ON CHILD UPDATE RESTRICT */ if update(MATERIAL) or update(COR_MATERIAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MATERIAIS_CORES where inserted.MATERIAL = MATERIAIS_CORES.MATERIAL and inserted.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PRECO #porque #MATERIAIS_CORES #não existe.'' goto error end end /* TABELAS_PRECO R/1492 MATERIAIS_PRECO ON CHILD UPDATE RESTRICT */ if update(CODIGO_TAB_PRECO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TABELAS_PRECO where inserted.CODIGO_TAB_PRECO = TABELAS_PRECO.CODIGO_TAB_PRECO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MATERIAIS_PRECO #porque #TABELAS_PRECO #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PRECO].[PRECO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[MATERIAIS_PRECO].[PRECO_DESCONTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_TERCEIRO_FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_TERCEIRO_FATURAMENTO]( [NF_FORNECEDOR] [varchar](12) NOT NULL, [FORNECEDOR] [varchar](25) NOT NULL, [LICENDIADO_ROYALTIES] [real] NULL, [EMISSAO] [datetime] NULL, [DATA_DIGITACAO] [datetime] NULL, [RECEBIMENTO] [datetime] NULL, CONSTRAINT [XPKVENDAS_TERCEIRO_FATURAMENTO] PRIMARY KEY NONCLUSTERED ( [NF_FORNECEDOR] ASC, [FORNECEDOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_TERCEIRO_FATURAMENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_TERCEIRO_FATURAMENT] on [VENDAS_TERCEIRO_FATURAMENTO] for DELETE as /* DELETE trigger on VENDAS_TERCEIRO_FATURAMENTO */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_TERCEIRO_FATURAMENTO R/1829 VENDAS_TERCEIRO_PRODUTO ON PARENT DELETE CASCADE */ delete VENDAS_TERCEIRO_PRODUTO from VENDAS_TERCEIRO_PRODUTO,deleted where VENDAS_TERCEIRO_PRODUTO.NF_FORNECEDOR = deleted.NF_FORNECEDOR and VENDAS_TERCEIRO_PRODUTO.FORNECEDOR = deleted.FORNECEDOR return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VENDAS_TERCEIRO_FATURAMENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_VENDAS_TERCEIRO_FATURAMENT] on [VENDAS_TERCEIRO_FATURAMENTO] for INSERT as /* INSERT trigger on VENDAS_TERCEIRO_FATURAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FORNECEDORES R/1832 VENDAS_TERCEIRO_FATURAMENTO ON CHILD INSERT RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VENDAS_TERCEIRO_FATURAMENTO #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_TERCEIRO_FATURAMENT]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_TERCEIRO_FATURAMENT] on [VENDAS_TERCEIRO_FATURAMENTO] for UPDATE as /* UPDATE trigger on VENDAS_TERCEIRO_FATURAMENTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNF_FORNECEDOR varchar(12), @insFORNECEDOR varchar(25), @delNF_FORNECEDOR varchar(12), @delFORNECEDOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TERCEIRO_FATURAMENTO R/1829 VENDAS_TERCEIRO_PRODUTO ON PARENT UPDATE CASCADE */ IF update(NF_FORNECEDOR) OR update(FORNECEDOR) BEGIN DECLARE VENDAS_TERCEIRO_FATURAMENT1829 CURSOR FOR SELECT NF_FORNECEDOR, FORNECEDOR FROM INSERTED DECLARE VENDAS_TERCEIRO_FATURAMENT1053 CURSOR FOR SELECT NF_FORNECEDOR, FORNECEDOR FROM DELETED OPEN VENDAS_TERCEIRO_FATURAMENT1829 OPEN VENDAS_TERCEIRO_FATURAMENT1053 FETCH NEXT FROM VENDAS_TERCEIRO_FATURAMENT1829 INTO @insNF_FORNECEDOR, @insFORNECEDOR FETCH NEXT FROM VENDAS_TERCEIRO_FATURAMENT1053 INTO @delNF_FORNECEDOR, @delFORNECEDOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_TERCEIRO_PRODUTO SET VENDAS_TERCEIRO_PRODUTO.NF_FORNECEDOR=@insNF_FORNECEDOR, VENDAS_TERCEIRO_PRODUTO.FORNECEDOR=@insFORNECEDOR WHERE VENDAS_TERCEIRO_PRODUTO.NF_FORNECEDOR = @delNF_FORNECEDOR and VENDAS_TERCEIRO_PRODUTO.FORNECEDOR = @delFORNECEDOR FETCH NEXT FROM VENDAS_TERCEIRO_FATURAMENT1829 INTO @insNF_FORNECEDOR, @insFORNECEDOR FETCH NEXT FROM VENDAS_TERCEIRO_FATURAMENT1053 INTO @delNF_FORNECEDOR, @delFORNECEDOR END END CLOSE VENDAS_TERCEIRO_FATURAMENT1829 CLOSE VENDAS_TERCEIRO_FATURAMENT1053 DEALLOCATE VENDAS_TERCEIRO_FATURAMENT1829 DEALLOCATE VENDAS_TERCEIRO_FATURAMENT1053 END /* FORNECEDORES R/1832 VENDAS_TERCEIRO_FATURAMENTO ON CHILD UPDATE RESTRICT */ if update(FORNECEDOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,FORNECEDORES where inserted.FORNECEDOR = FORNECEDORES.FORNECEDOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VENDAS_TERCEIRO_FATURAMENTO #porque #FORNECEDORES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[VENDAS_TERCEIRO_FATURAMENTO].[LICENDIADO_ROYALTIES]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTIV_OCORRENCIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTIV_OCORRENCIAS]( [CELULA] [char](5) NOT NULL, [OCORRENCIA] [char](3) NOT NULL, [DATA] [datetime] NOT NULL, [HORA] [numeric](5, 2) NOT NULL, [MINUTOS_OCORRENCIA] [numeric](7, 2) NULL, CONSTRAINT [XPKPRODUTIV_OCORRENCIAS] PRIMARY KEY NONCLUSTERED ( [CELULA] ASC, [OCORRENCIA] ASC, [DATA] ASC, [HORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTIV_OCORRENCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTIV_OCORRENCIAS] on [PRODUTIV_OCORRENCIAS] for INSERT as /* INSERT trigger on PRODUTIV_OCORRENCIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TIPO_OCORRENCIA OCORRENCIA PRODUTIV_OCORRENCIAS ON CHILD INSERT RESTRICT */ if update(OCORRENCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TIPO_OCORRENCIA where inserted.OCORRENCIA = PRODUTIV_TIPO_OCORRENCIA.OCORRENCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OCORRENCIAS #porque #PRODUTIV_TIPO_OCORRENCIA #não existe.'' goto error end end /* PRODUTIV_CELULAS OCORRENCIAS PRODUTIV_OCORRENCIAS ON CHILD INSERT RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTIV_OCORRENCIAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTIV_OCORRENCIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTIV_OCORRENCIAS] on [PRODUTIV_OCORRENCIAS] for UPDATE as /* UPDATE trigger on PRODUTIV_OCORRENCIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCELULA char(5), @insOCORRENCIA char(3), @insDATA datetime, @insHORA numeric(5,2), @delCELULA char(5), @delOCORRENCIA char(3), @delDATA datetime, @delHORA numeric(5,2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTIV_TIPO_OCORRENCIA OCORRENCIA PRODUTIV_OCORRENCIAS ON CHILD UPDATE RESTRICT */ if update(OCORRENCIA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_TIPO_OCORRENCIA where inserted.OCORRENCIA = PRODUTIV_TIPO_OCORRENCIA.OCORRENCIA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OCORRENCIAS #porque #PRODUTIV_TIPO_OCORRENCIA #não existe.'' goto error end end /* PRODUTIV_CELULAS OCORRENCIAS PRODUTIV_OCORRENCIAS ON CHILD UPDATE RESTRICT */ if update(CELULA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTIV_CELULAS where inserted.CELULA = PRODUTIV_CELULAS.CELULA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTIV_OCORRENCIAS #porque #PRODUTIV_CELULAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[PRODUTIV_OCORRENCIAS].[MINUTOS_OCORRENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_TIPO]( [TIPO_CONTA] [varchar](25) NOT NULL, [PARTICULAR] [bit] NOT NULL, [INDICA_SINTETICA] [bit] NOT NULL, CONSTRAINT [XPKCONTAS_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_CONTA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_CONTAS_TIPO fecha de la secuencia de comandos: Sep 6 2001 09:50AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_CONTAS_TIPO] ON [CONTAS_TIPO] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @TIPOC CHAR(30) DECLARE TIPOC CURSOR FOR SELECT TIPO_CONTA FROM DELETED OPEN TIPOC FETCH NEXT FROM TIPOC INTO @TIPOC WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO_CONTA FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=@TIPOC) DELETE FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=@TIPOC ELSE BEGIN FETCH NEXT FROM TIPOC INTO @TIPOC END FETCH NEXT FROM TIPOC INTO @TIPOC END CLOSE TIPOC DEALLOCATE TIPOC END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_CONTAS_TIPO fecha de la secuencia de comandos: Sep 5 2000 20:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_CONTAS_TIPO] ON [CONTAS_TIPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CONTAS_TIPO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @TIPOC VARCHAR(25) DECLARE TIPOC CURSOR FOR SELECT TIPO_CONTA FROM INSERTED OPEN TIPOC FETCH NEXT FROM TIPOC INTO @TIPOC WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TIPO_CONTA FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=@TIPOC) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_CONTAS_TIPO (ID,GF_TIPO_CONTA,GF_PARTICULAR,GF_INDICA_SINTET,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TIPO_CONTA,PARTICULAR,INDICA_SINTETICA,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM CONTAS_TIPO A, GF_CONTAS_TIPOCNT B WHERE TIPO_CONTA=@TIPOC UPDATE GF_CONTAS_TIPOCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPOC INTO @TIPOC END FETCH NEXT FROM TIPOC INTO @TIPOC END CLOSE TIPOC DEALLOCATE TIPOC --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_CONTAS_TIPO fecha de la secuencia de comandos: Sep 5 2000 20:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_CONTAS_TIPO] ON [CONTAS_TIPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_CONTAS_TIPO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_CONTAS_TIPO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_CONTAS_TIPO'')) ) < 2 ) BEGIN DECLARE @TIPOCD CHAR(25), @TIPOC CHAR (25) DECLARE TIPOCD CURSOR FOR SELECT TIPO_CONTA FROM DELETED DECLARE TIPOC CURSOR FOR SELECT TIPO_CONTA FROM INSERTED OPEN TIPOCD OPEN TIPOC FETCH NEXT FROM TIPOCD INTO @TIPOCD FETCH NEXT FROM TIPOC INTO @TIPOC IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO_CONTA FROM GF_CONTAS_TIPO WHERE GF_TIPO_CONTA=@TIPOCD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_CONTAS_TIPO SET GF_TIPO_CONTA=@TIPOC, GF_PARTICULAR=(SELECT PARTICULAR FROM INSERTED WHERE TIPO_CONTA=@TIPOC), GF_INDICA_SINTET=(SELECT INDICA_SINTETICA FROM INSERTED WHERE TIPO_CONTA=@TIPOC), USERM=@USER, FECHAM=GETDATE() WHERE GF_TIPO_CONTA=@TIPOCD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPOCD INTO @TIPOCD FETCH NEXT FROM TIPOC INTO @TIPOC END FETCH NEXT FROM TIPOCD INTO @TIPOCD FETCH NEXT FROM TIPOC INTO @TIPOC END CLOSE TIPOCD DEALLOCATE TIPOCD CLOSE TIPOC DEALLOCATE TIPOC END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTAS_TIPO] on [CONTAS_TIPO] for DELETE as /* DELETE trigger on CONTAS_TIPO */ begin declare @errno int, @errmsg varchar(255) /* CONTAS_TIPO CONTAS_TIPO CONTAS_PLANO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_PLANO where CONTAS_PLANO.TIPO_CONTA = deleted.TIPO_CONTA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTAS_TIPO #porque existem registros em #CONTAS_PLANO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_TIPO] on [CONTAS_TIPO] for UPDATE as /* UPDATE trigger on CONTAS_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_CONTA varchar(25), @delTIPO_CONTA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_TIPO CONTAS_TIPO CONTAS_PLANO ON PARENT UPDATE CASCADE */ IF update(TIPO_CONTA) BEGIN DECLARE CONTAS_TIPO747 CURSOR FOR SELECT TIPO_CONTA FROM INSERTED DECLARE CONTAS_TIPO197 CURSOR FOR SELECT TIPO_CONTA FROM DELETED OPEN CONTAS_TIPO747 OPEN CONTAS_TIPO197 FETCH NEXT FROM CONTAS_TIPO747 INTO @insTIPO_CONTA FETCH NEXT FROM CONTAS_TIPO197 INTO @delTIPO_CONTA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_PLANO SET CONTAS_PLANO.TIPO_CONTA=@insTIPO_CONTA WHERE CONTAS_PLANO.TIPO_CONTA = @delTIPO_CONTA FETCH NEXT FROM CONTAS_TIPO747 INTO @insTIPO_CONTA FETCH NEXT FROM CONTAS_TIPO197 INTO @delTIPO_CONTA END END CLOSE CONTAS_TIPO747 CLOSE CONTAS_TIPO197 DEALLOCATE CONTAS_TIPO747 DEALLOCATE CONTAS_TIPO197 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_TIPO].[PARTICULAR]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTAS_TIPO].[INDICA_SINTETICA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[A_RECEBER_PGTOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [A_RECEBER_PGTOS]( [FATURA] [char](11) NOT NULL, [PARCELA] [char](2) NOT NULL, [LANCAMENTO] [char](8) NOT NULL, [ITEM] [char](4) NOT NULL, [NOME_CLIFOR] [varchar](25) NOT NULL, [DATA_PAGAMENTO] [datetime] NOT NULL, [VENCIMENTO] [datetime] NULL, [PGTO_CARTORIO] [datetime] NULL, [VALOR_RECEBIDO] [numeric](14, 2) NULL, [JUROS_RECEBIDOS] [numeric](14, 2) NULL, [JUROS_A_RECEBER] [numeric](14, 2) NULL, [LANCAMENTO_JUROS] [bit] NOT NULL, [BAIXA_TRANSMITIDA] [bit] NOT NULL, [CHEQUE_CARTAO] [varchar](35) NULL, [DESCONTO_NA_BAIXA] [numeric](14, 2) NULL, [CAMBIO_NA_DATA] [numeric](10, 6) NULL, CONSTRAINT [XPKA_RECEBER_PGTOS] PRIMARY KEY NONCLUSTERED ( [FATURA] ASC, [PARCELA] ASC, [LANCAMENTO] ASC, [ITEM] ASC, [NOME_CLIFOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PGTOS]') AND name = N'XIE1A_RECEBER_PGTOS') CREATE NONCLUSTERED INDEX [XIE1A_RECEBER_PGTOS] ON [A_RECEBER_PGTOS] ( [LANCAMENTO] ASC, [ITEM] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PGTOS]') AND name = N'XIE2A_RECEBER_PGTOS') CREATE NONCLUSTERED INDEX [XIE2A_RECEBER_PGTOS] ON [A_RECEBER_PGTOS] ( [NOME_CLIFOR] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[A_RECEBER_PGTOS]') AND name = N'XIE3A_RECEBER_PGTOS') CREATE NONCLUSTERED INDEX [XIE3A_RECEBER_PGTOS] ON [A_RECEBER_PGTOS] ( [DATA_PAGAMENTO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_A_RECEBER_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_A_RECEBER_PGTOS] on [A_RECEBER_PGTOS] for INSERT as /* INSERT trigger on A_RECEBER_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_CHEQUES cheque_cartao A_RECEBER_PGTOS ON CHILD INSERT RESTRICT */ if update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_CHEQUES where inserted.CHEQUE_CARTAO = A_RECEBER_CHEQUES.CHEQUE_CARTAO select @nullcnt = count(*) from inserted where inserted.CHEQUE_CARTAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PGTOS #porque #A_RECEBER_CHEQUES #não existe.'' goto error end end /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_RECEBER_PGTOS ON CHILD INSERT RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PGTOS #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS A_RECEBER_PGTOS ON CHILD INSERT RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #A_RECEBER_PGTOS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_A_RECEBER_PGTOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_A_RECEBER_PGTOS] on [A_RECEBER_PGTOS] for UPDATE as /* UPDATE trigger on A_RECEBER_PGTOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFATURA char(11), @insPARCELA char(2), @insLANCAMENTO char(8), @insITEM char(4), @insNOME_CLIFOR varchar(25), @delFATURA char(11), @delPARCELA char(2), @delLANCAMENTO char(8), @delITEM char(4), @delNOME_CLIFOR varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* A_RECEBER_CHEQUES cheque_cartao A_RECEBER_PGTOS ON CHILD UPDATE RESTRICT */ if update(CHEQUE_CARTAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_CHEQUES where inserted.CHEQUE_CARTAO = A_RECEBER_CHEQUES.CHEQUE_CARTAO select @nullcnt = count(*) from inserted where inserted.CHEQUE_CARTAO is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PGTOS #porque #A_RECEBER_CHEQUES #não existe.'' goto error end end /* CONTAS_LANC_ITENS CONTAS_LANC_ITENS A_RECEBER_PGTOS ON CHILD UPDATE RESTRICT */ if update(LANCAMENTO) or update(ITEM) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_LANC_ITENS where inserted.LANCAMENTO = CONTAS_LANC_ITENS.LANCAMENTO and inserted.ITEM = CONTAS_LANC_ITENS.ITEM if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PGTOS #porque #CONTAS_LANC_ITENS #não existe.'' goto error end end /* A_RECEBER_PARCELAS A_RECEBER_PARCELAS A_RECEBER_PGTOS ON CHILD UPDATE RESTRICT */ if update(FATURA) or update(PARCELA) or update(NOME_CLIFOR) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,A_RECEBER_PARCELAS where inserted.FATURA = A_RECEBER_PARCELAS.FATURA and inserted.PARCELA = A_RECEBER_PARCELAS.PARCELA and inserted.NOME_CLIFOR = A_RECEBER_PARCELAS.NOME_CLIFOR if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #A_RECEBER_PGTOS #porque #A_RECEBER_PARCELAS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[VALOR_RECEBIDO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[JUROS_RECEBIDOS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[JUROS_A_RECEBER]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[LANCAMENTO_JUROS]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[BAIXA_TRANSMITIDA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[A_RECEBER_PGTOS].[DESCONTO_NA_BAIXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[A_RECEBER_PGTOS].[CAMBIO_NA_DATA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTRATOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTRATOS_DESCONTO]( [NUMERO_CONTRATO] [varchar](20) NOT NULL, [CONTA_CONTABIL] [char](20) NULL, [DESC_CONTRATO] [varchar](40) NULL, [BANCO] [char](4) NOT NULL, [CARTEIRA] [varchar](25) NOT NULL, [DATA_INICIO] [datetime] NULL, [DESATIVADO] [bit] NOT NULL, [TAXA] [decimal](8, 3) NULL, [VALOR] [numeric](14, 2) NOT NULL, [IOF] [decimal](8, 3) NULL, CONSTRAINT [XPKCONTRATOS_DESCONTO] PRIMARY KEY NONCLUSTERED ( [NUMERO_CONTRATO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CONTRATOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CONTRATOS_DESCONTO] on [CONTRATOS_DESCONTO] for DELETE as /* DELETE trigger on CONTRATOS_DESCONTO */ begin declare @errno int, @errmsg varchar(255) /* CONTRATOS_DESCONTO R/1608 BANCOS_BORDERO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,BANCOS_BORDERO where BANCOS_BORDERO.NUMERO_CONTRATO = deleted.NUMERO_CONTRATO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTRATOS_DESCONTO #porque existem registros em #BANCOS_BORDERO#.'' goto error end /* CONTRATOS_DESCONTO R/1577 A_RECEBER_PARCELAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_PARCELAS where A_RECEBER_PARCELAS.NUMERO_CONTRATO = deleted.NUMERO_CONTRATO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTRATOS_DESCONTO #porque existem registros em #A_RECEBER_PARCELAS#.'' goto error end /* CONTRATOS_DESCONTO CONTRATOS CONTAS_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CONTAS_LANCAMENTOS where CONTAS_LANCAMENTOS.NUMERO_CONTRATO = deleted.NUMERO_CONTRATO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTRATOS_DESCONTO #porque existem registros em #CONTAS_LANCAMENTOS#.'' goto error end /* CONTRATOS_DESCONTO CONTRATOS A_RECEBER_CHEQUES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,A_RECEBER_CHEQUES where A_RECEBER_CHEQUES.NUMERO_CONTRATO = deleted.NUMERO_CONTRATO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CONTRATOS_DESCONTO #porque existem registros em #A_RECEBER_CHEQUES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTRATOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTRATOS_DESCONTO] on [CONTRATOS_DESCONTO] for INSERT as /* INSERT trigger on CONTRATOS_DESCONTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTAS_PLANO CONTAS_PLANO CONTRATOS_DESCONTO ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTRATOS_DESCONTO #porque #CONTAS_PLANO #não existe.'' goto error end end /* BANCOS BANCOS CONTRATOS_DESCONTO ON CHILD INSERT RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTRATOS_DESCONTO #porque #BANCOS #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS CONTRATOS_DESCONTO ON CHILD INSERT RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTRATOS_DESCONTO #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTRATOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTRATOS_DESCONTO] on [CONTRATOS_DESCONTO] for UPDATE as /* UPDATE trigger on CONTRATOS_DESCONTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_CONTRATO varchar(20), @delNUMERO_CONTRATO varchar(20), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CONTRATOS_DESCONTO R/1608 BANCOS_BORDERO ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTRATO) BEGIN DECLARE CONTRATOS_DESCONTO1608 CURSOR FOR SELECT NUMERO_CONTRATO FROM INSERTED DECLARE CONTRATOS_DESCONTO794 CURSOR FOR SELECT NUMERO_CONTRATO FROM DELETED OPEN CONTRATOS_DESCONTO1608 OPEN CONTRATOS_DESCONTO794 FETCH NEXT FROM CONTRATOS_DESCONTO1608 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE BANCOS_BORDERO SET BANCOS_BORDERO.NUMERO_CONTRATO=@insNUMERO_CONTRATO WHERE BANCOS_BORDERO.NUMERO_CONTRATO = @delNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO1608 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO END END CLOSE CONTRATOS_DESCONTO1608 CLOSE CONTRATOS_DESCONTO794 DEALLOCATE CONTRATOS_DESCONTO1608 DEALLOCATE CONTRATOS_DESCONTO794 END /* CONTRATOS_DESCONTO R/1577 A_RECEBER_PARCELAS ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTRATO) BEGIN DECLARE CONTRATOS_DESCONTO1577 CURSOR FOR SELECT NUMERO_CONTRATO FROM INSERTED DECLARE CONTRATOS_DESCONTO794 CURSOR FOR SELECT NUMERO_CONTRATO FROM DELETED OPEN CONTRATOS_DESCONTO1577 OPEN CONTRATOS_DESCONTO794 FETCH NEXT FROM CONTRATOS_DESCONTO1577 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_PARCELAS SET A_RECEBER_PARCELAS.NUMERO_CONTRATO=@insNUMERO_CONTRATO WHERE A_RECEBER_PARCELAS.NUMERO_CONTRATO = @delNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO1577 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO END END CLOSE CONTRATOS_DESCONTO1577 CLOSE CONTRATOS_DESCONTO794 DEALLOCATE CONTRATOS_DESCONTO1577 DEALLOCATE CONTRATOS_DESCONTO794 END /* CONTRATOS_DESCONTO CONTRATOS CONTAS_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTRATO) BEGIN DECLARE CONTRATOS_DESCONTO1319 CURSOR FOR SELECT NUMERO_CONTRATO FROM INSERTED DECLARE CONTRATOS_DESCONTO794 CURSOR FOR SELECT NUMERO_CONTRATO FROM DELETED OPEN CONTRATOS_DESCONTO1319 OPEN CONTRATOS_DESCONTO794 FETCH NEXT FROM CONTRATOS_DESCONTO1319 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CONTAS_LANCAMENTOS SET CONTAS_LANCAMENTOS.NUMERO_CONTRATO=@insNUMERO_CONTRATO WHERE CONTAS_LANCAMENTOS.NUMERO_CONTRATO = @delNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO1319 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO END END CLOSE CONTRATOS_DESCONTO1319 CLOSE CONTRATOS_DESCONTO794 DEALLOCATE CONTRATOS_DESCONTO1319 DEALLOCATE CONTRATOS_DESCONTO794 END /* CONTRATOS_DESCONTO CONTRATOS A_RECEBER_CHEQUES ON PARENT UPDATE CASCADE */ IF update(NUMERO_CONTRATO) BEGIN DECLARE CONTRATOS_DESCONTO1317 CURSOR FOR SELECT NUMERO_CONTRATO FROM INSERTED DECLARE CONTRATOS_DESCONTO794 CURSOR FOR SELECT NUMERO_CONTRATO FROM DELETED OPEN CONTRATOS_DESCONTO1317 OPEN CONTRATOS_DESCONTO794 FETCH NEXT FROM CONTRATOS_DESCONTO1317 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE A_RECEBER_CHEQUES SET A_RECEBER_CHEQUES.NUMERO_CONTRATO=@insNUMERO_CONTRATO WHERE A_RECEBER_CHEQUES.NUMERO_CONTRATO = @delNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO1317 INTO @insNUMERO_CONTRATO FETCH NEXT FROM CONTRATOS_DESCONTO794 INTO @delNUMERO_CONTRATO END END CLOSE CONTRATOS_DESCONTO1317 CLOSE CONTRATOS_DESCONTO794 DEALLOCATE CONTRATOS_DESCONTO1317 DEALLOCATE CONTRATOS_DESCONTO794 END /* CONTAS_PLANO CONTAS_PLANO CONTRATOS_DESCONTO ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL select @nullcnt = count(*) from inserted where inserted.CONTA_CONTABIL is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTRATOS_DESCONTO #porque #CONTAS_PLANO #não existe.'' goto error end end /* BANCOS BANCOS CONTRATOS_DESCONTO ON CHILD UPDATE RESTRICT */ if update(BANCO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,BANCOS where inserted.BANCO = BANCOS.BANCO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTRATOS_DESCONTO #porque #BANCOS #não existe.'' goto error end end /* CARTEIRAS_COBRANCA CARTEIRAS CONTRATOS_DESCONTO ON CHILD UPDATE RESTRICT */ if update(CARTEIRA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CARTEIRAS_COBRANCA where inserted.CARTEIRA = CARTEIRAS_COBRANCA.CARTEIRA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTRATOS_DESCONTO #porque #CARTEIRAS_COBRANCA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTRATOS_DESCONTO].[DESATIVADO]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTRATOS_DESCONTO].[TAXA]' , @futureonly='futureonly' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_0]', @objname=N'[CONTRATOS_DESCONTO].[VALOR]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_TRASPASO_SALIDA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_TRASPASO_SALIDA : -- CREATE VIEW [RDX_V_TRASPASO_SALIDA] AS SELECT CENTRO_ORIGEN = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CENTRO, FILIAL_ORIGEN = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FILIAL, CENTRO_DESTINO = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CENTRO_DESTINO, FILIAL_DESTINO = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FILIAL_DESTINO, CODIGO = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CODIGO, PRODUCTO = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.PRODUCTO, COLOR = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.COLOR, FECHA = RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FECHA, /* CANTIDADES ENVIADAS DESDE EL CENTRO*/ T38 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 38 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), T40 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 40 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), T42 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 42 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), T44 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 44 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), T46 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 46 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), T48 = SUM(CASE WHEN RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.TALLA = 48 THEN ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0) END), TOTAL = SUM(ISNULL(RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CANTIDAD, 0)) FROM RDX_V_INVENTARIOEDI_TRASPASO_SALIDA GROUP BY RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CENTRO, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FILIAL, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CENTRO_DESTINO, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FILIAL_DESTINO, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.CODIGO, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.PRODUCTO, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.COLOR, RDX_V_INVENTARIOEDI_TRASPASO_SALIDA.FECHA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PARAMETROS_EMPRESA_USERS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PARAMETROS_EMPRESA_USERS]( [EMPRESA] [tinyint] NOT NULL, [PARAMETRO] [varchar](25) NOT NULL, [USUARIO] [varchar](25) NOT NULL, [VALOR_ATUAL] [varchar](100) NOT NULL, CONSTRAINT [XPKPARAMETROS_EMPRESA_USERS] PRIMARY KEY NONCLUSTERED ( [EMPRESA] ASC, [PARAMETRO] ASC, [USUARIO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PARAMETROS_EMPRESA_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PARAMETROS_EMPRESA_USERS] on [PARAMETROS_EMPRESA_USERS] for INSERT as /* INSERT trigger on PARAMETROS_EMPRESA_USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS R/1949 PARAMETROS_EMPRESA_USERS ON CHILD INSERT RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_EMPRESA_USERS #porque #USERS #não existe.'' goto error end end /* PARAMETROS R/1948 PARAMETROS_EMPRESA_USERS ON CHILD INSERT RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_EMPRESA_USERS #porque #PARAMETROS #não existe.'' goto error end end /* EMPRESA R/1947 PARAMETROS_EMPRESA_USERS ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_EMPRESA_USERS #porque #EMPRESA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PARAMETROS_EMPRESA_USERS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PARAMETROS_EMPRESA_USERS] on [PARAMETROS_EMPRESA_USERS] for UPDATE as /* UPDATE trigger on PARAMETROS_EMPRESA_USERS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insEMPRESA tinyint, @insPARAMETRO varchar(25), @insUSUARIO varchar(25), @delEMPRESA tinyint, @delPARAMETRO varchar(25), @delUSUARIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* USERS R/1949 PARAMETROS_EMPRESA_USERS ON CHILD UPDATE RESTRICT */ if update(USUARIO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,USERS where inserted.USUARIO = USERS.USUARIO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_EMPRESA_USERS #porque #USERS #não existe.'' goto error end end /* PARAMETROS R/1948 PARAMETROS_EMPRESA_USERS ON CHILD UPDATE RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_EMPRESA_USERS #porque #PARAMETROS #não existe.'' goto error end end /* EMPRESA R/1947 PARAMETROS_EMPRESA_USERS ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_EMPRESA_USERS #porque #EMPRESA #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PARAMETROS_EMPRESA_USERS].[EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PARAMETROS_EMPRESA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PARAMETROS_EMPRESA]( [PARAMETRO] [varchar](25) NOT NULL, [EMPRESA] [tinyint] NOT NULL, [VALOR_ATUAL] [varchar](100) NOT NULL, CONSTRAINT [XPKPARAMETROS_EMPRESA] PRIMARY KEY NONCLUSTERED ( [PARAMETRO] ASC, [EMPRESA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PARAMETROS_EMPRESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PARAMETROS_EMPRESA] on [PARAMETROS_EMPRESA] for INSERT as /* INSERT trigger on PARAMETROS_EMPRESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1946 PARAMETROS_EMPRESA ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_EMPRESA #porque #EMPRESA #não existe.'' goto error end end /* PARAMETROS R/1945 PARAMETROS_EMPRESA ON CHILD INSERT RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PARAMETROS_EMPRESA #porque #PARAMETROS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PARAMETROS_EMPRESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PARAMETROS_EMPRESA] on [PARAMETROS_EMPRESA] for UPDATE as /* UPDATE trigger on PARAMETROS_EMPRESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPARAMETRO varchar(25), @insEMPRESA tinyint, @delPARAMETRO varchar(25), @delEMPRESA tinyint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1946 PARAMETROS_EMPRESA ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_EMPRESA #porque #EMPRESA #não existe.'' goto error end end /* PARAMETROS R/1945 PARAMETROS_EMPRESA ON CHILD UPDATE RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PARAMETROS_EMPRESA #porque #PARAMETROS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[PARAMETROS_EMPRESA].[EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EMPRESA_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EMPRESA_SEQUENCIAIS]( [TABELA_COLUNA] [varchar](37) NOT NULL, [EMPRESA] [tinyint] NOT NULL, [SEQUENCIA] [varchar](20) NOT NULL, CONSTRAINT [XPKEMPRESA_SEQUENCIAIS] PRIMARY KEY NONCLUSTERED ( [TABELA_COLUNA] ASC, [EMPRESA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_EMPRESA_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_EMPRESA_SEQUENCIAIS] on [EMPRESA_SEQUENCIAIS] for INSERT as /* INSERT trigger on EMPRESA_SEQUENCIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1952 EMPRESA_SEQUENCIAIS ON CHILD INSERT RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #EMPRESA_SEQUENCIAIS #porque #EMPRESA #não existe.'' goto error end end /* SEQUENCIAIS R/1951 EMPRESA_SEQUENCIAIS ON CHILD INSERT RESTRICT */ if update(TABELA_COLUNA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SEQUENCIAIS where inserted.TABELA_COLUNA = SEQUENCIAIS.TABELA_COLUNA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #EMPRESA_SEQUENCIAIS #porque #SEQUENCIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EMPRESA_SEQUENCIAIS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_EMPRESA_SEQUENCIAIS] on [EMPRESA_SEQUENCIAIS] for UPDATE as /* UPDATE trigger on EMPRESA_SEQUENCIAIS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTABELA_COLUNA varchar(37), @insEMPRESA tinyint, @delTABELA_COLUNA varchar(37), @delEMPRESA tinyint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1952 EMPRESA_SEQUENCIAIS ON CHILD UPDATE RESTRICT */ if update(EMPRESA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,EMPRESA where inserted.EMPRESA = EMPRESA.EMPRESA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #EMPRESA_SEQUENCIAIS #porque #EMPRESA #não existe.'' goto error end end /* SEQUENCIAIS R/1951 EMPRESA_SEQUENCIAIS ON CHILD UPDATE RESTRICT */ if update(TABELA_COLUNA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,SEQUENCIAIS where inserted.TABELA_COLUNA = SEQUENCIAIS.TABELA_COLUNA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #EMPRESA_SEQUENCIAIS #porque #SEQUENCIAIS #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[EMPRESA_SEQUENCIAIS].[EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EMPRESA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EMPRESA]( [EMPRESA] [tinyint] NOT NULL, [COD_FILIAL] [char](6) NULL, [DESC_EMPRESA] [varchar](25) NOT NULL, CONSTRAINT [XPKEMPRESA] PRIMARY KEY NONCLUSTERED ( [EMPRESA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_EMPRESAS] ON [EMPRESA] FOR DELETE AS --IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_EMPRESAS'')) ) < 2 ) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESAS CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESAS FETCH NEXT FROM EMPRESAS INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN DELETE FROM GRUPOEMP WHERE GF_EMPRESA=@EMPRESAS FETCH NEXT FROM EMPRESAS INTO @EMPRESAS END CLOSE EMPRESAS DEALLOCATE EMPRESAS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_EMPRESAS] ON [EMPRESA] FOR INSERT AS IF NOT EXISTS (SELECT GF_EMPRESA FROM GRUPOEMP WHERE GF_EMPRESA=(SELECT EMPRESA FROM INSERTED)) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESAS CURSOR FOR SELECT EMPRESA FROM INSERTED OPEN EMPRESAS FETCH NEXT FROM EMPRESAS INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN INSERT INTO GRUPOEMP (ID,GF_EMPRESA,GF_DESC_EMPRESA,USERC,USERM,FECHAC,FECHAM,ACCESO,USERP) SELECT MAX(A.ID)+1,B.EMPRESA,B.DESC_EMPRESA, (CASE WHEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) IS NOT NULL THEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE 102 END), (CASE WHEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) IS NOT NULL THEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE 102 END), GETDATE(),GETDATE(),28983, (CASE WHEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) IS NOT NULL THEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE 102 END) FROM GRUPOEMP A, INSERTED B WHERE B.EMPRESA=@EMPRESAS GROUP BY B.EMPRESA,B.DESC_EMPRESA FETCH NEXT FROM EMPRESAS INTO @EMPRESAS END CLOSE EMPRESAS DEALLOCATE EMPRESAS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_EMPRESAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_EMPRESAS fecha de la secuencia de comandos: Ago 7 2001 12:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_EMPRESAS] ON [EMPRESA] FOR UPDATE AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_EMPRESAS'')) ) < 2 ) BEGIN DECLARE @EMPRESAS INT DECLARE EMPRESAS CURSOR FOR SELECT EMPRESA FROM INSERTED OPEN EMPRESAS FETCH NEXT FROM EMPRESAS INTO @EMPRESAS WHILE @@FETCH_STATUS=0 BEGIN UPDATE GRUPOEMP SET GF_EMPRESA=(SELECT EMPRESA FROM INSERTED),GF_DESC_EMPRESA=(SELECT DESC_EMPRESA FROM INSERTED), USERM=(CASE WHEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) IS NOT NULL THEN (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE 102 END), FECHAM=GETDATE() WHERE GF_EMPRESA=(SELECT EMPRESA FROM DELETED) FETCH NEXT FROM EMPRESAS INTO @EMPRESAS END CLOSE EMPRESAS DEALLOCATE EMPRESAS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_EMPRESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_EMPRESA] on [EMPRESA] for DELETE as /* DELETE trigger on EMPRESA */ begin declare @errno int, @errmsg varchar(255) /* EMPRESA R/1958 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #PRODUTOS#.'' goto error end /* EMPRESA R/1953 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #FILIAIS#.'' goto error end /* EMPRESA R/1952 EMPRESA_SEQUENCIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,EMPRESA_SEQUENCIAIS where EMPRESA_SEQUENCIAIS.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #EMPRESA_SEQUENCIAIS#.'' goto error end /* EMPRESA R/1950 USERS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,USERS where USERS.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #USERS#.'' goto error end /* EMPRESA R/1947 PARAMETROS_EMPRESA_USERS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PARAMETROS_EMPRESA_USERS where PARAMETROS_EMPRESA_USERS.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #PARAMETROS_EMPRESA_USERS#.'' goto error end /* EMPRESA R/1946 PARAMETROS_EMPRESA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PARAMETROS_EMPRESA where PARAMETROS_EMPRESA.EMPRESA = deleted.EMPRESA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EMPRESA #porque existem registros em #PARAMETROS_EMPRESA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EMPRESA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_EMPRESA] on [EMPRESA] for UPDATE as /* UPDATE trigger on EMPRESA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insEMPRESA tinyint, @delEMPRESA tinyint, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EMPRESA R/1958 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1958 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1958 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1958 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.EMPRESA=@insEMPRESA WHERE PRODUTOS.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1958 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1958 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1958 DEALLOCATE EMPRESA1100 END /* EMPRESA R/1953 FILIAIS ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1953 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1953 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1953 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.EMPRESA=@insEMPRESA WHERE FILIAIS.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1953 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1953 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1953 DEALLOCATE EMPRESA1100 END /* EMPRESA R/1952 EMPRESA_SEQUENCIAIS ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1952 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1952 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1952 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE EMPRESA_SEQUENCIAIS SET EMPRESA_SEQUENCIAIS.EMPRESA=@insEMPRESA WHERE EMPRESA_SEQUENCIAIS.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1952 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1952 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1952 DEALLOCATE EMPRESA1100 END /* EMPRESA R/1950 USERS ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1950 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1950 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1950 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS SET USERS.EMPRESA=@insEMPRESA WHERE USERS.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1950 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1950 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1950 DEALLOCATE EMPRESA1100 END /* EMPRESA R/1947 PARAMETROS_EMPRESA_USERS ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1947 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1947 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1947 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_EMPRESA_USERS SET PARAMETROS_EMPRESA_USERS.EMPRESA=@insEMPRESA WHERE PARAMETROS_EMPRESA_USERS.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1947 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1947 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1947 DEALLOCATE EMPRESA1100 END /* EMPRESA R/1946 PARAMETROS_EMPRESA ON PARENT UPDATE CASCADE */ IF update(EMPRESA) BEGIN DECLARE EMPRESA1946 CURSOR FOR SELECT EMPRESA FROM INSERTED DECLARE EMPRESA1100 CURSOR FOR SELECT EMPRESA FROM DELETED OPEN EMPRESA1946 OPEN EMPRESA1100 FETCH NEXT FROM EMPRESA1946 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PARAMETROS_EMPRESA SET PARAMETROS_EMPRESA.EMPRESA=@insEMPRESA WHERE PARAMETROS_EMPRESA.EMPRESA = @delEMPRESA FETCH NEXT FROM EMPRESA1946 INTO @insEMPRESA FETCH NEXT FROM EMPRESA1100 INTO @delEMPRESA END END CLOSE EMPRESA1946 CLOSE EMPRESA1100 DEALLOCATE EMPRESA1946 DEALLOCATE EMPRESA1100 END return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DEFAULT_N1]', @objname=N'[EMPRESA].[EMPRESA]' , @futureonly='futureonly' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FV_CALCULA_COSTE_VARIANTE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [FV_CALCULA_COSTE_VARIANTE] @n_IdObjeto INTEGER AS -- DECLARE @MSG VARCHAR(25) -- RAISERROR( ''HOLA'', 16, 1 ) DECLARE @f_Coste_Materiales FLOAT, @f_Coste_Procesos FLOAT SELECT @f_Coste_Materiales = ROUND( ISNULL( SUM( R.CONSUMO * E.GF_CUSTO_REPOSIC * GF_FATOR_CONVERS), 0 ), 2 ) FROM RCOMPVARCOLOR R LEFT JOIN ETEJI E ON E.ID = R.IDTEJIDO WHERE IDVARCOLOR = @n_IdObjeto SELECT @f_Coste_Procesos = ISNULL( ( SELECT SUM( ISNULL(CANTIDAD,0) * EPROC.COSTE_EUR ) FROM VARCOLOR_ING LEFT JOIN EPROC ON EPROC.ID = VARCOLOR_ING.IDOBJINGR WHERE IDINSTANCIA = @n_IdObjeto AND IDCLASEINGR = 7 ), 0 ) -- SET @MSG = CONVERT(VARCHAR(25),@f_Coste_Materiales) --RAISERROR( @MSG, 16, 1 ) -- SET @MSG = CONVERT(VARCHAR(25),@f_Coste_Procesos) --RAISERROR( @MSG, 16, 1 ) UPDATE VARCOLOR SET FV_PR_COSTE = @f_Coste_Materiales + @f_Coste_Procesos WHERE IDVARCOLOR = @n_IdObjeto' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_VISOR_TEMAxPR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [GF_VISOR_TEMAxPR] AS SELECT ID=((ID_GF_PRODUTO_CO*10000000)+v.idvarcolor),IDLINK=C.TEMAS, VARCOL=V.IDVARCOLOR,PRODUTO=V.GF_PRODUTO,PRODUTO_COR=C.GF_DESC_COR_PROD, TEMA=(T.CODI+'' /''+T.DESCRIP),ORDENPM=1 FROM GFC_TEMAS T, VARCOLOR V, GF_PRODUTO_CORES C WHERE V.IDCARTA=C.ID_CART_COL AND C.TEMAS=T.ID ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_CODIGO_MATERIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [GF_SP_CODIGO_MATERIAL] @MATERIAL varchar(40), @CODIGO varchar(11), @GRUPO integer, @SUBGRUPO integer, @COLOR integer, @IDOBJ integer AS /* Cambios realizados por Josep Campanera en 4 febrero 2002 en exclusiva para IMPORT ARRASATE */ DECLARE @SECUENCIAL VARCHAR(4), @COD_GRUPO VARCHAR(2), @COD_SUBGRUPO VARCHAR(2), @ORDEN INTEGER, @NSECUENCIAL VARCHAR(8), @CODIGOEXISTENTE VARCHAR(11), @IDCODIGOEXISTENTE INTEGER SELECT @COD_GRUPO=GF_CODIGO_GRUPO FROM GF_MATERIAIS_GRU WHERE ID=@GRUPO SELECT @COD_SUBGRUPO=GF_CODIGO_SUBGRU FROM GF_MATERIAIS_SUB WHERE ID=@SUBGRUPO SELECT @SECUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM GF_MATERIAIS_SUB WHERE ID_GRUPO=@GRUPO AND ID=@SUBGRUPO) IF @CODIGO=''G'' GOTO CREA ELSE GOTO NUEVO /* IF (@CODIGO='''' OR @CODIGO=''??DEFINIR'') BEGIN GOTO NUEVO END ELSE IF @CODIGO!=''G'' BEGIN GOTO DADO END */ CREA: BEGIN SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+1 SELECT @NSECUENCIAL=RIGHT(''0000''+RTRIM(CONVERT(CHAR(4),@ORDEN)),4) DECLARE @ID INT DECLARE LISTA_COLORES_CODIGO CURSOR FOR SELECT ID FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL OPEN LISTA_COLORES_CODIGO FETCH NEXT FROM LISTA_COLORES_CODIGO INTO @ID -- Buscamos todos los ID de los materiales con la misma descripción que el actual WHILE @@FETCH_STATUS=0 BEGIN SET @COLOR=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=@ID) -- Para cada material encontrado, obtenemos el COLOR y actualizamos GF_MATERIAL y NOMBRE (código para PM) con -- la codificación acordada con el cliente. UPDATE ETEJI SET GF_MATERIAL=@COD_GRUPO+''.''+@COD_SUBGRUPO+''.''+@NSECUENCIAL, NOMBRE=@COD_GRUPO+''.''+@COD_SUBGRUPO+''.''+@NSECUENCIAL WHERE ID=@ID --GF_DESC_MATERIAL=@MATERIAL AND GF_COR_MATERIAL=@COLOR AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO FETCH NEXT FROM LISTA_COLORES_CODIGO INTO @ID END CLOSE LISTA_COLORES_CODIGO DEALLOCATE LISTA_COLORES_CODIGO UPDATE GF_MATERIAIS_SUB SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=@GRUPO AND ID=@SUBGRUPO GOTO FINAL END NUEVO: BEGIN IF NOT EXISTS (SELECT * FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_MATERIAL=@CODIGO ) --AND ID != @IDOBJ) --IF (SELECT MIN(ID) FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)= --(SELECT ID FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO AND GF_COR_MATERIAL=@COLOR) BEGIN -- El material actual es el primero que se introdujo con la misma DESCRIPCION que otros SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+1 SELECT @NSECUENCIAL=RIGHT(''0000''+RTRIM(CONVERT(CHAR(4),@ORDEN)),4) UPDATE ETEJI SET GF_MATERIAL=@COD_SUBGRUPO+@NSECUENCIAL, NOMBRE=@COD_SUBGRUPO+@NSECUENCIAL WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_COR_MATERIAL=@COLOR AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO /* caso generico (propuesta de Linx) UPDATE ETEJI SET GF_MATERIAL=@COD_GRUPO+''.''+@COD_SUBGRUPO+''.''+@NSECUENCIAL, NOMBRE=@COD_GRUPO+''.''+@COD_SUBGRUPO+''.''+@NSECUENCIAL WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_COR_MATERIAL=@COLOR AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO */ UPDATE GF_MATERIAIS_SUB SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=@GRUPO AND ID=@SUBGRUPO GOTO FINAL END ELSE BEGIN -- Si no es el material ''Padre'' , buscamos dicho ''Padre'' y se le asigna al actual el código de ese ''Padre'' SELECT @IDCODIGOEXISTENTE=MIN(ID) FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO SELECT @CODIGOEXISTENTE=GF_MATERIAL FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO AND ID=@IDCODIGOEXISTENTE UPDATE ETEJI SET GF_MATERIAL=@CODIGOEXISTENTE WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_COR_MATERIAL=@COLOR AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO GOTO FINAL END END /* DADO: -- Si no es el material ''Padre'' , buscamos dicho ''Padre'' y se le asigna al actual el código de ese ''Padre'' IF (SELECT MIN(ID) FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO)!= (SELECT ID FROM ETEJI WHERE GF_MATERIAL=@CODIGO AND GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO AND GF_COR_MATERIAL=@COLOR) BEGIN SELECT @IDCODIGOEXISTENTE=MIN(ID) FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO SELECT @CODIGOEXISTENTE=GF_MATERIAL FROM ETEJI WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO AND ID=@IDCODIGOEXISTENTE UPDATE ETEJI SET GF_MATERIAL=@CODIGOEXISTENTE WHERE GF_DESC_MATERIAL=@MATERIAL AND GF_COR_MATERIAL=@COLOR AND GF_GRUPO=@GRUPO AND GF_SUBGRUPO=@SUBGRUPO GOTO FINAL END ELSE GOTO FINAL */ FINAL: RETURN' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK_CALCULADO_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_STOCK_CALCULADO_DESGLOSADO] AS SELECT CENTRO, CODIGO, PRODUCTO, TIPO_PRODUCTO, GRUPO_PRODUCTO, COLECCION, COLOR, RDX_TALLAS.TALLA, CANTIDAD = CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_V_STOCK_CALCULADO.K38 WHEN ''40'' THEN RDX_V_STOCK_CALCULADO.K40 WHEN ''42'' THEN RDX_V_STOCK_CALCULADO.K42 WHEN ''44'' THEN RDX_V_STOCK_CALCULADO.K44 WHEN ''46'' THEN RDX_V_STOCK_CALCULADO.K46 WHEN ''48'' THEN RDX_V_STOCK_CALCULADO.K48 END FROM RDX_TALLAS, RDX_V_STOCK_CALCULADO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_COMPRUEBA_INTEGRIDAD]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_COMPRUEBA_INTEGRIDAD] @s_Tipo VARCHAR(20), @s_ValorIni VARCHAR(20), @b_Eliminable BIT OUTPUT AS DECLARE @s_Comando VARCHAR(2500), @n_IdIntegridad INTEGER, @s_Tabla SYSNAME, @s_Columna SYSNAME, @s_TipoReg CHAR(1), @s_Referencia_1 VARCHAR(250), @s_Referencia_2 VARCHAR(250) DECLARE @n_Lang_Id INTEGER, @s_MsgError VARCHAR(150), @s_NomTabla VARCHAR(30), @s_Ref_1 VARCHAR(20), @s_Ref_2 VARCHAR(20), @s_Txt_1 VARCHAR(250), @s_Txt_2 VARCHAR(250), @s_Fin_Inst VARCHAR(4) DECLARE CS_INTEGRIDAD CURSOR FOR SELECT ID, TABLA, COLUMNA, TIPO_TABLA, REFERENCIA_1, REFERENCIA_2 FROM GF_INTEGRIDAD_REFERENCIAL WHERE TIPO = @s_Tipo ORDER BY ID OPEN CS_INTEGRIDAD FETCH NEXT FROM CS_INTEGRIDAD INTO @n_IdIntegridad, @s_Tabla, @s_Columna, @s_TipoReg, @s_Referencia_1, @s_Referencia_2 WHILE @@FETCH_STATUS = 0 BEGIN -- Nombre de la clase/detalle IF ( @s_TipoReg = ''C'' ) -- Si la tabla es una clase BEGIN SELECT @s_NomTabla = NOMCLASE, @s_Fin_Inst = '' '' FROM SISCLASES WHERE TBNAME = @s_Tabla END ELSE -- Si la tabla es un detalle BEGIN SELECT @s_NomTabla = NOMDETALLE, @s_Fin_Inst = '' ) '' FROM SISDETALLES WHERE TBATRIB = @s_Tabla END -- 1ª Parte: Referencia - 1 : la referencia del objeto buscado SELECT @s_Referencia_1 = @s_Referencia_1 + RTRIM( @s_ValorIni ) SELECT @s_Txt_1 = ''DECLARE CS_AUX CURSOR FOR '' + @s_Referencia_1 EXEC( @s_Txt_1 ) OPEN CS_AUX FETCH NEXT FROM CS_AUX INTO @s_Ref_1 CLOSE CS_AUX DEALLOCATE CS_AUX -- 2ª Parte: Referencia - 2 : la referencia del objeto donde se encuentra el id buscado SELECT @s_Referencia_2 = @s_Referencia_2 + RTRIM( @s_ValorIni ) SELECT @s_Txt_2 = ''DECLARE CS_AUX_2 CURSOR FOR '' + @s_Referencia_2 + @s_Fin_Inst EXEC( @s_Txt_2 ) OPEN CS_AUX_2 FETCH NEXT FROM CS_AUX_2 INTO @s_Ref_2 CLOSE CS_AUX_2 DEALLOCATE CS_AUX_2 -- 3ª Parte: Construcción y ejecución, si procede, del mensaje de error SELECT @s_MsgError = '''' SELECT @s_MsgError = ''El '' + RTRIM(@s_Tipo) + '': '' + RTRIM(@s_Ref_1) + '' se está usando en '' + RTRIM(@s_NomTabla) + '': '' + RTRIM(@s_Ref_2) + ''. Imposible eliminar.'' SET @s_Comando = '' IF EXISTS( SELECT * FROM '' + RTRIM(@s_Tabla) + '' WHERE '' + RTRIM(@s_Columna) + '' = '' + RTRIM( @s_ValorIni ) + '' ) '' + '' BEGIN '' + ''RAISERROR( '''''' + @s_MsgError + '''''', 16, 1 ) '' + ''CREATE TABLE #TMP_BIT ( ELIMINABLE BIT ) '' + ''INSERT INTO #TMP_BIT VALUES ( 0 ) '' + '' END '' EXEC( @s_Comando ) IF EXISTS( SELECT * FROM SYSOBJECTS WHERE TYPE = ''U'' AND NAME = ''#TMP_BIT'' ) BEGIN SET @b_Eliminable = 0 DROP TABLE #TMP_BIT END ELSE BEGIN SET @b_Eliminable = 1 END FETCH NEXT FROM CS_INTEGRIDAD INTO @n_IdIntegridad, @s_Tabla, @s_Columna, @s_TipoReg, @s_Referencia_1, @s_Referencia_2 END CLOSE CS_INTEGRIDAD DEALLOCATE CS_INTEGRIDAD ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_COMANDOS_CHQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_COMANDOS_CHQ]( [COD_COMANDO] [char](3) NOT NULL, [DESCRICAO_COMANDO] [varchar](100) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_COMANDOS_CHQ] PRIMARY KEY NONCLUSTERED ( [COD_COMANDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CNF_COMANDOS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CNF_COMANDOS_CHQ] on [LOJA_CNF_COMANDOS_CHQ] for DELETE as /* DELETE trigger on LOJA_CNF_COMANDOS_CHQ */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CNF_COMANDOS_CHQ R/1285 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON PARENT DELETE CASCADE */ delete LOJA_CNF_COMANDOS_IMPRESS_CHQ from LOJA_CNF_COMANDOS_IMPRESS_CHQ,deleted where LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_COMANDO = deleted.COD_COMANDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CNF_COMANDOS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CNF_COMANDOS_CHQ] on [LOJA_CNF_COMANDOS_CHQ] for INSERT as /* INSERT trigger on LOJA_CNF_COMANDOS_CHQ */ /* default body for LXI_LOJA_CNF_COMANDOS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_COMANDOS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_CHQ, INSERTED WHERE LOJA_CNF_COMANDOS_CHQ.COD_COMANDO = INSERTED.COD_COMANDO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CNF_COMANDOS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CNF_COMANDOS_CHQ] on [LOJA_CNF_COMANDOS_CHQ] for UPDATE as /* UPDATE trigger on LOJA_CNF_COMANDOS_CHQ */ /* default body for LXU_LOJA_CNF_COMANDOS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_COMANDO char(3), @delCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_COMANDOS_CHQ R/1285 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON PARENT UPDATE CASCADE */ IF update(COD_COMANDO) BEGIN DECLARE LOJA_CNF_COMANDOS_CHQ1333 CURSOR FOR SELECT COD_COMANDO FROM INSERTED DECLARE LOJA_CNF_COMANDOS_CHQ805 CURSOR FOR SELECT COD_COMANDO FROM DELETED OPEN LOJA_CNF_COMANDOS_CHQ1333 OPEN LOJA_CNF_COMANDOS_CHQ805 FETCH NEXT FROM LOJA_CNF_COMANDOS_CHQ1333 INTO @insCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS_CHQ805 INTO @delCOD_COMANDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESS_CHQ SET LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_COMANDO=@insCOD_COMANDO WHERE LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_COMANDO = @delCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS_CHQ1333 INTO @insCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS_CHQ805 INTO @delCOD_COMANDO END END CLOSE LOJA_CNF_COMANDOS_CHQ1333 CLOSE LOJA_CNF_COMANDOS_CHQ805 DEALLOCATE LOJA_CNF_COMANDOS_CHQ1333 DEALLOCATE LOJA_CNF_COMANDOS_CHQ805 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_COMANDOS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_CHQ, INSERTED WHERE LOJA_CNF_COMANDOS_CHQ.COD_COMANDO = INSERTED.COD_COMANDO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_COMANDOS_CHQ.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_COMANDOS_CHQ].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_COMANDOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_COMANDOS]( [COD_COMANDO] [char](3) NOT NULL, [DESCRICAO_COMANDO] [varchar](100) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_COMANDOS] PRIMARY KEY NONCLUSTERED ( [COD_COMANDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CNF_COMANDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CNF_COMANDOS] on [LOJA_CNF_COMANDOS] for DELETE as /* DELETE trigger on LOJA_CNF_COMANDOS */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CNF_COMANDOS R/1285 LOJA_CNF_COMANDOS_IMPRESSORA ON PARENT DELETE CASCADE */ delete LOJA_CNF_COMANDOS_IMPRESSORA from LOJA_CNF_COMANDOS_IMPRESSORA,deleted where LOJA_CNF_COMANDOS_IMPRESSORA.COD_COMANDO = deleted.COD_COMANDO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CNF_COMANDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CNF_COMANDOS] on [LOJA_CNF_COMANDOS] for INSERT as /* INSERT trigger on LOJA_CNF_COMANDOS */ /* default body for LXI_LOJA_CNF_COMANDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_COMANDOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS, INSERTED WHERE LOJA_CNF_COMANDOS.COD_COMANDO = INSERTED.COD_COMANDO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CNF_COMANDOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CNF_COMANDOS] on [LOJA_CNF_COMANDOS] for UPDATE as /* UPDATE trigger on LOJA_CNF_COMANDOS */ /* default body for LXU_LOJA_CNF_COMANDOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_COMANDO char(3), @delCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_COMANDOS R/1285 LOJA_CNF_COMANDOS_IMPRESSORA ON PARENT UPDATE CASCADE */ IF update(COD_COMANDO) BEGIN DECLARE LOJA_CNF_COMANDOS1285 CURSOR FOR SELECT COD_COMANDO FROM INSERTED DECLARE LOJA_CNF_COMANDOS775 CURSOR FOR SELECT COD_COMANDO FROM DELETED OPEN LOJA_CNF_COMANDOS1285 OPEN LOJA_CNF_COMANDOS775 FETCH NEXT FROM LOJA_CNF_COMANDOS1285 INTO @insCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS775 INTO @delCOD_COMANDO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESSORA SET LOJA_CNF_COMANDOS_IMPRESSORA.COD_COMANDO=@insCOD_COMANDO WHERE LOJA_CNF_COMANDOS_IMPRESSORA.COD_COMANDO = @delCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS1285 INTO @insCOD_COMANDO FETCH NEXT FROM LOJA_CNF_COMANDOS775 INTO @delCOD_COMANDO END END CLOSE LOJA_CNF_COMANDOS1285 CLOSE LOJA_CNF_COMANDOS775 DEALLOCATE LOJA_CNF_COMANDOS1285 DEALLOCATE LOJA_CNF_COMANDOS775 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_COMANDOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS, INSERTED WHERE LOJA_CNF_COMANDOS.COD_COMANDO = INSERTED.COD_COMANDO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_COMANDOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_COMANDOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_GRUPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_GRUPO]( [GRUPO_PRODUTO] [varchar](25) NOT NULL, [CODIGO_GRUPO] [char](2) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_GRUPO] PRIMARY KEY NONCLUSTERED ( [GRUPO_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 20:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_GRUP] ON [PRODUTOS_GRUPO] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUTOS_GRUP'')))=1) RETURN ELSE DECLARE @GRUPO VARCHAR(25) DECLARE GRUPO CURSOR FOR SELECT GRUPO_PRODUTO FROM DELETED OPEN GRUPO FETCH NEXT FROM GRUPO INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPO) BEGIN DELETE FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPO END ELSE BEGIN FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPO DEALLOCATE GRUPO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 19:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_GRUP] ON [PRODUTOS_GRUPO] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRUP'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) BEGIN DECLARE @GRUPO VARCHAR(25) DECLARE GRUPO CURSOR FOR SELECT GRUPO_PRODUTO FROM INSERTED OPEN GRUPO FETCH NEXT FROM GRUPO INTO @GRUPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPO) BEGIN INSERT INTO GF_PRODUTOS_GRUP (ID, GF_GRUPO_PRODUTO, GF_CODIGO_GRUPO, Data_para_transferencia, USERC, FECHAC, USERM, FECHAM, EMP, ACCESO, USERP) SELECT IDMAX, GRUPO_PRODUTO, CODIGO_GRUPO, Data_para_transferencia, @USER, GETDATE(), @USER, GETDATE(),1, 28983, @USER FROM INSERTED, GF_PRODUTOS_GRUPCNT WHERE GRUPO_PRODUTO=@GRUPO UPDATE GF_PRODUTOS_GRUPCNT SET IDMAX=IDMAX+1 END ELSE FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPO INTO @GRUPO CLOSE GRUPO DEALLOCATE GRUPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_GRUP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_GRUP fecha de la secuencia de comandos: Sep 19 2001 20:25PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_GRUP] ON [PRODUTOS_GRUPO] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_GRUP'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_GRUP'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_GRUP'')) ) < 2 ) BEGIN DECLARE @GRUPOD VARCHAR(25), @GRUPO VARCHAR(25) DECLARE GRUPOD CURSOR FOR SELECT GRUPO_PRODUTO FROM DELETED DECLARE GRUPO CURSOR FOR SELECT GRUPO_PRODUTO FROM INSERTED OPEN GRUPOD OPEN GRUPO FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_GRUPO_PRODUTO FROM GF_PRODUTOS_GRUP WHERE GF_GRUPO_PRODUTO=@GRUPOD) BEGIN UPDATE GF_PRODUTOS_GRUP SET GF_GRUPO_PRODUTO=(SELECT GRUPO_PRODUTO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO), GF_CODIGO_GRUPO=(SELECT CODIGO_GRUPO FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE GRUPO_PRODUTO=@GRUPO), USERM=@USER, FECHAM=GETDATE() FROM INSERTED WHERE GF_GRUPO_PRODUTO=@GRUPOD UPDATE PRODUTOS_SUBGRUPO SET GRUPO_PRODUTO=@GRUPO WHERE GRUPO_PRODUTO=@GRUPOD UPDATE GF_PRODUTOS_SUBG SET GF_GRUPO_PRODUTO=@GRUPO WHERE GF_GRUPO_PRODUTO=@GRUPOD END ELSE BEGIN FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO END FETCH NEXT FROM GRUPOD INTO @GRUPOD FETCH NEXT FROM GRUPO INTO @GRUPO END CLOSE GRUPOD DEALLOCATE GRUPOD CLOSE GRUPO DEALLOCATE GRUPO END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_GRUPO] on [PRODUTOS_GRUPO] for DELETE as /* DELETE trigger on PRODUTOS_GRUPO */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_OPERACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAB_OPERACOES where PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_GRUPO #porque existem registros em #PRODUTOS_TAB_OPERACOES#.'' goto error end /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_MEDIDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_TAB_MEDIDAS where PRODUTOS_TAB_MEDIDAS.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_GRUPO #porque existem registros em #PRODUTOS_TAB_MEDIDAS#.'' goto error end /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_SUBGRUPO ON PARENT DELETE CASCADE */ delete PRODUTOS_SUBGRUPO from PRODUTOS_SUBGRUPO,deleted where PRODUTOS_SUBGRUPO.GRUPO_PRODUTO = deleted.GRUPO_PRODUTO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_GRUPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_PRODUTOS_GRUPO] on [PRODUTOS_GRUPO] for UPDATE as /* UPDATE trigger on PRODUTOS_GRUPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insGRUPO_PRODUTO varchar(25), @delGRUPO_PRODUTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_OPERACOES ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_GRUPO994 CURSOR FOR SELECT GRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_GRUPO60 CURSOR FOR SELECT GRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_GRUPO994 OPEN PRODUTOS_GRUPO60 FETCH NEXT FROM PRODUTOS_GRUPO994 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAB_OPERACOES SET PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO=@insGRUPO_PRODUTO WHERE PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO = @delGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO994 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO END END CLOSE PRODUTOS_GRUPO994 CLOSE PRODUTOS_GRUPO60 DEALLOCATE PRODUTOS_GRUPO994 DEALLOCATE PRODUTOS_GRUPO60 END /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_TAB_MEDIDAS ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_GRUPO938 CURSOR FOR SELECT GRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_GRUPO60 CURSOR FOR SELECT GRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_GRUPO938 OPEN PRODUTOS_GRUPO60 FETCH NEXT FROM PRODUTOS_GRUPO938 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_TAB_MEDIDAS SET PRODUTOS_TAB_MEDIDAS.GRUPO_PRODUTO=@insGRUPO_PRODUTO WHERE PRODUTOS_TAB_MEDIDAS.GRUPO_PRODUTO = @delGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO938 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO END END CLOSE PRODUTOS_GRUPO938 CLOSE PRODUTOS_GRUPO60 DEALLOCATE PRODUTOS_GRUPO938 DEALLOCATE PRODUTOS_GRUPO60 END /* PRODUTOS_GRUPO PRODUTOS_GRUPO PRODUTOS_SUBGRUPO ON PARENT UPDATE CASCADE */ IF update(GRUPO_PRODUTO) BEGIN DECLARE PRODUTOS_GRUPO302 CURSOR FOR SELECT GRUPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_GRUPO60 CURSOR FOR SELECT GRUPO_PRODUTO FROM DELETED OPEN PRODUTOS_GRUPO302 OPEN PRODUTOS_GRUPO60 FETCH NEXT FROM PRODUTOS_GRUPO302 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_SUBGRUPO SET PRODUTOS_SUBGRUPO.GRUPO_PRODUTO=@insGRUPO_PRODUTO WHERE PRODUTOS_SUBGRUPO.GRUPO_PRODUTO = @delGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO302 INTO @insGRUPO_PRODUTO FETCH NEXT FROM PRODUTOS_GRUPO60 INTO @delGRUPO_PRODUTO END END CLOSE PRODUTOS_GRUPO302 CLOSE PRODUTOS_GRUPO60 DEALLOCATE PRODUTOS_GRUPO302 DEALLOCATE PRODUTOS_GRUPO60 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_GRUPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_GRUPO, INSERTED WHERE PRODUTOS_GRUPO.GRUPO_PRODUTO = INSERTED.GRUPO_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_GRUPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_GRUPO].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_COMANDOS_IMPRESS_CHQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_COMANDOS_IMPRESS_CHQ]( [COD_IMPRESSORA] [char](3) NOT NULL, [COD_COMANDO] [char](3) NOT NULL, [COMANDO] [varchar](255) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_COMANDOS_IMPRESS_C] PRIMARY KEY NONCLUSTERED ( [COD_IMPRESSORA] ASC, [COD_COMANDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMANDOS_IMPRESS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMANDOS_IMPRESS_CHQ] on [LOJA_CNF_COMANDOS_IMPRESS_CHQ] for INSERT as /* INSERT trigger on LOJA_CNF_COMANDOS_IMPRESS_CHQ */ /* default body for LXI_COMANDOS_IMPRESS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @insCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_IMPRESSORAS_CHQ R/1284 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON CHILD INSERT RESTRICT */ if update(COD_IMPRESSORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_IMPRESSORAS_CHQ where inserted.COD_IMPRESSORA = LOJA_CNF_IMPRESSORAS_CHQ.COD_IMPRESSORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CNF_COMANDOS_IMPRESS_CHQ #porque #LOJA_CNF_IMPRESSORAS_CHQ #não existe.'' goto error end end /* LOJA_CNF_COMANDOS_CHQ R/1285 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON CHILD INSERT RESTRICT */ if update(COD_COMANDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_COMANDOS_CHQ where inserted.COD_COMANDO = LOJA_CNF_COMANDOS_CHQ.COD_COMANDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CNF_COMANDOS_IMPRESS_CHQ #porque #LOJA_CNF_COMANDOS_CHQ #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_COMANDOS_IMPRESS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_IMPRESS_CHQ, INSERTED WHERE LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA and LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_COMANDO = INSERTED.COD_COMANDO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMANDOS_IMPRESS_CHQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMANDOS_IMPRESS_CHQ] on [LOJA_CNF_COMANDOS_IMPRESS_CHQ] for UPDATE as /* UPDATE trigger on LOJA_CNF_COMANDOS_IMPRESS_CHQ */ /* default body for LXU_COMANDOS_IMPRESS_CHQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @insCOD_COMANDO char(3), @delCOD_IMPRESSORA char(3), @delCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_IMPRESSORAS_CHQ R/1284 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON CHILD UPDATE RESTRICT */ if update(COD_IMPRESSORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_IMPRESSORAS_CHQ where inserted.COD_IMPRESSORA = LOJA_CNF_IMPRESSORAS_CHQ.COD_IMPRESSORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CNF_COMANDOS_IMPRESS_CHQ #porque #LOJA_CNF_IMPRESSORAS_CHQ #não existe.'' goto error end end /* LOJA_CNF_COMANDOS_CHQ R/1285 LOJA_CNF_COMANDOS_IMPRESS_CHQ ON CHILD UPDATE RESTRICT */ if update(COD_COMANDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_COMANDOS_CHQ where inserted.COD_COMANDO = LOJA_CNF_COMANDOS_CHQ.COD_COMANDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CNF_COMANDOS_IMPRESS_CHQ #porque #LOJA_CNF_COMANDOS_CHQ #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESS_CHQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_IMPRESS_CHQ, INSERTED WHERE LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA and LOJA_CNF_COMANDOS_IMPRESS_CHQ.COD_COMANDO = INSERTED.COD_COMANDO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_COMANDOS_IMPRESS_CHQ.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_COMANDOS_IMPRESS_CHQ].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_IMPRESSORAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_IMPRESSORAS]( [COD_IMPRESSORA] [char](3) NOT NULL, [IMPRESSORA] [varchar](20) NOT NULL, [MODELO] [varchar](100) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_IMPRESSORAS] PRIMARY KEY NONCLUSTERED ( [COD_IMPRESSORA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CNF_IMPRESSORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CNF_IMPRESSORAS] on [LOJA_CNF_IMPRESSORAS] for DELETE as /* DELETE trigger on LOJA_CNF_IMPRESSORAS */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CNF_IMPRESSORAS R/1284 LOJA_CNF_COMANDOS_IMPRESSORA ON PARENT DELETE CASCADE */ delete LOJA_CNF_COMANDOS_IMPRESSORA from LOJA_CNF_COMANDOS_IMPRESSORA,deleted where LOJA_CNF_COMANDOS_IMPRESSORA.COD_IMPRESSORA = deleted.COD_IMPRESSORA return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CNF_IMPRESSORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CNF_IMPRESSORAS] on [LOJA_CNF_IMPRESSORAS] for INSERT as /* INSERT trigger on LOJA_CNF_IMPRESSORAS */ /* default body for LXI_LOJA_CNF_IMPRESSORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_IMPRESSORAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_IMPRESSORAS, INSERTED WHERE LOJA_CNF_IMPRESSORAS.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CNF_IMPRESSORAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CNF_IMPRESSORAS] on [LOJA_CNF_IMPRESSORAS] for UPDATE as /* UPDATE trigger on LOJA_CNF_IMPRESSORAS */ /* default body for LXU_LOJA_CNF_IMPRESSORAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @delCOD_IMPRESSORA char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_IMPRESSORAS R/1284 LOJA_CNF_COMANDOS_IMPRESSORA ON PARENT UPDATE CASCADE */ IF update(COD_IMPRESSORA) BEGIN DECLARE LOJA_CNF_IMPRESSORAS1284 CURSOR FOR SELECT COD_IMPRESSORA FROM INSERTED DECLARE LOJA_CNF_IMPRESSORAS774 CURSOR FOR SELECT COD_IMPRESSORA FROM DELETED OPEN LOJA_CNF_IMPRESSORAS1284 OPEN LOJA_CNF_IMPRESSORAS774 FETCH NEXT FROM LOJA_CNF_IMPRESSORAS1284 INTO @insCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS774 INTO @delCOD_IMPRESSORA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESSORA SET LOJA_CNF_COMANDOS_IMPRESSORA.COD_IMPRESSORA=@insCOD_IMPRESSORA WHERE LOJA_CNF_COMANDOS_IMPRESSORA.COD_IMPRESSORA = @delCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS1284 INTO @insCOD_IMPRESSORA FETCH NEXT FROM LOJA_CNF_IMPRESSORAS774 INTO @delCOD_IMPRESSORA END END CLOSE LOJA_CNF_IMPRESSORAS1284 CLOSE LOJA_CNF_IMPRESSORAS774 DEALLOCATE LOJA_CNF_IMPRESSORAS1284 DEALLOCATE LOJA_CNF_IMPRESSORAS774 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_IMPRESSORAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_IMPRESSORAS, INSERTED WHERE LOJA_CNF_IMPRESSORAS.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_IMPRESSORAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_IMPRESSORAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_LINHAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_LINHAS]( [LINHA] [varchar](25) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_LINHAS] PRIMARY KEY NONCLUSTERED ( [LINHA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 16:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_LINH] ON [PRODUTOS_LINHAS] FOR DELETE NOT FOR REPLICATION AS BEGIN IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUTOS_LINH'')) ) =1) RETURN ELSE DECLARE @LINEA VARCHAR(25) DECLARE LINEA CURSOR FOR SELECT LINHA FROM DELETED OPEN LINEA FETCH NEXT FROM LINEA INTO @LINEA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_LINHA FROM GF_PRODUTOS_LINH WHERE GF_LINHA=@LINEA) DELETE FROM GF_PRODUTOS_LINH WHERE GF_LINHA=@LINEA ELSE BEGIN FETCH NEXT FROM LINEA INTO @LINEA END FETCH NEXT FROM LINEA INTO @LINEA END CLOSE LINEA DEALLOCATE LINEA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_LINH] ON [PRODUTOS_LINHAS] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_LINH''))) =1) RETURN ELSE BEGIN DECLARE @LINEA VARCHAR(25) DECLARE LINEA CURSOR FOR SELECT LINHA FROM INSERTED OPEN LINEA FETCH NEXT FROM LINEA INTO @LINEA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_LINHA FROM GF_PRODUTOS_LINH WHERE GF_LINHA=@LINEA) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER PRINT @LINEA INSERT INTO GF_PRODUTOS_LINH (ID,GF_LINHA,GF_DATA_PARA_TRANSFERENCIA,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,LINHA,Data_para_transferencia,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUTOS_LINHAS A, GF_PRODUTOS_LINHCNT B WHERE LINHA=@LINEA PRINT @LINEA UPDATE GF_PRODUTOS_LINHCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LINEA INTO @LINEA END FETCH NEXT FROM LINEA INTO @LINEA END CLOSE LINEA DEALLOCATE LINEA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_LINH]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_LINH fecha de la secuencia de comandos: Sep 17 2001 15:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_LINH] ON [PRODUTOS_LINHAS] FOR UPDATE NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_LINH'')) ) < 2 ) BEGIN DECLARE @LINEAD VARCHAR(25) DECLARE @LINEA VARCHAR(25) DECLARE LINEAD CURSOR FOR SELECT LINHA FROM DELETED DECLARE LINEA CURSOR FOR SELECT LINHA FROM INSERTED OPEN LINEAD OPEN LINEA FETCH NEXT FROM LINEAD INTO @LINEAD FETCH NEXT FROM LINEA INTO @LINEA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_LINHA FROM GF_PRODUTOS_LINH WHERE GF_LINHA=@LINEAD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_LINH SET GF_LINHA=@LINEA,USERM=@USER,FECHAM=GETDATE() WHERE GF_LINHA=@LINEAD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LINEAD INTO @LINEAD FETCH NEXT FROM LINEA INTO @LINEA END FETCH NEXT FROM LINEAD INTO @LINEAD FETCH NEXT FROM LINEA INTO @LINEA END CLOSE LINEAD DEALLOCATE LINEAD CLOSE LINEA DEALLOCATE LINEA END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_LINHAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_LINHAS] on [PRODUTOS_LINHAS] for DELETE as /* DELETE trigger on PRODUTOS_LINHAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_LINHAS R/1966 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.LINHA = deleted.LINHA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_LINHAS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_LINHAS R/1355 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.LINHA = deleted.LINHA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_LINHAS #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_LINHAS PRODUTOS_LINHAS VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.LINHA = deleted.LINHA /* PRODUTOS_LINHAS PRODUTOS_LINHAS PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.LINHA = deleted.LINHA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_LINHAS #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_LINHAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_LINHAS] on [PRODUTOS_LINHAS] for UPDATE as /* UPDATE trigger on PRODUTOS_LINHAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insLINHA varchar(25), @delLINHA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_LINHAS R/1355 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(LINHA) BEGIN DECLARE PRODUTOS_LINHAS1355 CURSOR FOR SELECT LINHA FROM INSERTED DECLARE PRODUTOS_LINHAS36 CURSOR FOR SELECT LINHA FROM DELETED OPEN PRODUTOS_LINHAS1355 OPEN PRODUTOS_LINHAS36 FETCH NEXT FROM PRODUTOS_LINHAS1355 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.LINHA=@insLINHA WHERE ORCAMENTOS.LINHA = @delLINHA FETCH NEXT FROM PRODUTOS_LINHAS1355 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA END END CLOSE PRODUTOS_LINHAS1355 CLOSE PRODUTOS_LINHAS36 DEALLOCATE PRODUTOS_LINHAS1355 DEALLOCATE PRODUTOS_LINHAS36 END /* PRODUTOS_LINHAS PRODUTOS_LINHAS VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(LINHA) BEGIN DECLARE PRODUTOS_LINHAS925 CURSOR FOR SELECT LINHA FROM INSERTED DECLARE PRODUTOS_LINHAS36 CURSOR FOR SELECT LINHA FROM DELETED OPEN PRODUTOS_LINHAS925 OPEN PRODUTOS_LINHAS36 FETCH NEXT FROM PRODUTOS_LINHAS925 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.LINHA=@insLINHA WHERE VENDAS_COTAS_TIPO_ITENS.LINHA = @delLINHA FETCH NEXT FROM PRODUTOS_LINHAS925 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA END END CLOSE PRODUTOS_LINHAS925 CLOSE PRODUTOS_LINHAS36 DEALLOCATE PRODUTOS_LINHAS925 DEALLOCATE PRODUTOS_LINHAS36 END /* PRODUTOS_LINHAS PRODUTOS_LINHAS PRODUTOS ON PARENT UPDATE CASCADE */ IF update(LINHA) BEGIN DECLARE PRODUTOS_LINHAS44 CURSOR FOR SELECT LINHA FROM INSERTED DECLARE PRODUTOS_LINHAS36 CURSOR FOR SELECT LINHA FROM DELETED OPEN PRODUTOS_LINHAS44 OPEN PRODUTOS_LINHAS36 FETCH NEXT FROM PRODUTOS_LINHAS44 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.LINHA=@insLINHA WHERE PRODUTOS.LINHA = @delLINHA FETCH NEXT FROM PRODUTOS_LINHAS44 INTO @insLINHA FETCH NEXT FROM PRODUTOS_LINHAS36 INTO @delLINHA END END CLOSE PRODUTOS_LINHAS44 CLOSE PRODUTOS_LINHAS36 DEALLOCATE PRODUTOS_LINHAS44 DEALLOCATE PRODUTOS_LINHAS36 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_LINHAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_LINHAS, INSERTED WHERE PRODUTOS_LINHAS.LINHA = INSERTED.LINHA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_LINHAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_LINHAS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CNF_COMANDOS_IMPRESSORA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CNF_COMANDOS_IMPRESSORA]( [COD_IMPRESSORA] [char](3) NOT NULL, [COD_COMANDO] [char](3) NOT NULL, [COMANDO] [varchar](255) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CNF_COMANDOS_IMPRESSOR] PRIMARY KEY NONCLUSTERED ( [COD_IMPRESSORA] ASC, [COD_COMANDO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_COMANDOS_IMPRESSORA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_COMANDOS_IMPRESSORA] on [LOJA_CNF_COMANDOS_IMPRESSORA] for INSERT as /* INSERT trigger on LOJA_CNF_COMANDOS_IMPRESSORA */ /* default body for LXI_COMANDOS_IMPRESSORA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @insCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_COMANDOS R/1285 LOJA_CNF_COMANDOS_IMPRESSORA ON CHILD INSERT RESTRICT */ if update(COD_COMANDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_COMANDOS where inserted.COD_COMANDO = LOJA_CNF_COMANDOS.COD_COMANDO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CNF_COMANDOS_IMPRESSORA #porque #LOJA_CNF_COMANDOS #não existe.'' goto error end end /* LOJA_CNF_IMPRESSORAS R/1284 LOJA_CNF_COMANDOS_IMPRESSORA ON CHILD INSERT RESTRICT */ if update(COD_IMPRESSORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_IMPRESSORAS where inserted.COD_IMPRESSORA = LOJA_CNF_IMPRESSORAS.COD_IMPRESSORA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CNF_COMANDOS_IMPRESSORA #porque #LOJA_CNF_IMPRESSORAS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CNF_COMANDOS_IMPRESSORA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_IMPRESSORA, INSERTED WHERE LOJA_CNF_COMANDOS_IMPRESSORA.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA and LOJA_CNF_COMANDOS_IMPRESSORA.COD_COMANDO = INSERTED.COD_COMANDO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_COMANDOS_IMPRESSORA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_COMANDOS_IMPRESSORA] on [LOJA_CNF_COMANDOS_IMPRESSORA] for UPDATE as /* UPDATE trigger on LOJA_CNF_COMANDOS_IMPRESSORA */ /* default body for LXU_COMANDOS_IMPRESSORA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCOD_IMPRESSORA char(3), @insCOD_COMANDO char(3), @delCOD_IMPRESSORA char(3), @delCOD_COMANDO char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CNF_COMANDOS R/1285 LOJA_CNF_COMANDOS_IMPRESSORA ON CHILD UPDATE RESTRICT */ if update(COD_COMANDO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_COMANDOS where inserted.COD_COMANDO = LOJA_CNF_COMANDOS.COD_COMANDO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CNF_COMANDOS_IMPRESSORA #porque #LOJA_CNF_COMANDOS #não existe.'' goto error end end /* LOJA_CNF_IMPRESSORAS R/1284 LOJA_CNF_COMANDOS_IMPRESSORA ON CHILD UPDATE RESTRICT */ if update(COD_IMPRESSORA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_CNF_IMPRESSORAS where inserted.COD_IMPRESSORA = LOJA_CNF_IMPRESSORAS.COD_IMPRESSORA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CNF_COMANDOS_IMPRESSORA #porque #LOJA_CNF_IMPRESSORAS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CNF_COMANDOS_IMPRESSORA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CNF_COMANDOS_IMPRESSORA, INSERTED WHERE LOJA_CNF_COMANDOS_IMPRESSORA.COD_IMPRESSORA = INSERTED.COD_IMPRESSORA and LOJA_CNF_COMANDOS_IMPRESSORA.COD_COMANDO = INSERTED.COD_COMANDO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CNF_COMANDOS_IMPRESSORA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CNF_COMANDOS_IMPRESSORA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_LAVAGENS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_LAVAGENS]( [TIPO_LAVAGEM_TINTURARIA] [varchar](25) NOT NULL, [GRUPO_LAVAGEM_TINTURARIA] [varchar](25) NULL, [CODIGO_LAVAGEM_TINTURARIA] [char](3) NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_LAVAGENS] PRIMARY KEY NONCLUSTERED ( [TIPO_LAVAGEM_TINTURARIA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_LAVAGENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_LAVAGENS] on [PRODUTOS_LAVAGENS] for DELETE as /* DELETE trigger on PRODUTOS_LAVAGENS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_LAVAGENS LAVAGENS PRODUTO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_CORES where PRODUTO_CORES.TIPO_LAVAGEM_TINTURARIA = deleted.TIPO_LAVAGEM_TINTURARIA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_LAVAGENS #porque existem registros em #PRODUTO_CORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_LAVAGENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_LAVAGENS] on [PRODUTOS_LAVAGENS] for INSERT as /* INSERT trigger on PRODUTOS_LAVAGENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_LAVAGEM_TINTURARIA varchar(25), @delTIPO_LAVAGEM_TINTURARIA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_LAVAGENS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_LAVAGENS, INSERTED WHERE PRODUTOS_LAVAGENS.TIPO_LAVAGEM_TINTURARIA = INSERTED.TIPO_LAVAGEM_TINTURARIA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_LAVAGENS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_LAVAGENS] on [PRODUTOS_LAVAGENS] for UPDATE as /* UPDATE trigger on PRODUTOS_LAVAGENS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_LAVAGEM_TINTURARIA varchar(25), @delTIPO_LAVAGEM_TINTURARIA varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_LAVAGENS LAVAGENS PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(TIPO_LAVAGEM_TINTURARIA) BEGIN DECLARE PRODUTOS_LAVAGENS1076 CURSOR FOR SELECT TIPO_LAVAGEM_TINTURARIA FROM INSERTED DECLARE PRODUTOS_LAVAGENS691 CURSOR FOR SELECT TIPO_LAVAGEM_TINTURARIA FROM DELETED OPEN PRODUTOS_LAVAGENS1076 OPEN PRODUTOS_LAVAGENS691 FETCH NEXT FROM PRODUTOS_LAVAGENS1076 INTO @insTIPO_LAVAGEM_TINTURARIA FETCH NEXT FROM PRODUTOS_LAVAGENS691 INTO @delTIPO_LAVAGEM_TINTURARIA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.TIPO_LAVAGEM_TINTURARIA=@insTIPO_LAVAGEM_TINTURARIA WHERE PRODUTO_CORES.TIPO_LAVAGEM_TINTURARIA = @delTIPO_LAVAGEM_TINTURARIA FETCH NEXT FROM PRODUTOS_LAVAGENS1076 INTO @insTIPO_LAVAGEM_TINTURARIA FETCH NEXT FROM PRODUTOS_LAVAGENS691 INTO @delTIPO_LAVAGEM_TINTURARIA END END CLOSE PRODUTOS_LAVAGENS1076 CLOSE PRODUTOS_LAVAGENS691 DEALLOCATE PRODUTOS_LAVAGENS1076 DEALLOCATE PRODUTOS_LAVAGENS691 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_LAVAGENS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_LAVAGENS, INSERTED WHERE PRODUTOS_LAVAGENS.TIPO_LAVAGEM_TINTURARIA = INSERTED.TIPO_LAVAGEM_TINTURARIA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_LAVAGENS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_LAVAGENS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CAIXA_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CAIXA_TIPOS]( [TIPO_LANCAMENTO_CAIXA] [char](2) NOT NULL, [DESC_LANC_CAIXA] [varchar](40) NULL, [INDICADOR_MOV_CAIXA] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CAIXA_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_LANCAMENTO_CAIXA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_CAIXA_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_CAIXA_TIPOS] on [LOJA_CAIXA_TIPOS] for DELETE as /* DELETE trigger on LOJA_CAIXA_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* LOJA_CAIXA_TIPOS TIPOS_LANC LOJA_CAIXA_LANCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_CAIXA_LANCAMENTOS where LOJA_CAIXA_LANCAMENTOS.TIPO_LANCAMENTO_CAIXA = deleted.TIPO_LANCAMENTO_CAIXA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_CAIXA_TIPOS #porque existem registros em #LOJA_CAIXA_LANCAMENTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CAIXA_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CAIXA_TIPOS] on [LOJA_CAIXA_TIPOS] for INSERT as /* INSERT trigger on LOJA_CAIXA_TIPOS */ /* default body for LXI_LOJA_CAIXA_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_LANCAMENTO_CAIXA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CAIXA_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CAIXA_TIPOS, INSERTED WHERE LOJA_CAIXA_TIPOS.TIPO_LANCAMENTO_CAIXA = INSERTED.TIPO_LANCAMENTO_CAIXA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CAIXA_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CAIXA_TIPOS] on [LOJA_CAIXA_TIPOS] for UPDATE as /* UPDATE trigger on LOJA_CAIXA_TIPOS */ /* default body for LXU_LOJA_CAIXA_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_LANCAMENTO_CAIXA char(2), @delTIPO_LANCAMENTO_CAIXA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_CAIXA_TIPOS TIPOS_LANC LOJA_CAIXA_LANCAMENTOS ON PARENT UPDATE CASCADE */ IF update(TIPO_LANCAMENTO_CAIXA) BEGIN DECLARE LOJA_CAIXA_TIPOS1144 CURSOR FOR SELECT TIPO_LANCAMENTO_CAIXA FROM INSERTED DECLARE LOJA_CAIXA_TIPOS701 CURSOR FOR SELECT TIPO_LANCAMENTO_CAIXA FROM DELETED OPEN LOJA_CAIXA_TIPOS1144 OPEN LOJA_CAIXA_TIPOS701 FETCH NEXT FROM LOJA_CAIXA_TIPOS1144 INTO @insTIPO_LANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_TIPOS701 INTO @delTIPO_LANCAMENTO_CAIXA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_CAIXA_LANCAMENTOS SET LOJA_CAIXA_LANCAMENTOS.TIPO_LANCAMENTO_CAIXA=@insTIPO_LANCAMENTO_CAIXA WHERE LOJA_CAIXA_LANCAMENTOS.TIPO_LANCAMENTO_CAIXA = @delTIPO_LANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_TIPOS1144 INTO @insTIPO_LANCAMENTO_CAIXA FETCH NEXT FROM LOJA_CAIXA_TIPOS701 INTO @delTIPO_LANCAMENTO_CAIXA END END CLOSE LOJA_CAIXA_TIPOS1144 CLOSE LOJA_CAIXA_TIPOS701 DEALLOCATE LOJA_CAIXA_TIPOS1144 DEALLOCATE LOJA_CAIXA_TIPOS701 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CAIXA_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CAIXA_TIPOS, INSERTED WHERE LOJA_CAIXA_TIPOS.TIPO_LANCAMENTO_CAIXA = INSERTED.TIPO_LANCAMENTO_CAIXA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CAIXA_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CAIXA_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_ETIQUETAS]( [ETIQUETA] [char](4) NOT NULL, [DESC_ETIQUETA] [varchar](40) NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_ETIQUETAS] PRIMARY KEY NONCLUSTERED ( [ETIQUETA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_ETIQUETAS] on [PRODUTOS_ETIQUETAS] for DELETE as /* DELETE trigger on PRODUTOS_ETIQUETAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_ETIQUETAS ETIQUETAS_PRODUTOS PRODUTO_CORES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTO_CORES where PRODUTO_CORES.ETIQUETA = deleted.ETIQUETA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_ETIQUETAS #porque existem registros em #PRODUTO_CORES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_ETIQUETAS] on [PRODUTOS_ETIQUETAS] for INSERT as /* INSERT trigger on PRODUTOS_ETIQUETAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insETIQUETA char(4), @delETIQUETA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_ETIQUETAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_ETIQUETAS, INSERTED WHERE PRODUTOS_ETIQUETAS.ETIQUETA = INSERTED.ETIQUETA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_ETIQUETAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_ETIQUETAS] on [PRODUTOS_ETIQUETAS] for UPDATE as /* UPDATE trigger on PRODUTOS_ETIQUETAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insETIQUETA char(4), @delETIQUETA char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_ETIQUETAS ETIQUETAS_PRODUTOS PRODUTO_CORES ON PARENT UPDATE CASCADE */ IF update(ETIQUETA) BEGIN DECLARE PRODUTOS_ETIQUETAS1289 CURSOR FOR SELECT ETIQUETA FROM INSERTED DECLARE PRODUTOS_ETIQUETAS779 CURSOR FOR SELECT ETIQUETA FROM DELETED OPEN PRODUTOS_ETIQUETAS1289 OPEN PRODUTOS_ETIQUETAS779 FETCH NEXT FROM PRODUTOS_ETIQUETAS1289 INTO @insETIQUETA FETCH NEXT FROM PRODUTOS_ETIQUETAS779 INTO @delETIQUETA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTO_CORES SET PRODUTO_CORES.ETIQUETA=@insETIQUETA WHERE PRODUTO_CORES.ETIQUETA = @delETIQUETA FETCH NEXT FROM PRODUTOS_ETIQUETAS1289 INTO @insETIQUETA FETCH NEXT FROM PRODUTOS_ETIQUETAS779 INTO @delETIQUETA END END CLOSE PRODUTOS_ETIQUETAS1289 CLOSE PRODUTOS_ETIQUETAS779 DEALLOCATE PRODUTOS_ETIQUETAS1289 DEALLOCATE PRODUTOS_ETIQUETAS779 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_ETIQUETAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_ETIQUETAS, INSERTED WHERE PRODUTOS_ETIQUETAS.ETIQUETA = INSERTED.ETIQUETA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_ETIQUETAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_ETIQUETAS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FILIAL_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [FILIAL_TIPOS]( [TIPO_FILIAL] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKFILIAL_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_FILIAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_FILIAL_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_FILIAL_TIPOS] on [FILIAL_TIPOS] for DELETE as /* DELETE trigger on FILIAL_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* FILIAL_TIPOS R/1480 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.TIPO_FILIAL = deleted.TIPO_FILIAL ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #FILIAL_TIPOS #porque existem registros em #FILIAIS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_FILIAL_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_FILIAL_TIPOS] on [FILIAL_TIPOS] for UPDATE as /* UPDATE trigger on FILIAL_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_FILIAL varchar(25), @delTIPO_FILIAL varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* FILIAL_TIPOS R/1480 FILIAIS ON PARENT UPDATE CASCADE */ IF update(TIPO_FILIAL) BEGIN DECLARE FILIAL_TIPOS1480 CURSOR FOR SELECT TIPO_FILIAL FROM INSERTED DECLARE FILIAL_TIPOS877 CURSOR FOR SELECT TIPO_FILIAL FROM DELETED OPEN FILIAL_TIPOS1480 OPEN FILIAL_TIPOS877 FETCH NEXT FROM FILIAL_TIPOS1480 INTO @insTIPO_FILIAL FETCH NEXT FROM FILIAL_TIPOS877 INTO @delTIPO_FILIAL IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.TIPO_FILIAL=@insTIPO_FILIAL WHERE FILIAIS.TIPO_FILIAL = @delTIPO_FILIAL FETCH NEXT FROM FILIAL_TIPOS1480 INTO @insTIPO_FILIAL FETCH NEXT FROM FILIAL_TIPOS877 INTO @delTIPO_FILIAL END END CLOSE FILIAL_TIPOS1480 CLOSE FILIAL_TIPOS877 DEALLOCATE FILIAL_TIPOS1480 DEALLOCATE FILIAL_TIPOS877 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE FILIAL_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM FILIAL_TIPOS, INSERTED WHERE FILIAL_TIPOS.TIPO_FILIAL = INSERTED.TIPO_FILIAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR FILIAL_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[FILIAL_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_SAC_CATEGORIA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_SAC_CATEGORIA]( [CATEGORIA_SAC] [char](4) NOT NULL, [DESC_CATEGORIA_SAC] [varchar](40) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_SAC_CATEGORIA] PRIMARY KEY NONCLUSTERED ( [CATEGORIA_SAC] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_SAC_CATEGORIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_SAC_CATEGORIA] on [CLIENTE_SAC_CATEGORIA] for DELETE as /* DELETE trigger on CLIENTE_SAC_CATEGORIA */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_SAC_CATEGORIA R/1559 CLIENTE_VAR_SAC ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_SAC where CLIENTE_VAR_SAC.CATEGORIA_SAC = deleted.CATEGORIA_SAC ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_SAC_CATEGORIA #porque existem registros em #CLIENTE_VAR_SAC#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_SAC_CATEGORIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_SAC_CATEGORIA] on [CLIENTE_SAC_CATEGORIA] for INSERT as /* INSERT trigger on CLIENTE_SAC_CATEGORIA */ /* default body for LXI_CLIENTE_SAC_CATEGORIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCATEGORIA_SAC char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_SAC_CATEGORIA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_CATEGORIA, INSERTED WHERE CLIENTE_SAC_CATEGORIA.CATEGORIA_SAC = inserted.CATEGORIA_SAC AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_SAC_CATEGORIA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_SAC_CATEGORIA] on [CLIENTE_SAC_CATEGORIA] for UPDATE as /* UPDATE trigger on CLIENTE_SAC_CATEGORIA */ /* default body for LXU_CLIENTE_SAC_CATEGORIA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCATEGORIA_SAC char(4), @delCATEGORIA_SAC char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_SAC_CATEGORIA R/1559 CLIENTE_VAR_SAC ON PARENT UPDATE CASCADE */ IF update(CATEGORIA_SAC) BEGIN DECLARE CLIENTE_SAC_CATEGORIA1559 CURSOR FOR SELECT CATEGORIA_SAC FROM INSERTED DECLARE CLIENTE_SAC_CATEGORIA923 CURSOR FOR SELECT CATEGORIA_SAC FROM DELETED OPEN CLIENTE_SAC_CATEGORIA1559 OPEN CLIENTE_SAC_CATEGORIA923 FETCH NEXT FROM CLIENTE_SAC_CATEGORIA1559 INTO @insCATEGORIA_SAC FETCH NEXT FROM CLIENTE_SAC_CATEGORIA923 INTO @delCATEGORIA_SAC IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_SAC SET CLIENTE_VAR_SAC.CATEGORIA_SAC=@insCATEGORIA_SAC WHERE CLIENTE_VAR_SAC.CATEGORIA_SAC = @delCATEGORIA_SAC FETCH NEXT FROM CLIENTE_SAC_CATEGORIA1559 INTO @insCATEGORIA_SAC FETCH NEXT FROM CLIENTE_SAC_CATEGORIA923 INTO @delCATEGORIA_SAC END END CLOSE CLIENTE_SAC_CATEGORIA1559 CLOSE CLIENTE_SAC_CATEGORIA923 DEALLOCATE CLIENTE_SAC_CATEGORIA1559 DEALLOCATE CLIENTE_SAC_CATEGORIA923 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_SAC_CATEGORIA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_CATEGORIA, INSERTED WHERE CLIENTE_SAC_CATEGORIA.CATEGORIA_SAC = inserted.CATEGORIA_SAC AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_SAC_CATEGORIA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_SAC_CATEGORIA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_BLOQ]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_BLOQ]( [TIPO_BLOQUEIO] [varchar](25) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_VAR_BLOQ] PRIMARY KEY NONCLUSTERED ( [TIPO_BLOQUEIO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_VAR_BLOQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_VAR_BLOQ] on [CLIENTE_VAR_BLOQ] for DELETE as /* DELETE trigger on CLIENTE_VAR_BLOQ */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_VAR_BLOQ CLIENTE_VAL_BLOQUEIO CLIENTES_VAREJO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_VAREJO where CLIENTES_VAREJO.TIPO_BLOQUEIO = deleted.TIPO_BLOQUEIO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_BLOQ #porque existem registros em #CLIENTES_VAREJO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_BLOQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_BLOQ] on [CLIENTE_VAR_BLOQ] for INSERT as /* INSERT trigger on CLIENTE_VAR_BLOQ */ /* default body for LXI_CLIENTE_VAR_BLOQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_BLOQUEIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_BLOQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_BLOQ, INSERTED WHERE CLIENTE_VAR_BLOQ.TIPO_BLOQUEIO = inserted.TIPO_BLOQUEIO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_BLOQ]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_BLOQ] on [CLIENTE_VAR_BLOQ] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_BLOQ */ /* default body for LXU_CLIENTE_VAR_BLOQ */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_BLOQUEIO varchar(25), @delTIPO_BLOQUEIO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_BLOQ CLIENTE_VAL_BLOQUEIO CLIENTES_VAREJO ON PARENT UPDATE CASCADE */ IF update(TIPO_BLOQUEIO) BEGIN DECLARE CLIENTE_VAR_BLOQ547 CURSOR FOR SELECT TIPO_BLOQUEIO FROM INSERTED DECLARE CLIENTE_VAR_BLOQ249 CURSOR FOR SELECT TIPO_BLOQUEIO FROM DELETED OPEN CLIENTE_VAR_BLOQ547 OPEN CLIENTE_VAR_BLOQ249 FETCH NEXT FROM CLIENTE_VAR_BLOQ547 INTO @insTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_VAR_BLOQ249 INTO @delTIPO_BLOQUEIO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAREJO SET CLIENTES_VAREJO.TIPO_BLOQUEIO=@insTIPO_BLOQUEIO WHERE CLIENTES_VAREJO.TIPO_BLOQUEIO = @delTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_VAR_BLOQ547 INTO @insTIPO_BLOQUEIO FETCH NEXT FROM CLIENTE_VAR_BLOQ249 INTO @delTIPO_BLOQUEIO END END CLOSE CLIENTE_VAR_BLOQ547 CLOSE CLIENTE_VAR_BLOQ249 DEALLOCATE CLIENTE_VAR_BLOQ547 DEALLOCATE CLIENTE_VAR_BLOQ249 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_BLOQ SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_BLOQ, INSERTED WHERE CLIENTE_VAR_BLOQ.TIPO_BLOQUEIO = inserted.TIPO_BLOQUEIO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_BLOQ.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_BLOQ].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_SAC_MANIFESTACAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_SAC_MANIFESTACAO]( [MANIFESTACAO_SAC] [char](4) NOT NULL, [DESC_MANIFESTACAO] [varchar](40) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_SAC_MANIFESTACAO] PRIMARY KEY NONCLUSTERED ( [MANIFESTACAO_SAC] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_SAC_MANIFESTACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_SAC_MANIFESTACAO] on [CLIENTE_SAC_MANIFESTACAO] for DELETE as /* DELETE trigger on CLIENTE_SAC_MANIFESTACAO */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_SAC_MANIFESTACAO R/1560 CLIENTE_VAR_SAC ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_SAC where CLIENTE_VAR_SAC.MANIFESTACAO_SAC = deleted.MANIFESTACAO_SAC ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_SAC_MANIFESTACAO #porque existem registros em #CLIENTE_VAR_SAC#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_SAC_MANIFESTACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_SAC_MANIFESTACAO] on [CLIENTE_SAC_MANIFESTACAO] for INSERT as /* INSERT trigger on CLIENTE_SAC_MANIFESTACAO */ /* default body for LXI_CLIENTE_SAC_MANIFESTACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMANIFESTACAO_SAC char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_SAC_MANIFESTACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_MANIFESTACAO, INSERTED WHERE CLIENTE_SAC_MANIFESTACAO.MANIFESTACAO_SAC = inserted.MANIFESTACAO_SAC AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_SAC_MANIFESTACAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_SAC_MANIFESTACAO] on [CLIENTE_SAC_MANIFESTACAO] for UPDATE as /* UPDATE trigger on CLIENTE_SAC_MANIFESTACAO */ /* default body for LXU_CLIENTE_SAC_MANIFESTACAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMANIFESTACAO_SAC char(4), @delMANIFESTACAO_SAC char(4), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_SAC_MANIFESTACAO R/1560 CLIENTE_VAR_SAC ON PARENT UPDATE CASCADE */ IF update(MANIFESTACAO_SAC) BEGIN DECLARE CLIENTE_SAC_MANIFESTACAO1560 CURSOR FOR SELECT MANIFESTACAO_SAC FROM INSERTED DECLARE CLIENTE_SAC_MANIFESTACAO922 CURSOR FOR SELECT MANIFESTACAO_SAC FROM DELETED OPEN CLIENTE_SAC_MANIFESTACAO1560 OPEN CLIENTE_SAC_MANIFESTACAO922 FETCH NEXT FROM CLIENTE_SAC_MANIFESTACAO1560 INTO @insMANIFESTACAO_SAC FETCH NEXT FROM CLIENTE_SAC_MANIFESTACAO922 INTO @delMANIFESTACAO_SAC IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_SAC SET CLIENTE_VAR_SAC.MANIFESTACAO_SAC=@insMANIFESTACAO_SAC WHERE CLIENTE_VAR_SAC.MANIFESTACAO_SAC = @delMANIFESTACAO_SAC FETCH NEXT FROM CLIENTE_SAC_MANIFESTACAO1560 INTO @insMANIFESTACAO_SAC FETCH NEXT FROM CLIENTE_SAC_MANIFESTACAO922 INTO @delMANIFESTACAO_SAC END END CLOSE CLIENTE_SAC_MANIFESTACAO1560 CLOSE CLIENTE_SAC_MANIFESTACAO922 DEALLOCATE CLIENTE_SAC_MANIFESTACAO1560 DEALLOCATE CLIENTE_SAC_MANIFESTACAO922 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_SAC_MANIFESTACAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_SAC_MANIFESTACAO, INSERTED WHERE CLIENTE_SAC_MANIFESTACAO.MANIFESTACAO_SAC = inserted.MANIFESTACAO_SAC AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_SAC_MANIFESTACAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_SAC_MANIFESTACAO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESERVA_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_RESERVA_TIPO]( [CODIGO_RESERVA] [char](2) NOT NULL, [TIPO_RESERVA] [varchar](40) NOT NULL, [INDICA_TIPO_RESERVA] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_RESERVA_TIPO] PRIMARY KEY NONCLUSTERED ( [CODIGO_RESERVA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_RESERVA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_RESERVA_TIPO] on [LOJA_RESERVA_TIPO] for DELETE as /* DELETE trigger on LOJA_RESERVA_TIPO */ begin declare @errno int, @errmsg varchar(255) /* LOJA_RESERVA_TIPO R/1398 LOJA_RESERVA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_RESERVA where LOJA_RESERVA.CODIGO_RESERVA = deleted.CODIGO_RESERVA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_RESERVA_TIPO #porque existem registros em #LOJA_RESERVA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_RESERVA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_RESERVA_TIPO] on [LOJA_RESERVA_TIPO] for INSERT as /* INSERT trigger on LOJA_RESERVA_TIPO */ /* default body for LXI_LOJA_RESERVA_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_RESERVA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_RESERVA_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA_TIPO, INSERTED WHERE LOJA_RESERVA_TIPO.CODIGO_RESERVA = INSERTED.CODIGO_RESERVA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_RESERVA_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_RESERVA_TIPO] on [LOJA_RESERVA_TIPO] for UPDATE as /* UPDATE trigger on LOJA_RESERVA_TIPO */ /* default body for LXU_LOJA_RESERVA_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_RESERVA char(2), @delCODIGO_RESERVA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_RESERVA_TIPO R/1398 LOJA_RESERVA ON PARENT UPDATE CASCADE */ IF update(CODIGO_RESERVA) BEGIN DECLARE LOJA_RESERVA_TIPO1398 CURSOR FOR SELECT CODIGO_RESERVA FROM INSERTED DECLARE LOJA_RESERVA_TIPO827 CURSOR FOR SELECT CODIGO_RESERVA FROM DELETED OPEN LOJA_RESERVA_TIPO1398 OPEN LOJA_RESERVA_TIPO827 FETCH NEXT FROM LOJA_RESERVA_TIPO1398 INTO @insCODIGO_RESERVA FETCH NEXT FROM LOJA_RESERVA_TIPO827 INTO @delCODIGO_RESERVA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_RESERVA SET LOJA_RESERVA.CODIGO_RESERVA=@insCODIGO_RESERVA WHERE LOJA_RESERVA.CODIGO_RESERVA = @delCODIGO_RESERVA FETCH NEXT FROM LOJA_RESERVA_TIPO1398 INTO @insCODIGO_RESERVA FETCH NEXT FROM LOJA_RESERVA_TIPO827 INTO @delCODIGO_RESERVA END END CLOSE LOJA_RESERVA_TIPO1398 CLOSE LOJA_RESERVA_TIPO827 DEALLOCATE LOJA_RESERVA_TIPO1398 DEALLOCATE LOJA_RESERVA_TIPO827 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_RESERVA_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_RESERVA_TIPO, INSERTED WHERE LOJA_RESERVA_TIPO.CODIGO_RESERVA = INSERTED.CODIGO_RESERVA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_RESERVA_TIPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_RESERVA_TIPO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_TIPOS]( [TIPO_VAREJO] [varchar](25) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_VAR_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_VAREJO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_VAR_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_VAR_TIPOS] on [CLIENTE_VAR_TIPOS] for DELETE as /* DELETE trigger on CLIENTE_VAR_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_VAR_TIPOS R/1703 CLIENTES_VAR_PROP_TIPO ON PARENT DELETE CASCADE */ delete CLIENTES_VAR_PROP_TIPO from CLIENTES_VAR_PROP_TIPO,deleted where CLIENTES_VAR_PROP_TIPO.TIPO_VAREJO = deleted.TIPO_VAREJO /* CLIENTE_VAR_TIPOS CLIENTE_VAR_TIPOS CLIENTES_VAREJO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_VAREJO where CLIENTES_VAREJO.TIPO_VAREJO = deleted.TIPO_VAREJO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_TIPOS #porque existem registros em #CLIENTES_VAREJO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_TIPOS] on [CLIENTE_VAR_TIPOS] for INSERT as /* INSERT trigger on CLIENTE_VAR_TIPOS */ /* default body for LXI_CLIENTE_VAR_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_VAREJO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_TIPOS, INSERTED WHERE CLIENTE_VAR_TIPOS.TIPO_VAREJO = INSERTED.TIPO_VAREJO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_TIPOS] on [CLIENTE_VAR_TIPOS] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_TIPOS */ /* default body for LXU_CLIENTE_VAR_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_VAREJO varchar(25), @delTIPO_VAREJO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_TIPOS R/1703 CLIENTES_VAR_PROP_TIPO ON PARENT UPDATE CASCADE */ IF update(TIPO_VAREJO) BEGIN DECLARE CLIENTE_VAR_TIPOS1703 CURSOR FOR SELECT TIPO_VAREJO FROM INSERTED DECLARE CLIENTE_VAR_TIPOS241 CURSOR FOR SELECT TIPO_VAREJO FROM DELETED OPEN CLIENTE_VAR_TIPOS1703 OPEN CLIENTE_VAR_TIPOS241 FETCH NEXT FROM CLIENTE_VAR_TIPOS1703 INTO @insTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS241 INTO @delTIPO_VAREJO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAR_PROP_TIPO SET CLIENTES_VAR_PROP_TIPO.TIPO_VAREJO=@insTIPO_VAREJO WHERE CLIENTES_VAR_PROP_TIPO.TIPO_VAREJO = @delTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS1703 INTO @insTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS241 INTO @delTIPO_VAREJO END END CLOSE CLIENTE_VAR_TIPOS1703 CLOSE CLIENTE_VAR_TIPOS241 DEALLOCATE CLIENTE_VAR_TIPOS1703 DEALLOCATE CLIENTE_VAR_TIPOS241 END /* CLIENTE_VAR_TIPOS CLIENTE_VAR_TIPOS CLIENTES_VAREJO ON PARENT UPDATE CASCADE */ IF update(TIPO_VAREJO) BEGIN DECLARE CLIENTE_VAR_TIPOS516 CURSOR FOR SELECT TIPO_VAREJO FROM INSERTED DECLARE CLIENTE_VAR_TIPOS241 CURSOR FOR SELECT TIPO_VAREJO FROM DELETED OPEN CLIENTE_VAR_TIPOS516 OPEN CLIENTE_VAR_TIPOS241 FETCH NEXT FROM CLIENTE_VAR_TIPOS516 INTO @insTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS241 INTO @delTIPO_VAREJO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAREJO SET CLIENTES_VAREJO.TIPO_VAREJO=@insTIPO_VAREJO WHERE CLIENTES_VAREJO.TIPO_VAREJO = @delTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS516 INTO @insTIPO_VAREJO FETCH NEXT FROM CLIENTE_VAR_TIPOS241 INTO @delTIPO_VAREJO END END CLOSE CLIENTE_VAR_TIPOS516 CLOSE CLIENTE_VAR_TIPOS241 DEALLOCATE CLIENTE_VAR_TIPOS516 DEALLOCATE CLIENTE_VAR_TIPOS241 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_TIPOS, INSERTED WHERE CLIENTE_VAR_TIPOS.TIPO_VAREJO = INSERTED.TIPO_VAREJO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRE_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REPRE_TIPOS]( [TIPO] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKREPRE_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_REPRE_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_REPRE_TIPOS] on [REPRE_TIPOS] for DELETE as /* DELETE trigger on REPRE_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* REPRE_TIPOS REPRE_TIPOS REPRESENTANTES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,REPRESENTANTES where REPRESENTANTES.TIPO = deleted.TIPO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #REPRE_TIPOS #porque existem registros em #REPRESENTANTES#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REPRE_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REPRE_TIPOS] on [REPRE_TIPOS] for UPDATE as /* UPDATE trigger on REPRE_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO varchar(25), @delTIPO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* REPRE_TIPOS REPRE_TIPOS REPRESENTANTES ON PARENT UPDATE CASCADE */ IF update(TIPO) BEGIN DECLARE REPRE_TIPOS705 CURSOR FOR SELECT TIPO FROM INSERTED DECLARE REPRE_TIPOS501 CURSOR FOR SELECT TIPO FROM DELETED OPEN REPRE_TIPOS705 OPEN REPRE_TIPOS501 FETCH NEXT FROM REPRE_TIPOS705 INTO @insTIPO FETCH NEXT FROM REPRE_TIPOS501 INTO @delTIPO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REPRESENTANTES SET REPRESENTANTES.TIPO=@insTIPO WHERE REPRESENTANTES.TIPO = @delTIPO FETCH NEXT FROM REPRE_TIPOS705 INTO @insTIPO FETCH NEXT FROM REPRE_TIPOS501 INTO @delTIPO END END CLOSE REPRE_TIPOS705 CLOSE REPRE_TIPOS501 DEALLOCATE REPRE_TIPOS705 DEALLOCATE REPRE_TIPOS501 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE REPRE_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REPRE_TIPOS, INSERTED WHERE REPRE_TIPOS.TIPO = INSERTED.TIPO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR REPRE_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[REPRE_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_TIPOS_ENTRADA_SAIDA]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_TIPOS_ENTRADA_SAIDA]( [TIPO_ENTRADA_SAIDA] [char](2) NOT NULL, [DESC_TIPO_ENTRADA_SAIDA] [varchar](40) NULL, [INDICADOR_ENTRADA_SAIDA] [char](1) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_TIPOS_ENTRADA_SAIDA] PRIMARY KEY NONCLUSTERED ( [TIPO_ENTRADA_SAIDA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_TIPOS_ENTRADA_SAIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_TIPOS_ENTRADA_SAIDA] on [LOJA_TIPOS_ENTRADA_SAIDA] for DELETE as /* DELETE trigger on LOJA_TIPOS_ENTRADA_SAIDA */ begin declare @errno int, @errmsg varchar(255) /* LOJA_TIPOS_ENTRADA_SAIDA R/1307 LOJA_SAIDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_SAIDAS where LOJA_SAIDAS.TIPO_ENTRADA_SAIDA = deleted.TIPO_ENTRADA_SAIDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TIPOS_ENTRADA_SAIDA #porque existem registros em #LOJA_SAIDAS#.'' goto error end /* LOJA_TIPOS_ENTRADA_SAIDA R/1306 LOJA_ENTRADAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_ENTRADAS where LOJA_ENTRADAS.TIPO_ENTRADA_SAIDA = deleted.TIPO_ENTRADA_SAIDA ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_TIPOS_ENTRADA_SAIDA #porque existem registros em #LOJA_ENTRADAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_TIPOS_ENTRADA_SAIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_TIPOS_ENTRADA_SAIDA] on [LOJA_TIPOS_ENTRADA_SAIDA] for INSERT as /* INSERT trigger on LOJA_TIPOS_ENTRADA_SAIDA */ /* default body for LXI_LOJA_TIPOS_ENTRADA_SAIDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENTRADA_SAIDA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_TIPOS_ENTRADA_SAIDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TIPOS_ENTRADA_SAIDA, INSERTED WHERE LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA = INSERTED.TIPO_ENTRADA_SAIDA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_TIPOS_ENTRADA_SAIDA]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_TIPOS_ENTRADA_SAIDA] on [LOJA_TIPOS_ENTRADA_SAIDA] for UPDATE as /* UPDATE trigger on LOJA_TIPOS_ENTRADA_SAIDA */ /* default body for LXU_LOJA_TIPOS_ENTRADA_SAIDA */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_ENTRADA_SAIDA char(2), @delTIPO_ENTRADA_SAIDA char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TIPOS_ENTRADA_SAIDA R/1307 LOJA_SAIDAS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENTRADA_SAIDA) BEGIN DECLARE LOJA_TIPOS_ENTRADA_SAIDA1307 CURSOR FOR SELECT TIPO_ENTRADA_SAIDA FROM INSERTED DECLARE LOJA_TIPOS_ENTRADA_SAIDA792 CURSOR FOR SELECT TIPO_ENTRADA_SAIDA FROM DELETED OPEN LOJA_TIPOS_ENTRADA_SAIDA1307 OPEN LOJA_TIPOS_ENTRADA_SAIDA792 FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA1307 INTO @insTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA792 INTO @delTIPO_ENTRADA_SAIDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_SAIDAS SET LOJA_SAIDAS.TIPO_ENTRADA_SAIDA=@insTIPO_ENTRADA_SAIDA WHERE LOJA_SAIDAS.TIPO_ENTRADA_SAIDA = @delTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA1307 INTO @insTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA792 INTO @delTIPO_ENTRADA_SAIDA END END CLOSE LOJA_TIPOS_ENTRADA_SAIDA1307 CLOSE LOJA_TIPOS_ENTRADA_SAIDA792 DEALLOCATE LOJA_TIPOS_ENTRADA_SAIDA1307 DEALLOCATE LOJA_TIPOS_ENTRADA_SAIDA792 END /* LOJA_TIPOS_ENTRADA_SAIDA R/1306 LOJA_ENTRADAS ON PARENT UPDATE CASCADE */ IF update(TIPO_ENTRADA_SAIDA) BEGIN DECLARE LOJA_TIPOS_ENTRADA_SAIDA1306 CURSOR FOR SELECT TIPO_ENTRADA_SAIDA FROM INSERTED DECLARE LOJA_TIPOS_ENTRADA_SAIDA792 CURSOR FOR SELECT TIPO_ENTRADA_SAIDA FROM DELETED OPEN LOJA_TIPOS_ENTRADA_SAIDA1306 OPEN LOJA_TIPOS_ENTRADA_SAIDA792 FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA1306 INTO @insTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA792 INTO @delTIPO_ENTRADA_SAIDA IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_ENTRADAS SET LOJA_ENTRADAS.TIPO_ENTRADA_SAIDA=@insTIPO_ENTRADA_SAIDA WHERE LOJA_ENTRADAS.TIPO_ENTRADA_SAIDA = @delTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA1306 INTO @insTIPO_ENTRADA_SAIDA FETCH NEXT FROM LOJA_TIPOS_ENTRADA_SAIDA792 INTO @delTIPO_ENTRADA_SAIDA END END CLOSE LOJA_TIPOS_ENTRADA_SAIDA1306 CLOSE LOJA_TIPOS_ENTRADA_SAIDA792 DEALLOCATE LOJA_TIPOS_ENTRADA_SAIDA1306 DEALLOCATE LOJA_TIPOS_ENTRADA_SAIDA792 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_TIPOS_ENTRADA_SAIDA SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_TIPOS_ENTRADA_SAIDA, INSERTED WHERE LOJA_TIPOS_ENTRADA_SAIDA.TIPO_ENTRADA_SAIDA = INSERTED.TIPO_ENTRADA_SAIDA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_TIPOS_ENTRADA_SAIDA.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_TIPOS_ENTRADA_SAIDA].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_RELACIONADO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_RELACIONADO]( [CODIGO_CLIENTE_RELACIONADO] [varchar](14) NOT NULL, [CODIGO_CLIENTE] [varchar](14) NOT NULL, [RELACAO_CLIENTES] [char](2) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_VAR_RELACIONADO] PRIMARY KEY NONCLUSTERED ( [CODIGO_CLIENTE] ASC, [CODIGO_CLIENTE_RELACIONADO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_RELACIONADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_RELACIONADO] on [CLIENTE_VAR_RELACIONADO] for INSERT as /* INSERT trigger on CLIENTE_VAR_RELACIONADO */ /* default body for LXI_CLIENTE_VAR_RELACIONADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insCODIGO_CLIENTE_RELACIONADO varchar(14), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_RELACOES R/1581 CLIENTE_VAR_RELACIONADO ON CHILD INSERT RESTRICT */ if update(RELACAO_CLIENTES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_RELACOES where inserted.RELACAO_CLIENTES = CLIENTE_VAR_RELACOES.RELACAO_CLIENTES if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_RELACIONADO #porque #CLIENTE_VAR_RELACOES #não existe.'' goto error end end /* CLIENTES_VAREJO R/1580 CLIENTE_VAR_RELACIONADO ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE_RELACIONADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE_RELACIONADO = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_RELACIONADO #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* CLIENTES_VAREJO R/1579 CLIENTE_VAR_RELACIONADO ON CHILD INSERT RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_RELACIONADO #porque #CLIENTES_VAREJO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_RELACIONADO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_RELACIONADO, INSERTED WHERE CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE_RELACIONADO = INSERTED.CODIGO_CLIENTE_RELACIONADO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_RELACIONADO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_RELACIONADO] on [CLIENTE_VAR_RELACIONADO] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_RELACIONADO */ /* default body for LXU_CLIENTE_VAR_RELACIONADO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_CLIENTE varchar(14), @insCODIGO_CLIENTE_RELACIONADO varchar(14), @delCODIGO_CLIENTE varchar(14), @delCODIGO_CLIENTE_RELACIONADO varchar(14), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_RELACOES R/1581 CLIENTE_VAR_RELACIONADO ON CHILD UPDATE RESTRICT */ if update(RELACAO_CLIENTES) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_RELACOES where inserted.RELACAO_CLIENTES = CLIENTE_VAR_RELACOES.RELACAO_CLIENTES if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_RELACIONADO #porque #CLIENTE_VAR_RELACOES #não existe.'' goto error end end /* CLIENTES_VAREJO R/1580 CLIENTE_VAR_RELACIONADO ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE_RELACIONADO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE_RELACIONADO = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_RELACIONADO #porque #CLIENTES_VAREJO #não existe.'' goto error end end /* CLIENTES_VAREJO R/1579 CLIENTE_VAR_RELACIONADO ON CHILD UPDATE RESTRICT */ if update(CODIGO_CLIENTE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAREJO where inserted.CODIGO_CLIENTE = CLIENTES_VAREJO.CODIGO_CLIENTE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_RELACIONADO #porque #CLIENTES_VAREJO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_RELACIONADO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_RELACIONADO, INSERTED WHERE CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE = INSERTED.CODIGO_CLIENTE and CLIENTE_VAR_RELACIONADO.CODIGO_CLIENTE_RELACIONADO = INSERTED.CODIGO_CLIENTE_RELACIONADO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_RELACIONADO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_RELACIONADO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_TIPOS]( [TIPO_PRODUTO] [varchar](25) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_PRODUTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_TIPO fecha de la secuencia de comandos: Sep 14 2001 15:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_TIPO] ON [PRODUTOS_TIPOS] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUTOS_TIPO'')))=1) RETURN ELSE BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO_PRODUTO FROM DELETED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO WHERE GF_TIPO_PRODUTO=@TIPO) DELETE FROM GF_PRODUTOS_TIPO WHERE GF_TIPO_PRODUTO=@TIPO ELSE BEGIN FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_TIPO fecha de la secuencia de comandos: Sep 14 2001 14:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_TIPO] ON [PRODUTOS_TIPOS] FOR INSERT NOT FOR REPLICATION AS IF (( SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_TIPO'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @TIPO VARCHAR(25) DECLARE TIPO CURSOR FOR SELECT TIPO_PRODUTO FROM INSERTED OPEN TIPO FETCH NEXT FROM TIPO INTO @TIPO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO WHERE GF_TIPO_PRODUTO=@TIPO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUTOS_TIPO (ID,GF_TIPO_PRODUTO,Data_para_transferencia,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TIPO_PRODUTO,Data_para_transferencia,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUTOS_TIPOS A, GF_PRODUTOS_TIPOCNT B WHERE TIPO_PRODUTO =@TIPO UPDATE GF_PRODUTOS_TIPOCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPO DEALLOCATE TIPO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_TIPO fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_TIPO] ON [PRODUTOS_TIPOS] FOR UPDATE NOT FOR REPLICATION AS IF (((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_TIPO'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_TIPO'')))=1)) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_TIPO'')) ) < 2 ) BEGIN DECLARE @TIPOD VARCHAR(25) DECLARE @TIPO VARCHAR(25) DECLARE TIPOD CURSOR FOR SELECT TIPO_PRODUTO FROM DELETED DECLARE TIPO CURSOR FOR SELECT TIPO_PRODUTO FROM INSERTED OPEN TIPOD OPEN TIPO FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO WHERE GF_TIPO_PRODUTO=@TIPOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_TIPO SET GF_TIPO_PRODUTO=@TIPO, Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE TIPO_PRODUTO=@TIPO), USERM=@USER, FECHAM=GETDATE() WHERE GF_TIPO_PRODUTO=@TIPOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END FETCH NEXT FROM TIPOD INTO @TIPOD FETCH NEXT FROM TIPO INTO @TIPO END CLOSE TIPOD DEALLOCATE TIPOD CLOSE TIPO DEALLOCATE TIPO END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_TIPOS] on [PRODUTOS_TIPOS] for DELETE as /* DELETE trigger on PRODUTOS_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_TIPOS R/1964 PRODUTOS_MODELO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS_MODELO where PRODUTOS_MODELO.TIPO_PRODUTO = deleted.TIPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TIPOS #porque existem registros em #PRODUTOS_MODELO#.'' goto error end /* PRODUTOS_TIPOS R/1357 ORCAMENTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,ORCAMENTOS where ORCAMENTOS.TIPO_PRODUTO = deleted.TIPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TIPOS #porque existem registros em #ORCAMENTOS#.'' goto error end /* PRODUTOS_TIPOS PRODUTOS_TIPOS VENDAS_COTAS_TIPO_ITENS ON PARENT DELETE CASCADE */ delete VENDAS_COTAS_TIPO_ITENS from VENDAS_COTAS_TIPO_ITENS,deleted where VENDAS_COTAS_TIPO_ITENS.TIPO_PRODUTO = deleted.TIPO_PRODUTO /* PRODUTOS_TIPOS PRODUTOS_TIPOS PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.TIPO_PRODUTO = deleted.TIPO_PRODUTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_TIPOS #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_TIPOS] on [PRODUTOS_TIPOS] for UPDATE as /* UPDATE trigger on PRODUTOS_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_PRODUTO varchar(25), @delTIPO_PRODUTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_TIPOS R/1357 ORCAMENTOS ON PARENT UPDATE CASCADE */ IF update(TIPO_PRODUTO) BEGIN DECLARE PRODUTOS_TIPOS1357 CURSOR FOR SELECT TIPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_TIPOS427 CURSOR FOR SELECT TIPO_PRODUTO FROM DELETED OPEN PRODUTOS_TIPOS1357 OPEN PRODUTOS_TIPOS427 FETCH NEXT FROM PRODUTOS_TIPOS1357 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE ORCAMENTOS SET ORCAMENTOS.TIPO_PRODUTO=@insTIPO_PRODUTO WHERE ORCAMENTOS.TIPO_PRODUTO = @delTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS1357 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO END END CLOSE PRODUTOS_TIPOS1357 CLOSE PRODUTOS_TIPOS427 DEALLOCATE PRODUTOS_TIPOS1357 DEALLOCATE PRODUTOS_TIPOS427 END /* PRODUTOS_TIPOS PRODUTOS_TIPOS VENDAS_COTAS_TIPO_ITENS ON PARENT UPDATE CASCADE */ IF update(TIPO_PRODUTO) BEGIN DECLARE PRODUTOS_TIPOS922 CURSOR FOR SELECT TIPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_TIPOS427 CURSOR FOR SELECT TIPO_PRODUTO FROM DELETED OPEN PRODUTOS_TIPOS922 OPEN PRODUTOS_TIPOS427 FETCH NEXT FROM PRODUTOS_TIPOS922 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_COTAS_TIPO_ITENS SET VENDAS_COTAS_TIPO_ITENS.TIPO_PRODUTO=@insTIPO_PRODUTO WHERE VENDAS_COTAS_TIPO_ITENS.TIPO_PRODUTO = @delTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS922 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO END END CLOSE PRODUTOS_TIPOS922 CLOSE PRODUTOS_TIPOS427 DEALLOCATE PRODUTOS_TIPOS922 DEALLOCATE PRODUTOS_TIPOS427 END /* PRODUTOS_TIPOS PRODUTOS_TIPOS PRODUTOS ON PARENT UPDATE CASCADE */ IF update(TIPO_PRODUTO) BEGIN DECLARE PRODUTOS_TIPOS666 CURSOR FOR SELECT TIPO_PRODUTO FROM INSERTED DECLARE PRODUTOS_TIPOS427 CURSOR FOR SELECT TIPO_PRODUTO FROM DELETED OPEN PRODUTOS_TIPOS666 OPEN PRODUTOS_TIPOS427 FETCH NEXT FROM PRODUTOS_TIPOS666 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.TIPO_PRODUTO=@insTIPO_PRODUTO WHERE PRODUTOS.TIPO_PRODUTO = @delTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS666 INTO @insTIPO_PRODUTO FETCH NEXT FROM PRODUTOS_TIPOS427 INTO @delTIPO_PRODUTO END END CLOSE PRODUTOS_TIPOS666 CLOSE PRODUTOS_TIPOS427 DEALLOCATE PRODUTOS_TIPOS666 DEALLOCATE PRODUTOS_TIPOS427 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_TIPOS, INSERTED WHERE PRODUTOS_TIPOS.TIPO_PRODUTO = INSERTED.TIPO_PRODUTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_TIPOS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_RELACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_RELACOES]( [RELACAO_CLIENTES] [char](2) NOT NULL, [DESC_RELACAO_CLIENTES] [varchar](25) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [RELACAO_CLIENTE_INVERSA] [char](2) NULL, CONSTRAINT [XPKCLIENTE_VAR_RELACOES] PRIMARY KEY NONCLUSTERED ( [RELACAO_CLIENTES] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_VAR_RELACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_VAR_RELACOES] on [CLIENTE_VAR_RELACOES] for DELETE as /* DELETE trigger on CLIENTE_VAR_RELACOES */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_VAR_RELACOES R/2138 CLIENTE_VAR_RELACOES ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_RELACOES where CLIENTE_VAR_RELACOES.RELACAO_CLIENTE_INVERSA = deleted.RELACAO_CLIENTES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_RELACOES #porque existem registros em #CLIENTE_VAR_RELACOES#.'' goto error end /* CLIENTE_VAR_RELACOES R/1581 CLIENTE_VAR_RELACIONADO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTE_VAR_RELACIONADO where CLIENTE_VAR_RELACIONADO.RELACAO_CLIENTES = deleted.RELACAO_CLIENTES ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_RELACOES #porque existem registros em #CLIENTE_VAR_RELACIONADO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_RELACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_RELACOES] on [CLIENTE_VAR_RELACOES] for INSERT as /* INSERT trigger on CLIENTE_VAR_RELACOES */ /* default body for LXI_CLIENTE_VAR_RELACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRELACAO_CLIENTES char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_RELACOES R/2138 CLIENTE_VAR_RELACOES ON CHILD INSERT RESTRICT */ if update(RELACAO_CLIENTE_INVERSA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_RELACOES where inserted.RELACAO_CLIENTE_INVERSA = CLIENTE_VAR_RELACOES.RELACAO_CLIENTES select @nullcnt = count(*) from inserted where inserted.RELACAO_CLIENTE_INVERSA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTE_VAR_RELACOES #porque #CLIENTE_VAR_RELACOES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_RELACOES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_RELACOES, INSERTED WHERE CLIENTE_VAR_RELACOES.RELACAO_CLIENTES = INSERTED.RELACAO_CLIENTES AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_RELACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_CLIENTE_VAR_RELACOES] on [CLIENTE_VAR_RELACOES] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_RELACOES */ /* default body for LXU_CLIENTE_VAR_RELACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insRELACAO_CLIENTES char(2), @delRELACAO_CLIENTES char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_RELACOES R/2138 CLIENTE_VAR_RELACOES ON CHILD UPDATE RESTRICT */ if update(RELACAO_CLIENTE_INVERSA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_RELACOES where inserted.RELACAO_CLIENTE_INVERSA = CLIENTE_VAR_RELACOES.RELACAO_CLIENTES select @nullcnt = count(*) from inserted where inserted.RELACAO_CLIENTE_INVERSA is null if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTE_VAR_RELACOES #porque #CLIENTE_VAR_RELACOES #não existe.'' goto error end end /* CLIENTE_VAR_RELACOES R/2138 CLIENTE_VAR_RELACOES ON PARENT UPDATE CASCADE */ IF update(RELACAO_CLIENTES) BEGIN DECLARE CLIENTE_VAR_RELACOES2138 CURSOR FOR SELECT RELACAO_CLIENTES FROM INSERTED DECLARE CLIENTE_VAR_RELACOES919 CURSOR FOR SELECT RELACAO_CLIENTES FROM DELETED OPEN CLIENTE_VAR_RELACOES2138 OPEN CLIENTE_VAR_RELACOES919 FETCH NEXT FROM CLIENTE_VAR_RELACOES2138 INTO @insRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES919 INTO @delRELACAO_CLIENTES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_RELACOES SET CLIENTE_VAR_RELACOES.RELACAO_CLIENTE_INVERSA=@insRELACAO_CLIENTES WHERE CLIENTE_VAR_RELACOES.RELACAO_CLIENTE_INVERSA = @delRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES2138 INTO @insRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES919 INTO @delRELACAO_CLIENTES END END CLOSE CLIENTE_VAR_RELACOES2138 CLOSE CLIENTE_VAR_RELACOES919 DEALLOCATE CLIENTE_VAR_RELACOES2138 DEALLOCATE CLIENTE_VAR_RELACOES919 END /* CLIENTE_VAR_RELACOES R/1581 CLIENTE_VAR_RELACIONADO ON PARENT UPDATE CASCADE */ IF update(RELACAO_CLIENTES) BEGIN DECLARE CLIENTE_VAR_RELACOES1581 CURSOR FOR SELECT RELACAO_CLIENTES FROM INSERTED DECLARE CLIENTE_VAR_RELACOES919 CURSOR FOR SELECT RELACAO_CLIENTES FROM DELETED OPEN CLIENTE_VAR_RELACOES1581 OPEN CLIENTE_VAR_RELACOES919 FETCH NEXT FROM CLIENTE_VAR_RELACOES1581 INTO @insRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES919 INTO @delRELACAO_CLIENTES IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTE_VAR_RELACIONADO SET CLIENTE_VAR_RELACIONADO.RELACAO_CLIENTES=@insRELACAO_CLIENTES WHERE CLIENTE_VAR_RELACIONADO.RELACAO_CLIENTES = @delRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES1581 INTO @insRELACAO_CLIENTES FETCH NEXT FROM CLIENTE_VAR_RELACOES919 INTO @delRELACAO_CLIENTES END END CLOSE CLIENTE_VAR_RELACOES1581 CLOSE CLIENTE_VAR_RELACOES919 DEALLOCATE CLIENTE_VAR_RELACOES1581 DEALLOCATE CLIENTE_VAR_RELACOES919 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_RELACOES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_RELACOES, INSERTED WHERE CLIENTE_VAR_RELACOES.RELACAO_CLIENTES = INSERTED.RELACAO_CLIENTES AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_RELACOES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_RELACOES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REDE_LOJAS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [REDE_LOJAS_GRIFFES]( [REDE_LOJAS] [char](2) NOT NULL, [GRIFFE] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKREDE_LOJAS_GRIFFES] PRIMARY KEY NONCLUSTERED ( [REDE_LOJAS] ASC, [GRIFFE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_REDE_LOJAS_GR fecha de la secuencia de comandos: Sep 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_REDE_LOJAS_GR] ON [REDE_LOJAS_GRIFFES] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @LOJA CHAR(2) DECLARE LOJA CURSOR FOR SELECT REDE_LOJAS FROM DELETED OPEN LOJA FETCH NEXT FROM LOJA INTO @LOJA WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_REDE_LOJAS FROM GF_REDE_LOJAS_GR WHERE GF_REDE_LOJAS=@LOJA) DELETE FROM GF_REDE_LOJAS_GR WHERE GF_REDE_LOJAS=@LOJA ELSE BEGIN FETCH NEXT FROM LOJA INTO @LOJA END FETCH NEXT FROM LOJA INTO @LOJA END CLOSE LOJA DEALLOCATE LOJA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_REDE_LOJAS_GR fecha de la secuencia de comandos: Sep 7 2001 09:50AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_REDE_LOJAS_GR] ON [REDE_LOJAS_GRIFFES] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_REDE_LOJAS_GR'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @LOJA CHAR(2) DECLARE LOJA CURSOR FOR SELECT REDE_LOJAS FROM INSERTED OPEN LOJA FETCH NEXT FROM LOJA INTO @LOJA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_REDE_LOJAS FROM GF_REDE_LOJAS_GR WHERE GF_REDE_LOJAS=@LOJA) --BEGIN --IF @USER_AUTORIZADO=@USER BEGIN INSERT INTO GF_REDE_LOJAS_GR (ID,GF_REDE_LOJAS,GF_GRIFFE,EMP,ACCESO,USERC,FECHAC,USERM,FECHAM,USERP) SELECT B.IDMAX,REDE_LOJAS,GRIFFE,@EMPRESA,28983,@USER,GETDATE(),@USER,GETDATE(),@USER FROM REDE_LOJAS_GRIFFES A, GF_REDE_LOJAS_GRCNT B WHERE REDE_LOJAS=@LOJA UPDATE GF_REDE_LOJAS_GRCNT SET IDMAX=IDMAX+1 END --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un I.C.M.S., consulte con el administrador de su Empresa.'' --GOTO ERROR --END ELSE BEGIN FETCH NEXT FROM LOJA INTO @LOJA END FETCH NEXT FROM LOJA INTO @LOJA END CLOSE LOJA DEALLOCATE LOJA --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_REDE_LOJAS_GR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_REDE_LOJAS_GR fecha de la secuencia de comandos: Sep 6 2001 20:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_REDE_LOJAS_GR] ON [REDE_LOJAS_GRIFFES] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_REDE_LOJAS_GR'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_REDE_LOJAS_GR'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_REDE_LOJAS_GR'')) ) < 2 ) BEGIN DECLARE @LOJA CHAR(2), @LOJAD CHAR(2) DECLARE LOJAD CURSOR FOR SELECT REDE_LOJAS FROM DELETED DECLARE LOJA CURSOR FOR SELECT REDE_LOJAS FROM INSERTED OPEN LOJAD OPEN LOJA FETCH NEXT FROM LOJAD INTO @LOJAD FETCH NEXT FROM LOJA INTO @LOJA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_REDE_LOJAS FROM GF_REDE_LOJAS_GR WHERE GF_REDE_LOJAS=@LOJAD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_REDE_LOJAS_GR SET GF_REDE_LOJAS=(SELECT REDE_LOJAS FROM INSERTED WHERE REDE_LOJAS=@LOJA), GF_GRIFFE=(SELECT GRIFFE FROM INSERTED WHERE REDE_LOJAS=@LOJA), USERM=@USER, FECHAM=GETDATE() WHERE GF_REDE_LOJAS=@LOJAD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un I.C.M.S, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM LOJAD INTO @LOJAD FETCH NEXT FROM LOJA INTO @LOJA END FETCH NEXT FROM LOJAD INTO @LOJAD FETCH NEXT FROM LOJA INTO @LOJA END CLOSE LOJAD DEALLOCATE LOJAD CLOSE LOJA DEALLOCATE LOJA END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_REDE_LOJAS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_REDE_LOJAS_GRIFFES] on [REDE_LOJAS_GRIFFES] for INSERT as /* INSERT trigger on REDE_LOJAS_GRIFFES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_REDE R/1633 REDE_LOJAS_GRIFFES ON CHILD INSERT RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REDE_LOJAS_GRIFFES #porque #LOJAS_REDE #não existe.'' goto error end end /* PRODUTOS_GRIFFES R/1631 REDE_LOJAS_GRIFFES ON CHILD INSERT RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #REDE_LOJAS_GRIFFES #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE REDE_LOJAS_GRIFFES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REDE_LOJAS_GRIFFES, INSERTED WHERE REDE_LOJAS_GRIFFES.REDE_LOJAS = INSERTED.REDE_LOJAS and REDE_LOJAS_GRIFFES.GRIFFE = INSERTED.GRIFFE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_REDE_LOJAS_GRIFFES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_REDE_LOJAS_GRIFFES] on [REDE_LOJAS_GRIFFES] for UPDATE as /* UPDATE trigger on REDE_LOJAS_GRIFFES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREDE_LOJAS char(2), @insGRIFFE varchar(25), @delREDE_LOJAS char(2), @delGRIFFE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_REDE R/1633 REDE_LOJAS_GRIFFES ON CHILD UPDATE RESTRICT */ if update(REDE_LOJAS) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJAS_REDE where inserted.REDE_LOJAS = LOJAS_REDE.REDE_LOJAS if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REDE_LOJAS_GRIFFES #porque #LOJAS_REDE #não existe.'' goto error end end /* PRODUTOS_GRIFFES R/1631 REDE_LOJAS_GRIFFES ON CHILD UPDATE RESTRICT */ if update(GRIFFE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_GRIFFES where inserted.GRIFFE = PRODUTOS_GRIFFES.GRIFFE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #REDE_LOJAS_GRIFFES #porque #PRODUTOS_GRIFFES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE REDE_LOJAS_GRIFFES SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM REDE_LOJAS_GRIFFES, INSERTED WHERE REDE_LOJAS_GRIFFES.REDE_LOJAS = INSERTED.REDE_LOJAS and REDE_LOJAS_GRIFFES.GRIFFE = INSERTED.GRIFFE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR REDE_LOJAS_GRIFFES.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[REDE_LOJAS_GRIFFES].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTE_VAR_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTE_VAR_CONCEITOS]( [CONCEITO] [varchar](25) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTE_VAR_CONCEITOS] PRIMARY KEY NONCLUSTERED ( [CONCEITO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_CLIENTE_VAR_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_CLIENTE_VAR_CONCEITOS] on [CLIENTE_VAR_CONCEITOS] for DELETE as /* DELETE trigger on CLIENTE_VAR_CONCEITOS */ begin declare @errno int, @errmsg varchar(255) /* CLIENTE_VAR_CONCEITOS CONCEITO CLIENTES_VAREJO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,CLIENTES_VAREJO where CLIENTES_VAREJO.CONCEITO = deleted.CONCEITO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #CLIENTE_VAR_CONCEITOS #porque existem registros em #CLIENTES_VAREJO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTE_VAR_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTE_VAR_CONCEITOS] on [CLIENTE_VAR_CONCEITOS] for INSERT as /* INSERT trigger on CLIENTE_VAR_CONCEITOS */ /* default body for LXI_CLIENTE_VAR_CONCEITOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONCEITO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTE_VAR_CONCEITOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_CONCEITOS, INSERTED WHERE CLIENTE_VAR_CONCEITOS.CONCEITO = INSERTED.CONCEITO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTE_VAR_CONCEITOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTE_VAR_CONCEITOS] on [CLIENTE_VAR_CONCEITOS] for UPDATE as /* UPDATE trigger on CLIENTE_VAR_CONCEITOS */ /* default body for LXU_CLIENTE_VAR_CONCEITOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCONCEITO varchar(25), @delCONCEITO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTE_VAR_CONCEITOS CONCEITO CLIENTES_VAREJO ON PARENT UPDATE CASCADE */ IF update(CONCEITO) BEGIN DECLARE CLIENTE_VAR_CONCEITOS1136 CURSOR FOR SELECT CONCEITO FROM INSERTED DECLARE CLIENTE_VAR_CONCEITOS710 CURSOR FOR SELECT CONCEITO FROM DELETED OPEN CLIENTE_VAR_CONCEITOS1136 OPEN CLIENTE_VAR_CONCEITOS710 FETCH NEXT FROM CLIENTE_VAR_CONCEITOS1136 INTO @insCONCEITO FETCH NEXT FROM CLIENTE_VAR_CONCEITOS710 INTO @delCONCEITO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE CLIENTES_VAREJO SET CLIENTES_VAREJO.CONCEITO=@insCONCEITO WHERE CLIENTES_VAREJO.CONCEITO = @delCONCEITO FETCH NEXT FROM CLIENTE_VAR_CONCEITOS1136 INTO @insCONCEITO FETCH NEXT FROM CLIENTE_VAR_CONCEITOS710 INTO @delCONCEITO END END CLOSE CLIENTE_VAR_CONCEITOS1136 CLOSE CLIENTE_VAR_CONCEITOS710 DEALLOCATE CLIENTE_VAR_CONCEITOS1136 DEALLOCATE CLIENTE_VAR_CONCEITOS710 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTE_VAR_CONCEITOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTE_VAR_CONCEITOS, INSERTED WHERE CLIENTE_VAR_CONCEITOS.CONCEITO = INSERTED.CONCEITO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTE_VAR_CONCEITOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTE_VAR_CONCEITOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_MOTIVOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_MOTIVOS_DESCONTO]( [CODIGO_DESCONTO] [char](2) NOT NULL, [DESC_MOTIVO_DESCONTO] [varchar](25) NOT NULL, [LIMITE_DESCONTO] [numeric](5, 2) NOT NULL, [TIMESTAMP] [timestamp] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_MOTIVOS_DESCONTO] PRIMARY KEY NONCLUSTERED ( [CODIGO_DESCONTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJA_MOTIVOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJA_MOTIVOS_DESCONTO] on [LOJA_MOTIVOS_DESCONTO] for DELETE as /* DELETE trigger on LOJA_MOTIVOS_DESCONTO */ begin declare @errno int, @errmsg varchar(255) /* LOJA_MOTIVOS_DESCONTO LOJA_TIPO_DESCONTO LOJA_VENDA ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,LOJA_VENDA where LOJA_VENDA.CODIGO_DESCONTO = deleted.CODIGO_DESCONTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJA_MOTIVOS_DESCONTO #porque existem registros em #LOJA_VENDA#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_MOTIVOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_MOTIVOS_DESCONTO] on [LOJA_MOTIVOS_DESCONTO] for INSERT as /* INSERT trigger on LOJA_MOTIVOS_DESCONTO */ /* default body for LXI_LOJA_MOTIVOS_DESCONTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_DESCONTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_MOTIVOS_DESCONTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_MOTIVOS_DESCONTO, INSERTED WHERE LOJA_MOTIVOS_DESCONTO.CODIGO_DESCONTO = INSERTED.CODIGO_DESCONTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_MOTIVOS_DESCONTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_MOTIVOS_DESCONTO] on [LOJA_MOTIVOS_DESCONTO] for UPDATE as /* UPDATE trigger on LOJA_MOTIVOS_DESCONTO */ /* default body for LXU_LOJA_MOTIVOS_DESCONTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_DESCONTO char(2), @delCODIGO_DESCONTO char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_MOTIVOS_DESCONTO LOJA_TIPO_DESCONTO LOJA_VENDA ON PARENT UPDATE CASCADE */ IF update(CODIGO_DESCONTO) BEGIN DECLARE LOJA_MOTIVOS_DESCONTO1246 CURSOR FOR SELECT CODIGO_DESCONTO FROM INSERTED DECLARE LOJA_MOTIVOS_DESCONTO766 CURSOR FOR SELECT CODIGO_DESCONTO FROM DELETED OPEN LOJA_MOTIVOS_DESCONTO1246 OPEN LOJA_MOTIVOS_DESCONTO766 FETCH NEXT FROM LOJA_MOTIVOS_DESCONTO1246 INTO @insCODIGO_DESCONTO FETCH NEXT FROM LOJA_MOTIVOS_DESCONTO766 INTO @delCODIGO_DESCONTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE LOJA_VENDA SET LOJA_VENDA.CODIGO_DESCONTO=@insCODIGO_DESCONTO WHERE LOJA_VENDA.CODIGO_DESCONTO = @delCODIGO_DESCONTO FETCH NEXT FROM LOJA_MOTIVOS_DESCONTO1246 INTO @insCODIGO_DESCONTO FETCH NEXT FROM LOJA_MOTIVOS_DESCONTO766 INTO @delCODIGO_DESCONTO END END CLOSE LOJA_MOTIVOS_DESCONTO1246 CLOSE LOJA_MOTIVOS_DESCONTO766 DEALLOCATE LOJA_MOTIVOS_DESCONTO1246 DEALLOCATE LOJA_MOTIVOS_DESCONTO766 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_MOTIVOS_DESCONTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_MOTIVOS_DESCONTO, INSERTED WHERE LOJA_MOTIVOS_DESCONTO.CODIGO_DESCONTO = INSERTED.CODIGO_DESCONTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_MOTIVOS_DESCONTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_MOTIVOS_DESCONTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PERIODOS_ENTREGAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PERIODOS_ENTREGAS]( [NUMERO_ENTREGA] [char](2) NOT NULL, [PERIODO_PCP] [varchar](25) NOT NULL, [ENTREGA] [datetime] NOT NULL, [LIMITE] [datetime] NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKPRODUTOS_PERIODOS_ENTREGAS] PRIMARY KEY NONCLUSTERED ( [NUMERO_ENTREGA] ASC, [PERIODO_PCP] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_ENTR fecha de la secuencia de comandos: Sep 19 2001 18:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_ENTR] ON [PRODUTOS_PERIODOS_ENTREGAS] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCTOS_PERI'')))=1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCTOS_ENTR'')))=1) RETURN ELSE BEGIN DECLARE @ENTREGA VARCHAR(25), @PERIODO VARCHAR(25) DECLARE ENTREGA CURSOR FOR SELECT NUMERO_ENTREGA,PERIODO_PCP FROM DELETED OPEN ENTREGA FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_NUMERO_ENTREG FROM GF_PRODUTOS_ENTR WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO) BEGIN DELETE FROM GF_PRODUTOS_ENTR WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=@PERIODO END ELSE BEGIN FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO END FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO END CLOSE ENTREGA DEALLOCATE ENTREGA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_ENTR fecha de la secuencia de comandos: Ago 1 2000 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_ENTR] ON [PRODUTOS_PERIODOS_ENTREGAS] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_ENTR'')))=1) RETURN ELSE BEGIN DECLARE @ENTREGA VARCHAR(25), @PERIODO VARCHAR(25) DECLARE ENTREGA CURSOR FOR SELECT NUMERO_ENTREGA,PERIODO_PCP FROM INSERTED OPEN ENTREGA FETCH NEXT FROM ENTREGA INTO @ENTREGA, @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_NUMERO_ENTREG FROM GF_PRODUTOS_ENTR WHERE GF_NUMERO_ENTREG=@ENTREGA AND GF_PERIODO_PCP=(SELECT ID FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO)) BEGIN INSERT INTO GF_PRODUTOS_ENTR (ID,ID_PRODUTOS_PERI,GF_NUMERO_ENTREG,GF_PERIODO_PCP,GF_ENTREGA,GF_LIMITE,Data_para_transferencia,ORDENPM) SELECT B.IDMAX, (SELECT ID FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO), NUMERO_ENTREGA,PERIODO_PCP,ENTREGA,LIMITE,Data_para_transferencia, ISNULL((SELECT MAX(ORDENPM)+1 FROM GF_PRODUTOS_ENTR WHERE ID_PRODUTOS_PERI=(SELECT ID FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO)),1) FROM PRODUTOS_PERIODOS_ENTREGAS A, GF_PRODUTOS_ENTRCNT B WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO UPDATE GF_PRODUTOS_ENTRCNT SET IDMAX=IDMAX+1 END ELSE BEGIN FETCH NEXT FROM ENTREGA INTO @ENTREGA, @PERIODO END FETCH NEXT FROM ENTREGA INTO @ENTREGA, @PERIODO END CLOSE ENTREGA DEALLOCATE ENTREGA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_ENTR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_ENTR fecha de la secuencia de comandos: Sep 19 2001 16:00PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_ENTR] ON [PRODUTOS_PERIODOS_ENTREGAS] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_PERI'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_PERI'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_PERI'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_PERI'')))=1) RETURN ELSE IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_ENTR'')) ) < 2 ) BEGIN DECLARE @ENTREGA VARCHAR (25), @PERIODO VARCHAR (25), @ENTREGAD VARCHAR (25), @PERIODOD VARCHAR (25) DECLARE ENTREGAD CURSOR FOR SELECT NUMERO_ENTREGA,PERIODO_PCP FROM DELETED DECLARE ENTREGA CURSOR FOR SELECT NUMERO_ENTREGA,PERIODO_PCP FROM INSERTED OPEN ENTREGAD OPEN ENTREGA FETCH NEXT FROM ENTREGAD INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_NUMERO_ENTREG FROM GF_PRODUTOS_ENTR WHERE GF_NUMERO_ENTREG=@ENTREGAD AND GF_PERIODO_PCP=@PERIODOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_ENTR SET GF_NUMERO_ENTREG=@ENTREGA, GF_PERIODO_PCP=@PERIODO, GF_ENTREGA=(SELECT ENTREGA FROM INSERTED WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO), GF_LIMITE=(SELECT LIMITE FROM INSERTED WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE NUMERO_ENTREGA=@ENTREGA AND PERIODO_PCP=@PERIODO) WHERE GF_NUMERO_ENTREG=@ENTREGAD AND GF_PERIODO_PCP=@PERIODOD END ELSE FETCH NEXT FROM ENTREGAD INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO END FETCH NEXT FROM ENTREGAD INTO @ENTREGAD,@PERIODOD FETCH NEXT FROM ENTREGA INTO @ENTREGA,@PERIODO END CLOSE ENTREGAD DEALLOCATE ENTREGAD CLOSE ENTREGA DEALLOCATE ENTREGA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_PERIODOS_ENTREGAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_PERIODOS_ENTREGAS] on [PRODUTOS_PERIODOS_ENTREGAS] for DELETE as /* DELETE trigger on PRODUTOS_PERIODOS_ENTREGAS */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_PERIODOS_ENTREGAS R/2134 VENDAS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS where VENDAS.NUMERO_ENTREGA = deleted.NUMERO_ENTREGA and VENDAS.PERIODO_PCP = deleted.PERIODO_PCP ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_PERIODOS_ENTREGAS #porque existem registros em #VENDAS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_PRODUTOS_PERIODOS_ENTREGAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_PRODUTOS_PERIODOS_ENTREGAS] on [PRODUTOS_PERIODOS_ENTREGAS] for INSERT as /* INSERT trigger on PRODUTOS_PERIODOS_ENTREGAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_PERIODOS_PCP ENTREGAS PRODUTOS_PERIODOS_ENTREGAS ON CHILD INSERT RESTRICT */ if update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_PCP where inserted.PERIODO_PCP = PRODUTOS_PERIODOS_PCP.PERIODO_PCP if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #PRODUTOS_PERIODOS_ENTREGAS #porque #PRODUTOS_PERIODOS_PCP #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE PRODUTOS_PERIODOS_ENTREGAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PERIODOS_ENTREGAS, INSERTED WHERE PRODUTOS_PERIODOS_ENTREGAS.NUMERO_ENTREGA = INSERTED.NUMERO_ENTREGA and PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP = INSERTED.PERIODO_PCP AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PERIODOS_ENTREGAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PERIODOS_ENTREGAS] on [PRODUTOS_PERIODOS_ENTREGAS] for UPDATE as /* UPDATE trigger on PRODUTOS_PERIODOS_ENTREGAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insNUMERO_ENTREGA char(2), @insPERIODO_PCP varchar(25), @delNUMERO_ENTREGA char(2), @delPERIODO_PCP varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_PERIODOS_ENTREGAS R/2134 VENDAS ON PARENT UPDATE CASCADE */ IF update(NUMERO_ENTREGA) OR update(PERIODO_PCP) BEGIN DECLARE PRODUTOS_PERIODOS_ENTREGAS2134 CURSOR FOR SELECT NUMERO_ENTREGA, PERIODO_PCP FROM INSERTED DECLARE PRODUTOS_PERIODOS_ENTREGAS689 CURSOR FOR SELECT NUMERO_ENTREGA, PERIODO_PCP FROM DELETED OPEN PRODUTOS_PERIODOS_ENTREGAS2134 OPEN PRODUTOS_PERIODOS_ENTREGAS689 FETCH NEXT FROM PRODUTOS_PERIODOS_ENTREGAS2134 INTO @insNUMERO_ENTREGA, @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_ENTREGAS689 INTO @delNUMERO_ENTREGA, @delPERIODO_PCP IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS SET VENDAS.NUMERO_ENTREGA=@insNUMERO_ENTREGA, VENDAS.PERIODO_PCP=@insPERIODO_PCP WHERE VENDAS.NUMERO_ENTREGA = @delNUMERO_ENTREGA and VENDAS.PERIODO_PCP = @delPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_ENTREGAS2134 INTO @insNUMERO_ENTREGA, @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_ENTREGAS689 INTO @delNUMERO_ENTREGA, @delPERIODO_PCP END END CLOSE PRODUTOS_PERIODOS_ENTREGAS2134 CLOSE PRODUTOS_PERIODOS_ENTREGAS689 DEALLOCATE PRODUTOS_PERIODOS_ENTREGAS2134 DEALLOCATE PRODUTOS_PERIODOS_ENTREGAS689 END /* PRODUTOS_PERIODOS_PCP ENTREGAS PRODUTOS_PERIODOS_ENTREGAS ON CHILD UPDATE RESTRICT */ if update(PERIODO_PCP) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PRODUTOS_PERIODOS_PCP where inserted.PERIODO_PCP = PRODUTOS_PERIODOS_PCP.PERIODO_PCP if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #PRODUTOS_PERIODOS_ENTREGAS #porque #PRODUTOS_PERIODOS_PCP #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PERIODOS_ENTREGAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PERIODOS_ENTREGAS, INSERTED WHERE PRODUTOS_PERIODOS_ENTREGAS.NUMERO_ENTREGA = INSERTED.NUMERO_ENTREGA and PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP = INSERTED.PERIODO_PCP AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PERIODOS_ENTREGAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PERIODOS_ENTREGAS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUTOS_PERIODOS_PCP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [PRODUTOS_PERIODOS_PCP]( [PERIODO_PCP] [varchar](25) NOT NULL, [TIPO_PERIODO] [char](1) NULL, [Data_para_transferencia] [datetime] NULL, [OBS] [text] NULL, CONSTRAINT [XPKPRODUTOS_PERIODOS_PCP] PRIMARY KEY NONCLUSTERED ( [PERIODO_PCP] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_PRODUTOS_PERI fecha de la secuencia de comandos: Sep 7 2001 15:55PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_PRODUTOS_PERI] ON [PRODUTOS_PERIODOS_PCP] FOR DELETE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFDV_PRODUCTOS_PERI'')))=1) RETURN BEGIN DECLARE @PERIODO VARCHAR(25) DECLARE PERIODO CURSOR FOR SELECT PERIODO_PCP FROM DELETED OPEN PERIODO FETCH NEXT FROM PERIODO INTO @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_PERIODO_PCP FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO) DELETE FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO ELSE BEGIN FETCH NEXT FROM PERIODO INTO @PERIODO END FETCH NEXT FROM PERIODO INTO @PERIODO END CLOSE PERIODO DEALLOCATE PERIODO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_PRODUTOS_PERI fecha de la secuencia de comandos: Sep 6 2001 11:10AM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_PRODUTOS_PERI] ON [PRODUTOS_PERIODOS_PCP] FOR INSERT NOT FOR REPLICATION AS DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @PERIODO VARCHAR(25) DECLARE PERIODO CURSOR FOR SELECT PERIODO_PCP FROM INSERTED OPEN PERIODO FETCH NEXT FROM PERIODO INTO @PERIODO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_PERIODO_PCP FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_PRODUTOS_PERI (ID,GF_PERIODO_PCP,GF_OBS,GF_TIPO_PERIODO,Data_para_transferencia,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,PERIODO_PCP,OBS,(SELECT ID FROM PERIODOS WHERE TIPO=(SELECT TIPO_PERIODO FROM INSERTED WHERE PERIODO_PCP=@PERIODO)), Data_para_transferencia,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM PRODUTOS_PERIODOS_PCP A, GF_PRODUTOS_PERICNT B WHERE PERIODO_PCP =@PERIODO UPDATE GF_PRODUTOS_PERICNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Tipo de Producto, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM PERIODO INTO @PERIODO END FETCH NEXT FROM PERIODO INTO @PERIODO END CLOSE PERIODO DEALLOCATE PERIODO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_PRODUTOS_PERI]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_PRODUTOS_PERI fecha de la secuencia de comandos: Sep 6 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_PRODUTOS_PERI] ON [PRODUTOS_PERIODOS_PCP] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_PRODUTOS_PERI'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_PRODUTOS_PERI'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_PRODUTOS_PERI'')) ) < 2 ) BEGIN DECLARE @PERIODO VARCHAR (25), @PERIODOD VARCHAR (25) DECLARE PERIODODV CURSOR FOR SELECT PERIODO_PCP FROM DELETED DECLARE PERIODOV CURSOR FOR SELECT PERIODO_PCP FROM INSERTED OPEN PERIODODV OPEN PERIODOV FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO IF @@rowcount >=0 BEGIN WHILE @@fetch_status =0 BEGIN IF EXISTS (SELECT GF_PERIODO_PCP FROM GF_PRODUTOS_PERI WHERE GF_PERIODO_PCP=@PERIODOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_PRODUTOS_PERI SET GF_PERIODO_PCP=(SELECT PERIODO_PCP FROM INSERTED WHERE PERIODO_PCP=@PERIODO), GF_OBS=(SELECT CONVERT(CHAR(254),OBS) FROM PRODUTOS_PERIODOS_PCP WHERE PERIODO_PCP=@PERIODO), GF_TIPO_PERIODO=(SELECT ID FROM PERIODOS WHERE TIPO=(SELECT TIPO_PERIODO FROM INSERTED WHERE PERIODO_PCP=@PERIODO)), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE PERIODO_PCP=@PERIODO), USERM=@USER, FECHAM=GETDATE() WHERE GF_PERIODO_PCP=@PERIODOD UPDATE PRODUTOS_PERIODOS_ENTREGAS SET PERIODO_PCP=@PERIODO WHERE PERIODO_PCP=@PERIODOD UPDATE GF_PRODUTOS_ENTR SET GF_PERIODO_PCP=@PERIODO WHERE GF_PERIODO_PCP=@PERIODOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar una Clasificación Fiscal, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO END FETCH NEXT FROM PERIODODV INTO @PERIODOD FETCH NEXT FROM PERIODOV INTO @PERIODO END CLOSE PERIODODV DEALLOCATE PERIODODV CLOSE PERIODOV DEALLOCATE PERIODOV END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_PRODUTOS_PERIODOS_PCP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_PRODUTOS_PERIODOS_PCP] on [PRODUTOS_PERIODOS_PCP] for DELETE as /* DELETE trigger on PRODUTOS_PERIODOS_PCP */ begin declare @errno int, @errmsg varchar(255) /* PRODUTOS_PERIODOS_PCP ENTREGAS PRODUTOS_PERIODOS_ENTREGAS ON PARENT DELETE CASCADE */ delete PRODUTOS_PERIODOS_ENTREGAS from PRODUTOS_PERIODOS_ENTREGAS,deleted where PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP = deleted.PERIODO_PCP /* PRODUTOS_PERIODOS_PCP PERIODOS_PCP PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.PERIODO_PCP = deleted.PERIODO_PCP ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #PRODUTOS_PERIODOS_PCP #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_PRODUTOS_PERIODOS_PCP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_PRODUTOS_PERIODOS_PCP] on [PRODUTOS_PERIODOS_PCP] for UPDATE as /* UPDATE trigger on PRODUTOS_PERIODOS_PCP */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPERIODO_PCP varchar(25), @delPERIODO_PCP varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* PRODUTOS_PERIODOS_PCP ENTREGAS PRODUTOS_PERIODOS_ENTREGAS ON PARENT UPDATE CASCADE */ IF update(PERIODO_PCP) BEGIN DECLARE PRODUTOS_PERIODOS_PCP1073 CURSOR FOR SELECT PERIODO_PCP FROM INSERTED DECLARE PRODUTOS_PERIODOS_PCP688 CURSOR FOR SELECT PERIODO_PCP FROM DELETED OPEN PRODUTOS_PERIODOS_PCP1073 OPEN PRODUTOS_PERIODOS_PCP688 FETCH NEXT FROM PRODUTOS_PERIODOS_PCP1073 INTO @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP688 INTO @delPERIODO_PCP IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS_PERIODOS_ENTREGAS SET PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP=@insPERIODO_PCP WHERE PRODUTOS_PERIODOS_ENTREGAS.PERIODO_PCP = @delPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP1073 INTO @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP688 INTO @delPERIODO_PCP END END CLOSE PRODUTOS_PERIODOS_PCP1073 CLOSE PRODUTOS_PERIODOS_PCP688 DEALLOCATE PRODUTOS_PERIODOS_PCP1073 DEALLOCATE PRODUTOS_PERIODOS_PCP688 END /* PRODUTOS_PERIODOS_PCP PERIODOS_PCP PRODUTOS ON PARENT UPDATE CASCADE */ IF update(PERIODO_PCP) BEGIN DECLARE PRODUTOS_PERIODOS_PCP1072 CURSOR FOR SELECT PERIODO_PCP FROM INSERTED DECLARE PRODUTOS_PERIODOS_PCP688 CURSOR FOR SELECT PERIODO_PCP FROM DELETED OPEN PRODUTOS_PERIODOS_PCP1072 OPEN PRODUTOS_PERIODOS_PCP688 FETCH NEXT FROM PRODUTOS_PERIODOS_PCP1072 INTO @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP688 INTO @delPERIODO_PCP IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.PERIODO_PCP=@insPERIODO_PCP WHERE PRODUTOS.PERIODO_PCP = @delPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP1072 INTO @insPERIODO_PCP FETCH NEXT FROM PRODUTOS_PERIODOS_PCP688 INTO @delPERIODO_PCP END END CLOSE PRODUTOS_PERIODOS_PCP1072 CLOSE PRODUTOS_PERIODOS_PCP688 DEALLOCATE PRODUTOS_PERIODOS_PCP1072 DEALLOCATE PRODUTOS_PERIODOS_PCP688 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE PRODUTOS_PERIODOS_PCP SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM PRODUTOS_PERIODOS_PCP, INSERTED WHERE PRODUTOS_PERIODOS_PCP.PERIODO_PCP = INSERTED.PERIODO_PCP AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR PRODUTOS_PERIODOS_PCP.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[PRODUTOS_PERIODOS_PCP].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_ENVIOS_RETORNOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_ENVIOS_RETORNOS]( [FILIAL] [varchar](25) NOT NULL, [NUMERO_PACOTE] [char](5) NOT NULL, [TIPO] [char](2) NOT NULL, [FILIAL_ORIGEM_DESTINO] [varchar](25) NOT NULL, [DATA_HORA_CRIACAO] [datetime] NULL, [PROCESSADO_DATA] [datetime] NULL, [RESPONSAVEL] [varchar](35) NULL, [NOME_ARQUIVO] [varchar](200) NULL, [STATUS_TRANSFERENCIA] [char](1) NOT NULL, [DATA_HORA_CONF] [datetime] NULL, [TIMESTAMP_ATUAL] [varbinary](200) NULL, [TIMESTAMP_ANTERIOR] [varbinary](200) NULL, [TIMESTAMP] [timestamp] NULL, [DATA_HORA_INICIO] [datetime] NULL, [DATA_HORA_FIM] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [VERSAO] [varchar](8) NULL, CONSTRAINT [XPKLOJAS_ENVIOS_RETORNOS] PRIMARY KEY NONCLUSTERED ( [FILIAL] ASC, [NUMERO_PACOTE] ASC, [TIPO] ASC, [FILIAL_ORIGEM_DESTINO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJAS_ENVIOS_RETORNOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJAS_ENVIOS_RETORNOS] on [LOJAS_ENVIOS_RETORNOS] for INSERT as /* INSERT trigger on LOJAS_ENVIOS_RETORNOS */ /* default body for LXI_LOJAS_ENVIOS_RETORNOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNUMERO_PACOTE char(5), @insTIPO char(2), @insFILIAL_ORIGEM_DESTINO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJAS_ENVIOS_RETORNOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_RETORNOS, INSERTED WHERE LOJAS_ENVIOS_RETORNOS.FILIAL = INSERTED.FILIAL and LOJAS_ENVIOS_RETORNOS.NUMERO_PACOTE = INSERTED.NUMERO_PACOTE and LOJAS_ENVIOS_RETORNOS.TIPO = INSERTED.TIPO and LOJAS_ENVIOS_RETORNOS.FILIAL_ORIGEM_DESTINO = INSERTED.FILIAL_ORIGEM_DESTINO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_ENVIOS_RETORNOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_ENVIOS_RETORNOS] on [LOJAS_ENVIOS_RETORNOS] for UPDATE as /* UPDATE trigger on LOJAS_ENVIOS_RETORNOS */ /* default body for LXU_LOJAS_ENVIOS_RETORNOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insFILIAL varchar(25), @insNUMERO_PACOTE char(5), @insTIPO char(2), @insFILIAL_ORIGEM_DESTINO varchar(25), @delFILIAL varchar(25), @delNUMERO_PACOTE char(5), @delTIPO char(2), @delFILIAL_ORIGEM_DESTINO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_ENVIOS_RETORNOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_ENVIOS_RETORNOS, INSERTED WHERE LOJAS_ENVIOS_RETORNOS.FILIAL = INSERTED.FILIAL and LOJAS_ENVIOS_RETORNOS.NUMERO_PACOTE = INSERTED.NUMERO_PACOTE and LOJAS_ENVIOS_RETORNOS.TIPO = INSERTED.TIPO and LOJAS_ENVIOS_RETORNOS.FILIAL_ORIGEM_DESTINO = INSERTED.FILIAL_ORIGEM_DESTINO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_ENVIOS_RETORNOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_ENVIOS_RETORNOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VERSOES_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VERSOES_ALTERACOES]( [VERSAO] [char](12) NOT NULL, [ID_ALTERACAO] [char](6) NOT NULL, [DESCRICAO] [varchar](60) NOT NULL, [BUILD] [char](6) NULL, [MODULO] [varchar](35) NULL, [TRANSACAO] [varchar](40) NULL, [TIPO] [smallint] NULL, [ANALISTA] [varchar](25) NULL, [ALTERACOES] [text] NULL, [LANCAMENTO] [datetime] NULL, [PREVISAO] [datetime] NULL, [INICIO_DESENV] [datetime] NULL, [CONCLUSAO] [datetime] NULL, [LIBERACAO] [datetime] NULL, [RESPONSAVEL_LIBERACAO] [varchar](25) NULL, [STATUS] [smallint] NULL, [COMENTARIO_REPROVACAO] [text] NULL, [EMPRESA] [varchar](30) NULL, [DEPARTAMENTO] [varchar](20) NULL, [TIPO_DOWNLOAD] [smallint] NULL, [DIRETORIO_DOWNLOAD] [char](2) NULL, [CAMINHO_DOWNLOAD] [varchar](60) NULL, CONSTRAINT [XPKVERSOES_ALTERACOES] PRIMARY KEY NONCLUSTERED ( [VERSAO] ASC, [ID_ALTERACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VERSOES_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXD_VERSOES_ALTERACOES] on [VERSOES_ALTERACOES] for DELETE as /* DELETE trigger on VERSOES_ALTERACOES */ begin declare @errno int, @errmsg varchar(255) /* VERSOES_ALTERACOES R/1825 VERSOES_ALT_ITENS ON PARENT DELETE CASCADE */ delete VERSOES_ALT_ITENS from VERSOES_ALT_ITENS,deleted where VERSOES_ALT_ITENS.VERSAO = deleted.VERSAO and VERSOES_ALT_ITENS.ID_ALTERACAO = deleted.ID_ALTERACAO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_VERSOES_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXI_VERSOES_ALTERACOES] on [VERSOES_ALTERACOES] for INSERT as /* INSERT trigger on VERSOES_ALTERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VERSOES R/1824 VERSOES_ALTERACOES ON CHILD INSERT RESTRICT */ if update(VERSAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VERSOES where inserted.VERSAO = VERSOES.VERSAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #VERSOES_ALTERACOES #porque #VERSOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VERSOES_ALTERACOES]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07006] */ create trigger [LXU_VERSOES_ALTERACOES] on [VERSOES_ALTERACOES] for UPDATE as /* UPDATE trigger on VERSOES_ALTERACOES */ begin declare @numrows int, @nullcnt int, @validcnt int, @insVERSAO CHAR(12), @insID_ALTERACAO char(6), @delVERSAO CHAR(12), @delID_ALTERACAO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VERSOES_ALTERACOES R/1825 VERSOES_ALT_ITENS ON PARENT UPDATE CASCADE */ IF update(VERSAO) OR update(ID_ALTERACAO) BEGIN DECLARE VERSOES_ALTERACOES1825 CURSOR FOR SELECT VERSAO, ID_ALTERACAO FROM INSERTED DECLARE VERSOES_ALTERACOES1050 CURSOR FOR SELECT VERSAO, ID_ALTERACAO FROM DELETED OPEN VERSOES_ALTERACOES1825 OPEN VERSOES_ALTERACOES1050 FETCH NEXT FROM VERSOES_ALTERACOES1825 INTO @insVERSAO, @insID_ALTERACAO FETCH NEXT FROM VERSOES_ALTERACOES1050 INTO @delVERSAO, @delID_ALTERACAO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VERSOES_ALT_ITENS SET VERSOES_ALT_ITENS.VERSAO=@insVERSAO, VERSOES_ALT_ITENS.ID_ALTERACAO=@insID_ALTERACAO WHERE VERSOES_ALT_ITENS.VERSAO = @delVERSAO and VERSOES_ALT_ITENS.ID_ALTERACAO = @delID_ALTERACAO FETCH NEXT FROM VERSOES_ALTERACOES1825 INTO @insVERSAO, @insID_ALTERACAO FETCH NEXT FROM VERSOES_ALTERACOES1050 INTO @delVERSAO, @delID_ALTERACAO END END CLOSE VERSOES_ALTERACOES1825 CLOSE VERSOES_ALTERACOES1050 DEALLOCATE VERSOES_ALTERACOES1825 DEALLOCATE VERSOES_ALTERACOES1050 END /* VERSOES R/1824 VERSOES_ALTERACOES ON CHILD UPDATE RESTRICT */ if update(VERSAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,VERSOES where inserted.VERSAO = VERSOES.VERSAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #VERSOES_ALTERACOES #porque #VERSOES #não existe.'' goto error end end return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VERSOES_ALTERACOES].[LANCAMENTO]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_VAR_TAB_PROP]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_VAR_TAB_PROP]( [PROPRIEDADE] [char](3) NOT NULL, [VALOR_PROPRIEDADE] [varchar](25) NOT NULL, [DATA_ATIVACAO] [datetime] NULL, [DATA_DESATIVACAO] [datetime] NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTES_VAR_TAB_PROP] PRIMARY KEY NONCLUSTERED ( [PROPRIEDADE] ASC, [VALOR_PROPRIEDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTES_VAR_TAB_PROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTES_VAR_TAB_PROP] on [CLIENTES_VAR_TAB_PROP] for INSERT as /* INSERT trigger on CLIENTES_VAR_TAB_PROP */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAR_PROPRIEDADES R/1701 CLIENTES_VAR_TAB_PROP ON CHILD INSERT RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAR_TAB_PROP #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAR_TAB_PROP SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_TAB_PROP, INSERTED WHERE CLIENTES_VAR_TAB_PROP.PROPRIEDADE = INSERTED.PROPRIEDADE and CLIENTES_VAR_TAB_PROP.VALOR_PROPRIEDADE = INSERTED.VALOR_PROPRIEDADE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_VAR_TAB_PROP]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTES_VAR_TAB_PROP] on [CLIENTES_VAR_TAB_PROP] for UPDATE as /* UPDATE trigger on CLIENTES_VAR_TAB_PROP */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPROPRIEDADE char(3), @insVALOR_PROPRIEDADE varchar(25), @delPROPRIEDADE char(3), @delVALOR_PROPRIEDADE varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAR_PROPRIEDADES R/1701 CLIENTES_VAR_TAB_PROP ON CHILD UPDATE RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAR_TAB_PROP #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_VAR_TAB_PROP SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_TAB_PROP, INSERTED WHERE CLIENTES_VAR_TAB_PROP.PROPRIEDADE = INSERTED.PROPRIEDADE and CLIENTES_VAR_TAB_PROP.VALOR_PROPRIEDADE = INSERTED.VALOR_PROPRIEDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_VAR_TAB_PROP.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_VAR_TAB_PROP].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CLIENTES_VAR_PROP_TIPO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CLIENTES_VAR_PROP_TIPO]( [TIPO_VAREJO] [varchar](25) NOT NULL, [PROPRIEDADE] [char](3) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCLIENTES_VAR_PROP_TIPO] PRIMARY KEY NONCLUSTERED ( [TIPO_VAREJO] ASC, [PROPRIEDADE] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CLIENTES_VAR_PROP_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CLIENTES_VAR_PROP_TIPO] on [CLIENTES_VAR_PROP_TIPO] for INSERT as /* INSERT trigger on CLIENTES_VAR_PROP_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAR_PROPRIEDADES R/1704 CLIENTES_VAR_PROP_TIPO ON CHILD INSERT RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAR_PROP_TIPO #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /* CLIENTE_VAR_TIPOS R/1703 CLIENTES_VAR_PROP_TIPO ON CHILD INSERT RESTRICT */ if update(TIPO_VAREJO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_TIPOS where inserted.TIPO_VAREJO = CLIENTE_VAR_TIPOS.TIPO_VAREJO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CLIENTES_VAR_PROP_TIPO #porque #CLIENTE_VAR_TIPOS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CLIENTES_VAR_PROP_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_PROP_TIPO, INSERTED WHERE CLIENTES_VAR_PROP_TIPO.TIPO_VAREJO = INSERTED.TIPO_VAREJO and CLIENTES_VAR_PROP_TIPO.PROPRIEDADE = INSERTED.PROPRIEDADE AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CLIENTES_VAR_PROP_TIPO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CLIENTES_VAR_PROP_TIPO] on [CLIENTES_VAR_PROP_TIPO] for UPDATE as /* UPDATE trigger on CLIENTES_VAR_PROP_TIPO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_VAREJO varchar(25), @insPROPRIEDADE char(3), @delTIPO_VAREJO varchar(25), @delPROPRIEDADE char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CLIENTES_VAR_PROPRIEDADES R/1704 CLIENTES_VAR_PROP_TIPO ON CHILD UPDATE RESTRICT */ if update(PROPRIEDADE) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTES_VAR_PROPRIEDADES where inserted.PROPRIEDADE = CLIENTES_VAR_PROPRIEDADES.PROPRIEDADE if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAR_PROP_TIPO #porque #CLIENTES_VAR_PROPRIEDADES #não existe.'' goto error end end /* CLIENTE_VAR_TIPOS R/1703 CLIENTES_VAR_PROP_TIPO ON CHILD UPDATE RESTRICT */ if update(TIPO_VAREJO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CLIENTE_VAR_TIPOS where inserted.TIPO_VAREJO = CLIENTE_VAR_TIPOS.TIPO_VAREJO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CLIENTES_VAR_PROP_TIPO #porque #CLIENTE_VAR_TIPOS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CLIENTES_VAR_PROP_TIPO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CLIENTES_VAR_PROP_TIPO, INSERTED WHERE CLIENTES_VAR_PROP_TIPO.TIPO_VAREJO = INSERTED.TIPO_VAREJO and CLIENTES_VAR_PROP_TIPO.PROPRIEDADE = INSERTED.PROPRIEDADE AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CLIENTES_VAR_PROP_TIPO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CLIENTES_VAR_PROP_TIPO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJAS_REDE]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJAS_REDE]( [REDE_LOJAS] [char](2) NOT NULL, [DESC_REDE_LOJAS] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJAS_REDE] PRIMARY KEY NONCLUSTERED ( [REDE_LOJAS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_LOJAS_REDE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_LOJAS_REDE] on [LOJAS_REDE] for DELETE as /* DELETE trigger on LOJAS_REDE */ begin declare @errno int, @errmsg varchar(255) /* LOJAS_REDE R/1634 FILIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FILIAIS where FILIAIS.REDE_LOJAS = deleted.REDE_LOJAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJAS_REDE #porque existem registros em #FILIAIS#.'' goto error end /* LOJAS_REDE R/1633 REDE_LOJAS_GRIFFES ON PARENT DELETE CASCADE */ delete REDE_LOJAS_GRIFFES from REDE_LOJAS_GRIFFES,deleted where REDE_LOJAS_GRIFFES.REDE_LOJAS = deleted.REDE_LOJAS /* LOJAS_REDE R/1632 PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.REDE_LOJAS = deleted.REDE_LOJAS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #LOJAS_REDE #porque existem registros em #PRODUTOS#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJAS_REDE]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJAS_REDE] on [LOJAS_REDE] for UPDATE as /* UPDATE trigger on LOJAS_REDE */ begin declare @numrows int, @nullcnt int, @validcnt int, @insREDE_LOJAS char(2), @delREDE_LOJAS char(2), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJAS_REDE R/1634 FILIAIS ON PARENT UPDATE CASCADE */ IF update(REDE_LOJAS) BEGIN DECLARE LOJAS_REDE1634 CURSOR FOR SELECT REDE_LOJAS FROM INSERTED DECLARE LOJAS_REDE954 CURSOR FOR SELECT REDE_LOJAS FROM DELETED OPEN LOJAS_REDE1634 OPEN LOJAS_REDE954 FETCH NEXT FROM LOJAS_REDE1634 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FILIAIS SET FILIAIS.REDE_LOJAS=@insREDE_LOJAS WHERE FILIAIS.REDE_LOJAS = @delREDE_LOJAS FETCH NEXT FROM LOJAS_REDE1634 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS END END CLOSE LOJAS_REDE1634 CLOSE LOJAS_REDE954 DEALLOCATE LOJAS_REDE1634 DEALLOCATE LOJAS_REDE954 END /* LOJAS_REDE R/1633 REDE_LOJAS_GRIFFES ON PARENT UPDATE CASCADE */ IF update(REDE_LOJAS) BEGIN DECLARE LOJAS_REDE1633 CURSOR FOR SELECT REDE_LOJAS FROM INSERTED DECLARE LOJAS_REDE954 CURSOR FOR SELECT REDE_LOJAS FROM DELETED OPEN LOJAS_REDE1633 OPEN LOJAS_REDE954 FETCH NEXT FROM LOJAS_REDE1633 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE REDE_LOJAS_GRIFFES SET REDE_LOJAS_GRIFFES.REDE_LOJAS=@insREDE_LOJAS WHERE REDE_LOJAS_GRIFFES.REDE_LOJAS = @delREDE_LOJAS FETCH NEXT FROM LOJAS_REDE1633 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS END END CLOSE LOJAS_REDE1633 CLOSE LOJAS_REDE954 DEALLOCATE LOJAS_REDE1633 DEALLOCATE LOJAS_REDE954 END /* LOJAS_REDE R/1632 PRODUTOS ON PARENT UPDATE CASCADE */ IF update(REDE_LOJAS) BEGIN DECLARE LOJAS_REDE1632 CURSOR FOR SELECT REDE_LOJAS FROM INSERTED DECLARE LOJAS_REDE954 CURSOR FOR SELECT REDE_LOJAS FROM DELETED OPEN LOJAS_REDE1632 OPEN LOJAS_REDE954 FETCH NEXT FROM LOJAS_REDE1632 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.REDE_LOJAS=@insREDE_LOJAS WHERE PRODUTOS.REDE_LOJAS = @delREDE_LOJAS FETCH NEXT FROM LOJAS_REDE1632 INTO @insREDE_LOJAS FETCH NEXT FROM LOJAS_REDE954 INTO @delREDE_LOJAS END END CLOSE LOJAS_REDE1632 CLOSE LOJAS_REDE954 DEALLOCATE LOJAS_REDE1632 DEALLOCATE LOJAS_REDE954 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJAS_REDE SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJAS_REDE, INSERTED WHERE LOJAS_REDE.REDE_LOJAS = INSERTED.REDE_LOJAS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJAS_REDE.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJAS_REDE].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CONTAS_CENTROCUSTO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [CONTAS_CENTROCUSTO]( [CENTRO_CUSTO] [varchar](25) NOT NULL, [CONTA_CONTABIL] [char](20) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKCONTAS_CENTROCUSTO] PRIMARY KEY NONCLUSTERED ( [CENTRO_CUSTO] ASC, [CONTA_CONTABIL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_CONTAS_CENTROCUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_CONTAS_CENTROCUSTO] on [CONTAS_CENTROCUSTO] for INSERT as /* INSERT trigger on CONTAS_CENTROCUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_CENTROCUSTO ON CHILD INSERT RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_CENTROCUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_CENTROCUSTO ON CHILD INSERT RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #CONTAS_CENTROCUSTO #porque #CONTAS_PLANO #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE CONTAS_CENTROCUSTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CONTAS_CENTROCUSTO, INSERTED WHERE CONTAS_CENTROCUSTO.CENTRO_CUSTO = INSERTED.CENTRO_CUSTO and CONTAS_CENTROCUSTO.CONTA_CONTABIL = INSERTED.CONTA_CONTABIL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_CONTAS_CENTROCUSTO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_CONTAS_CENTROCUSTO] on [CONTAS_CENTROCUSTO] for UPDATE as /* UPDATE trigger on CONTAS_CENTROCUSTO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCENTRO_CUSTO varchar(25), @insCONTA_CONTABIL char(20), @delCENTRO_CUSTO varchar(25), @delCONTA_CONTABIL char(20), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* CENTROS_CUSTO CENTROS_CUSTO CONTAS_CENTROCUSTO ON CHILD UPDATE RESTRICT */ if update(CENTRO_CUSTO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CENTROS_CUSTO where inserted.CENTRO_CUSTO = CENTROS_CUSTO.CENTRO_CUSTO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_CENTROCUSTO #porque #CENTROS_CUSTO #não existe.'' goto error end end /* CONTAS_PLANO CONTAS_PLANO CONTAS_CENTROCUSTO ON CHILD UPDATE RESTRICT */ if update(CONTA_CONTABIL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,CONTAS_PLANO where inserted.CONTA_CONTABIL = CONTAS_PLANO.CONTA_CONTABIL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #CONTAS_CENTROCUSTO #porque #CONTAS_PLANO #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE CONTAS_CENTROCUSTO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM CONTAS_CENTROCUSTO, INSERTED WHERE CONTAS_CENTROCUSTO.CENTRO_CUSTO = INSERTED.CENTRO_CUSTO and CONTAS_CENTROCUSTO.CONTA_CONTABIL = INSERTED.CONTA_CONTABIL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR CONTAS_CENTROCUSTO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[CONTAS_CENTROCUSTO].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EVENTOS_CATEGORIAS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EVENTOS_CATEGORIAS]( [CATEGORIA_EVENTO] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKEVENTOS_CATEGORIAS] PRIMARY KEY NONCLUSTERED ( [CATEGORIA_EVENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_EVENTOS_CATEGORIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_EVENTOS_CATEGORIAS] on [EVENTOS_CATEGORIAS] for DELETE as /* DELETE trigger on EVENTOS_CATEGORIAS */ begin declare @errno int, @errmsg varchar(255) /* EVENTOS_CATEGORIAS R/1369 EVENTOS_CLIFOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,EVENTOS_CLIFOR where EVENTOS_CLIFOR.CATEGORIA_EVENTO = deleted.CATEGORIA_EVENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EVENTOS_CATEGORIAS #porque existem registros em #EVENTOS_CLIFOR#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EVENTOS_CATEGORIAS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_EVENTOS_CATEGORIAS] on [EVENTOS_CATEGORIAS] for UPDATE as /* UPDATE trigger on EVENTOS_CATEGORIAS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCATEGORIA_EVENTO varchar(25), @delCATEGORIA_EVENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EVENTOS_CATEGORIAS R/1369 EVENTOS_CLIFOR ON PARENT UPDATE CASCADE */ IF update(CATEGORIA_EVENTO) BEGIN DECLARE EVENTOS_CATEGORIAS1369 CURSOR FOR SELECT CATEGORIA_EVENTO FROM INSERTED DECLARE EVENTOS_CATEGORIAS815 CURSOR FOR SELECT CATEGORIA_EVENTO FROM DELETED OPEN EVENTOS_CATEGORIAS1369 OPEN EVENTOS_CATEGORIAS815 FETCH NEXT FROM EVENTOS_CATEGORIAS1369 INTO @insCATEGORIA_EVENTO FETCH NEXT FROM EVENTOS_CATEGORIAS815 INTO @delCATEGORIA_EVENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE EVENTOS_CLIFOR SET EVENTOS_CLIFOR.CATEGORIA_EVENTO=@insCATEGORIA_EVENTO WHERE EVENTOS_CLIFOR.CATEGORIA_EVENTO = @delCATEGORIA_EVENTO FETCH NEXT FROM EVENTOS_CATEGORIAS1369 INTO @insCATEGORIA_EVENTO FETCH NEXT FROM EVENTOS_CATEGORIAS815 INTO @delCATEGORIA_EVENTO END END CLOSE EVENTOS_CATEGORIAS1369 CLOSE EVENTOS_CATEGORIAS815 DEALLOCATE EVENTOS_CATEGORIAS1369 DEALLOCATE EVENTOS_CATEGORIAS815 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE EVENTOS_CATEGORIAS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM EVENTOS_CATEGORIAS, INSERTED WHERE EVENTOS_CATEGORIAS.CATEGORIA_EVENTO = INSERTED.CATEGORIA_EVENTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR EVENTOS_CATEGORIAS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[EVENTOS_CATEGORIAS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[EVENTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [EVENTOS_TIPOS]( [TIPO_EVENTO] [varchar](25) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKEVENTOS_TIPOS] PRIMARY KEY NONCLUSTERED ( [TIPO_EVENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_EVENTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_EVENTOS_TIPOS] on [EVENTOS_TIPOS] for DELETE as /* DELETE trigger on EVENTOS_TIPOS */ begin declare @errno int, @errmsg varchar(255) /* EVENTOS_TIPOS R/1368 EVENTOS_CLIFOR ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,EVENTOS_CLIFOR where EVENTOS_CLIFOR.TIPO_EVENTO = deleted.TIPO_EVENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #EVENTOS_TIPOS #porque existem registros em #EVENTOS_CLIFOR#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_EVENTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_EVENTOS_TIPOS] on [EVENTOS_TIPOS] for INSERT as /* INSERT trigger on EVENTOS_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_EVENTO varchar(25), @delTIPO_EVENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE EVENTOS_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM EVENTOS_TIPOS, INSERTED WHERE EVENTOS_TIPOS.TIPO_EVENTO = INSERTED.TIPO_EVENTO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_EVENTOS_TIPOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_EVENTOS_TIPOS] on [EVENTOS_TIPOS] for UPDATE as /* UPDATE trigger on EVENTOS_TIPOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_EVENTO varchar(25), @delTIPO_EVENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* EVENTOS_TIPOS R/1368 EVENTOS_CLIFOR ON PARENT UPDATE CASCADE */ IF update(TIPO_EVENTO) BEGIN DECLARE EVENTOS_TIPOS1368 CURSOR FOR SELECT TIPO_EVENTO FROM INSERTED DECLARE EVENTOS_TIPOS814 CURSOR FOR SELECT TIPO_EVENTO FROM DELETED OPEN EVENTOS_TIPOS1368 OPEN EVENTOS_TIPOS814 FETCH NEXT FROM EVENTOS_TIPOS1368 INTO @insTIPO_EVENTO FETCH NEXT FROM EVENTOS_TIPOS814 INTO @delTIPO_EVENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE EVENTOS_CLIFOR SET EVENTOS_CLIFOR.TIPO_EVENTO=@insTIPO_EVENTO WHERE EVENTOS_CLIFOR.TIPO_EVENTO = @delTIPO_EVENTO FETCH NEXT FROM EVENTOS_TIPOS1368 INTO @insTIPO_EVENTO FETCH NEXT FROM EVENTOS_TIPOS814 INTO @delTIPO_EVENTO END END CLOSE EVENTOS_TIPOS1368 CLOSE EVENTOS_TIPOS814 DEALLOCATE EVENTOS_TIPOS1368 DEALLOCATE EVENTOS_TIPOS814 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE EVENTOS_TIPOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM EVENTOS_TIPOS, INSERTED WHERE EVENTOS_TIPOS.TIPO_EVENTO = INSERTED.TIPO_EVENTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR EVENTOS_TIPOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[EVENTOS_TIPOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_TIPO_DIGITADOR]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_TIPO_DIGITADOR]( [TIPO_DO_DIGITADOR] [varchar](5) NOT NULL, [DESC_COMBO] [varchar](25) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKVENDAS_TIPO_DIGITADOR] PRIMARY KEY NONCLUSTERED ( [TIPO_DO_DIGITADOR] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_TIPO_DIGITADOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_TIPO_DIGITADOR] on [VENDAS_TIPO_DIGITADOR] for DELETE as /* DELETE trigger on VENDAS_TIPO_DIGITADOR */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_TIPO_DIGITADOR R/1413 VENDAS_LOTE ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_LOTE where VENDAS_LOTE.TIPO_DO_DIGITADOR = deleted.TIPO_DO_DIGITADOR ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_TIPO_DIGITADOR #porque existem registros em #VENDAS_LOTE#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_TIPO_DIGITADOR]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_TIPO_DIGITADOR] on [VENDAS_TIPO_DIGITADOR] for UPDATE as /* UPDATE trigger on VENDAS_TIPO_DIGITADOR */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_DO_DIGITADOR varchar(5), @delTIPO_DO_DIGITADOR varchar(5), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TIPO_DIGITADOR R/1413 VENDAS_LOTE ON PARENT UPDATE CASCADE */ IF update(TIPO_DO_DIGITADOR) BEGIN DECLARE VENDAS_TIPO_DIGITADOR1413 CURSOR FOR SELECT TIPO_DO_DIGITADOR FROM INSERTED DECLARE VENDAS_TIPO_DIGITADOR829 CURSOR FOR SELECT TIPO_DO_DIGITADOR FROM DELETED OPEN VENDAS_TIPO_DIGITADOR1413 OPEN VENDAS_TIPO_DIGITADOR829 FETCH NEXT FROM VENDAS_TIPO_DIGITADOR1413 INTO @insTIPO_DO_DIGITADOR FETCH NEXT FROM VENDAS_TIPO_DIGITADOR829 INTO @delTIPO_DO_DIGITADOR IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_LOTE SET VENDAS_LOTE.TIPO_DO_DIGITADOR=@insTIPO_DO_DIGITADOR WHERE VENDAS_LOTE.TIPO_DO_DIGITADOR = @delTIPO_DO_DIGITADOR FETCH NEXT FROM VENDAS_TIPO_DIGITADOR1413 INTO @insTIPO_DO_DIGITADOR FETCH NEXT FROM VENDAS_TIPO_DIGITADOR829 INTO @delTIPO_DO_DIGITADOR END END CLOSE VENDAS_TIPO_DIGITADOR1413 CLOSE VENDAS_TIPO_DIGITADOR829 DEALLOCATE VENDAS_TIPO_DIGITADOR1413 DEALLOCATE VENDAS_TIPO_DIGITADOR829 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_TIPO_DIGITADOR SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_TIPO_DIGITADOR, INSERTED WHERE VENDAS_TIPO_DIGITADOR.TIPO_DO_DIGITADOR = INSERTED.TIPO_DO_DIGITADOR AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_TIPO_DIGITADOR.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_TIPO_DIGITADOR].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VENDAS_TIPO_CANC]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [VENDAS_TIPO_CANC]( [TIPO_CANCELAMENTO] [varchar](25) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKVENDAS_TIPO_CANC] PRIMARY KEY NONCLUSTERED ( [TIPO_CANCELAMENTO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_VENDAS_TIPO_CANC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_VENDAS_TIPO_CANC] on [VENDAS_TIPO_CANC] for DELETE as /* DELETE trigger on VENDAS_TIPO_CANC */ begin declare @errno int, @errmsg varchar(255) /* VENDAS_TIPO_CANC VENDAS_TIPO_CANC VENDAS_CANCELAMENTO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,VENDAS_CANCELAMENTO where VENDAS_CANCELAMENTO.TIPO_CANCELAMENTO = deleted.TIPO_CANCELAMENTO ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #VENDAS_TIPO_CANC #porque existem registros em #VENDAS_CANCELAMENTO#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_VENDAS_TIPO_CANC]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_VENDAS_TIPO_CANC] on [VENDAS_TIPO_CANC] for UPDATE as /* UPDATE trigger on VENDAS_TIPO_CANC */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTIPO_CANCELAMENTO varchar(25), @delTIPO_CANCELAMENTO varchar(25), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* VENDAS_TIPO_CANC VENDAS_TIPO_CANC VENDAS_CANCELAMENTO ON PARENT UPDATE CASCADE */ IF update(TIPO_CANCELAMENTO) BEGIN DECLARE VENDAS_TIPO_CANC847 CURSOR FOR SELECT TIPO_CANCELAMENTO FROM INSERTED DECLARE VENDAS_TIPO_CANC579 CURSOR FOR SELECT TIPO_CANCELAMENTO FROM DELETED OPEN VENDAS_TIPO_CANC847 OPEN VENDAS_TIPO_CANC579 FETCH NEXT FROM VENDAS_TIPO_CANC847 INTO @insTIPO_CANCELAMENTO FETCH NEXT FROM VENDAS_TIPO_CANC579 INTO @delTIPO_CANCELAMENTO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE VENDAS_CANCELAMENTO SET VENDAS_CANCELAMENTO.TIPO_CANCELAMENTO=@insTIPO_CANCELAMENTO WHERE VENDAS_CANCELAMENTO.TIPO_CANCELAMENTO = @delTIPO_CANCELAMENTO FETCH NEXT FROM VENDAS_TIPO_CANC847 INTO @insTIPO_CANCELAMENTO FETCH NEXT FROM VENDAS_TIPO_CANC579 INTO @delTIPO_CANCELAMENTO END END CLOSE VENDAS_TIPO_CANC847 CLOSE VENDAS_TIPO_CANC579 DEALLOCATE VENDAS_TIPO_CANC847 DEALLOCATE VENDAS_TIPO_CANC579 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE VENDAS_TIPO_CANC SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM VENDAS_TIPO_CANC, INSERTED WHERE VENDAS_TIPO_CANC.TIPO_CANCELAMENTO = INSERTED.TIPO_CANCELAMENTO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR VENDAS_TIPO_CANC.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[VENDAS_TIPO_CANC].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MOEDAS_CONVERSAO]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MOEDAS_CONVERSAO]( [MOEDA] [char](6) NOT NULL, [DATA] [datetime] NOT NULL, [VALOR] [numeric](15, 6) NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKMOEDAS_CONVERSAO] PRIMARY KEY NONCLUSTERED ( [MOEDA] ASC, [DATA] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[MOEDAS_CONVERSAO]') AND name = N'XIE1MOEDAS_CONVERSAO') CREATE NONCLUSTERED INDEX [XIE1MOEDAS_CONVERSAO] ON [MOEDAS_CONVERSAO] ( [MOEDA] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_MOEDAS_CONVER fecha de la secuencia de comandos: Ago 7 2001 12:40PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_MOEDAS_CONVER] ON [MOEDAS_CONVERSAO] FOR DELETE NOT FOR REPLICATION AS IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFD_MOEDAS_CONVER'')) ) < 2 ) BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME DECLARE MOEDA CURSOR FOR SELECT MOEDA,VALOR,DATA FROM DELETED OPEN MOEDA FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA WHILE @@FETCH_STATUS=0 BEGIN DELETE FROM GF_MOEDAS_CONVER WHERE GF_VALOR=@VALOR AND GF_MOEDA=@MOEDA AND GF_DATA=@DATA FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDA DEALLOCATE MOEDA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_MOEDAS_CONVER fecha de la secuencia de comandos: Ago 7 2001 12:35PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_MOEDAS_CONVER] ON [MOEDAS_CONVERSAO] FOR INSERT NOT FOR REPLICATION AS BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME DECLARE MOEDA CURSOR FOR SELECT MOEDA,VALOR,DATA FROM INSERTED OPEN MOEDA FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS(SELECT GF_MOEDA FROM GF_MOEDAS_CONVER A, INSERTED B WHERE A.GF_MOEDA=B.MOEDA AND A.GF_DATA=B.DATA AND A.GF_VALOR=B.VALOR) BEGIN INSERT INTO GF_MOEDAS_CONVER (ID,ID_MOEDA,GF_MOEDA,GF_DATA,GF_VALOR,GF_DATA_PARA_TRANSFERENCIA,ORDENPM) SELECT B.IDMAX,C.ID,MOEDA,DATA,VALOR,DATA_PARA_TRANSFERENCIA, ISNULL((SELECT MAX(ORDENPM+1) FROM GF_MOEDAS_CONVER WHERE ID_MOEDA=(SELECT ID FROM GF_MOEDAS WHERE GF_MOEDA=@MOEDA)),1) FROM INSERTED A, GF_MOEDAS_CONVERCNT B, GF_MOEDAS C WHERE C.GF_MOEDA=@MOEDA UPDATE GF_MOEDAS_CONVERCNT SET IDMAX=IDMAX+1 END FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDA DEALLOCATE MOEDA END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_MOEDAS_CONVER]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_MOEDAS_CONVER fecha de la secuencia de comandos: Sep 17 2001 12:05PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_MOEDAS_CONVER] ON [MOEDAS_CONVERSAO] FOR UPDATE NOT FOR REPLICATION AS --IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MOEDAS'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS'')))=1) --RETURN --ELSE IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_MOEDAS_CONVER'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_MOEDAS_CONVER'')))=1) RETURN ELSE BEGIN DECLARE @MOEDA CHAR(6), @VALOR FLOAT, @DATA DATETIME, @MOEDAD CHAR(6), @VALORD FLOAT, @DATAD DATETIME DECLARE MOEDAD CURSOR FOR SELECT MOEDA,VALOR,DATA FROM DELETED DECLARE MOEDA CURSOR FOR SELECT MOEDA,VALOR,DATA FROM INSERTED OPEN MOEDAD OPEN MOEDA FETCH NEXT FROM MOEDAD INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_MOEDA FROM GF_MOEDAS_CONVER WHERE GF_MOEDA=@MOEDAD AND GF_DATA=@DATAD AND GF_VALOR=@VALORD) BEGIN UPDATE GF_MOEDAS_CONVER SET GF_MOEDA=@MOEDA, GF_DATA=@DATA, GF_VALOR=@VALOR, GF_DATA_PARA_TRANSFERENCIA=(SELECT DATA_PARA_TRANSFERENCIA FROM INSERTED WHERE GF_MOEDA=@MOEDA AND GF_DATA=@DATA AND VALOR=@VALOR) FROM INSERTED WHERE GF_MOEDA=@MOEDAD AND GF_DATA=@DATAD END ELSE BEGIN FETCH NEXT FROM MOEDAD INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA END FETCH NEXT FROM MOEDAD INTO @MOEDAD,@VALORD,@DATAD FETCH NEXT FROM MOEDA INTO @MOEDA,@VALOR,@DATA END CLOSE MOEDAD DEALLOCATE MOEDAD CLOSE MOEDA DEALLOCATE MOEDA END END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_MOEDAS_CONVERSAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_MOEDAS_CONVERSAO] on [MOEDAS_CONVERSAO] for INSERT as /* INSERT trigger on MOEDAS_CONVERSAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMOEDA char(6), @insDATA datetime, @delMOEDA char(6), @delDATA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS MOEDAS MOEDAS_CONVERSAO ON CHILD INSERT RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #MOEDAS_CONVERSAO #porque #MOEDAS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE MOEDAS_CONVERSAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MOEDAS_CONVERSAO, INSERTED WHERE MOEDAS_CONVERSAO.MOEDA = INSERTED.MOEDA and MOEDAS_CONVERSAO.DATA = INSERTED.DATA AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MOEDAS_CONVERSAO]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MOEDAS_CONVERSAO] on [MOEDAS_CONVERSAO] for UPDATE as /* UPDATE trigger on MOEDAS_CONVERSAO */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMOEDA char(6), @insDATA datetime, @delMOEDA char(6), @delDATA datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MOEDAS MOEDAS MOEDAS_CONVERSAO ON CHILD UPDATE RESTRICT */ if update(MOEDA) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,MOEDAS where inserted.MOEDA = MOEDAS.MOEDA if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #MOEDAS_CONVERSAO #porque #MOEDAS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE MOEDAS_CONVERSAO SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MOEDAS_CONVERSAO, INSERTED WHERE MOEDAS_CONVERSAO.MOEDA = INSERTED.MOEDA and MOEDAS_CONVERSAO.DATA = INSERTED.DATA AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR MOEDAS_CONVERSAO.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MOEDAS_CONVERSAO].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_CONTROLE_FISCAL]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [LOJA_CONTROLE_FISCAL]( [CODIGO_FILIAL] [char](6) NOT NULL, [FILIAL] [varchar](25) NOT NULL, [TERMINAL] [char](3) NOT NULL, [ECF] [varchar](3) NOT NULL, [ID_EQUIPAMENTO] [varchar](20) NOT NULL, [DATA_FISCAL] [datetime] NOT NULL, [GT_INICIAL] [numeric](17, 2) NULL, [DATA_SISTEMA] [datetime] NULL, [GT_FINAL] [numeric](17, 2) NULL, [CF_INICIAL] [smallint] NULL, [CF_FINAL] [smallint] NULL, [QTDE_REDUCOES_Z] [smallint] NOT NULL, [TOTAL_BRUTO] [numeric](12, 2) NULL, [TOTAL_CANCELADO] [numeric](12, 2) NULL, [TOTAL_DESCONTO] [numeric](12, 2) NULL, [TOTAL_ISENTO] [numeric](12, 2) NULL, [TOTAL_NAO_TRIBUTAVEL] [numeric](12, 2) NULL, [TOTAL_SUBSTITUICAO] [numeric](12, 2) NULL, [LEGENDA_TARIFA1] [varchar](3) NULL, [PER_TARIFA1] [numeric](4, 2) NULL, [TOTAL_TARIFA1] [numeric](12, 2) NULL, [LEGENDA_TARIFA2] [varchar](3) NULL, [PER_TARIFA2] [numeric](4, 2) NULL, [TOTAL_TARIFA2] [numeric](12, 2) NULL, [LEGENDA_TARIFA3] [varchar](3) NULL, [PER_TARIFA3] [numeric](4, 2) NULL, [TOTAL_TARIFA3] [numeric](12, 2) NULL, [LEGENDA_TARIFA4] [varchar](3) NULL, [PER_TARIFA4] [numeric](4, 2) NULL, [TOTAL_TARIFA4] [numeric](12, 2) NULL, [LEGENDA_TARIFA5] [varchar](3) NULL, [PER_TARIFA5] [numeric](4, 2) NULL, [TOTAL_TARIFA5] [numeric](12, 2) NULL, [LEGENDA_TARIFA6] [varchar](3) NULL, [PER_TARIFA6] [numeric](4, 2) NULL, [TOTAL_TARIFA6] [numeric](12, 2) NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKLOJA_CONTROLE_FISCAL] PRIMARY KEY NONCLUSTERED ( [CODIGO_FILIAL] ASC, [TERMINAL] ASC, [DATA_FISCAL] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_LOJA_CONTROLE_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_LOJA_CONTROLE_FISCAL] on [LOJA_CONTROLE_FISCAL] for INSERT as /* INSERT trigger on LOJA_CONTROLE_FISCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TERMINAIS R/2028 LOJA_CONTROLE_FISCAL ON CHILD INSERT RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #LOJA_CONTROLE_FISCAL #porque #LOJA_TERMINAIS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE LOJA_CONTROLE_FISCAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CONTROLE_FISCAL, INSERTED WHERE LOJA_CONTROLE_FISCAL.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_CONTROLE_FISCAL.TERMINAL = INSERTED.TERMINAL and LOJA_CONTROLE_FISCAL.DATA_FISCAL = INSERTED.DATA_FISCAL AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_LOJA_CONTROLE_FISCAL]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_LOJA_CONTROLE_FISCAL] on [LOJA_CONTROLE_FISCAL] for UPDATE as /* UPDATE trigger on LOJA_CONTROLE_FISCAL */ begin declare @numrows int, @nullcnt int, @validcnt int, @insCODIGO_FILIAL char(6), @insTERMINAL char(3), @insDATA_FISCAL datetime, @delCODIGO_FILIAL char(6), @delTERMINAL char(3), @delDATA_FISCAL datetime, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* LOJA_TERMINAIS R/2028 LOJA_CONTROLE_FISCAL ON CHILD UPDATE RESTRICT */ if update(CODIGO_FILIAL) or update(TERMINAL) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,LOJA_TERMINAIS where inserted.CODIGO_FILIAL = LOJA_TERMINAIS.CODIGO_FILIAL and inserted.TERMINAL = LOJA_TERMINAIS.TERMINAL if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #LOJA_CONTROLE_FISCAL #porque #LOJA_TERMINAIS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE LOJA_CONTROLE_FISCAL SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_CONTROLE_FISCAL, INSERTED WHERE LOJA_CONTROLE_FISCAL.CODIGO_FILIAL = INSERTED.CODIGO_FILIAL and LOJA_CONTROLE_FISCAL.TERMINAL = INSERTED.TERMINAL and LOJA_CONTROLE_FISCAL.DATA_FISCAL = INSERTED.DATA_FISCAL AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR LOJA_CONTROLE_FISCAL.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[LOJA_CONTROLE_FISCAL].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRIBUT_ICMS]( [TRIBUT_ICMS] [char](3) NOT NULL, [DESCRICAO] [varchar](50) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKTRIBUT_ICMS] PRIMARY KEY NONCLUSTERED ( [TRIBUT_ICMS] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 20:50PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_TRIBUT_ICMS] ON [TRIBUT_ICMS] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @ICMS CHAR(3) DECLARE ICMS CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED OPEN ICMS FETCH NEXT FROM ICMS INTO @ICMS WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE GF_TRIBUT_ICMS=@ICMS) DELETE FROM GF_TRIBUT_ICMS WHERE GF_TRIBUT_ICMS=@ICMS ELSE BEGIN FETCH NEXT FROM ICMS INTO @ICMS END FETCH NEXT FROM ICMS INTO @ICMS END CLOSE ICMS DEALLOCATE ICMS END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 19:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_TRIBUT_ICMS] ON [TRIBUT_ICMS] FOR INSERT NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_TRIBUT_ICMS'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @ICMS CHAR(3) DECLARE ICMS CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED OPEN ICMS FETCH NEXT FROM ICMS INTO @ICMS WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE GF_TRIBUT_ICMS=@ICMS) --BEGIN --IF @USER_AUTORIZADO=@USER BEGIN INSERT INTO GF_TRIBUT_ICMS (ID,GF_TRIBUT_ICMS,GF_DESCRICAO,Data_para_transferencia,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TRIBUT_ICMS,DESCRICAO,Data_para_transferencia,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM TRIBUT_ICMS A, GF_TRIBUT_ICMSCNT B WHERE TRIBUT_ICMS=@ICMS UPDATE GF_TRIBUT_ICMSCNT SET IDMAX=IDMAX+1 END --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un I.C.M.S., consulte con el administrador de su Empresa.'' --GOTO ERROR --END ELSE BEGIN FETCH NEXT FROM ICMS INTO @ICMS END FETCH NEXT FROM ICMS INTO @ICMS END CLOSE ICMS DEALLOCATE ICMS --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_TRIBUT_ICMS fecha de la secuencia de comandos: Sep 6 2001 20:10PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_TRIBUT_ICMS] ON [TRIBUT_ICMS] FOR UPDATE NOT FOR REPLICATION AS IF ((SELECT trigger_nestlevel(OBJECT_ID(''GFIV_TRIBUT_ICMS'')))=1) OR ((SELECT trigger_nestlevel(OBJECT_ID(''GFUV_TRIBUT_ICMS'')))=1) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_TRIBUT_ICMS'')) ) < 2 ) BEGIN DECLARE @ICMS CHAR(3), @ICMSD CHAR(3) DECLARE ICMSD CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED DECLARE ICMS CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED OPEN ICMSD OPEN ICMS FETCH NEXT FROM ICMSD INTO @ICMSD FETCH NEXT FROM ICMS INTO @ICMS IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE GF_TRIBUT_ICMS=@ICMSD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_TRIBUT_ICMS SET GF_TRIBUT_ICMS=(SELECT TRIBUT_ICMS FROM INSERTED WHERE TRIBUT_ICMS=@ICMS), GF_DESCRICAO=(SELECT DESCRICAO FROM INSERTED WHERE TRIBUT_ICMS=@ICMS), Data_para_transferencia=(SELECT Data_para_transferencia FROM INSERTED WHERE TRIBUT_ICMS=@ICMS), USERM=@USER, FECHAM=GETDATE() WHERE GF_TRIBUT_ICMS=@ICMSD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un I.C.M.S, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM ICMSD INTO @ICMSD FETCH NEXT FROM ICMS INTO @ICMS END FETCH NEXT FROM ICMSD INTO @ICMSD FETCH NEXT FROM ICMS INTO @ICMS END CLOSE ICMSD DEALLOCATE ICMSD CLOSE ICMS DEALLOCATE ICMS END --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_TRIBUT_ICMS] on [TRIBUT_ICMS] for DELETE as /* DELETE trigger on TRIBUT_ICMS */ begin declare @errno int, @errmsg varchar(255) /* TRIBUT_ICMS R/2131 SERVICOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,SERVICOS where SERVICOS.TRIBUT_ICMS = deleted.TRIBUT_ICMS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ICMS #porque existem registros em #SERVICOS#.'' goto error end /* TRIBUT_ICMS R/1775 FATURAMENTO_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CONSUMO where FATURAMENTO_CONSUMO.TRIBUT_ICMS = deleted.TRIBUT_ICMS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ICMS #porque existem registros em #FATURAMENTO_CONSUMO#.'' goto error end /* TRIBUT_ICMS TRIBUT_ICMS MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.TRIBUT_ICMS = deleted.TRIBUT_ICMS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ICMS #porque existem registros em #MATERIAIS#.'' goto error end /* TRIBUT_ICMS TRIBUT_ICMS PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.TRIBUT_ICMS = deleted.TRIBUT_ICMS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ICMS #porque existem registros em #PRODUTOS#.'' goto error end /* ERwin Builtin Thu Jan 16 10:47:54 2003 */ /* TRIBUT_ICMS R/11 FATURAMENTO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_ITEM where /* FATURAMENTO_ITEM.TRIBUT_ICMS = deleted.TRIBUT_ICMS */ FATURAMENTO_ITEM.TRIBUT_ICMS = deleted.TRIBUT_ICMS ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ICMS #porque existem registros em #FATURAMENTO_ITEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRIBUT_ICMS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_TRIBUT_ICMS] on [TRIBUT_ICMS] for UPDATE as /* UPDATE trigger on TRIBUT_ICMS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRIBUT_ICMS char(3), @delTRIBUT_ICMS char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRIBUT_ICMS R/2131 SERVICOS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ICMS) BEGIN DECLARE TRIBUT_ICMS2131 CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED DECLARE TRIBUT_ICMS316 CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED OPEN TRIBUT_ICMS2131 OPEN TRIBUT_ICMS316 FETCH NEXT FROM TRIBUT_ICMS2131 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SERVICOS SET SERVICOS.TRIBUT_ICMS=@insTRIBUT_ICMS WHERE SERVICOS.TRIBUT_ICMS = @delTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS2131 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS END END CLOSE TRIBUT_ICMS2131 CLOSE TRIBUT_ICMS316 DEALLOCATE TRIBUT_ICMS2131 DEALLOCATE TRIBUT_ICMS316 END /* TRIBUT_ICMS R/1775 FATURAMENTO_CONSUMO ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ICMS) BEGIN DECLARE TRIBUT_ICMS1775 CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED DECLARE TRIBUT_ICMS316 CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED OPEN TRIBUT_ICMS1775 OPEN TRIBUT_ICMS316 FETCH NEXT FROM TRIBUT_ICMS1775 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CONSUMO SET FATURAMENTO_CONSUMO.TRIBUT_ICMS=@insTRIBUT_ICMS WHERE FATURAMENTO_CONSUMO.TRIBUT_ICMS = @delTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS1775 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS END END CLOSE TRIBUT_ICMS1775 CLOSE TRIBUT_ICMS316 DEALLOCATE TRIBUT_ICMS1775 DEALLOCATE TRIBUT_ICMS316 END /* TRIBUT_ICMS TRIBUT_ICMS MATERIAIS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ICMS) BEGIN DECLARE TRIBUT_ICMS669 CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED DECLARE TRIBUT_ICMS316 CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED OPEN TRIBUT_ICMS669 OPEN TRIBUT_ICMS316 FETCH NEXT FROM TRIBUT_ICMS669 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.TRIBUT_ICMS=@insTRIBUT_ICMS WHERE MATERIAIS.TRIBUT_ICMS = @delTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS669 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS END END CLOSE TRIBUT_ICMS669 CLOSE TRIBUT_ICMS316 DEALLOCATE TRIBUT_ICMS669 DEALLOCATE TRIBUT_ICMS316 END /* TRIBUT_ICMS TRIBUT_ICMS PRODUTOS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ICMS) BEGIN DECLARE TRIBUT_ICMS593 CURSOR FOR SELECT TRIBUT_ICMS FROM INSERTED DECLARE TRIBUT_ICMS316 CURSOR FOR SELECT TRIBUT_ICMS FROM DELETED OPEN TRIBUT_ICMS593 OPEN TRIBUT_ICMS316 FETCH NEXT FROM TRIBUT_ICMS593 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.TRIBUT_ICMS=@insTRIBUT_ICMS WHERE PRODUTOS.TRIBUT_ICMS = @delTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS593 INTO @insTRIBUT_ICMS FETCH NEXT FROM TRIBUT_ICMS316 INTO @delTRIBUT_ICMS END END CLOSE TRIBUT_ICMS593 CLOSE TRIBUT_ICMS316 DEALLOCATE TRIBUT_ICMS593 DEALLOCATE TRIBUT_ICMS316 END /* ERwin Builtin Thu Jan 16 10:47:54 2003 */ /* TRIBUT_ICMS R/11 FATURAMENTO_ITEM ON PARENT UPDATE CASCADE */ if /* update(TRIBUT_ICMS) */ update(TRIBUT_ICMS) begin if @numrows = 1 begin select @insTRIBUT_ICMS = inserted.TRIBUT_ICMS from inserted update FATURAMENTO_ITEM set /* FATURAMENTO_ITEM.TRIBUT_ICMS = @insTRIBUT_ICMS */ FATURAMENTO_ITEM.TRIBUT_ICMS = @insTRIBUT_ICMS from FATURAMENTO_ITEM,inserted,deleted where /* FATURAMENTO_ITEM.TRIBUT_ICMS = deleted.TRIBUT_ICMS */ FATURAMENTO_ITEM.TRIBUT_ICMS = deleted.TRIBUT_ICMS end else begin select @errno = 30006, @errmsg = ''Cannot cascade TRIBUT_ICMS UPDATE because more than one row has been affected.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRIBUT_ICMS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRIBUT_ICMS, INSERTED WHERE TRIBUT_ICMS.TRIBUT_ICMS = INSERTED.TRIBUT_ICMS AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRIBUT_ICMS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRIBUT_ICMS].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRIBUT_ORIGEM]( [TRIBUT_ORIGEM] [char](3) NOT NULL, [DESCRICAO] [varchar](60) NOT NULL, [Data_para_transferencia] [datetime] NULL, CONSTRAINT [XPKTRIBUT_ORIGEM] PRIMARY KEY NONCLUSTERED ( [TRIBUT_ORIGEM] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFD_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFD_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 6 2001 18:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFD_TRIBUT_ORIGEM] ON [TRIBUT_ORIGEM] FOR DELETE NOT FOR REPLICATION AS BEGIN DECLARE @TRIBUTO CHAR(3) DECLARE TRIBUTO CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED OPEN TRIBUTO FETCH NEXT FROM TRIBUTO INTO @TRIBUTO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE GF_TRIBUT_ORIGEM=@TRIBUTO) BEGIN DELETE FROM GF_TRIBUT_ORIGEM WHERE GF_TRIBUT_ORIGEM=@TRIBUTO END ELSE BEGIN FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END CLOSE TRIBUTO DEALLOCATE TRIBUTO END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFI_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFI_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 6 2001 16:30PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFI_TRIBUT_ORIGEM] ON [TRIBUT_ORIGEM] FOR INSERT NOT FOR REPLICATION AS --IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_TRIBUT_ORIGEM'')) ) =1) --RETURN --ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER ) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1) ) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() BEGIN DECLARE @TRIBUTO CHAR(3) DECLARE TRIBUTO CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED OPEN TRIBUTO FETCH NEXT FROM TRIBUTO INTO @TRIBUTO WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE GF_TRIBUT_ORIGEM=@TRIBUTO) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER INSERT INTO GF_TRIBUT_ORIGEM (ID,GF_TRIBUT_ORIGEM,GF_DESCRICAO,EMP,USERC,FECHAC,USERM,FECHAM,ACCESO,USERP) SELECT B.IDMAX,TRIBUT_ORIGEM,DESCRICAO,@EMPRESA,@USER,GETDATE(),@USER,GETDATE(),28983,@USER FROM TRIBUT_ORIGEM A, GF_TRIBUT_ORIGEMCNT B WHERE TRIBUT_ORIGEM=@TRIBUTO UPDATE GF_TRIBUT_ORIGEMCNT SET IDMAX=IDMAX+1 --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar de alta un Origen de Tributación, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END CLOSE TRIBUTO DEALLOCATE TRIBUTO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFU_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/****** Objeto: trigger/desencanador dbo.GFU_TRIBUT_ORIGEM fecha de la secuencia de comandos: Sep 6 2001 17:20PM ******/ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- CREATE TRIGGER [GFU_TRIBUT_ORIGEM] ON [TRIBUT_ORIGEM] FOR UPDATE NOT FOR REPLICATION AS IF (( (SELECT trigger_nestlevel(OBJECT_ID(''GFIV_TRIBUT_ORIGEM'')) ) =1) OR ( (SELECT trigger_nestlevel(OBJECT_ID(''GFUV_TRIBUT_ORIGEM'')) ) =1)) RETURN ELSE DECLARE @EMPRESA INTEGER, @USER INTEGER, @USER_AUTORIZADO INTEGER, @@DBNAME VARCHAR(128), @errno int, @errmsg varchar(255) IF EXISTS (SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) SET @USER=(SELECT USUARIO# FROM USUARIOS WHERE CLAVE=USER) ELSE SET @USER=102 SET @EMPRESA=(SELECT ID FROM FACT WHERE NOMBRE=(SELECT DESC_EMPRESA FROM EMPRESA WHERE EMPRESA=1)) --COMENTADO PARA MULTIEMPRESA --SET @USER_AUTORIZADO=(SELECT USER1 FROM INVMARK.dbo.USERMULT WHERE EMPRESA1=@EMPRESA AND USER1=@USER UNION --SELECT USER2 FROM INVMARK.dbo.USERMULT WHERE EMPRESA2=@EMPRESA AND USER1=@USER UNION --SELECT USER3 FROM INVMARK.dbo.USERMULT WHERE EMPRESA3=@EMPRESA AND USER1=@USER) --SET @@DBNAME=DB_NAME() IF ( (SELECT trigger_nestlevel(OBJECT_ID(''GFU_TRIBUT_ORIGEM'')) ) < 2 ) DECLARE @TRIBUTOD VARCHAR(3), @TRIBUTO VARCHAR(3) DECLARE TRIBUTOD CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED DECLARE TRIBUTO CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED OPEN TRIBUTOD OPEN TRIBUTO FETCH NEXT FROM TRIBUTOD INTO @TRIBUTOD FETCH NEXT FROM TRIBUTO INTO @TRIBUTO IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE GF_TRIBUT_ORIGEM=@TRIBUTOD) BEGIN --BEGIN --IF @USER_AUTORIZADO=@USER UPDATE GF_TRIBUT_ORIGEM SET GF_TRIBUT_ORIGEM=(SELECT TRIBUT_ORIGEM FROM INSERTED WHERE TRIBUT_ORIGEM=@TRIBUTO), GF_DESCRICAO=(SELECT DESCRICAO FROM INSERTED WHERE TRIBUT_ORIGEM=@TRIBUTO), USERM=@USER, FECHAM=GETDATE() WHERE GF_TRIBUT_ORIGEM=@TRIBUTOD --ELSE --BEGIN --SELECT @errno=30001, --@errmsg=''No es un usuario autorizado en Invmark para dar modificar un Origen de Tributación, consulte con el administrador de su Empresa.'' --GOTO ERROR --END END ELSE BEGIN FETCH NEXT FROM TRIBUTOD INTO @TRIBUTOD FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END FETCH NEXT FROM TRIBUTOD INTO @TRIBUTOD FETCH NEXT FROM TRIBUTO INTO @TRIBUTO END CLOSE TRIBUTOD DEALLOCATE TRIBUTOD CLOSE TRIBUTO DEALLOCATE TRIBUTO --ERROR: --RAISERROR @errno @errmsg --ROLLBACK TRANSACTION END ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXD_TRIBUT_ORIGEM] on [TRIBUT_ORIGEM] for DELETE as /* DELETE trigger on TRIBUT_ORIGEM */ begin declare @errno int, @errmsg varchar(255) /* TRIBUT_ORIGEM R/2133 SERVICOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,SERVICOS where SERVICOS.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ORIGEM #porque existem registros em #SERVICOS#.'' goto error end /* TRIBUT_ORIGEM R/1774 FATURAMENTO_CONSUMO ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_CONSUMO where FATURAMENTO_CONSUMO.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ORIGEM #porque existem registros em #FATURAMENTO_CONSUMO#.'' goto error end /* TRIBUT_ORIGEM TRIBUT_ORIGEM MATERIAIS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,MATERIAIS where MATERIAIS.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ORIGEM #porque existem registros em #MATERIAIS#.'' goto error end /* TRIBUT_ORIGEM TRIBUT_ORIGEM PRODUTOS ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,PRODUTOS where PRODUTOS.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ORIGEM #porque existem registros em #PRODUTOS#.'' goto error end /* ERwin Builtin Thu Jan 16 10:43:45 2003 */ /* TRIBUT_ORIGEM R/12 FATURAMENTO_ITEM ON PARENT DELETE RESTRICT */ if exists ( select * from deleted,FATURAMENTO_ITEM where /* FATURAMENTO_ITEM.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM */ FATURAMENTO_ITEM.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM ) begin select @errno = 30001, @errmsg = ''Impossível Excluir #TRIBUT_ORIGEM #porque existem registros em #FATURAMENTO_ITEM#.'' goto error end return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRIBUT_ORIGEM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.07005] */ create trigger [LXU_TRIBUT_ORIGEM] on [TRIBUT_ORIGEM] for UPDATE as /* UPDATE trigger on TRIBUT_ORIGEM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insTRIBUT_ORIGEM char(3), @delTRIBUT_ORIGEM char(3), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRIBUT_ORIGEM R/2133 SERVICOS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ORIGEM) BEGIN DECLARE TRIBUT_ORIGEM2133 CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED DECLARE TRIBUT_ORIGEM80 CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED OPEN TRIBUT_ORIGEM2133 OPEN TRIBUT_ORIGEM80 FETCH NEXT FROM TRIBUT_ORIGEM2133 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE SERVICOS SET SERVICOS.TRIBUT_ORIGEM=@insTRIBUT_ORIGEM WHERE SERVICOS.TRIBUT_ORIGEM = @delTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM2133 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM END END CLOSE TRIBUT_ORIGEM2133 CLOSE TRIBUT_ORIGEM80 DEALLOCATE TRIBUT_ORIGEM2133 DEALLOCATE TRIBUT_ORIGEM80 END /* TRIBUT_ORIGEM R/1774 FATURAMENTO_CONSUMO ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ORIGEM) BEGIN DECLARE TRIBUT_ORIGEM1774 CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED DECLARE TRIBUT_ORIGEM80 CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED OPEN TRIBUT_ORIGEM1774 OPEN TRIBUT_ORIGEM80 FETCH NEXT FROM TRIBUT_ORIGEM1774 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE FATURAMENTO_CONSUMO SET FATURAMENTO_CONSUMO.TRIBUT_ORIGEM=@insTRIBUT_ORIGEM WHERE FATURAMENTO_CONSUMO.TRIBUT_ORIGEM = @delTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM1774 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM END END CLOSE TRIBUT_ORIGEM1774 CLOSE TRIBUT_ORIGEM80 DEALLOCATE TRIBUT_ORIGEM1774 DEALLOCATE TRIBUT_ORIGEM80 END /* TRIBUT_ORIGEM TRIBUT_ORIGEM MATERIAIS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ORIGEM) BEGIN DECLARE TRIBUT_ORIGEM668 CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED DECLARE TRIBUT_ORIGEM80 CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED OPEN TRIBUT_ORIGEM668 OPEN TRIBUT_ORIGEM80 FETCH NEXT FROM TRIBUT_ORIGEM668 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MATERIAIS SET MATERIAIS.TRIBUT_ORIGEM=@insTRIBUT_ORIGEM WHERE MATERIAIS.TRIBUT_ORIGEM = @delTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM668 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM END END CLOSE TRIBUT_ORIGEM668 CLOSE TRIBUT_ORIGEM80 DEALLOCATE TRIBUT_ORIGEM668 DEALLOCATE TRIBUT_ORIGEM80 END /* TRIBUT_ORIGEM TRIBUT_ORIGEM PRODUTOS ON PARENT UPDATE CASCADE */ IF update(TRIBUT_ORIGEM) BEGIN DECLARE TRIBUT_ORIGEM101 CURSOR FOR SELECT TRIBUT_ORIGEM FROM INSERTED DECLARE TRIBUT_ORIGEM80 CURSOR FOR SELECT TRIBUT_ORIGEM FROM DELETED OPEN TRIBUT_ORIGEM101 OPEN TRIBUT_ORIGEM80 FETCH NEXT FROM TRIBUT_ORIGEM101 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE PRODUTOS SET PRODUTOS.TRIBUT_ORIGEM=@insTRIBUT_ORIGEM WHERE PRODUTOS.TRIBUT_ORIGEM = @delTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM101 INTO @insTRIBUT_ORIGEM FETCH NEXT FROM TRIBUT_ORIGEM80 INTO @delTRIBUT_ORIGEM END END CLOSE TRIBUT_ORIGEM101 CLOSE TRIBUT_ORIGEM80 DEALLOCATE TRIBUT_ORIGEM101 DEALLOCATE TRIBUT_ORIGEM80 END /* ERwin Builtin Thu Jan 16 10:43:45 2003 */ /* TRIBUT_ORIGEM R/12 FATURAMENTO_ITEM ON PARENT UPDATE CASCADE */ if /* update(TRIBUT_ORIGEM) */ update(TRIBUT_ORIGEM) begin if @numrows = 1 begin select @insTRIBUT_ORIGEM = inserted.TRIBUT_ORIGEM from inserted update FATURAMENTO_ITEM set /* FATURAMENTO_ITEM.TRIBUT_ORIGEM = @insTRIBUT_ORIGEM */ FATURAMENTO_ITEM.TRIBUT_ORIGEM = @insTRIBUT_ORIGEM from FATURAMENTO_ITEM,inserted,deleted where /* FATURAMENTO_ITEM.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM */ FATURAMENTO_ITEM.TRIBUT_ORIGEM = deleted.TRIBUT_ORIGEM end else begin select @errno = 30006, @errmsg = ''Cannot cascade TRIBUT_ORIGEM UPDATE because more than one row has been affected.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRIBUT_ORIGEM SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRIBUT_ORIGEM, INSERTED WHERE TRIBUT_ORIGEM.TRIBUT_ORIGEM = INSERTED.TRIBUT_ORIGEM AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRIBUT_ORIGEM.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRIBUT_ORIGEM].[Data_para_transferencia]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[MODULOS]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [MODULOS]( [MODULO] [char](6) NOT NULL, [CONTROL_MODULO] [char](3) NOT NULL, [DESCRITIVO] [varchar](50) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, [OBS] [text] NULL, CONSTRAINT [XPKMODULOS] PRIMARY KEY NONCLUSTERED ( [MODULO] ASC ) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXD_MODULOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXD_MODULOS] on [MODULOS] for DELETE as /* DELETE trigger on MODULOS */ begin declare @errno int, @errmsg varchar(255) /* MODULOS R/1826 MODULOS_MENU ON PARENT DELETE CASCADE */ delete MODULOS_MENU from MODULOS_MENU,deleted where MODULOS_MENU.MODULO = deleted.MODULO /* MODULOS MODULOS USERS_MODULOS ON PARENT DELETE CASCADE */ delete USERS_MODULOS from USERS_MODULOS,deleted where USERS_MODULOS.MODULO = deleted.MODULO /* MODULOS MODULOS TRANSACOES_NAVEGA ON PARENT DELETE CASCADE */ delete TRANSACOES_NAVEGA from TRANSACOES_NAVEGA,deleted where TRANSACOES_NAVEGA.MODULO = deleted.MODULO return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_MODULOS]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_MODULOS] on [MODULOS] for UPDATE as /* UPDATE trigger on MODULOS */ begin declare @numrows int, @nullcnt int, @validcnt int, @insMODULO char(6), @delMODULO char(6), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* MODULOS R/1826 MODULOS_MENU ON PARENT UPDATE CASCADE */ IF update(MODULO) BEGIN DECLARE MODULOS1826 CURSOR FOR SELECT MODULO FROM INSERTED DECLARE MODULOS132 CURSOR FOR SELECT MODULO FROM DELETED OPEN MODULOS1826 OPEN MODULOS132 FETCH NEXT FROM MODULOS1826 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE MODULOS_MENU SET MODULOS_MENU.MODULO=@insMODULO WHERE MODULOS_MENU.MODULO = @delMODULO FETCH NEXT FROM MODULOS1826 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO END END CLOSE MODULOS1826 CLOSE MODULOS132 DEALLOCATE MODULOS1826 DEALLOCATE MODULOS132 END /* MODULOS MODULOS USERS_MODULOS ON PARENT UPDATE CASCADE */ IF update(MODULO) BEGIN DECLARE MODULOS762 CURSOR FOR SELECT MODULO FROM INSERTED DECLARE MODULOS132 CURSOR FOR SELECT MODULO FROM DELETED OPEN MODULOS762 OPEN MODULOS132 FETCH NEXT FROM MODULOS762 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE USERS_MODULOS SET USERS_MODULOS.MODULO=@insMODULO WHERE USERS_MODULOS.MODULO = @delMODULO FETCH NEXT FROM MODULOS762 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO END END CLOSE MODULOS762 CLOSE MODULOS132 DEALLOCATE MODULOS762 DEALLOCATE MODULOS132 END /* MODULOS MODULOS TRANSACOES_NAVEGA ON PARENT UPDATE CASCADE */ IF update(MODULO) BEGIN DECLARE MODULOS735 CURSOR FOR SELECT MODULO FROM INSERTED DECLARE MODULOS132 CURSOR FOR SELECT MODULO FROM DELETED OPEN MODULOS735 OPEN MODULOS132 FETCH NEXT FROM MODULOS735 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO IF @@rowcount >= 0 BEGIN WHILE @@fetch_status = 0 BEGIN UPDATE TRANSACOES_NAVEGA SET TRANSACOES_NAVEGA.MODULO=@insMODULO WHERE TRANSACOES_NAVEGA.MODULO = @delMODULO FETCH NEXT FROM MODULOS735 INTO @insMODULO FETCH NEXT FROM MODULOS132 INTO @delMODULO END END CLOSE MODULOS735 CLOSE MODULOS132 DEALLOCATE MODULOS735 DEALLOCATE MODULOS132 END /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE MODULOS SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM MODULOS, INSERTED WHERE MODULOS.MODULO = INSERTED.MODULO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR MODULOS.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[MODULOS].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TRANSACOES_PARAM]') AND OBJECTPROPERTY(id, N'IsUserTable') = 1) BEGIN CREATE TABLE [TRANSACOES_PARAM]( [PARAMETRO] [varchar](25) NOT NULL, [COD_TRANSACAO] [char](23) NOT NULL, [DATA_PARA_TRANSFERENCIA] [datetime] NULL, CONSTRAINT [XPKTRANSACOES_PARAM] PRIMARY KEY NONCLUSTERED ( [PARAMETRO] ASC, [COD_TRANSACAO] ASC ) ON [PRIMARY] ) ON [PRIMARY] END GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES_PARAM]') AND name = N'XIE1TRANSACOES_PARAM') CREATE NONCLUSTERED INDEX [XIE1TRANSACOES_PARAM] ON [TRANSACOES_PARAM] ( [COD_TRANSACAO] ASC ) ON [PRIMARY] GO IF NOT EXISTS (SELECT * FROM dbo.sysindexes WHERE id = OBJECT_ID(N'[TRANSACOES_PARAM]') AND name = N'XIE2TRANSACOES_PARAM') CREATE NONCLUSTERED INDEX [XIE2TRANSACOES_PARAM] ON [TRANSACOES_PARAM] ( [PARAMETRO] ASC ) ON [PRIMARY] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXI_TRANSACOES_PARAM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXI_TRANSACOES_PARAM] on [TRANSACOES_PARAM] for INSERT as /* INSERT trigger on TRANSACOES_PARAM */ begin declare @numrows int, @nullcnt int, @validcnt int, @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_PARAM ON CHILD INSERT RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_PARAM #porque #TRANSACOES #não existe.'' goto error end end /* PARAMETROS PARAMETROS TRANSACOES_PARAM ON CHILD INSERT RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30002, @errmsg = ''Impossível Incluir #TRANSACOES_PARAM #porque #PARAMETROS #não existe.'' goto error end end /*---LINX-INSERT---------------------------------------------------------------------------------------*/ UPDATE TRANSACOES_PARAM SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_PARAM, INSERTED WHERE TRANSACOES_PARAM.PARAMETRO = INSERTED.PARAMETRO and TRANSACOES_PARAM.COD_TRANSACAO = INSERTED.COD_TRANSACAO AND INSERTED.DATA_PARA_TRANSFERENCIA IS NULL /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LXU_TRANSACOES_PARAM]') AND OBJECTPROPERTY(id, N'IsTrigger') = 1) EXEC dbo.sp_executesql @statement = N'/* Versao [ 4.00005] */ create trigger [LXU_TRANSACOES_PARAM] on [TRANSACOES_PARAM] for UPDATE as /* UPDATE trigger on TRANSACOES_PARAM */ begin declare @numrows int, @nullcnt int, @validcnt int, @insPARAMETRO varchar(25), @insCOD_TRANSACAO char(23), @delPARAMETRO varchar(25), @delCOD_TRANSACAO char(23), @errno int, @errmsg varchar(255) select @numrows = @@rowcount /* TRANSACOES TRANSACOES TRANSACOES_PARAM ON CHILD UPDATE RESTRICT */ if update(COD_TRANSACAO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,TRANSACOES where inserted.COD_TRANSACAO = TRANSACOES.COD_TRANSACAO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_PARAM #porque #TRANSACOES #não existe.'' goto error end end /* PARAMETROS PARAMETROS TRANSACOES_PARAM ON CHILD UPDATE RESTRICT */ if update(PARAMETRO) begin select @nullcnt = 0 select @validcnt = count(*) from inserted,PARAMETROS where inserted.PARAMETRO = PARAMETROS.PARAMETRO if @validcnt + @nullcnt != @numrows begin select @errno = 30007, @errmsg = ''Impossível Atualizar #TRANSACOES_PARAM #porque #PARAMETROS #não existe.'' goto error end end /*---LINX-UPDATE---------------------------------------------------------------------------------------*/ IF NOT UPDATE(DATA_PARA_TRANSFERENCIA) BEGIN UPDATE TRANSACOES_PARAM SET DATA_PARA_TRANSFERENCIA = GETDATE() FROM TRANSACOES_PARAM, INSERTED WHERE TRANSACOES_PARAM.PARAMETRO = INSERTED.PARAMETRO and TRANSACOES_PARAM.COD_TRANSACAO = INSERTED.COD_TRANSACAO AND (INSERTED.DATA_PARA_TRANSFERENCIA IS NULL OR TRANSACOES_PARAM.DATA_PARA_TRANSFERENCIA = INSERTED.DATA_PARA_TRANSFERENCIA) END /*-----------------------------------------------------------------------------------------------------*/ return error: raiserror @errno @errmsg rollback transaction end ' GO EXEC dbo.sp_bindefault @defname=N'[DATA_ATUAL]', @objname=N'[TRANSACOES_PARAM].[DATA_PARA_TRANSFERENCIA]' , @futureonly='futureonly' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_LISTA_MATERIALES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_SP_LISTA_MATERIALES] @IDVAR INTEGER AS -- Procedimiento para pasar la lista de materiales del producto acabado (clase Variante Color) -- a LINX (tablas PRODUTOS_FICHA y PRODUTOS_FICHA_COR ) -- Realizado por: Bernardo Castellanos -- Fecha: 14-11-02 -- Revisado por: Bernardo Castellanos -- Fecha: 28-02-03 DECLARE @nSizeSet INTEGER, @s_IdTalla VARCHAR(10), @s_IdTallas VARCHAR(255), @n_IdCompVarColor INTEGER, @n_NUM_TALLAS SMALLINT, @s_GF_MATERIAL VARCHAR(25), @s_GF_SETOR_PRODUCA VARCHAR(25), @s_GF_FASE_PRODUCA VARCHAR(25), @n_GF_SECTOR_PRODUC SMALLINT, @n_GF_FASE_PRODUCC SMALLINT, @b_Varia_Consumo_Talla BIT, @n_Cont_Talla SMALLINT, @s_Copia_Id_Tallas VARCHAR(255), @n_Pos SMALLINT, @n_Id_Talla SMALLINT, @f_Consumo FLOAT, @s_Insert_Cons_Talla VARCHAR(255), @n_Id_Material_Princ INTEGER, @s_Material_Princ VARCHAR(25), @b_MATERIAL_PRINCIPAL BIT, @s_Producto VARCHAR(80), @f_ConsumoBase FLOAT, @s_Ins_ProdFicha_Base VARCHAR(255), @s_Insert_ProdFicha VARCHAR(1255), @nItem SMALLINT, @n_IdMaterial INTEGER, @s_Consumos VARCHAR(255), @s_Item VARCHAR(25), @s_Insert_Consumos VARCHAR(255), @s_Ins_Values_ProdFicha VARCHAR(1255), @n_CartaColor INTEGER, @n_NUM_COLORES SMALLINT, @n_Id_Color INTEGER, @s_IdColor VARCHAR(25), @s_IdColores VARCHAR(100), @s_Select_Colores VARCHAR(1000), @s_Lista_Materiales VARCHAR(1255), @s_Ins_ProdFichCor_Base VARCHAR(1255), @s_IdColorCarta VARCHAR(25), @s_IdColoresCarta VARCHAR(100), @s_Copia_Id_ColoresCarta VARCHAR(100), @s_Ins_Values_ProdFichaCor VARCHAR(1255), @n_Id_ColorCarta INTEGER, @s_Cor_Producto VARCHAR(80), @s_Cor_Material VARCHAR(80), @n_Cont_Color SMALLINT, @s_Copia_Id_Colores VARCHAR(100), @s_Ins_ProdFichCor VARCHAR(255), @s_Cor_Material_Base VARCHAR(80), @n_Porcentaje SMALLINT, @s_NOMBRE_MATERIAL_PM VARCHAR(80), @s_Medida VARCHAR(80), @s_Medidas VARCHAR(80), @f_Medidas FLOAT, @n_NUM_Mat_Medidas SMALLINT, @n_Cont_Medidas SMALLINT, @s_Copia_Medidas VARCHAR(80), @b_Varia_Material_Talla BIT, @f_Medida FLOAT, @s_TejidoPrinc CHAR(1) -- Construcción de la sentencia INSERT para la Lista de Materiales en PRODUTOS_FICHA SELECT @s_Ins_ProdFicha_Base = ''INSERT INTO dbo.PRODUTOS_FICHA (ITEM,MATERIAL,PRODUTO,SETOR_PRODUCAO,FASE_PRODUCAO, CONSUMO_P_TAMANHO,MATERIAL_PRINCIPAL'' -- Construcción de la sentencia INSERT para la Lista de Colores en PRODUTOS_FICHA_COR SELECT @s_Ins_ProdFichCor_Base = ''INSERT INTO dbo.PRODUTOS_FICHA_COR (ITEM,PRODUTO,COR_PRODUTO,MATERIAL, COR_MATERIAL,MATERIAL_PRINCIPAL,PORCENTAGEM_CONSUMO)'' -- Determinamos el Material Principal, el Producto y la Carta de Color SELECT @s_Producto = GF_PRODUTO, @n_CartaColor = IDCARTA FROM VARCOLOR WHERE IDVARCOLOR=@IDVAR -- Se leen las tallas del Set de Tallas asociado al Producto Acabado. SELECT @nSizeSet = TSET FROM PRNDS P,VARCOLOR V WHERE P.CARPETA#=V.IDPRENDA AND V.IDVARCOLOR=@IDVAR SELECT @s_IdTallas = '''' SELECT @n_NUM_TALLAS = 0 SELECT @s_Insert_Cons_Talla = '''' DECLARE TALLAS_DEL_SET CURSOR FOR SELECT ID FROM TSIM WHERE IDSET=@nSizeSet ORDER BY IDTALLA OPEN TALLAS_DEL_SET FETCH NEXT FROM TALLAS_DEL_SET INTO @n_Id_Talla WHILE @@FETCH_STATUS=0 BEGIN SELECT @n_NUM_TALLAS = @n_NUM_TALLAS + 1 SELECT @s_IdTalla = CONVERT(VARCHAR(10),@n_Id_Talla) IF (@s_IdTallas != '''') BEGIN SELECT @s_IdTallas = @s_IdTallas + ''*'' END SELECT @s_IdTallas = @s_IdTallas + @s_IdTalla /* Se prepara la parte de la sentencia INSERT relativa a los consumos por talla*/ SELECT @s_Insert_Cons_Talla = @s_Insert_Cons_Talla + '',C'' + CONVERT(VARCHAR(2),@n_NUM_TALLAS) FETCH NEXT FROM TALLAS_DEL_SET INTO @n_Id_Talla END CLOSE TALLAS_DEL_SET DEALLOCATE TALLAS_DEL_SET SELECT @s_Insert_Consumos = @s_Insert_Cons_Talla + '')'' -- Se leen los colores de la Carta de Color asociada al Producto Acabado. SELECT @s_IdColoresCarta = '''' SELECT @n_NUM_COLORES = 0 SELECT @s_Select_Colores = '''' DECLARE COLORES_CARTA CURSOR FOR SELECT GF_COR_PRODUTO FROM GF_PRODUTO_CORES WHERE ID_CART_COL=@n_CartaColor ORDER BY ORDENPM OPEN COLORES_CARTA FETCH NEXT FROM COLORES_CARTA INTO @n_Id_Color WHILE @@FETCH_STATUS=0 BEGIN SELECT @n_NUM_COLORES = @n_NUM_COLORES + 1 SELECT @s_IdColorCarta = CONVERT(VARCHAR(10),@n_Id_Color) IF (@s_IdColoresCarta != '''') BEGIN SELECT @s_IdColoresCarta = @s_IdColoresCarta + ''*'' END SELECT @s_IdColoresCarta = @s_IdColoresCarta + @s_IdColorCarta /* Se prepara la parte de la sentencia SELECT para la LISTA_MATERIALES relativa a los colores*/ IF (@s_Select_Colores != '''') BEGIN SELECT @s_Select_Colores = @s_Select_Colores + ''+'' + '''''''' + ''*'' + '''''''' + ''+'' END ELSE SELECT @s_Select_Colores = '','' SELECT @s_Select_Colores = @s_Select_Colores + ''CONVERT(VARCHAR,COALESCE(C'' + CONVERT(VARCHAR(2),@n_NUM_COLORES) + '',-1))'' FETCH NEXT FROM COLORES_CARTA INTO @n_Id_Color END CLOSE COLORES_CARTA DEALLOCATE COLORES_CARTA -- Se recorren las filas de RCOMPVARCOLOR para extraer cada material SELECT @nItem = 0 SELECT @s_Lista_Materiales = ''DECLARE LISTA_MATERIALES CURSOR FOR SELECT IDCOMPVARCOLOR,IDTEJIDO,CONSUMO,TEJIDO_PRINC'' + @s_Select_Colores + '' FROM RCOMPVARCOLOR WHERE IDVARCOLOR=''+ CONVERT(VARCHAR,@IDVAR) + '' ORDER BY ORDENPM'' EXECUTE(@s_Lista_Materiales) OPEN LISTA_MATERIALES FETCH NEXT FROM LISTA_MATERIALES INTO @n_IdCompVarColor,@n_IdMaterial,@f_ConsumoBase,@s_TejidoPrinc,@s_IdColores WHILE @@FETCH_STATUS=0 BEGIN SELECT @s_GF_MATERIAL = GF_MATERIAL,@n_GF_SECTOR_PRODUC = GF_SETOR_PRODUCA,@n_GF_FASE_PRODUCC = GF_FASE_PRODUCAO, @s_NOMBRE_MATERIAL_PM = NOMBRE FROM ETEJI WHERE ID=@n_IdMaterial SELECT @s_GF_SETOR_PRODUCA = GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE ID=@n_GF_SECTOR_PRODUC SELECT @s_GF_FASE_PRODUCA = GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=@n_GF_FASE_PRODUCC -- Determinar si se trata del material principal SELECT @b_MATERIAL_PRINCIPAL = ISNULL(@s_TejidoPrinc,0) -- Extracción de las medidas por talla IF EXISTS (SELECT * FROM VARCOLOR_MDPT WHERE IDCOMPVARCOLOR=@n_IdCompVarColor) BEGIN SELECT @s_Medidas = '''' SELECT @n_NUM_Mat_Medidas = 0 DECLARE MEDIDASxTALLA CURSOR FOR SELECT DISTINCT(MEDIDA) FROM VARCOLOR_MDPT WHERE IDVARCOLOR=@IDVAR AND IDCOMPVARCOLOR=@n_IdCompVarColor OPEN MEDIDASxTALLA FETCH NEXT FROM MEDIDASxTALLA INTO @f_Medidas WHILE @@FETCH_STATUS=0 BEGIN IF (@s_Medidas != '''') SELECT @s_Medidas = @s_Medidas + ''*'' SELECT @s_Medidas = @s_Medidas + CONVERT(VARCHAR,@f_Medidas) SELECT @n_NUM_Mat_Medidas = @n_NUM_Mat_Medidas + 1 FETCH NEXT FROM MEDIDASxTALLA INTO @f_Medidas END CLOSE MEDIDASxTALLA DEALLOCATE MEDIDASxTALLA END ELSE BEGIN SELECT @n_NUM_Mat_Medidas = 1 END -- Extracción de los consumos por talla SELECT @n_Cont_Medidas = 1 SELECT @s_Copia_Medidas = @s_Medidas WHILE (@n_Cont_Medidas <= @n_NUM_Mat_Medidas) BEGIN -- Si @n_NUM_Mat_Medidas > 1 existe variacion de medidas del material por talla IF (@n_NUM_Mat_Medidas > 1) BEGIN -- Parsing de las medidas de material IF (@n_Cont_Medidas < @n_NUM_Mat_Medidas) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Medidas) SELECT @s_Medida = SUBSTRING(@s_Copia_Medidas,1,@n_Pos-1) SELECT @s_Copia_Medidas = RIGHT(@s_Copia_Medidas,LEN(@s_Copia_Medidas)-@n_Pos) END ELSE SELECT @s_Medida = @s_Copia_Medidas SELECT @s_GF_MATERIAL = GF_MATERIAL FROM ETEJI WHERE NOMBRE=@s_NOMBRE_MATERIAL_PM AND GF_L=CONVERT(FLOAT,@s_Medida) SELECT @b_Varia_Material_Talla = 1 END ELSE SELECT @b_Varia_Material_Talla = 0 IF EXISTS (SELECT * FROM VARCOLOR_CPT WHERE IDCOMPVARCOLOR=@n_IdCompVarColor) SELECT @b_Varia_Consumo_Talla = 1 ELSE SELECT @b_Varia_Consumo_Talla = 0 SELECT @s_Consumos = '''' SELECT @n_Cont_Talla = 1 SELECT @s_Copia_Id_Tallas = @s_IdTallas WHILE (@n_Cont_Talla <= @n_NUM_TALLAS) BEGIN -- Parsing de los Ids de talla IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Id_Tallas) SELECT @s_IdTalla = SUBSTRING(@s_Copia_Id_Tallas,1,@n_Pos-1) SELECT @s_Copia_Id_Tallas = RIGHT(@s_Copia_Id_Tallas,LEN(@s_Copia_Id_Tallas)-@n_Pos) END ELSE SELECT @s_IdTalla = @s_Copia_Id_Tallas SELECT @n_Id_Talla = CONVERT(SMALLINT,@s_IdTalla) -- Si existe variacion de medidas del material por talla se extrae el consumo para la talla @n_Id_Talla -- que puede venir de la tabla de consumos por talla, del consumo base o ser 0 si no se usa el material en esta talla IF (@b_Varia_Material_Talla = 1) BEGIN SELECT @f_Medida = MEDIDA FROM VARCOLOR_MDPT WHERE IDVARCOLOR=@IDVAR AND IDCOMPVARCOLOR=@n_IdCompVarColor AND IDTALLA=@n_Id_Talla IF (CONVERT(VARCHAR,@f_Medida) = @s_Medida) IF (@b_Varia_Consumo_Talla = 1) SELECT @f_Consumo = CANTIDAD FROM VARCOLOR_CPT WHERE IDCOMPVARCOLOR=@n_IdCompVarColor AND IDTALLA=@n_Id_Talla ELSE SELECT @f_Consumo = @f_ConsumoBase ELSE SELECT @f_Consumo = 0 END -- No existe variación de medidas del material por talla ELSE BEGIN IF (@b_Varia_Consumo_Talla = 1) SELECT @f_Consumo = CANTIDAD FROM VARCOLOR_CPT WHERE IDCOMPVARCOLOR=@n_IdCompVarColor AND IDTALLA=@n_Id_Talla ELSE SELECT @f_Consumo = @f_ConsumoBase END SELECT @s_Consumos = @s_Consumos + '','' + CONVERT(VARCHAR(10),@f_Consumo) SELECT @n_Cont_Talla = @n_Cont_Talla + 1 END IF (@b_Varia_Material_Talla = 1) SELECT @b_Varia_Consumo_Talla = 1 -- Se calcula el número de item como string SELECT @s_Item = RIGHT((''0000''+ RTRIM(CONVERT(VARCHAR(4),@nItem+1))),4) SELECT @s_Ins_Values_ProdFicha = ''('' + '''''''' + @s_Item + '''''''' + '','' + '''''''' + @s_GF_MATERIAL + '''''''' + '','' + '''''''' + @s_Producto + '''''''' + '','' + '''''''' + @s_GF_SETOR_PRODUCA + '''''''' + '','' + '''''''' + @s_GF_FASE_PRODUCA + '''''''' + '','' + CONVERT(VARCHAR(1),@b_Varia_Consumo_Talla) + '','' + CONVERT(VARCHAR(1),@b_MATERIAL_PRINCIPAL) + @s_Consumos + '')'' SELECT @s_Insert_ProdFicha = @s_Ins_ProdFicha_Base + @s_Insert_Consumos + '' VALUES '' + @s_Ins_Values_ProdFicha EXEC (@s_Insert_ProdFicha) -- Inserción de los colores SELECT @s_Cor_Material_Base = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=@n_IdMaterial) SELECT @n_Cont_Color = 1 SELECT @s_Copia_Id_Colores = @s_IdColores SELECT @s_Copia_Id_ColoresCarta = @s_IdColoresCarta WHILE (@n_Cont_Color <= @n_NUM_COLORES) BEGIN -- Parsing de los Ids de color del material y de la carta de color IF (@n_Cont_Color < @n_NUM_COLORES) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Id_Colores) SELECT @s_IdColor = SUBSTRING(@s_Copia_Id_Colores,1,@n_Pos-1) SELECT @s_Copia_Id_Colores = RIGHT(@s_Copia_Id_Colores,LEN(@s_Copia_Id_Colores)-@n_Pos) SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Id_ColoresCarta) SELECT @s_IdColorCarta = SUBSTRING(@s_Copia_Id_ColoresCarta,1,@n_Pos-1) SELECT @s_Copia_Id_ColoresCarta = RIGHT(@s_Copia_Id_ColoresCarta,LEN(@s_Copia_Id_ColoresCarta)-@n_Pos) END ELSE BEGIN SELECT @s_IdColor = @s_Copia_Id_Colores SELECT @s_IdColorCarta = @s_Copia_Id_ColoresCarta END SELECT @n_Id_ColorCarta = CONVERT(SMALLINT,@s_IdColorCarta) SELECT @n_Id_Color = CONVERT(SMALLINT,@s_IdColor) SELECT @s_Cor_Producto = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=@n_Id_ColorCarta SELECT @s_Cor_Material = '''' SELECT @s_Cor_Material = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=(SELECT GF_COR_MATERIAL FROM ETEJI WHERE ID=@n_Id_Color) -- Comprobamos que el color del material existe, -- Si no existe (celda blanca en PM) se pasa el color del material base y se asigna porcentaje consumo=0 -- En caso contrario, se asigna porcentaje consumo=100 IF (@s_Cor_Material = '''') BEGIN SELECT @s_Cor_Material = @s_Cor_Material_Base SELECT @n_Porcentaje = 0 END ELSE SELECT @n_Porcentaje = 100 SELECT @s_Ins_Values_ProdFichaCor = ''('' + '''''''' + @s_Item + '''''''' + '','' + '''''''' + @s_Producto + '''''''' + '','' + '''''''' + @s_Cor_Producto + '''''''' + '','' + '''''''' + @s_GF_MATERIAL + '''''''' + '','' + '''''''' + @s_Cor_Material + '''''''' + '','' + CONVERT(VARCHAR(1),@b_MATERIAL_PRINCIPAL) + '','' + CONVERT(VARCHAR(3),@n_Porcentaje) + '')'' SELECT @s_Ins_ProdFichCor = @s_Ins_ProdFichCor_Base + '' VALUES '' + @s_Ins_Values_ProdFichaCor EXEC (@s_Ins_ProdFichCor) SELECT @n_Cont_Color = @n_Cont_Color + 1 END SELECT @nItem = @nItem + 1 SELECT @n_Cont_Medidas = @n_Cont_Medidas + 1 END FETCH NEXT FROM LISTA_MATERIALES INTO @n_IdCompVarColor,@n_IdMaterial,@f_ConsumoBase,@s_TejidoPrinc,@s_IdColores END CLOSE LISTA_MATERIALES DEALLOCATE LISTA_MATERIALES ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CREAR_COMPOSICION]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [CREAR_COMPOSICION] @IDOBJETO INTEGER AS DECLARE @s_Composicion VARCHAR(6), @s_Desc_Compo VARCHAR(150) -- Rellenamos la Descripción de la Composición BEGIN SELECT @s_Composicion = GF_COMPOSICAO, @s_Desc_Compo = RTRIM(POR1MATERIA) + ''% ''+ MATERIA1 + '' '' + CASE WHEN CONVERT( INT, POR2MATERIA ) > 0 THEN RTRIM(POR2MATERIA) + ''% ''+ MATERIA2 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR3MATERIA ) > 0 THEN RTRIM(POR3MATERIA) + ''% ''+ MATERIA3 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR4MATERIA ) > 0 THEN RTRIM(POR4MATERIA) + ''% ''+ MATERIA4 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR5MATERIA ) > 0 THEN RTRIM(POR5MATERIA) + ''% ''+ MATERIA5 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR6MATERIA ) > 0 THEN RTRIM(POR6MATERIA) + ''% ''+ MATERIA6 + '' '' ELSE '' '' END FROM GF_MATERIAIS_COM WHERE ID = @IDOBJETO END UPDATE GF_MATERIAIS_COM SET GF_DESC_COMPOSIC = @s_Desc_Compo WHERE ID = @IDOBJETO -- Traspaso de datos a Linx -- Comprobamos si existe esta composición en Linx; si no, la insertamos IF NOT EXISTS( SELECT COMPOSICAO FROM MATERIAIS_COMPOSICAO WHERE COMPOSICAO = @s_Composicion ) BEGIN INSERT INTO MATERIAIS_COMPOSICAO (PASSADORIA_TEMPERATURA, DESC_COMPOSICAO, LAVAGEM_TEMPERATURA, LAVAGEM_COM_CLORADOS, LAVAR_A_SECO, SECAR_SECADORA, COMPOSICAO ) SELECT GF_PASSADORA_TEM, GF_DESC_COMPOSIC, GF_LAVAGEM_TEMPE, CONVERT( BIT, GF_LAVAGEM_COM_ ), CONVERT( BIT, GF_LAVAR_A_SECO ), CONVERT( BIT, GF_SECAR_A_SECAD ), GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CREAR_COMPOSICION_U]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [CREAR_COMPOSICION_U] @IDOBJETO INTEGER AS DECLARE @s_Composicion VARCHAR(6), @s_Desc_Compo VARCHAR(80) -- Actualizamos la Descripción de la Composición SELECT @s_Composicion = GF_COMPOSICAO, @s_Desc_Compo = RTRIM(POR1MATERIA) + ''% ''+ MATERIA1 + '' '' + CASE WHEN CONVERT( INT, POR2MATERIA ) > 0 THEN RTRIM(POR2MATERIA) + ''% ''+ MATERIA2 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR3MATERIA ) > 0 THEN RTRIM(POR3MATERIA) + ''% ''+ MATERIA3 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR4MATERIA ) > 0 THEN RTRIM(POR4MATERIA) + ''% ''+ MATERIA4 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR5MATERIA ) > 0 THEN RTRIM(POR5MATERIA) + ''% ''+ MATERIA5 + '' '' ELSE '' '' END + CASE WHEN CONVERT( INT, POR6MATERIA ) > 0 THEN RTRIM(POR6MATERIA) + ''% ''+ MATERIA6 + '' '' ELSE '' '' END FROM GF_MATERIAIS_COM WHERE ID = @IDOBJETO UPDATE GF_MATERIAIS_COM SET GF_DESC_COMPOSIC = @s_Desc_Compo WHERE ID = @IDOBJETO -- Traspaso de datos a Linx -- Comprobamos si existe esta composición en Linx y actualizamos IF NOT EXISTS( SELECT COMPOSICAO FROM MATERIAIS_COMPOSICAO WHERE COMPOSICAO = @s_Composicion ) BEGIN INSERT INTO MATERIAIS_COMPOSICAO (PASSADORIA_TEMPERATURA, DESC_COMPOSICAO, LAVAGEM_TEMPERATURA, LAVAGEM_COM_CLORADOS, LAVAR_A_SECO, SECAR_SECADORA, COMPOSICAO ) SELECT GF_PASSADORA_TEM, GF_DESC_COMPOSIC, GF_LAVAGEM_TEMPE, CONVERT( BIT, GF_LAVAGEM_COM_ ), CONVERT( BIT, GF_LAVAR_A_SECO ), CONVERT( BIT, GF_SECAR_A_SECAD ), GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion END ELSE BEGIN UPDATE MATERIAIS_COMPOSICAO SET PASSADORIA_TEMPERATURA = ( SELECT GF_PASSADORA_TEM FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ), DESC_COMPOSICAO = ( SELECT GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ), LAVAGEM_TEMPERATURA = ( SELECT GF_LAVAGEM_TEMPE FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ), LAVAGEM_COM_CLORADOS = ( SELECT GF_LAVAGEM_COM_ FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ), LAVAR_A_SECO = ( SELECT GF_LAVAR_A_SECO FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ), SECAR_SECADORA = ( SELECT GF_SECAR_A_SECAD FROM GF_MATERIAIS_COM WHERE GF_COMPOSICAO = @s_Composicion ) WHERE COMPOSICAO = @s_Composicion END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_ULTIMO_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_ULTIMO_INVENTARIO] AS SELECT RDX_V_INVENTARIOEDI.FECHA, RDX_V_INVENTARIOEDI.CENTRO, RDX_V_INVENTARIOEDI.FILIAL, RDX_V_INVENTARIOEDI.CODIGO, RDX_V_INVENTARIOEDI.PRODUCTO, RDX_V_INVENTARIOEDI.COLOR, RDX_V_INVENTARIOEDI.TALLA, SUM(RDX_V_INVENTARIOEDI.CANTIDAD) as CANTIDAD FROM RDX_V_INVENTARIOEDI LEFT JOIN RDX_V_INVENTARIO_MAXFECHAS ON (RDX_V_INVENTARIO_MAXFECHAS.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_INVENTARIO_MAXFECHAS.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND (RDX_V_INVENTARIO_MAXFECHAS.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND (RDX_V_INVENTARIO_MAXFECHAS.TALLA = RDX_V_INVENTARIOEDI.TALLA) WHERE (RDX_V_INVENTARIOEDI.TIPOCANT = ''145'') /*solo tendremos en cuenta los inventarios*/ AND (RDX_V_INVENTARIOEDI.FECHA = RDX_V_INVENTARIO_MAXFECHAS.FECHA) GROUP BY RDX_V_INVENTARIOEDI.FECHA, RDX_V_INVENTARIOEDI.CENTRO, RDX_V_INVENTARIOEDI.FILIAL, RDX_V_INVENTARIOEDI.CODIGO, RDX_V_INVENTARIOEDI.PRODUCTO, RDX_V_INVENTARIOEDI.COLOR, RDX_V_INVENTARIOEDI.TALLA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CALCULA_PONTEIRO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------- --- Procedimiento gf_calcula_ponteiro (solo para liberar un producto --- ---------------------------------------------------------------------------- CREATE PROCEDURE [GF_CALCULA_PONTEIRO] @IDVAR INT,@IDSET INT,@@S_PONTEIRO CHAR(48) OUTPUT AS DECLARE @n_varpreco int, @n_detalla1 int, @n_detalla2 int, @s_cadena varchar(48), @n_detalla3 int, @n_detalla4 int, @n_atalla1 int, @n_atalla2 int, @n_atalla3 int, @n_atalla4 int, @n_numtallas int, @idtalla int, @s_pdefecto varchar(48), @n_sw int SELECT @s_PDEFECTO = ''111111111111111111111111111111111111111111111111'' SELECT @n_detalla1=(select de_talla_1 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_detalla2=(select de_talla_2 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_detalla3=(select de_talla_3 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_detalla4=(select de_talla_4 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_atalla1 =(select a_talla_1 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_atalla2 =(select a_talla_2 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_atalla3=(select a_talla_3 from rango_talla_prec where idvarcolor=@idvar) SELECT @n_atalla4 =(select a_talla_4 from rango_talla_prec where idvarcolor=@idvar) select @S_CADENA='''' select @n_sw=0 BEGIN --- recorremos el set de tallas DECLARE TALLAS_DEL_SET CURSOR FOR SELECT ID FROM TSIM WHERE IDSET=@idset ORDER BY IDTALLA OPEN TALLAS_DEL_SET FETCH NEXT FROM TALLAS_DEL_SET INTO @idtalla WHILE @@FETCH_STATUS=0 BEGIN if @n_sw=0 begin set @n_sw=1 if @n_detalla1<>@idtalla begin -- global obliga a que el primer campo del intervalo sea igual a la primera talla del set update rango_talla_prec set de_talla_1=@idtalla where idvarcolor=@idvar set @n_detalla1=@idtalla end end if @idtalla >= @n_detalla1 and @idtalla<=@n_atalla1 set @s_cadena=@s_cadena+''1'' if @idtalla >= @n_detalla2 and @idtalla<= @n_atalla2 set @s_cadena=@s_cadena+''2'' if @idtalla >= @n_detalla3 and @idtalla<= @n_atalla3 set @s_cadena=@s_cadena+''3'' if @idtalla >= @n_detalla4 and @idtalla<= @n_atalla4 set @s_cadena=@s_cadena+''4'' FETCH NEXT FROM TALLAS_DEL_SET INTO @idtalla END CLOSE TALLAS_DEL_SET DEALLOCATE TALLAS_DEL_SET -- Completar el puntero hasta 48 unos select @s_cadena=@s_cadena+@s_pdefecto set @@s_ponteiro=@s_cadena END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [ETEJI_VIEW] AS SELECT TOP 100 PERCENT A.ID, A.NOMBRE + '' '' + B.COLOR AS REF, A.NOMBRE AS REFVAR, B.COLOR AS REFCOLOR FROM dbo.ETEJI A INNER JOIN dbo.GF_CORES_BASICAS B ON A.GF_COR_MATERIAL = B.ID ORDER BY A.NOMBRE, B.COLOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_VAL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [ETEJI_VAL] AS SELECT DISTINCT(A.GF_MATERIAL),ID=MIN(B.ID) FROM ETEJI A, ETEJI B WHERE A.GF_TIPO IN (SELECT ID FROM GF_MATERIAIS_TIP WHERE GF_TIPO=''Tejidos'' OR GF_TIPO=''?DEFINIR'') AND A.ID=B.ID AND A.GF_INATIVO=0 GROUP BY A.GF_MATERIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_VARELA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' create view [ETEJI_VARELA] as select *, ( case when left( ltrim(rtrim(GF_DES_COR_MATER)),1) in ( ''0'',''1'',''2'',''3'',''4'',''5'',''6'',''7'',''8'',''9'' ) then (case when charindex( '' '', ltrim(rtrim(GF_DES_COR_MATER)) ) > 0 then substring( ltrim(rtrim(GF_DES_COR_MATER)), charindex( '' '', ltrim(rtrim(GF_DES_COR_MATER)) )+1, len(ltrim(rtrim(GF_DES_COR_MATER))) ) + '' '' + substring( ltrim(rtrim(GF_DES_COR_MATER)), 1, charindex( '' '', ltrim(rtrim(GF_DES_COR_MATER)) ) ) else ltrim(rtrim(GF_DES_COR_MATER)) end ) else ltrim(rtrim(GF_DES_COR_MATER)) end ) as ref_color_fva from ETEJI ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_VARELAIMG]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' create view [ETEJI_VARELAIMG] as select * from ETEJIIMG ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' CREATE VIEW [RDX_V_CONTROL_INVENTARIO] AS SELECT CENTRO, CODIGO, PRODUCTO, COLOR, TIPO_PRODUCTO, GRUPO_PRODUCTO, COLECCION, I38, I40, I42, I44, I46, I48, TI = ISNULL(I38, 0) + ISNULL(I40, 0) + ISNULL(I42, 0) + ISNULL(I44, 0) + ISNULL(I46, 0) + ISNULL(I48, 0), K38, K40, K42, K44, K46, K48, TK = ISNULL(K38, 0) + ISNULL(K40, 0) + ISNULL(K42, 0) + ISNULL(K44, 0) + ISNULL(K46, 0) + ISNULL(K48, 0), D38 = ISNULL(I38, 0) - ISNULL(K38, 0), D40 = ISNULL(I40, 0) - ISNULL(K40, 0), D42 = ISNULL(I42, 0) - ISNULL(K42, 0), D44 = ISNULL(I44, 0) - ISNULL(K44, 0), D46 = ISNULL(I46, 0) - ISNULL(K46, 0), D48 = ISNULL(I48, 0) - ISNULL(K48, 0), DT = ISNULL(I38, 0) - ISNULL(K38, 0) + ISNULL(I40, 0) - ISNULL(K40, 0) + ISNULL(I42, 0) - ISNULL(K42, 0) + ISNULL(I44, 0) - ISNULL(K44, 0) + ISNULL(I46, 0) - ISNULL(K46, 0) + ISNULL(I48, 0) - ISNULL(K48, 0) FROM RDX_V_INVENTARIO_STOCK where ((ISNULL(I38, 0) - ISNULL(K38, 0) + ISNULL(I40, 0) - ISNULL(K40, 0) + ISNULL(I42, 0) - ISNULL(K42, 0) + ISNULL(I44, 0) - ISNULL(K44, 0) + ISNULL(I46, 0) - ISNULL(K46, 0) + ISNULL(I48, 0) - ISNULL(K48, 0)) <> 0) ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADOS_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [IACBORDADOS_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.ID,B.DESCRIP + '' '' + A.MODELO + '' '' + A.COLOR + '' '' + A.CODIGO,B.DESCRIP + '' '' + A.MODELO + '' '' + A.COLOR,A.CODIGO FROM IACBORDADOS A,DEFBORDADO B WHERE A.CODI=B.ID ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_AJUSTA_DET_MATERIALES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_SP_AJUSTA_DET_MATERIALES] @n_ID_MATERIAL INTEGER, @n_Varia_Precio_Medida SMALLINT AS DECLARE @n_Id INTEGER, @n_OrdenPM_Actual INTEGER, @n_OrdenPM_Anterior INTEGER, @s_Varia_Precio_Color CHAR(1) -- Control de eliminación de registros repetidos en ETEJI_PREC_C_T debidos a la creación de un material a partir de otro -- Parece que, al duplicar, se insertan las líneas por el trigger de inserción y por el propio evento de duplicar. IF ( @n_Varia_Precio_Medida = 2 ) OR ( @s_Varia_Precio_Color = ''1'' ) BEGIN DECLARE CS_BORRA_REPETIDOS CURSOR FOR SELECT ID, ORDENPM FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL ORDER BY ORDENPM, ID OPEN CS_BORRA_REPETIDOS FETCH NEXT FROM CS_BORRA_REPETIDOS INTO @n_Id, @n_OrdenPM_Actual SET @n_OrdenPM_Anterior = 0 WHILE @@FETCH_STATUS = 0 BEGIN IF ( @n_OrdenPM_Anterior = @n_OrdenPM_Actual ) BEGIN DELETE FROM ETEJI_PREC_C_T WHERE ID = @n_Id END SET @n_OrdenPM_Anterior = @n_OrdenPM_Actual FETCH NEXT FROM CS_BORRA_REPETIDOS INTO @n_Id, @n_OrdenPM_Actual END CLOSE CS_BORRA_REPETIDOS DEALLOCATE CS_BORRA_REPETIDOS END -- Actualizamos los colores insertados por duplicación a NO Transferidos a Linx DECLARE CURSOR_COLORES CURSOR FOR SELECT ID FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL declare @id int OPEN CURSOR_COLORES FETCH NEXT FROM CURSOR_COLORES INTO @id WHILE @@FETCH_STATUS = 0 BEGIN UPDATE ETEJI_COLOR SET TRANSFER=''0'' WHERE ID = @id FETCH NEXT FROM CURSOR_COLORES INTO @id END CLOSE CURSOR_COLORES DEALLOCATE CURSOR_COLORES ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CODIGO_PRODUCTO_U]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'/****** Objeto: procedimiento almacenado dbo.CODIGO_PRODUCTO_U fecha de la secuencia de comandos: 02/04/2001 11:51:12 ******/ CREATE PROCEDURE [CODIGO_PRODUCTO_U] @EMPRESA integer, @TEMPORADA integer, @MARCA integer, @SERIE CHAR(2), @GRUPO integer, @SUBGRUPO integer, @PRODUCTO CHAR(12), @IDPRENDA integer AS DECLARE @SEC CHAR(2), @COD CHAR(12), @EMP INTEGER, @MAR INTEGER, @TEM INTEGER, @PRE INTEGER, @MARID INTEGER, @TEMID INTEGER, @IDPRE INTEGER, @CODNUE CHAR(12), @SER CHAR(2) SET @COD=@PRODUCTO SET @EMP=@EMPRESA SET @MAR=@MARCA SET @SER=LEFT(@SERIE,2) SET @TEM=@TEMPORADA SET @PRE=@IDPRENDA SET @MARID=(SELECT ID FROM GF_PRODUTOS_GRIF WHERE CODIGO=LEFT(@COD,2)) SET @TEMID=(SELECT ID FROM GF_COLECOES WHERE GF_COLECAO=SUBSTRING(@COD,3,1)) SET @IDPRE=(SELECT CARPETA# FROM PRNDS WHERE SERIE=SUBSTRING(@COD,4,2)) BEGIN TRANSACTION IF NOT EXISTS (SELECT SECUENCIAL FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER) BEGIN INSERT INTO SECUENCIAL (EMPRESA,TEMPORADA,MARCA,SERIE,SECUENCIAL) VALUES (@EMP,@TEM,@MAR,@SER,''01'') END COMMIT TRANSACTION BEGIN TRANSACTION UPDATE SECUENCIAL SET CODIGO=@PRODUCTO WHERE EMPRESA=@EMP AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER COMMIT TRANSACTION IF @COD='''' BEGIN GOTO NUEVO END ELSE GOTO FINAL NUEVO: BEGIN --BEGIN TRANSACTION SELECT @CODNUE=A.CODIGO+B.GF_COLECAO+LEFT(C.SERIE,2)+D.SECUENCIAL FROM GF_PRODUTOS_GRIF A, GF_COLECOES B, PRNDS C, SECUENCIAL D WHERE A.ID=@MARCA AND B.ID=@TEM AND C.CARPETA#=@IDPRENDA AND D.EMPRESA=@EMPRESA AND D.TEMPORADA=@TEM AND D.MARCA=@MAR AND D.SERIE=@SER UPDATE SECUENCIAL SET CODIGO=@CODNUE WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER IF (SELECT CONVERT(INT,SECUENCIAL)+1 FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER)>9 BEGIN UPDATE SECUENCIAL SET SECUENCIAL=RIGHT(''0''+CONVERT(CHAR(2),CONVERT(INT,SECUENCIAL)+1),2) WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER END IF (SELECT CONVERT(INT,SECUENCIAL)+1 FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER)<10 BEGIN UPDATE SECUENCIAL SET SECUENCIAL=RIGHT(''0''+CONVERT(CHAR(1),CONVERT(INT,SECUENCIAL)+1),2) WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER END --COMMIT TRANSACTION --SELECT CODIGO FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER GOTO FINAL END DADO: IF @MARID IS NULL BEGIN PRINT ''El código de Marca que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @MARID!=@MAR BEGIN PRINT ''El código de Marca que forma parte del Codigo no coincide con la Marca de la Serie'' GOTO MALO END IF @TEMID IS NULL BEGIN PRINT ''El código de Temporada que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @TEMID!=@TEM BEGIN PRINT ''El código de Temporada que forma parte del Codigo no coincide con la Temporada de la Serie'' GOTO MALO END IF @IDPRE IS NULL BEGIN PRINT ''El código de Serie que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @IDPRE!=@PRE BEGIN PRINT ''El código de la Serie que forma parte del Codigo no coincide con la Serie'' GOTO MALO END ELSE BEGIN GOTO BUENO END GOTO FINAL MALO: PRINT ''Código incorrecto'' BUENO: PRINT ''Código Valido'' FINAL: RETURN' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CODIGO_PRODUCTO_I]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'/****** Objeto: procedimiento almacenado dbo.CODIGO_PRODUCTO_I fecha de la secuencia de comandos: 02/04/2001 11:51:12 ******/ CREATE PROCEDURE [CODIGO_PRODUCTO_I] @EMPRESA integer, @TEMPORADA integer, @MARCA integer, @SERIE CHAR(2), @GRUPO integer, @SUBGRUPO integer, @PRODUCTO CHAR(12), @IDPRENDA integer AS DECLARE @SEC CHAR(2), @COD CHAR(12), @EMP INTEGER, @MAR INTEGER, @TEM INTEGER, @PRE INTEGER, @MARID INTEGER, @TEMID INTEGER, @IDPRE INTEGER, @CODNUE CHAR(12), @SER CHAR(2) SET @COD=@PRODUCTO SET @EMP=@EMPRESA SET @MAR=@MARCA SET @SER=LEFT(@SERIE,2) SET @TEM=@TEMPORADA SET @PRE=@IDPRENDA SET @MARID=(SELECT ID FROM GF_PRODUTOS_GRIF WHERE CODIGO=LEFT(@COD,2)) SET @TEMID=(SELECT ID FROM GF_COLECOES WHERE GF_COLECAO=SUBSTRING(@COD,3,1)) SET @IDPRE=(SELECT CARPETA# FROM PRNDS WHERE SERIE=SUBSTRING(@COD,4,2)) BEGIN TRANSACTION IF NOT EXISTS (SELECT SECUENCIAL FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER) BEGIN INSERT INTO SECUENCIAL (EMPRESA,TEMPORADA,MARCA,SERIE,SECUENCIAL) VALUES (@EMP,@TEM,@MAR,@SER,''01'') END COMMIT TRANSACTION BEGIN TRANSACTION UPDATE SECUENCIAL SET CODIGO=@PRODUCTO WHERE EMPRESA=@EMP AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER COMMIT TRANSACTION IF @COD='''' BEGIN GOTO NUEVO END ELSE GOTO FINAL NUEVO: BEGIN --BEGIN TRANSACTION SELECT @CODNUE=A.CODIGO+B.GF_COLECAO+LEFT(C.SERIE,2)+D.SECUENCIAL FROM GF_PRODUTOS_GRIF A, GF_COLECOES B, PRNDS C, SECUENCIAL D WHERE A.ID=@MARCA AND B.ID=@TEM AND C.CARPETA#=@IDPRENDA AND D.EMPRESA=@EMPRESA AND D.TEMPORADA=@TEM AND D.MARCA=@MAR AND D.SERIE=@SER UPDATE SECUENCIAL SET CODIGO=@CODNUE WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER IF (SELECT CONVERT(INT,SECUENCIAL)+1 FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER)>9 BEGIN UPDATE SECUENCIAL SET SECUENCIAL=RIGHT(''0''+CONVERT(CHAR(2),CONVERT(INT,SECUENCIAL)+1),2) WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER END IF (SELECT CONVERT(INT,SECUENCIAL)+1 FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER)<10 BEGIN UPDATE SECUENCIAL SET SECUENCIAL=RIGHT(''0''+CONVERT(CHAR(1),CONVERT(INT,SECUENCIAL)+1),2) WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER END --COMMIT TRANSACTION --SELECT CODIGO FROM SECUENCIAL WHERE EMPRESA=@EMPRESA AND TEMPORADA=@TEM AND MARCA=@MAR AND SERIE=@SER GOTO FINAL END DADO: IF @MARID IS NULL BEGIN PRINT ''El código de Marca que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @MARID!=@MAR BEGIN PRINT ''El código de Marca que forma parte del Codigo no coincide con la Marca de la Serie'' GOTO MALO END IF @TEMID IS NULL BEGIN PRINT ''El código de Temporada que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @TEMID!=@TEM BEGIN PRINT ''El código de Temporada que forma parte del Codigo no coincide con la Temporada de la Serie'' GOTO MALO END IF @IDPRE IS NULL BEGIN PRINT ''El código de Serie que forma parte del Codigo de producto no existe'' GOTO MALO END ELSE IF @IDPRE!=@PRE BEGIN PRINT ''El código de la Serie que forma parte del Codigo no coincide con la Serie'' GOTO MALO END ELSE BEGIN GOTO BUENO END GOTO FINAL MALO: PRINT ''Código incorrecto'' BUENO: PRINT ''Código Valido'' FINAL: RETURN' END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[IACBORDADO2_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [IACBORDADO2_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.ID,A.NOMBRE + '' '' + A.COLOR,A.NOMBRE,A.COLOR FROM IACBORDADO2 A' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_LAV_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [GF_MATERIAIS_LAV_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.ID,B.NOMBRE + '' '' + A.GF_RESTRICAO_LAV,B.NOMBRE ,A.GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV A,FACT B WHERE A.EMP=B.ID ' GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_PRODUTOS_TIPO_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [GF_PRODUTOS_TIPO_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.ID,B.NOMBRE + '' '' + A.GF_TIPO_PRODUTO,B.NOMBRE ,A.GF_TIPO_PRODUTO FROM GF_PRODUTOS_TIPO A,FACT B WHERE A.EMP=B.ID ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_VARCOLOR_PRECIOS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------- --- Procedimiento para cargar los colores del fabricante en produto_cores ----- ---------------------------------------------------------------------------------- CREATE PROCEDURE [GF_SP_VARCOLOR_PRECIOS] @s_producto char(12),@idvar int AS -- Procedimiento para pasar a Global los costes de reposicion -- a la tabla produto_cores (Abr 2003 Eva Igl.) -- Modificado para FELIPE VARELA 19/05/2003: Eva Igl. declare @n_contador int, @cont_1 int, @s_cadena varchar(255), @s_color int, @color varchar(24) select @n_contador=1 -- Se obtienen los colores de la carta de color de la variante -- FELIPE VARELA: declare curscarta cursor for select id, gf_cor from gf_cores_basicas where id IN (select gf_cor_produto from gf_produto_cores where id_cart_col=(select idcarta from varcolor where idvarcolor=@idvar)) -- ORIGINAL: select gf_cor_produto, cod_cor from gf_produto_cores where id_cart_col=(select idcarta from varcolor where idvarcolor=@idvar) open curscarta fetch next from curscarta into @s_color, @color while @@fetch_status=0 begin select @cont_1=1 while @cont_1<=4 begin select @s_cadena=''Update produto_cores set preco_reposicao_''+ convert(char(1),@cont_1) +''= (select R''+ convert(char(1),@cont_1) +'' from varcolor_precios where idvarcolor= ''+ convert(varchar(6),@idvar)+ '' and gf_cor_produto = ''+ convert(varchar(4),@s_color)+'' and R''+ convert(char(1),@cont_1) +'' is not null and R''+ convert(char(1),@cont_1) +''<>0 ) ''+ '' Where produto=''+''''''''+@s_producto+''''''''+'' and cor_produto= ''+''''''''+@color+'''''''' execute ( @s_cadena ) select @S_cadena='''' select @s_cadena=''Update produto_cores set preco_a_vista_reposicao_''+ convert(char(1),@cont_1) +''= (select R''+ convert(char(1),@cont_1) +'' from varcolor_precios where idvarcolor= ''+ convert(varchar(6),@idvar)+ '' and gf_cor_produto = ''+ convert(varchar(4),@s_color)+'' and R''+ convert(char(1),@cont_1) +'' is not null and R''+ convert(char(1),@cont_1) +''<>0 ) ''+ '' Where produto=''+''''''''+@s_producto+''''''''+'' and cor_produto= ''+''''''''+@color+'''''''' execute ( @s_cadena ) select @cont_1=@cont_1+1 end fetch next from curscarta into @s_color, @color select @n_contador=@n_contador+1 select @s_cadena='''' end close curscarta deallocate curscarta ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_COLORFAB]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'---------------------------------------------------------------------------------- --- Procedimiento para cargar los colores del fabricante en produto_cores ----- ---------------------------------------------------------------------------------- CREATE PROCEDURE [GF_SP_COLORFAB] @s_producto char(12),@idvar int AS -- Procedimiento para cargar los colores del fabricante -- en la tabla produto_cores (Abr 2003 Salvador bp) declare @n_contador int, @s_cadena varchar(255), @s_color varchar(24) select @n_contador=1 -- Se recorre la carta de color de la variante declare curscarta cursor for -- ORIGINAL: select cod_cor from gf_produto_cores where id_cart_col=(select idcarta from varcolor where idvarcolor=@idvar) -- FELIPE VARELA: select gf_cor from gf_cores_basicas where id in (select gf_cor_produto from gf_produto_cores where id_cart_col=(select idcarta from varcolor where idvarcolor=@idvar)) order by gf_cor open curscarta fetch next from curscarta into @s_color while @@fetch_status=0 begin select @s_cadena=''Update produto_cores set cor_fabricante=(select C''+ convert(varchar(3),@n_contador)+'' from colorfab where idvarcolor= ''+ convert(varchar(6),@idvar)+'') ''+ '' Where produto=''+''''''''+rtrim(@s_producto)+''''''''+'' and cor_produto= ''+''''''''+@s_color+'''''''' execute ( @s_cadena ) fetch next from curscarta into @s_color select @n_contador=@n_contador+1 select @s_cadena='''' end close curscarta deallocate curscarta ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[TABLAS_APOYO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [TABLAS_APOYO] AS DECLARE @APOYO VARCHAR(64), @SQLCOMAND VARCHAR(128) DECLARE APOYO CURSOR FOR SELECT TABLA FROM TABLA_CONTADOR_REGISTROS WHERE NUMREG>0 OPEN APOYO FETCH NEXT FROM APOYO INTO @APOYO WHILE @@FETCH_STATUS=0 BEGIN PRINT @APOYO SET @SQLCOMAND=''SELECT * FROM ''+@APOYO EXECUTE (@SQLCOMAND) FETCH NEXT FROM APOYO INTO @APOYO END CLOSE APOYO DEALLOCATE APOYO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[CUENTA_REGISTROS_TABLAS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [CUENTA_REGISTROS_TABLAS] AS /**/ /****** Objeto: procedimiento almacenado dbo.TABLA_CONTADOR_REGISTROS fecha de la secuencia de comandos: 02/04/2001 11:51:12 ******/ DELETE TABLA_CONTADOR_REGISTROS DECLARE @TBNAME VARCHAR(48), @NUMREG INTEGER, @SQLCOMMAND VARCHAR(250), @SQLCOMMAND2 VARCHAR(250) --DECLARE ASD CURSOR FOR SELECT TABLA FROM TABLAS_BD_GFT DECLARE ASD CURSOR FOR SELECT NAME FROM SYSOBJECTS WHERE TYPE LIKE ''U'' OPEN ASD FETCH NEXT FROM ASD INTO @TBNAME IF @@ROWCOUNT>=0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN --SELECT @NUMREG=(SELECT COUNT(1) FROM @TBNAME ) SELECT @SQLCOMMAND=''INSERT INTO TABLA_CONTADOR_REGISTROS (TABLA) VALUES ("'' + @TBNAME +''")'' SELECT @SQLCOMMAND2=''UPDATE TABLA_CONTADOR_REGISTROS SET NUMREG=(SELECT COUNT(1) FROM ''+ @TBNAME +'') WHERE TABLA LIKE "''+@TBNAME+''"'' EXEC (@SQLCOMMAND) EXEC (@SQLCOMMAND2) FETCH NEXT FROM ASD INTO @TBNAME END CLOSE ASD DEALLOCATE ASD END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GetNMaxValColSegunTbCnts]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [GetNMaxValColSegunTbCnts] @Table varchar(30), @ColName varchar(30), @MaxVal integer output, @Default integer, @NValues integer as declare @ComandoSQL varchar(100) declare @MaxIdPlus1 integer declare @return_status integer select @MaxVal=@Default begin transaction execute @return_status = SgtesClaves @Table,@NValues,@nKey=@MaxIdPlus1 output if (@return_status=0) begin select @MaxVal = @MaxIdPlus1 - 1 commit transaction return (0) end rollback transaction execute @return_status = CreaContador @Table,@ColName if (@return_status<>0) return (-36) begin transaction execute @return_status = SgtesClaves @Table,@NValues,@nKey=@MaxIdPlus1 output if (@return_status=0) begin select @MaxVal = @MaxIdPlus1 - 1 commit transaction return (0) end rollback transaction return @return_status ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_REFERENCIAS_RESUELTAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' CREATE VIEW [RDX_V_REFERENCIAS_RESUELTAS] AS SELECT * FROM RDX_REFERENCIA_GENERICA WHERE ESTADO = ''R'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_GET_MESSAGE]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_GET_MESSAGE] @nError INTEGER, @sParam1 VARCHAR(50), @sParam2 VARCHAR(50), @nLangID SMALLINT, @sMessage VARCHAR(255) OUTPUT AS -- Procedimiento para obtener la descripción del error @nError de la tabla SISMESSAGES -- Realizado por: Bernardo Castellanos -- Fecha: 17-05-02 -- Buscamos la descripción del error @nError en la tabla SISMESSAGES en el idioma @nLangID SELECT @sMessage = DESCRIPTION FROM SISMESSAGES WHERE ERROR=@nError AND MSGLANGID=@nLangID -- Se sustituyen los parametros opcionales @sParam1 y @sParam2 SELECT @sMessage = REPLACE(@sMessage,''%s1'',@sParam1) SELECT @sMessage = REPLACE(@sMessage,''%s2'',@sParam2) ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ACTUALIZA_SECUENCIA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'/****** Objeto: procedimiento almacenado dbo.ACTUALIZA_SECUENCIA fecha de la secuencia de comandos: 02/04/2001 11:51:12 ******/ CREATE PROCEDURE [ACTUALIZA_SECUENCIA] @SUBGRUPO integer AS DECLARE @ORDEN INTEGER, @SECUENCIAL VARCHAR(4), @NSECUENCIAL VARCHAR(8) SELECT @SECUENCIAL=(SELECT GF_CODIGO_SEQUEN FROM GF_PRODUTOS_SUBG WHERE ID=@SUBGRUPO) BEGIN SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+1 -- SELECT @NSECUENCIAL=RIGHT(''0000''+LTRIM(CONVERT(CHAR(4),@ORDEN)),4) SELECT @NSECUENCIAL=RIGHT(''000''+LTRIM(CONVERT(CHAR(4),@ORDEN)),3) PRINT @NSECUENCIAL UPDATE GF_PRODUTOS_SUBG SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID=@SUBGRUPO END RETURN' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ACTUALIZA_SECUENCIAL_PRODUCTO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [GF_ACTUALIZA_SECUENCIAL_PRODUCTO] @GRUPO_PRODUCTO INT,@SUBGRUPO_PRODUCTO INT AS DECLARE @NSECUENCIAL VARCHAR(8), @s_SUBGRUPO VARCHAR(80) BEGIN SELECT @s_SUBGRUPO = GF_SUBGRUPO_PROD FROM GF_PRODUTOS_SUBG WHERE ID=@SUBGRUPO_PRODUCTO SELECT @NSECUENCIAL=RIGHT(''0000''+LTRIM(CONVERT(VARCHAR(4),CONVERT(INT,GF_CODIGO_SEQUEN)+1)),4) FROM GF_PRODUTOS_SUBG WHERE ID_GRUPO=@GRUPO_PRODUCTO AND GF_SUBGRUPO_PROD=@s_SUBGRUPO UPDATE GF_PRODUTOS_SUBG SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=@GRUPO_PRODUCTO AND GF_SUBGRUPO_PROD=@s_SUBGRUPO END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_DEVOLUCIONES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' CREATE VIEW [RDX_V_CONTROL_DEVOLUCIONES] AS SELECT APROBADO = ISNULL(RDX_DEVOLUCION_AJUSTES.APROBADO, ''N''), RDX_DEVOLUCION_AJUSTES.FECHACAMBIO, RDX_V_DEVOLUCIONES.CENTRO, RDX_V_DEVOLUCIONES.FILIAL, RDX_V_DEVOLUCIONES.CODIGO, RDX_V_DEVOLUCIONES.PRODUCTO, RDX_V_DEVOLUCIONES.COLOR, RDX_V_DEVOLUCIONES.FECHA, /* HOJA DE MOVIMIENTOS Y ESTADO */ RDX_V_DEVOLUCIONES.NUMHOJA, RDX_V_DEVOLUCIONES.ESTADO_HOJA, RDX_V_DEVOLUCIONES.OBSERVACIONES_HOJA, RDX_V_DEVOLUCIONES.CONTABILIZAR_HOJA, /* CANTIDADES SOLICITADAS DESDE VARELA */ S38, S40, S42, S44, S46, S48, RDX_V_DEVOLUCIONES.SOLICITADO, /* CANTIDADES ENVIADAS DESDE EL CENTRO*/ E38, E40, E42, E44, E46, E48, RDX_V_DEVOLUCIONES.ENVIADO, /* CANTIDADES ENVIADAS RECTIFICADAS */ ER38 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, E38), ER40 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, E40), ER42 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, E42), ER44 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT44, E44), ER46 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT46, E46), ER48 = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT48, E48), ENVIADO_RECT = ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(E38, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, ISNULL(E40, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(E42, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT44, ISNULL(E44, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT46, ISNULL(E46, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT48, ISNULL(E48, 0)), DIFERENCIA = ( ISNULL(RDX_DEVOLUCION_AJUSTES.CANT38, ISNULL(E38, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT40, ISNULL(E40, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT42, ISNULL(E42, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT44, ISNULL(E44, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT46, ISNULL(E46, 0)) + ISNULL(RDX_DEVOLUCION_AJUSTES.CANT48, ISNULL(E48, 0)) ) - SOLICITADO FROM RDX_V_DEVOLUCIONES LEFT OUTER JOIN RDX_DEVOLUCION_AJUSTES ON ((RDX_DEVOLUCION_AJUSTES.FECHA = RDX_V_DEVOLUCIONES.FECHA) AND (RDX_DEVOLUCION_AJUSTES.CENTRO = RDX_V_DEVOLUCIONES.CENTRO) AND (RDX_DEVOLUCION_AJUSTES.CODIGO = RDX_V_DEVOLUCIONES.CODIGO) AND (RDX_DEVOLUCION_AJUSTES.COLOR = RDX_V_DEVOLUCIONES.COLOR)) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Ver2_Estoque_PA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Ver2_Estoque_PA] /*---[VERSAO: 4.0]---*/ @Filial VARCHAR(25)=''%'',@Colecao Desc_Combo=''%'',@Produto Char(12)=''%'', @Cor_Produto Char(10)=''%'',@Corrige Char(1)=''N'',@ProcessaLog Char(1)=''N'',@GeraLog Char(1)=''S'' AS set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @InsertCount SmallInt,@LogStatus Char(1),@Status Int,@eProduto Char(12),@eCor_Produto Char(10),@eFilial VarChar(25),@tQtde Int,@tVerNull Int, @tEstoque Int,@Sequencial Int,@fFilial VarChar(25),@StatusFiliais Int,@t1 Int,@t2 Int,@t3 Int,@t4 Int,@t5 Int,@t6 Int,@t7 Int,@t8 Int, @t9 Int,@t10 Int,@t11 Int,@t12 Int,@t13 Int,@t14 Int,@t15 Int,@t16 Int,@t17 Int,@t18 Int,@t19 Int,@t20 Int,@t21 Int,@t22 Int,@t23 Int,@t24 Int, @t25 Int,@t26 Int,@t27 Int,@t28 Int,@t29 Int,@t30 Int,@t31 Int,@t32 Int,@t33 Int,@t34 Int,@t35 Int,@t36 Int,@t37 Int,@t38 Int,@t39 Int,@t40 Int, @t41 Int,@t42 Int,@t43 Int,@t44 Int,@t45 Int,@t46 Int,@t47 Int,@t48 Int,@ett Int,@e1 Int,@e2 Int,@e3 Int,@e4 Int,@e5 Int,@e6 Int,@e7 Int,@e8 Int, @e9 Int,@e10 Int,@e11 Int,@e12 Int,@e13 Int,@e14 Int,@e15 Int,@e16 Int,@e17 Int,@e18 Int,@e19 Int,@e20 Int,@e21 Int,@e22 Int,@e23 Int,@e24 Int, @e25 Int,@e26 Int,@e27 Int,@e28 Int,@e29 Int,@e30 Int,@e31 Int,@e32 Int,@e33 Int,@e34 Int,@e35 Int,@e36 Int,@e37 Int,@e38 Int,@e39 Int,@e40 Int, @e41 Int,@e42 Int,@e43 Int,@e44 Int,@e45 Int,@e46 Int,@e47 Int,@e48 Int,@lModulo Char(25),@lTabela VarChar(100),@lDescricao VarChar(255), @lChave VarChar(100),@lStatus Char(1), @nEstoque_Prod1_Ent Int,@nEstoque_Prod1_Sai Int,@nFaturamento_Prod Int,@nEntradas_Produto Int, @nEntradas_Pro_Devol Int,@nEstoque_Prod_ctg_Ajuste Int,@nLoja_Resumo_Produto Int,@nLoja_Resumo_Troca Int,@nLoja_Saidas_Produto Int,@nLoja_Entradas_Produto Int,@nFaturam_Dev_Prod int SELECT @Filial=''%'',@Produto=''%'',@Cor_Produto=''%'',@Corrige=''S'',@GeraLog=''N'' WHERE @ProcessaLog=''S'' SELECT @LogStatus='' '' WHERE @Corrige<>''S'' SELECT @LogStatus=''O'' WHERE @Corrige=''S'' DECLARE Cur_Filiais SCROLL CURSOR FOR SELECT DISTINCT Filial FROM Filiais WHERE Filial LIKE RTRIM(@Filial) OPEN Cur_Filiais SELECT @StatusFiliais=0 WHILE @StatusFiliais!=-1 BEGIN FETCH NEXT FROM Cur_Filiais INTO @fFilial SELECT @StatusFiliais=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @nEstoque_Prod1_Ent=(SELECT DISTINCT COUNT(Filial) FROM Estoque_Prod1_Ent WHERE Filial=@fFilial) SELECT @nEstoque_Prod1_Sai=(SELECT DISTINCT COUNT(Filial) FROM Estoque_Prod1_Sai WHERE Filial=@fFilial) SELECT @nFaturamento_Prod=(SELECT DISTINCT COUNT(Filial) FROM Faturamento_Prod WHERE Filial=@fFilial) SELECT @nFaturam_Dev_Prod=(SELECT DISTINCT COUNT(Filial) FROM Faturam_Dev_Prod WHERE Filial=@fFilial) SELECT @nEntradas_Produto=(SELECT DISTINCT COUNT(Filial) FROM Entradas WHERE Filial=@fFilial) SELECT @nEntradas_Pro_Devol=(SELECT DISTINCT COUNT(Filial) FROM Entradas_Pro_Devol WHERE Filial=@fFilial) SELECT @nEstoque_Prod_ctg_Ajuste=(SELECT DISTINCT COUNT(Filial) FROM Estoque_Prod_Contagem WHERE Filial=@fFilial) SELECT @nLoja_Resumo_Produto=(SELECT DISTINCT COUNT(Filial) FROM Loja_Resumo_Produto WHERE Filial=@fFilial) SELECT @nLoja_Resumo_Troca=(SELECT DISTINCT COUNT(Filial) FROM Loja_Resumo_Troca WHERE Filial=@fFilial) SELECT @nLoja_Saidas_Produto=(SELECT DISTINCT COUNT(Filial) FROM Loja_Saidas_Produto WHERE Filial=@fFilial) SELECT @nLoja_Entradas_Produto=(SELECT DISTINCT COUNT(Filial) FROM Loja_Entradas_Produto WHERE Filial=@fFilial) IF @ProcessaLog=''N'' DECLARE Cur_Estoque_Produtos SCROLL CURSOR FOR SELECT DISTINCT Filial,Estoque_Produtos.Produto,Cor_Produto,CONVERT(Int,ISNULL(Estoque,0)), CONVERT(Int,ISNULL(es1,0)),CONVERT(Int,ISNULL(es2,0)),CONVERT(Int,ISNULL(es3,0)),CONVERT(Int,ISNULL(es4,0)),CONVERT(Int,ISNULL(es5,0)),CONVERT(Int,ISNULL(es6,0)),CONVERT(Int,ISNULL(es7,0)),CONVERT(Int,ISNULL(es8,0)),CONVERT(Int,ISNULL(es9,0)),CONVERT(Int,ISNULL(es10,0)),CONVERT(Int,ISNULL(es11,0)),CONVERT(Int,ISNULL(es12,0)), CONVERT(Int,ISNULL(es13,0)),CONVERT(Int,ISNULL(es14,0)),CONVERT(Int,ISNULL(es15,0)),CONVERT(Int,ISNULL(es16,0)),CONVERT(Int,ISNULL(es17,0)),CONVERT(Int,ISNULL(es18,0)),CONVERT(Int,ISNULL(es19,0)),CONVERT(Int,ISNULL(es20,0)),CONVERT(Int,ISNULL(es21,0)),CONVERT(Int,ISNULL(es22,0)),CONVERT(Int,ISNULL(es23,0)),CONVERT(Int,ISNULL(es24,0)), CONVERT(Int,ISNULL(es25,0)),CONVERT(Int,ISNULL(es26,0)),CONVERT(Int,ISNULL(es27,0)),CONVERT(Int,ISNULL(es28,0)),CONVERT(Int,ISNULL(es29,0)),CONVERT(Int,ISNULL(es30,0)),CONVERT(Int,ISNULL(es31,0)),CONVERT(Int,ISNULL(es32,0)),CONVERT(Int,ISNULL(es33,0)),CONVERT(Int,ISNULL(es34,0)),CONVERT(Int,ISNULL(es35,0)),CONVERT(Int,ISNULL(es36,0)), CONVERT(Int,ISNULL(es37,0)),CONVERT(Int,ISNULL(es38,0)),CONVERT(Int,ISNULL(es39,0)),CONVERT(Int,ISNULL(es40,0)),CONVERT(Int,ISNULL(es41,0)),CONVERT(Int,ISNULL(es42,0)),CONVERT(Int,ISNULL(es43,0)),CONVERT(Int,ISNULL(es44,0)),CONVERT(Int,ISNULL(es45,0)),CONVERT(Int,ISNULL(es46,0)),CONVERT(Int,ISNULL(es47,0)),CONVERT(Int,ISNULL(es48,0)) FROM Estoque_Produtos LEFT JOIN Produtos ON Estoque_Produtos.Produto=Produtos.Produto WHERE Filial=RTRIM(@fFilial) AND Estoque_Produtos.Produto LIKE RTRIM(@Produto) AND Cor_Produto LIKE RTRIM(@Cor_Produto) AND Colecao LIKE RTRIM(@Colecao) IF @ProcessaLog=''S'' DECLARE Cur_Estoque_Produtos SCROLL CURSOR FOR SELECT DISTINCT Filial,Estoque_Produtos.Produto,Cor_Produto,CONVERT(Int,ISNULL(Estoque,0)), CONVERT(Int,ISNULL(es1,0)),CONVERT(Int,ISNULL(es2,0)),CONVERT(Int,ISNULL(es3,0)),CONVERT(Int,ISNULL(es4,0)),CONVERT(Int,ISNULL(es5,0)),CONVERT(Int,ISNULL(es6,0)),CONVERT(Int,ISNULL(es7,0)),CONVERT(Int,ISNULL(es8,0)),CONVERT(Int,ISNULL(es9,0)),CONVERT(Int,ISNULL(es10,0)),CONVERT(Int,ISNULL(es11,0)),CONVERT(Int,ISNULL(es12,0)), CONVERT(Int,ISNULL(es13,0)),CONVERT(Int,ISNULL(es14,0)),CONVERT(Int,ISNULL(es15,0)),CONVERT(Int,ISNULL(es16,0)),CONVERT(Int,ISNULL(es17,0)),CONVERT(Int,ISNULL(es18,0)),CONVERT(Int,ISNULL(es19,0)),CONVERT(Int,ISNULL(es20,0)),CONVERT(Int,ISNULL(es21,0)),CONVERT(Int,ISNULL(es22,0)),CONVERT(Int,ISNULL(es23,0)),CONVERT(Int,ISNULL(es24,0)), CONVERT(Int,ISNULL(es25,0)),CONVERT(Int,ISNULL(es26,0)),CONVERT(Int,ISNULL(es27,0)),CONVERT(Int,ISNULL(es28,0)),CONVERT(Int,ISNULL(es29,0)),CONVERT(Int,ISNULL(es30,0)),CONVERT(Int,ISNULL(es31,0)),CONVERT(Int,ISNULL(es32,0)),CONVERT(Int,ISNULL(es33,0)),CONVERT(Int,ISNULL(es34,0)),CONVERT(Int,ISNULL(es35,0)),CONVERT(Int,ISNULL(es36,0)), CONVERT(Int,ISNULL(es37,0)),CONVERT(Int,ISNULL(es38,0)),CONVERT(Int,ISNULL(es39,0)),CONVERT(Int,ISNULL(es40,0)),CONVERT(Int,ISNULL(es41,0)),CONVERT(Int,ISNULL(es42,0)),CONVERT(Int,ISNULL(es43,0)),CONVERT(Int,ISNULL(es44,0)),CONVERT(Int,ISNULL(es45,0)),CONVERT(Int,ISNULL(es46,0)),CONVERT(Int,ISNULL(es47,0)),CONVERT(Int,ISNULL(es48,0)) FROM Estoque_Produtos,Log_Calculo WHERE Modulo=''ESTOQUE PA'' AND Status=''P'' AND Chave=RTRIM(Produto)+RTRIM(Cor_Produto)+RTRIM(Filial) AND Estoque_Produtos.Filial=RTRIM(@fFilial) OPEN Cur_Estoque_Produtos SELECT @Status=0 WHILE @Status !=-1 BEGIN FETCH NEXT FROM Cur_Estoque_Produtos INTO @eFilial,@eProduto,@eCor_Produto,@ett, @e1,@e2,@e3,@e4,@e5,@e6,@e7,@e8,@e9,@e10,@e11,@e12,@e13,@e14,@e15,@e16,@e17,@e18,@e19,@e20,@e21,@e22,@e23,@e24, @e25,@e26,@e27,@e28,@e29,@e30,@e31,@e32,@e33,@e34,@e35,@e36,@e37,@e38,@e39,@e40,@e41,@e42,@e43,@e44,@e45,@e46,@e47,@e48 SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @tEstoque=0, @t1=0,@t2=0,@t3=0,@t4=0,@t5=0,@t6=0,@t7=0,@t8=0,@t9=0,@t10=0,@t11=0,@t12=0,@t13=0,@t14=0,@t15=0,@t16=0, @t17=0,@t18=0,@t19=0,@t20=0,@t21=0,@t22=0,@t23=0,@t24=0,@t25=0,@t26=0,@t27=0,@t28=0,@t29=0,@t30=0,@t31=0,@t32=0, @t33=0,@t34=0,@t35=0,@t36=0,@t37=0,@t38=0,@t39=0,@t40=0,@t41=0,@t42=0,@t43=0,@t44=0,@t45=0,@t46=0,@t47=0,@t48=0 IF @nEstoque_Prod1_Ent > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Qtde),0),@tQtde=ISNULL(SUM(Qtde),0), @tVerNull=SUM(en_1+en_2+en_3+en_4+en_5+en_6+en_7+en_8+en_9+en_10+en_11+en_12+en_13+en_14+en_15+en_16+en_17+en_18+en_19+en_20+en_21+en_22+en_23+en_24+en_25+en_26+en_27+en_28+en_29+en_30+en_31+en_32+ en_33+en_34+en_35+en_36+en_37+en_38+en_39+en_40+en_41+en_42+en_43+en_44+en_45+en_46+en_47+en_48),@t1=@t1+ISNULL(SUM(en_1),0),@t2=@t2+ISNULL(SUM(en_2),0),@t3=@t3+ISNULL(SUM(en_3),0), @t4=@t4+ISNULL(SUM(en_4),0),@t5=@t5+ISNULL(SUM(en_5),0),@t6=@t6+ISNULL(SUM(en_6),0),@t7=@t7+ISNULL(SUM(en_7),0),@t8=@t8+ISNULL(SUM(en_8),0),@t9=@t9+ISNULL(SUM(en_9),0), @t10=@t10+ISNULL(SUM(en_10),0),@t11=@t11+ISNULL(SUM(en_11),0),@t12=@t12+ISNULL(SUM(en_12),0),@t13=@t13+ISNULL(SUM(en_13),0),@t14=@t14+ISNULL(SUM(en_14),0),@t15=@t15+ISNULL(SUM(en_15),0),@t16=@t16+ISNULL(SUM(en_16),0), @t17=@t17+ISNULL(SUM(en_17),0),@t18=@t18+ISNULL(SUM(en_18),0),@t19=@t19+ISNULL(SUM(en_19),0),@t20=@t20+ISNULL(SUM(en_20),0),@t21=@t21+ISNULL(SUM(en_21),0),@t22=@t22+ISNULL(SUM(en_22),0),@t23=@t23+ISNULL(SUM(en_23),0), @t24=@t24+ISNULL(SUM(en_24),0),@t25=@t25+ISNULL(SUM(en_25),0),@t26=@t26+ISNULL(SUM(en_26),0),@t27=@t27+ISNULL(SUM(en_27),0),@t28=@t28+ISNULL(SUM(en_28),0),@t29=@t29+ISNULL(SUM(en_29),0),@t30=@t30+ISNULL(SUM(en_30),0), @t31=@t31+ISNULL(SUM(en_31),0),@t32=@t32+ISNULL(SUM(en_32),0),@t33=@t33+ISNULL(SUM(en_33),0),@t34=@t34+ISNULL(SUM(en_34),0),@t35=@t35+ISNULL(SUM(en_35),0),@t36=@t36+ISNULL(SUM(en_36),0),@t37=@t37+ISNULL(SUM(en_37),0), @t38=@t38+ISNULL(SUM(en_38),0),@t39=@t39+ISNULL(SUM(en_39),0),@t40=@t40+ISNULL(SUM(en_40),0),@t41=@t41+ISNULL(SUM(en_41),0),@t42=@t42+ISNULL(SUM(en_42),0),@t43=@t43+ISNULL(SUM(en_43),0),@t44=@t44+ISNULL(SUM(en_44),0), @t45=@t45+ISNULL(SUM(en_45),0),@t46=@t46+ISNULL(SUM(en_46),0),@t47=@t47+ISNULL(SUM(en_47),0),@t48=@t48+ISNULL(SUM(en_48),0) FROM Estoque_Prod1_Ent WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ESTOQUE_PROD1_ENT'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7) ) END IF (@LogStatus=''O'') UPDATE Estoque_Prod1_Ent SET Qtde=(ISNULL(en_1,0)+ISNULL(en_2,0)+ISNULL(en_3,0)+ISNULL(en_4,0)+ISNULL(en_5,0)+ISNULL(en_6,0)+ISNULL(en_7,0)+ISNULL(en_8,0)+ISNULL(en_9,0)+ISNULL(en_10,0)+ISNULL(en_11,0)+ISNULL(en_12,0)+ ISNULL(en_13,0)+ISNULL(en_14,0)+ISNULL(en_15,0)+ISNULL(en_16,0)+ISNULL(en_17,0)+ISNULL(en_18,0)+ISNULL(en_19,0)+ISNULL(en_20,0)+ISNULL(en_21,0)+ISNULL(en_22,0)+ISNULL(en_23,0)+ISNULL(en_24,0)+ ISNULL(en_25,0)+ISNULL(en_26,0)+ISNULL(en_27,0)+ISNULL(en_28,0)+ISNULL(en_29,0)+ISNULL(en_30,0)+ISNULL(en_31,0)+ISNULL(en_32,0)+ISNULL(en_33,0)+ISNULL(en_34,0)+ISNULL(en_35,0)+ISNULL(en_36,0)+ ISNULL(en_37,0)+ISNULL(en_38,0)+ISNULL(en_39,0)+ISNULL(en_40,0)+ISNULL(en_41,0)+ISNULL(en_42,0)+ISNULL(en_43,0)+ISNULL(en_44,0)+ISNULL(en_45,0)+ISNULL(en_46,0)+ISNULL(en_47,0)+ISNULL(en_48,0)), en_1=ISNULL(en_1,0),en_2=ISNULL(en_2,0),en_3=ISNULL(en_3,0),en_4=ISNULL(en_4,0),en_5=ISNULL(en_5,0),en_6=ISNULL(en_6,0),en_7=ISNULL(en_7,0),en_8=ISNULL(en_8,0),en_9=ISNULL(en_9,0),en_10=ISNULL(en_10,0),en_11=ISNULL(en_11,0),en_12=ISNULL(en_12,0), en_13=ISNULL(en_13,0),en_14=ISNULL(en_14,0),en_15=ISNULL(en_15,0),en_16=ISNULL(en_16,0),en_17=ISNULL(en_17,0),en_18=ISNULL(en_18,0),en_19=ISNULL(en_19,0),en_20=ISNULL(en_20,0),en_21=ISNULL(en_21,0),en_22=ISNULL(en_22,0),en_23=ISNULL(en_23,0),en_24=ISNULL(en_24,0), en_25=ISNULL(en_25,0),en_26=ISNULL(en_26,0),en_27=ISNULL(en_27,0),en_28=ISNULL(en_28,0),en_29=ISNULL(en_29,0),en_30=ISNULL(en_30,0),en_31=ISNULL(en_31,0),en_32=ISNULL(en_32,0),en_33=ISNULL(en_33,0),en_34=ISNULL(en_34,0),en_35=ISNULL(en_35,0),en_36=ISNULL(en_36,0), en_37=ISNULL(en_37,0),en_38=ISNULL(en_38,0),en_39=ISNULL(en_39,0),en_40=ISNULL(en_40,0),en_41=ISNULL(en_41,0),en_42=ISNULL(en_42,0),en_43=ISNULL(en_43,0),en_44=ISNULL(en_44,0),en_45=ISNULL(en_45,0),en_46=ISNULL(en_46,0),en_47=ISNULL(en_47,0),en_48=ISNULL(en_48,0) FROM Estoque_Prod1_Ent WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ESTOQUE_PROD1_ENT'' AND Descricao LIKE ''%Possui Total%'' END END IF @nEstoque_Prod1_Sai > 0 BEGIN SELECT @tEstoque=@tEstoque-ISNULL(SUM(Qtde),0),@tQtde=ISNULL(SUM(Qtde),0), @tVerNull=SUM(sa_1+sa_2+sa_3+sa_4+sa_5+sa_6+sa_7+sa_8+sa_9+sa_10+sa_11+sa_12+sa_13+sa_14+sa_15+sa_16+sa_17+sa_18+sa_19+sa_20+sa_21+sa_22+sa_23+sa_24+sa_25+sa_26+sa_27+sa_28+sa_29+sa_30+sa_31+sa_32+sa_33+sa_34+sa_35+sa_36+sa_37+sa_38+sa_39+sa_40+sa_41+sa_42+sa_43+sa_44+sa_45+sa_46+sa_47+sa_48), @t1=@t1-ISNULL(SUM(sa_1),0),@t2=@t2-ISNULL(SUM(sa_2),0),@t3=@t3-ISNULL(SUM(sa_3),0),@t4=@t4-ISNULL(SUM(sa_4),0),@t5=@t5-ISNULL(SUM(sa_5),0),@t6=@t6-ISNULL(SUM(sa_6),0),@t7=@t7-ISNULL(SUM(sa_7),0),@t8=@t8-ISNULL(SUM(sa_8),0),@t9=@t9-ISNULL(SUM(sa_9),0), @t10=@t10-ISNULL(SUM(sa_10),0),@t11=@t11-ISNULL(SUM(sa_11),0),@t12=@t12-ISNULL(SUM(sa_12),0),@t13=@t13-ISNULL(SUM(sa_13),0),@t14=@t14-ISNULL(SUM(sa_14),0),@t15=@t15-ISNULL(SUM(sa_15),0),@t16=@t16-ISNULL(SUM(sa_16),0),@t17=@t17-ISNULL(SUM(sa_17),0),@t18=@t18-ISNULL(SUM(sa_18),0), @t19=@t19-ISNULL(SUM(sa_19),0),@t20=@t20-ISNULL(SUM(sa_20),0),@t21=@t21-ISNULL(SUM(sa_21),0),@t22=@t22-ISNULL(SUM(sa_22),0),@t23=@t23-ISNULL(SUM(sa_23),0),@t24=@t24-ISNULL(SUM(sa_24),0),@t25=@t25-ISNULL(SUM(sa_25),0),@t26=@t26-ISNULL(SUM(sa_26),0),@t27=@t27-ISNULL(SUM(sa_27),0), @t28=@t28-ISNULL(SUM(sa_28),0),@t29=@t29-ISNULL(SUM(sa_29),0),@t30=@t30-ISNULL(SUM(sa_30),0),@t31=@t31-ISNULL(SUM(sa_31),0),@t32=@t32-ISNULL(SUM(sa_32),0),@t33=@t33-ISNULL(SUM(sa_33),0),@t34=@t34-ISNULL(SUM(sa_34),0),@t35=@t35-ISNULL(SUM(sa_35),0),@t36=@t36-ISNULL(SUM(sa_36),0), @t37=@t37-ISNULL(SUM(sa_37),0),@t38=@t38-ISNULL(SUM(sa_38),0),@t39=@t39-ISNULL(SUM(sa_39),0),@t40=@t40-ISNULL(SUM(sa_40),0),@t41=@t41-ISNULL(SUM(sa_41),0),@t42=@t42-ISNULL(SUM(sa_42),0),@t43=@t43-ISNULL(SUM(sa_43),0),@t44=@t44-ISNULL(SUM(sa_44),0),@t45=@t45-ISNULL(SUM(sa_45),0), @t46=@t46-ISNULL(SUM(sa_46),0),@t47=@t47-ISNULL(SUM(sa_47),0),@t48=@t48-ISNULL(SUM(sa_48),0) FROM Estoque_Prod1_Sai WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ESTOQUE_PROD1_SAI'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7) ) END IF (@LogStatus=''O'') UPDATE Estoque_Prod1_Sai SET Qtde=(ISNULL(sa_1,0)+ISNULL(sa_2,0)+ISNULL(sa_3,0)+ISNULL(sa_4,0)+ISNULL(sa_5,0)+ISNULL(sa_6,0)+ISNULL(sa_7,0)+ISNULL(sa_8,0)+ISNULL(sa_9,0)+ISNULL(sa_10,0)+ISNULL(sa_11,0)+ISNULL(sa_12,0)+ ISNULL(sa_13,0)+ISNULL(sa_14,0)+ISNULL(sa_15,0)+ISNULL(sa_16,0)+ISNULL(sa_17,0)+ISNULL(sa_18,0)+ISNULL(sa_19,0)+ISNULL(sa_20,0)+ISNULL(sa_21,0)+ISNULL(sa_22,0)+ISNULL(sa_23,0)+ISNULL(sa_24,0)+ ISNULL(sa_25,0)+ISNULL(sa_26,0)+ISNULL(sa_27,0)+ISNULL(sa_28,0)+ISNULL(sa_29,0)+ISNULL(sa_30,0)+ISNULL(sa_31,0)+ISNULL(sa_32,0)+ISNULL(sa_33,0)+ISNULL(sa_34,0)+ISNULL(sa_35,0)+ISNULL(sa_36,0)+ ISNULL(sa_37,0)+ISNULL(sa_38,0)+ISNULL(sa_39,0)+ISNULL(sa_40,0)+ISNULL(sa_41,0)+ISNULL(sa_42,0)+ISNULL(sa_43,0)+ISNULL(sa_44,0)+ISNULL(sa_45,0)+ISNULL(sa_46,0)+ISNULL(sa_47,0)+ISNULL(sa_48,0)), sa_1=ISNULL(sa_1,0),sa_2=ISNULL(sa_2,0),sa_3=ISNULL(sa_3,0),sa_4=ISNULL(sa_4,0),sa_5=ISNULL(sa_5,0),sa_6=ISNULL(sa_6,0),sa_7=ISNULL(sa_7,0),sa_8=ISNULL(sa_8,0),sa_9=ISNULL(sa_9,0),sa_10=ISNULL(sa_10,0),sa_11=ISNULL(sa_11,0),sa_12=ISNULL(sa_12,0), sa_13=ISNULL(sa_13,0),sa_14=ISNULL(sa_14,0),sa_15=ISNULL(sa_15,0),sa_16=ISNULL(sa_16,0),sa_17=ISNULL(sa_17,0),sa_18=ISNULL(sa_18,0),sa_19=ISNULL(sa_19,0),sa_20=ISNULL(sa_20,0),sa_21=ISNULL(sa_21,0),sa_22=ISNULL(sa_22,0),sa_23=ISNULL(sa_23,0),sa_24=ISNULL(sa_24,0), sa_25=ISNULL(sa_25,0),sa_26=ISNULL(sa_26,0),sa_27=ISNULL(sa_27,0),sa_28=ISNULL(sa_28,0),sa_29=ISNULL(sa_29,0),sa_30=ISNULL(sa_30,0),sa_31=ISNULL(sa_31,0),sa_32=ISNULL(sa_32,0),sa_33=ISNULL(sa_33,0),sa_34=ISNULL(sa_34,0),sa_35=ISNULL(sa_35,0),sa_36=ISNULL(sa_36,0), sa_37=ISNULL(sa_37,0),sa_38=ISNULL(sa_38,0),sa_39=ISNULL(sa_39,0),sa_40=ISNULL(sa_40,0),sa_41=ISNULL(sa_41,0),sa_42=ISNULL(sa_42,0),sa_43=ISNULL(sa_43,0),sa_44=ISNULL(sa_44,0),sa_45=ISNULL(sa_45,0),sa_46=ISNULL(sa_46,0),sa_47=ISNULL(sa_47,0),sa_48=ISNULL(sa_48,0) FROM Estoque_Prod1_Sai WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ESTOQUE_PROD1_SAI'' AND Descricao LIKE ''%Possui Total%'' END END IF @nFaturamento_Prod > 0 BEGIN SELECT @tEstoque=@tEstoque-ISNULL(SUM(Qtde),0),@tQtde=ISNULL(SUM(Qtde),0), @tVerNull=SUM(f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14+f15+f16+f17+f18+f19+f20+f21+f22+f23+f24+f25+f26+f27+f28+f29+f30+f31+f32+f33+f34+f35+f36+f37+f38+f39+f40+f41+f42+f43+f44+f45+f46+f47+f48), @t1=@t1-ISNULL(SUM(f1),0),@t2=@t2-ISNULL(SUM(f2),0),@t3=@t3-ISNULL(SUM(f3),0),@t4=@t4-ISNULL(SUM(f4),0),@t5=@t5-ISNULL(SUM(f5),0),@t6=@t6-ISNULL(SUM(f6),0), @t7=@t7-ISNULL(SUM(f7),0),@t8=@t8-ISNULL(SUM(f8),0),@t9=@t9-ISNULL(SUM(f9),0),@t10=@t10-ISNULL(SUM(f10),0),@t11=@t11-ISNULL(SUM(f11),0),@t12=@t12-ISNULL(SUM(f12),0), @t13=@t13-ISNULL(SUM(f13),0),@t14=@t14-ISNULL(SUM(f14),0),@t15=@t15-ISNULL(SUM(f15),0),@t16=@t16-ISNULL(SUM(f16),0),@t17=@t17-ISNULL(SUM(f17),0),@t18=@t18-ISNULL(SUM(f18),0), @t19=@t19-ISNULL(SUM(f19),0),@t20=@t20-ISNULL(SUM(f20),0),@t21=@t21-ISNULL(SUM(f21),0),@t22=@t22-ISNULL(SUM(f22),0),@t23=@t23-ISNULL(SUM(f23),0),@t24=@t24-ISNULL(SUM(f24),0), @t25=@t25-ISNULL(SUM(f25),0),@t26=@t26-ISNULL(SUM(f26),0),@t27=@t27-ISNULL(SUM(f27),0),@t28=@t28-ISNULL(SUM(f28),0),@t29=@t29-ISNULL(SUM(f29),0),@t30=@t30-ISNULL(SUM(f30),0), @t31=@t31-ISNULL(SUM(f31),0),@t32=@t32-ISNULL(SUM(f32),0),@t33=@t33-ISNULL(SUM(f33),0),@t34=@t34-ISNULL(SUM(f34),0),@t35=@t35-ISNULL(SUM(f35),0),@t36=@t36-ISNULL(SUM(f36),0), @t37=@t37-ISNULL(SUM(f37),0),@t38=@t38-ISNULL(SUM(f38),0),@t39=@t39-ISNULL(SUM(f39),0),@t40=@t40-ISNULL(SUM(f40),0),@t41=@t41-ISNULL(SUM(f41),0),@t42=@t42-ISNULL(SUM(f42),0), @t43=@t43-ISNULL(SUM(f43),0),@t44=@t44-ISNULL(SUM(f44),0),@t45=@t45-ISNULL(SUM(f45),0),@t46=@t46-ISNULL(SUM(f46),0),@t47=@t47-ISNULL(SUM(f47),0),@t48=@t48-ISNULL(SUM(f48),0) FROM Faturamento_Prod WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''FATURAMENTO_PROD'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7) ) END IF (@LogStatus=''O'') UPDATE Faturamento_Prod SET Qtde=(ISNULL(f1,0)+ISNULL(f2,0)+ISNULL(f3,0)+ISNULL(f4,0)+ISNULL(f5,0)+ISNULL(f6,0)+ISNULL(f7,0)+ISNULL(f8,0)+ISNULL(f9,0)+ISNULL(f10,0)+ISNULL(f11,0)+ISNULL(f12,0)+ ISNULL(f13,0)+ISNULL(f14,0)+ISNULL(f15,0)+ISNULL(f16,0)+ISNULL(f17,0)+ISNULL(f18,0)+ISNULL(f19,0)+ISNULL(f20,0)+ISNULL(f21,0)+ISNULL(f22,0)+ISNULL(f23,0)+ISNULL(f24,0)+ ISNULL(f25,0)+ISNULL(f26,0)+ISNULL(f27,0)+ISNULL(f28,0)+ISNULL(f29,0)+ISNULL(f30,0)+ISNULL(f31,0)+ISNULL(f32,0)+ISNULL(f33,0)+ISNULL(f34,0)+ISNULL(f35,0)+ISNULL(f36,0)+ ISNULL(f37,0)+ISNULL(f38,0)+ISNULL(f39,0)+ISNULL(f40,0)+ISNULL(f41,0)+ISNULL(f42,0)+ISNULL(f43,0)+ISNULL(f44,0)+ISNULL(f45,0)+ISNULL(f46,0)+ISNULL(f47,0)+ISNULL(f48,0)), f1=ISNULL(f1,0),f2=ISNULL(f2,0),f3=ISNULL(f3,0),f4=ISNULL(f4,0),f5=ISNULL(f5,0),f6=ISNULL(f6,0),f7=ISNULL(f7,0),f8=ISNULL(f8,0),f9=ISNULL(f9,0),f10=ISNULL(f10,0),f11=ISNULL(f11,0),f12=ISNULL(f12,0), f13=ISNULL(f13,0),f14=ISNULL(f14,0),f15=ISNULL(f15,0),f16=ISNULL(f16,0),f17=ISNULL(f17,0),f18=ISNULL(f18,0),f19=ISNULL(f19,0),f20=ISNULL(f20,0),f21=ISNULL(f21,0),f22=ISNULL(f22,0),f23=ISNULL(f23,0),f24=ISNULL(f24,0), f25=ISNULL(f25,0),f26=ISNULL(f26,0),f27=ISNULL(f27,0),f28=ISNULL(f28,0),f29=ISNULL(f29,0),f30=ISNULL(f30,0),f31=ISNULL(f31,0),f32=ISNULL(f32,0),f33=ISNULL(f33,0),f34=ISNULL(f34,0),f35=ISNULL(f35,0),f36=ISNULL(f36,0), f37=ISNULL(f37,0),f38=ISNULL(f38,0),f39=ISNULL(f39,0),f40=ISNULL(f40,0),f41=ISNULL(f41,0),f42=ISNULL(f42,0),f43=ISNULL(f43,0),f44=ISNULL(f44,0),f45=ISNULL(f45,0),f46=ISNULL(f46,0),f47=ISNULL(f47,0),f48=ISNULL(f48,0) FROM Faturamento_Prod WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''FATURAMENTO_PROD'' AND Descricao LIKE ''%Possui Total%'' END END IF @nFaturam_Dev_Prod > 0 BEGIN SELECT @tEstoque=@tEstoque-ISNULL(SUM(Qtde),0),@tQtde=ISNULL(SUM(Qtde),0), @tVerNull=SUM(f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14+f15+f16+f17+f18+f19+f20+f21+f22+f23+f24+f25+f26+f27+f28+f29+f30+f31+f32+f33+f34+f35+f36+f37+f38+f39+f40+f41+f42+f43+f44+f45+f46+f47+f48), @t1=@t1-ISNULL(SUM(f1),0),@t2=@t2-ISNULL(SUM(f2),0),@t3=@t3-ISNULL(SUM(f3),0),@t4=@t4-ISNULL(SUM(f4),0),@t5=@t5-ISNULL(SUM(f5),0),@t6=@t6-ISNULL(SUM(f6),0), @t7=@t7-ISNULL(SUM(f7),0),@t8=@t8-ISNULL(SUM(f8),0),@t9=@t9-ISNULL(SUM(f9),0),@t10=@t10-ISNULL(SUM(f10),0),@t11=@t11-ISNULL(SUM(f11),0),@t12=@t12-ISNULL(SUM(f12),0), @t13=@t13-ISNULL(SUM(f13),0),@t14=@t14-ISNULL(SUM(f14),0),@t15=@t15-ISNULL(SUM(f15),0),@t16=@t16-ISNULL(SUM(f16),0),@t17=@t17-ISNULL(SUM(f17),0),@t18=@t18-ISNULL(SUM(f18),0), @t19=@t19-ISNULL(SUM(f19),0),@t20=@t20-ISNULL(SUM(f20),0),@t21=@t21-ISNULL(SUM(f21),0),@t22=@t22-ISNULL(SUM(f22),0),@t23=@t23-ISNULL(SUM(f23),0),@t24=@t24-ISNULL(SUM(f24),0), @t25=@t25-ISNULL(SUM(f25),0),@t26=@t26-ISNULL(SUM(f26),0),@t27=@t27-ISNULL(SUM(f27),0),@t28=@t28-ISNULL(SUM(f28),0),@t29=@t29-ISNULL(SUM(f29),0),@t30=@t30-ISNULL(SUM(f30),0), @t31=@t31-ISNULL(SUM(f31),0),@t32=@t32-ISNULL(SUM(f32),0),@t33=@t33-ISNULL(SUM(f33),0),@t34=@t34-ISNULL(SUM(f34),0),@t35=@t35-ISNULL(SUM(f35),0),@t36=@t36-ISNULL(SUM(f36),0), @t37=@t37-ISNULL(SUM(f37),0),@t38=@t38-ISNULL(SUM(f38),0),@t39=@t39-ISNULL(SUM(f39),0),@t40=@t40-ISNULL(SUM(f40),0),@t41=@t41-ISNULL(SUM(f41),0),@t42=@t42-ISNULL(SUM(f42),0), @t43=@t43-ISNULL(SUM(f43),0),@t44=@t44-ISNULL(SUM(f44),0),@t45=@t45-ISNULL(SUM(f45),0),@t46=@t46-ISNULL(SUM(f46),0),@t47=@t47-ISNULL(SUM(f47),0),@t48=@t48-ISNULL(SUM(f48),0) FROM Faturam_Dev_Prod WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''FATURAM_DEV_PROD'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7) ) END IF (@LogStatus=''O'') UPDATE Faturam_Dev_Prod SET Qtde=(ISNULL(f1,0)+ISNULL(f2,0)+ISNULL(f3,0)+ISNULL(f4,0)+ISNULL(f5,0)+ISNULL(f6,0)+ISNULL(f7,0)+ISNULL(f8,0)+ISNULL(f9,0)+ISNULL(f10,0)+ISNULL(f11,0)+ISNULL(f12,0)+ ISNULL(f13,0)+ISNULL(f14,0)+ISNULL(f15,0)+ISNULL(f16,0)+ISNULL(f17,0)+ISNULL(f18,0)+ISNULL(f19,0)+ISNULL(f20,0)+ISNULL(f21,0)+ISNULL(f22,0)+ISNULL(f23,0)+ISNULL(f24,0)+ ISNULL(f25,0)+ISNULL(f26,0)+ISNULL(f27,0)+ISNULL(f28,0)+ISNULL(f29,0)+ISNULL(f30,0)+ISNULL(f31,0)+ISNULL(f32,0)+ISNULL(f33,0)+ISNULL(f34,0)+ISNULL(f35,0)+ISNULL(f36,0)+ ISNULL(f37,0)+ISNULL(f38,0)+ISNULL(f39,0)+ISNULL(f40,0)+ISNULL(f41,0)+ISNULL(f42,0)+ISNULL(f43,0)+ISNULL(f44,0)+ISNULL(f45,0)+ISNULL(f46,0)+ISNULL(f47,0)+ISNULL(f48,0)), f1=ISNULL(f1,0),f2=ISNULL(f2,0),f3=ISNULL(f3,0),f4=ISNULL(f4,0),f5=ISNULL(f5,0),f6=ISNULL(f6,0),f7=ISNULL(f7,0),f8=ISNULL(f8,0),f9=ISNULL(f9,0),f10=ISNULL(f10,0),f11=ISNULL(f11,0),f12=ISNULL(f12,0), f13=ISNULL(f13,0),f14=ISNULL(f14,0),f15=ISNULL(f15,0),f16=ISNULL(f16,0),f17=ISNULL(f17,0),f18=ISNULL(f18,0),f19=ISNULL(f19,0),f20=ISNULL(f20,0),f21=ISNULL(f21,0),f22=ISNULL(f22,0),f23=ISNULL(f23,0),f24=ISNULL(f24,0), f25=ISNULL(f25,0),f26=ISNULL(f26,0),f27=ISNULL(f27,0),f28=ISNULL(f28,0),f29=ISNULL(f29,0),f30=ISNULL(f30,0),f31=ISNULL(f31,0),f32=ISNULL(f32,0),f33=ISNULL(f33,0),f34=ISNULL(f34,0),f35=ISNULL(f35,0),f36=ISNULL(f36,0), f37=ISNULL(f37,0),f38=ISNULL(f38,0),f39=ISNULL(f39,0),f40=ISNULL(f40,0),f41=ISNULL(f41,0),f42=ISNULL(f42,0),f43=ISNULL(f43,0),f44=ISNULL(f44,0),f45=ISNULL(f45,0),f46=ISNULL(f46,0),f47=ISNULL(f47,0),f48=ISNULL(f48,0) WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''FATURAM_DEV_PROD'' AND Descricao LIKE ''%Possui Total%'' END END IF @nEntradas_Produto > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Total_Entradas),0),@tQtde=ISNULL(SUM(Total_Entradas),0), @tVerNull=SUM(en1+en2+en3+en4+en5+en6+en7+en8+en9+en10+en11+en12+en13+en14+en15+en16+en17+en18+en19+en20+en21+en22+en23+en24+en25+en26+en27+en28+en29+en30+en31+en32+en33+en34+en35+en36+en37+en38+en39+en40+en41+en42+en43+en44+en45+en46+en47+en48), @t1=@t1+ISNULL(SUM(en1),0),@t2=@t2+ISNULL(SUM(en2),0),@t3=@t3+ISNULL(SUM(en3),0),@t4=@t4+ISNULL(SUM(en4),0),@t5=@t5+ISNULL(SUM(en5),0),@t6=@t6+ISNULL(SUM(en6),0), @t7=@t7+ISNULL(SUM(en7),0),@t8=@t8+ISNULL(SUM(en8),0),@t9=@t9+ISNULL(SUM(en9),0),@t10=@t10+ISNULL(SUM(en10),0),@t11=@t11+ISNULL(SUM(en11),0),@t12=@t12+ISNULL(SUM(en12),0), @t13=@t13+ISNULL(SUM(en13),0),@t14=@t14+ISNULL(SUM(en14),0),@t15=@t15+ISNULL(SUM(en15),0),@t16=@t16+ISNULL(SUM(en16),0),@t17=@t17+ISNULL(SUM(en17),0),@t18=@t18+ISNULL(SUM(en18),0), @t19=@t19+ISNULL(SUM(en19),0),@t20=@t20+ISNULL(SUM(en20),0),@t21=@t21+ISNULL(SUM(en21),0),@t22=@t22+ISNULL(SUM(en22),0),@t23=@t23+ISNULL(SUM(en23),0),@t24=@t24+ISNULL(SUM(en24),0), @t25=@t25+ISNULL(SUM(en25),0),@t26=@t26+ISNULL(SUM(en26),0),@t27=@t27+ISNULL(SUM(en27),0),@t28=@t28+ISNULL(SUM(en28),0),@t29=@t29+ISNULL(SUM(en29),0),@t30=@t30+ISNULL(SUM(en30),0), @t31=@t31+ISNULL(SUM(en31),0),@t32=@t32+ISNULL(SUM(en32),0),@t33=@t33+ISNULL(SUM(en33),0),@t34=@t34+ISNULL(SUM(en34),0),@t35=@t35+ISNULL(SUM(en35),0),@t36=@t36+ISNULL(SUM(en36),0), @t37=@t37+ISNULL(SUM(en37),0),@t38=@t38+ISNULL(SUM(en38),0),@t39=@t39+ISNULL(SUM(en39),0),@t40=@t40+ISNULL(SUM(en40),0),@t41=@t41+ISNULL(SUM(en41),0),@t42=@t42+ISNULL(SUM(en42),0), @t43=@t43+ISNULL(SUM(en43),0),@t44=@t44+ISNULL(SUM(en44),0),@t45=@t45+ISNULL(SUM(en45),0),@t46=@t46+ISNULL(SUM(en46),0),@t47=@t47+ISNULL(SUM(en47),0),@t48=@t48+ISNULL(SUM(en48),0) FROM Entradas_Produto,Entradas WHERE Entradas_Produto.Nome_Clifor=Entradas.Nome_Clifor AND Entradas_Produto.NF_Entrada=Entradas.NF_Entrada AND Filial=RTRIM(@eFilial) AND Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ENTRADAS_PRODUTO'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7)) END IF (@LogStatus=''O'') UPDATE Entradas_Produto SET Total_Entradas=(ISNULL(en1,0)+ISNULL(en2,0)+ISNULL(en3,0)+ISNULL(en4,0)+ISNULL(en5,0)+ISNULL(en6,0)+ISNULL(en7,0)+ISNULL(en8,0)+ISNULL(en9,0)+ISNULL(en10,0)+ISNULL(en11,0)+ISNULL(en12,0)+ ISNULL(en13,0)+ISNULL(en14,0)+ISNULL(en15,0)+ISNULL(en16,0)+ISNULL(en17,0)+ISNULL(en18,0)+ISNULL(en19,0)+ISNULL(en20,0)+ISNULL(en21,0)+ISNULL(en22,0)+ISNULL(en23,0)+ISNULL(en24,0)+ ISNULL(en25,0)+ISNULL(en26,0)+ISNULL(en27,0)+ISNULL(en28,0)+ISNULL(en29,0)+ISNULL(en30,0)+ISNULL(en31,0)+ISNULL(en32,0)+ISNULL(en33,0)+ISNULL(en34,0)+ISNULL(en35,0)+ISNULL(en36,0)+ ISNULL(en37,0)+ISNULL(en38,0)+ISNULL(en39,0)+ISNULL(en40,0)+ISNULL(en41,0)+ISNULL(en42,0)+ISNULL(en43,0)+ISNULL(en44,0)+ISNULL(en45,0)+ISNULL(en46,0)+ISNULL(en47,0)+ISNULL(en48,0)), en1=ISNULL(en1,0),en2=ISNULL(en2,0),en3=ISNULL(en3,0),en4=ISNULL(en4,0),en5=ISNULL(en5,0),en6=ISNULL(en6,0),en7=ISNULL(en7,0),en8=ISNULL(en8,0),en9=ISNULL(en9,0),en10=ISNULL(en10,0),en11=ISNULL(en11,0),en12=ISNULL(en12,0), en13=ISNULL(en13,0),en14=ISNULL(en14,0),en15=ISNULL(en15,0),en16=ISNULL(en16,0),en17=ISNULL(en17,0),en18=ISNULL(en18,0),en19=ISNULL(en19,0),en20=ISNULL(en20,0),en21=ISNULL(en21,0),en22=ISNULL(en22,0),en23=ISNULL(en23,0),en24=ISNULL(en24,0), en25=ISNULL(en25,0),en26=ISNULL(en26,0),en27=ISNULL(en27,0),en28=ISNULL(en28,0),en29=ISNULL(en29,0),en30=ISNULL(en30,0),en31=ISNULL(en31,0),en32=ISNULL(en32,0),en33=ISNULL(en33,0),en34=ISNULL(en34,0),en35=ISNULL(en35,0),en36=ISNULL(en36,0), en37=ISNULL(en37,0),en38=ISNULL(en38,0),en39=ISNULL(en39,0),en40=ISNULL(en40,0),en41=ISNULL(en41,0),en42=ISNULL(en42,0),en43=ISNULL(en43,0),en44=ISNULL(en44,0),en45=ISNULL(en45,0),en46=ISNULL(en46,0),en47=ISNULL(en47,0),en48=ISNULL(en48,0) FROM Entradas_Produto,Entradas WHERE Entradas_Produto.Nome_Clifor=Entradas.Nome_Clifor AND Entradas_Produto.NF_Entrada=Entradas.NF_Entrada AND PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ENTRADAS_PRODUTO'' AND Descricao LIKE ''%Possui Total%'' END END IF @nEntradas_Pro_Devol > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Qtde),0),@tQtde=ISNULL(SUM(Qtde),0), @tVerNull=SUM(f1+f2+f3+f4+f5+f6+f7+f8+f9+f10+f11+f12+f13+f14+f15+f16+f17+f18+f19+f20+f21+f22+f23+f24+f25+f26+f27+f28+f29+f30+f31+f32+f33+f34+f35+f36+f37+f38+f39+f40+f41+f42+f43+f44+f45+f46+f47+f48), @t1=@t1+ISNULL(SUM(f1),0),@t2=@t2+ISNULL(SUM(f2),0),@t3=@t3+ISNULL(SUM(f3),0),@t4=@t4+ISNULL(SUM(f4),0),@t5=@t5+ISNULL(SUM(f5),0),@t6=@t6+ISNULL(SUM(f6),0), @t7=@t7+ISNULL(SUM(f7),0),@t8=@t8+ISNULL(SUM(f8),0),@t9=@t9+ISNULL(SUM(f9),0),@t10=@t10+ISNULL(SUM(f10),0),@t11=@t11+ISNULL(SUM(f11),0),@t12=@t12+ISNULL(SUM(f12),0), @t13=@t13+ISNULL(SUM(f13),0),@t14=@t14+ISNULL(SUM(f14),0),@t15=@t15+ISNULL(SUM(f15),0),@t16=@t16+ISNULL(SUM(f16),0),@t17=@t17+ISNULL(SUM(f17),0),@t18=@t18+ISNULL(SUM(f18),0), @t19=@t19+ISNULL(SUM(f19),0),@t20=@t20+ISNULL(SUM(f20),0),@t21=@t21+ISNULL(SUM(f21),0),@t22=@t22+ISNULL(SUM(f22),0),@t23=@t23+ISNULL(SUM(f23),0),@t24=@t24+ISNULL(SUM(f24),0), @t25=@t25+ISNULL(SUM(f25),0),@t26=@t26+ISNULL(SUM(f26),0),@t27=@t27+ISNULL(SUM(f27),0),@t28=@t28+ISNULL(SUM(f28),0),@t29=@t29+ISNULL(SUM(f29),0),@t30=@t30+ISNULL(SUM(f30),0), @t31=@t31+ISNULL(SUM(f31),0),@t32=@t32+ISNULL(SUM(f32),0),@t33=@t33+ISNULL(SUM(f33),0),@t34=@t34+ISNULL(SUM(f34),0),@t35=@t35+ISNULL(SUM(f35),0),@t36=@t36+ISNULL(SUM(f36),0), @t37=@t37+ISNULL(SUM(f37),0),@t38=@t38+ISNULL(SUM(f38),0),@t39=@t39+ISNULL(SUM(f39),0),@t40=@t40+ISNULL(SUM(f40),0),@t41=@t41+ISNULL(SUM(f41),0),@t42=@t42+ISNULL(SUM(f42),0), @t43=@t43+ISNULL(SUM(f43),0),@t44=@t44+ISNULL(SUM(f44),0),@t45=@t45+ISNULL(SUM(f45),0),@t46=@t46+ISNULL(SUM(f46),0),@t47=@t47+ISNULL(SUM(f47),0),@t48=@t48+ISNULL(SUM(f48),0) FROM Entradas_Pro_Devol WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ENTRADAS_PRO_DEVOL'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7) ) END IF (@LogStatus=''O'') UPDATE Entradas_Pro_Devol SET Qtde=(ISNULL(f1,0)+ISNULL(f2,0)+ISNULL(f3,0)+ISNULL(f4,0)+ISNULL(f5,0)+ISNULL(f6,0)+ISNULL(f7,0)+ISNULL(f8,0)+ISNULL(f9,0)+ISNULL(f10,0)+ISNULL(f11,0)+ISNULL(f12,0)+ ISNULL(f13,0)+ISNULL(f14,0)+ISNULL(f15,0)+ISNULL(f16,0)+ISNULL(f17,0)+ISNULL(f18,0)+ISNULL(f19,0)+ISNULL(f20,0)+ISNULL(f21,0)+ISNULL(f22,0)+ISNULL(f23,0)+ISNULL(f24,0)+ ISNULL(f25,0)+ISNULL(f26,0)+ISNULL(f27,0)+ISNULL(f28,0)+ISNULL(f29,0)+ISNULL(f30,0)+ISNULL(f31,0)+ISNULL(f32,0)+ISNULL(f33,0)+ISNULL(f34,0)+ISNULL(f35,0)+ISNULL(f36,0)+ ISNULL(f37,0)+ISNULL(f38,0)+ISNULL(f39,0)+ISNULL(f40,0)+ISNULL(f41,0)+ISNULL(f42,0)+ISNULL(f43,0)+ISNULL(f44,0)+ISNULL(f45,0)+ISNULL(f46,0)+ISNULL(f47,0)+ISNULL(f48,0)), f1=ISNULL(f1,0),f2=ISNULL(f2,0),f3=ISNULL(f3,0),f4=ISNULL(f4,0),f5=ISNULL(f5,0),f6=ISNULL(f6,0),f7=ISNULL(f7,0),f8=ISNULL(f8,0),f9=ISNULL(f9,0),f10=ISNULL(f10,0),f11=ISNULL(f11,0),f12=ISNULL(f12,0), f13=ISNULL(f13,0),f14=ISNULL(f14,0),f15=ISNULL(f15,0),f16=ISNULL(f16,0),f17=ISNULL(f17,0),f18=ISNULL(f18,0),f19=ISNULL(f19,0),f20=ISNULL(f20,0),f21=ISNULL(f21,0),f22=ISNULL(f22,0),f23=ISNULL(f23,0),f24=ISNULL(f24,0), f25=ISNULL(f25,0),f26=ISNULL(f26,0),f27=ISNULL(f27,0),f28=ISNULL(f28,0),f29=ISNULL(f29,0),f30=ISNULL(f30,0),f31=ISNULL(f31,0),f32=ISNULL(f32,0),f33=ISNULL(f33,0),f34=ISNULL(f34,0),f35=ISNULL(f35,0),f36=ISNULL(f36,0), f37=ISNULL(f37,0),f38=ISNULL(f38,0),f39=ISNULL(f39,0),f40=ISNULL(f40,0),f41=ISNULL(f41,0),f42=ISNULL(f42,0),f43=ISNULL(f43,0),f44=ISNULL(f44,0),f45=ISNULL(f45,0),f46=ISNULL(f46,0),f47=ISNULL(f47,0),f48=ISNULL(f48,0) FROM Entradas_Pro_Devol WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ENTRADAS_PRO_DEVOL'' AND Descricao LIKE ''%Possui Total%'' END END IF @nEstoque_Prod_ctg_Ajuste > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Qtde_Ajuste),0),@tQtde=ISNULL(SUM(Qtde_Ajuste),0), @tVerNull=SUM(a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+a20+a21+a22+a23+a24+a25+a26+a27+a28+a29+a30+a31+a32+a33+a34+a35+a36+a37+a38+a39+a40+a41+a42+a43+a44+a45+a46+a47+a48), @t1=@t1+ISNULL(SUM(a1),0),@t2=@t2+ISNULL(SUM(a2),0),@t3=@t3+ISNULL(SUM(a3),0),@t4=@t4+ISNULL(SUM(a4),0),@t5=@t5+ISNULL(SUM(a5),0),@t6=@t6+ISNULL(SUM(a6),0),@t7=@t7+ISNULL(SUM(a7),0),@t8=@t8+ISNULL(SUM(a8),0),@t9=@t9+ISNULL(SUM(a9),0), @t10=@t10+ISNULL(SUM(a10),0),@t11=@t11+ISNULL(SUM(a11),0),@t12=@t12+ISNULL(SUM(a12),0),@t13=@t13+ISNULL(SUM(a13),0),@t14=@t14+ISNULL(SUM(a14),0),@t15=@t15+ISNULL(SUM(a15),0),@t16=@t16+ISNULL(SUM(a16),0),@t17=@t17+ISNULL(SUM(a17),0),@t18=@t18+ISNULL(SUM(a18),0), @t19=@t19+ISNULL(SUM(a19),0),@t20=@t20+ISNULL(SUM(a20),0),@t21=@t21+ISNULL(SUM(a21),0),@t22=@t22+ISNULL(SUM(a22),0),@t23=@t23+ISNULL(SUM(a23),0),@t24=@t24+ISNULL(SUM(a24),0),@t25=@t25+ISNULL(SUM(a25),0),@t26=@t26+ISNULL(SUM(a26),0),@t27=@t27+ISNULL(SUM(a27),0), @t28=@t28+ISNULL(SUM(a28),0),@t29=@t29+ISNULL(SUM(a29),0),@t30=@t30+ISNULL(SUM(a30),0),@t31=@t31+ISNULL(SUM(a31),0),@t32=@t32+ISNULL(SUM(a32),0),@t33=@t33+ISNULL(SUM(a33),0),@t34=@t34+ISNULL(SUM(a34),0),@t35=@t35+ISNULL(SUM(a35),0),@t36=@t36+ISNULL(SUM(a36),0), @t37=@t37+ISNULL(SUM(a37),0),@t38=@t38+ISNULL(SUM(a38),0),@t39=@t39+ISNULL(SUM(a39),0),@t40=@t40+ISNULL(SUM(a40),0),@t41=@t41+ISNULL(SUM(a41),0),@t42=@t42+ISNULL(SUM(a42),0),@t43=@t43+ISNULL(SUM(a43),0),@t44=@t44+ISNULL(SUM(a44),0),@t45=@t45+ISNULL(SUM(a45),0), @t46=@t46+ISNULL(SUM(a46),0),@t47=@t47+ISNULL(SUM(a47),0),@t48=@t48+ISNULL(SUM(a48),0) FROM Estoque_Prod_ctg_Ajuste,Estoque_Prod_Contagem WHERE Estoque_Prod_ctg_Ajuste.Nome_Contagem=Estoque_Prod_Contagem.Nome_Contagem AND Filial=RTRIM(@eFilial) AND Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ESTOQUE_PROD_CTG_AJUSTE'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7)) END IF (@LogStatus=''O'') UPDATE Estoque_Prod_Ctg_Ajuste SET Qtde_Ajuste=(ISNULL(a1,0)+ISNULL(a2,0)+ISNULL(a3,0)+ISNULL(a4,0)+ISNULL(a5,0)+ISNULL(a6,0)+ISNULL(a7,0)+ISNULL(a8,0)+ISNULL(a9,0)+ISNULL(a10,0)+ISNULL(a11,0)+ISNULL(a12,0)+ ISNULL(a13,0)+ISNULL(a14,0)+ISNULL(a15,0)+ISNULL(a16,0)+ISNULL(a17,0)+ISNULL(a18,0)+ISNULL(a19,0)+ISNULL(a20,0)+ISNULL(a21,0)+ISNULL(a22,0)+ISNULL(a23,0)+ISNULL(a24,0)+ ISNULL(a25,0)+ISNULL(a26,0)+ISNULL(a27,0)+ISNULL(a28,0)+ISNULL(a29,0)+ISNULL(a30,0)+ISNULL(a31,0)+ISNULL(a32,0)+ISNULL(a33,0)+ISNULL(a34,0)+ISNULL(a35,0)+ISNULL(a36,0)+ ISNULL(a37,0)+ISNULL(a38,0)+ISNULL(a39,0)+ISNULL(a40,0)+ISNULL(a41,0)+ISNULL(a42,0)+ISNULL(a43,0)+ISNULL(a44,0)+ISNULL(a45,0)+ISNULL(a46,0)+ISNULL(a47,0)+ISNULL(a48,0)), a1=ISNULL(a1,0),a2=ISNULL(a2,0),a3=ISNULL(a3,0),a4=ISNULL(a4,0),a5=ISNULL(a5,0),a6=ISNULL(a6,0),a7=ISNULL(a7,0),a8=ISNULL(a8,0),a9=ISNULL(a9,0),a10=ISNULL(a10,0),a11=ISNULL(a11,0),a12=ISNULL(a12,0), a13=ISNULL(a13,0),a14=ISNULL(a14,0),a15=ISNULL(a15,0),a16=ISNULL(a16,0),a17=ISNULL(a17,0),a18=ISNULL(a18,0),a19=ISNULL(a19,0),a20=ISNULL(a20,0),a21=ISNULL(a21,0),a22=ISNULL(a22,0),a23=ISNULL(a23,0),a24=ISNULL(a24,0), a25=ISNULL(a25,0),a26=ISNULL(a26,0),a27=ISNULL(a27,0),a28=ISNULL(a28,0),a29=ISNULL(a29,0),a30=ISNULL(a30,0),a31=ISNULL(a31,0),a32=ISNULL(a32,0),a33=ISNULL(a33,0),a34=ISNULL(a34,0),a35=ISNULL(a35,0),a36=ISNULL(a36,0), a37=ISNULL(a37,0),a38=ISNULL(a38,0),a39=ISNULL(a39,0),a40=ISNULL(a40,0),a41=ISNULL(a41,0),a42=ISNULL(a42,0),a43=ISNULL(a43,0),a44=ISNULL(a44,0),a45=ISNULL(a45,0),a46=ISNULL(a46,0),a47=ISNULL(a47,0),a48=ISNULL(a48,0) FROM Estoque_Prod_ctg_Ajuste,Estoque_Prod_Contagem WHERE Estoque_Prod_ctg_Ajuste.Nome_Contagem=Estoque_Prod_Contagem.Nome_Contagem AND Filial=RTRIM(@eFilial) AND Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ESTOQUE_PROD_CTG_AJUSTE'' AND Descricao LIKE ''%Possui Total%'' END END IF @nLoja_Resumo_Produto > 0 BEGIN SELECT @tEstoque=@tEstoque-ISNULL(SUM(Total_Qtde_Venda),0),@tQtde=ISNULL(SUM(Total_Qtde_Venda),0), @tVerNull=SUM(ve1+ve2+ve3+ve4+ve5+ve6+ve7+ve8+ve9+ve10+ve11+ve12+ve13+ve14+ve15+ve16+ve17+ve18+ve19+ve20+ve21+ve22+ve23+ve24+ve25+ve26+ve27+ve28+ve29+ve30+ve31+ve32+ve33+ve34+ve35+ve36+ve37+ve38+ve39+ve40+ve41+ve42+ve43+ve44+ve45+ve46+ve47+ve48), @t1=@t1-ISNULL(SUM(ve1),0),@t2=@t2-ISNULL(SUM(ve2),0),@t3=@t3-ISNULL(SUM(ve3),0),@t4=@t4-ISNULL(SUM(ve4),0),@t5=@t5-ISNULL(SUM(ve5),0),@t6=@t6-ISNULL(SUM(ve6),0), @t7=@t7-ISNULL(SUM(ve7),0),@t8=@t8-ISNULL(SUM(ve8),0),@t9=@t9-ISNULL(SUM(ve9),0),@t10=@t10-ISNULL(SUM(ve10),0),@t11=@t11-ISNULL(SUM(ve11),0),@t12=@t12-ISNULL(SUM(ve12),0), @t13=@t13-ISNULL(SUM(ve13),0),@t14=@t14-ISNULL(SUM(ve14),0),@t15=@t15-ISNULL(SUM(ve15),0),@t16=@t16-ISNULL(SUM(ve16),0),@t17=@t17-ISNULL(SUM(ve17),0),@t18=@t18-ISNULL(SUM(ve18),0), @t19=@t19-ISNULL(SUM(ve19),0),@t20=@t20-ISNULL(SUM(ve20),0),@t21=@t21-ISNULL(SUM(ve21),0),@t22=@t22-ISNULL(SUM(ve22),0),@t23=@t23-ISNULL(SUM(ve23),0),@t24=@t24-ISNULL(SUM(ve24),0), @t25=@t25-ISNULL(SUM(ve25),0),@t26=@t26-ISNULL(SUM(ve26),0),@t27=@t27-ISNULL(SUM(ve27),0),@t28=@t28-ISNULL(SUM(ve28),0),@t29=@t29-ISNULL(SUM(ve29),0),@t30=@t30-ISNULL(SUM(ve30),0), @t31=@t31-ISNULL(SUM(ve31),0),@t32=@t32-ISNULL(SUM(ve32),0),@t33=@t33-ISNULL(SUM(ve33),0),@t34=@t34-ISNULL(SUM(ve34),0),@t35=@t35-ISNULL(SUM(ve35),0),@t36=@t36-ISNULL(SUM(ve36),0), @t37=@t37-ISNULL(SUM(ve37),0),@t38=@t38-ISNULL(SUM(ve38),0),@t39=@t39-ISNULL(SUM(ve39),0),@t40=@t40-ISNULL(SUM(ve40),0),@t41=@t41-ISNULL(SUM(ve41),0),@t42=@t42-ISNULL(SUM(ve42),0), @t43=@t43-ISNULL(SUM(ve43),0),@t44=@t44-ISNULL(SUM(ve44),0),@t45=@t45-ISNULL(SUM(ve45),0),@t46=@t46-ISNULL(SUM(ve46),0),@t47=@t47-ISNULL(SUM(ve47),0),@t48=@t48-ISNULL(SUM(ve48),0) FROM Loja_Resumo_Produto WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto END IF @nLoja_Resumo_Troca > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Total_Qtde_Troca),0),@tQtde=ISNULL(SUM(Total_Qtde_Troca),0), @tVerNull=SUM(tr1+tr2+tr3+tr4+tr5+tr6+tr7+tr8+tr9+tr10+tr11+tr12+tr13+tr14+tr15+tr16+tr17+tr18+tr19+tr20+tr21+tr22+tr23+tr24+tr25+tr26+tr27+tr28+tr29+tr30+tr31+tr32+tr33+tr34+tr35+tr36+tr37+tr38+tr39+tr40+tr41+tr42+tr43+tr44+tr45+tr46+tr47+tr48), @t1=@t1+ISNULL(SUM(tr1),0),@t2=@t2+ISNULL(SUM(tr2),0),@t3=@t3+ISNULL(SUM(tr3),0),@t4=@t4+ISNULL(SUM(tr4),0),@t5=@t5+ISNULL(SUM(tr5),0),@t6=@t6+ISNULL(SUM(tr6),0), @t7=@t7+ISNULL(SUM(tr7),0),@t8=@t8+ISNULL(SUM(tr8),0),@t9=@t9+ISNULL(SUM(tr9),0),@t10=@t10+ISNULL(SUM(tr10),0),@t11=@t11+ISNULL(SUM(tr11),0),@t12=@t12+ISNULL(SUM(tr12),0), @t13=@t13+ISNULL(SUM(tr13),0),@t14=@t14+ISNULL(SUM(tr14),0),@t15=@t15+ISNULL(SUM(tr15),0),@t16=@t16+ISNULL(SUM(tr16),0),@t17=@t17+ISNULL(SUM(tr17),0),@t18=@t18+ISNULL(SUM(tr18),0), @t19=@t19+ISNULL(SUM(tr19),0),@t20=@t20+ISNULL(SUM(tr20),0),@t21=@t21+ISNULL(SUM(tr21),0),@t22=@t22+ISNULL(SUM(tr22),0),@t23=@t23+ISNULL(SUM(tr23),0),@t24=@t24+ISNULL(SUM(tr24),0), @t25=@t25+ISNULL(SUM(tr25),0),@t26=@t26+ISNULL(SUM(tr26),0),@t27=@t27+ISNULL(SUM(tr27),0),@t28=@t28+ISNULL(SUM(tr28),0),@t29=@t29+ISNULL(SUM(tr29),0),@t30=@t30+ISNULL(SUM(tr30),0), @t31=@t31+ISNULL(SUM(tr31),0),@t32=@t32+ISNULL(SUM(tr32),0),@t33=@t33+ISNULL(SUM(tr33),0),@t34=@t34+ISNULL(SUM(tr34),0),@t35=@t35+ISNULL(SUM(tr35),0),@t36=@t36+ISNULL(SUM(tr36),0), @t37=@t37+ISNULL(SUM(tr37),0),@t38=@t38+ISNULL(SUM(tr38),0),@t39=@t39+ISNULL(SUM(tr39),0),@t40=@t40+ISNULL(SUM(tr40),0),@t41=@t41+ISNULL(SUM(tr41),0),@t42=@t42+ISNULL(SUM(tr42),0), @t43=@t43+ISNULL(SUM(tr43),0),@t44=@t44+ISNULL(SUM(tr44),0),@t45=@t45+ISNULL(SUM(tr45),0),@t46=@t46+ISNULL(SUM(tr46),0),@t47=@t47+ISNULL(SUM(tr47),0),@t48=@t48+ISNULL(SUM(tr48),0) FROM Loja_Resumo_Troca WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto END IF @nLoja_Saidas_Produto > 0 BEGIN SELECT @tEstoque=@tEstoque-ISNULL(SUM(Qtde_Saida),0),@tQtde=ISNULL(SUM(Qtde_Saida),0), @tVerNull=SUM(en1+en2+en3+en4+en5+en6+en7+en8+en9+en10+en11+en12+en13+en14+en15+en16+en17+en18+en19+en20+en21+en22+en23+en24+en25+en26+en27+en28+en29+en30+en31+en32+en33+en34+en35+en36+en37+en38+en39+en40+en41+en42+en43+en44+en45+en46+en47+en48), @t1=@t1-ISNULL(SUM(en1),0),@t2=@t2-ISNULL(SUM(en2),0),@t3=@t3-ISNULL(SUM(en3),0),@t4=@t4-ISNULL(SUM(en4),0),@t5=@t5-ISNULL(SUM(en5),0),@t6=@t6-ISNULL(SUM(en6),0),@t7=@t7-ISNULL(SUM(en7),0),@t8=@t8-ISNULL(SUM(en8),0),@t9=@t9-ISNULL(SUM(en9),0), @t10=@t10-ISNULL(SUM(en10),0),@t11=@t11-ISNULL(SUM(en11),0),@t12=@t12-ISNULL(SUM(en12),0),@t13=@t13-ISNULL(SUM(en13),0),@t14=@t14-ISNULL(SUM(en14),0),@t15=@t15-ISNULL(SUM(en15),0),@t16=@t16-ISNULL(SUM(en16),0),@t17=@t17-ISNULL(SUM(en17),0),@t18=@t18-ISNULL(SUM(en18),0), @t19=@t19-ISNULL(SUM(en19),0),@t20=@t20-ISNULL(SUM(en20),0),@t21=@t21-ISNULL(SUM(en21),0),@t22=@t22-ISNULL(SUM(en22),0),@t23=@t23-ISNULL(SUM(en23),0),@t24=@t24-ISNULL(SUM(en24),0),@t25=@t25-ISNULL(SUM(en25),0),@t26=@t26-ISNULL(SUM(en26),0),@t27=@t27-ISNULL(SUM(en27),0), @t28=@t28-ISNULL(SUM(en28),0),@t29=@t29-ISNULL(SUM(en29),0),@t30=@t30-ISNULL(SUM(en30),0),@t31=@t31-ISNULL(SUM(en31),0),@t32=@t32-ISNULL(SUM(en32),0),@t33=@t33-ISNULL(SUM(en33),0),@t34=@t34-ISNULL(SUM(en34),0),@t35=@t35-ISNULL(SUM(en35),0),@t36=@t36-ISNULL(SUM(en36),0), @t37=@t37-ISNULL(SUM(en37),0),@t38=@t38-ISNULL(SUM(en38),0),@t39=@t39-ISNULL(SUM(en39),0),@t40=@t40-ISNULL(SUM(en40),0),@t41=@t41-ISNULL(SUM(en41),0),@t42=@t42-ISNULL(SUM(en42),0),@t43=@t43-ISNULL(SUM(en43),0),@t44=@t44-ISNULL(SUM(en44),0),@t45=@t45-ISNULL(SUM(en45),0), @t46=@t46-ISNULL(SUM(en46),0),@t47=@t47-ISNULL(SUM(en47),0),@t48=@t48-ISNULL(SUM(en48),0) FROM Loja_Saidas_Produto WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''LOJA_SAIDAS_PRODUTO'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7)) END IF (@LogStatus=''O'') UPDATE Loja_Saidas_Produto SET Qtde_Saida=(ISNULL(en1,0)+ISNULL(en2,0)+ISNULL(en3,0)+ISNULL(en4,0)+ISNULL(en5,0)+ISNULL(en6,0)+ISNULL(en7,0)+ISNULL(en8,0)+ISNULL(en9,0)+ISNULL(en10,0)+ISNULL(en11,0)+ISNULL(en12,0)+ ISNULL(en13,0)+ISNULL(en14,0)+ISNULL(en15,0)+ISNULL(en16,0)+ISNULL(en17,0)+ISNULL(en18,0)+ISNULL(en19,0)+ISNULL(en20,0)+ISNULL(en21,0)+ISNULL(en22,0)+ISNULL(en23,0)+ISNULL(en24,0)+ ISNULL(en25,0)+ISNULL(en26,0)+ISNULL(en27,0)+ISNULL(en28,0)+ISNULL(en29,0)+ISNULL(en30,0)+ISNULL(en31,0)+ISNULL(en32,0)+ISNULL(en33,0)+ISNULL(en34,0)+ISNULL(en35,0)+ISNULL(en36,0)+ ISNULL(en37,0)+ISNULL(en38,0)+ISNULL(en39,0)+ISNULL(en40,0)+ISNULL(en41,0)+ISNULL(en42,0)+ISNULL(en43,0)+ISNULL(en44,0)+ISNULL(en45,0)+ISNULL(en46,0)+ISNULL(en47,0)+ISNULL(en48,0)), en1=ISNULL(en1,0),en2=ISNULL(en2,0),en3=ISNULL(en3,0),en4=ISNULL(en4,0),en5=ISNULL(en5,0),en6=ISNULL(en6,0),en7=ISNULL(en7,0),en8=ISNULL(en8,0),en9=ISNULL(en9,0),en10=ISNULL(en10,0),en11=ISNULL(en11,0),en12=ISNULL(en12,0), en13=ISNULL(en13,0),en14=ISNULL(en14,0),en15=ISNULL(en15,0),en16=ISNULL(en16,0),en17=ISNULL(en17,0),en18=ISNULL(en18,0),en19=ISNULL(en19,0),en20=ISNULL(en20,0),en21=ISNULL(en21,0),en22=ISNULL(en22,0),en23=ISNULL(en23,0),en24=ISNULL(en24,0), en25=ISNULL(en25,0),en26=ISNULL(en26,0),en27=ISNULL(en27,0),en28=ISNULL(en28,0),en29=ISNULL(en29,0),en30=ISNULL(en30,0),en31=ISNULL(en31,0),en32=ISNULL(en32,0),en33=ISNULL(en33,0),en34=ISNULL(en34,0),en35=ISNULL(en35,0),en36=ISNULL(en36,0), en37=ISNULL(en37,0),en38=ISNULL(en38,0),en39=ISNULL(en39,0),en40=ISNULL(en40,0),en41=ISNULL(en41,0),en42=ISNULL(en42,0),en43=ISNULL(en43,0),en44=ISNULL(en44,0),en45=ISNULL(en45,0),en46=ISNULL(en46,0),en47=ISNULL(en47,0),en48=ISNULL(en48,0) FROM Loja_Saidas_Produto WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''LOJA_SAIDAS_PRODUTO'' AND Descricao LIKE ''%Possui Total%'' END END IF @nLoja_Entradas_Produto > 0 BEGIN SELECT @tEstoque=@tEstoque+ISNULL(SUM(Qtde_Entrada),0),@tQtde=ISNULL(SUM(Qtde_Entrada),0), @tVerNull=SUM(en1+en2+en3+en4+en5+en6+en7+en8+en9+en10+en11+en12+en13+en14+en15+en16+en17+en18+en19+en20+en21+en22+en23+en24+en25+en26+en27+en28+en29+en30+en31+en32+en33+en34+en35+en36+en37+en38+en39+en40+en41+en42+en43+en44+en45+en46+en47+en48), @t1=@t1+ISNULL(SUM(en1),0),@t2=@t2+ISNULL(SUM(en2),0),@t3=@t3+ISNULL(SUM(en3),0),@t4=@t4+ISNULL(SUM(en4),0),@t5=@t5+ISNULL(SUM(en5),0),@t6=@t6+ISNULL(SUM(en6),0), @t7=@t7+ISNULL(SUM(en7),0),@t8=@t8+ISNULL(SUM(en8),0),@t9=@t9+ISNULL(SUM(en9),0),@t10=@t10+ISNULL(SUM(en10),0),@t11=@t11+ISNULL(SUM(en11),0),@t12=@t12+ISNULL(SUM(en12),0), @t13=@t13+ISNULL(SUM(en13),0),@t14=@t14+ISNULL(SUM(en14),0),@t15=@t15+ISNULL(SUM(en15),0),@t16=@t16+ISNULL(SUM(en16),0),@t17=@t17+ISNULL(SUM(en17),0),@t18=@t18+ISNULL(SUM(en18),0), @t19=@t19+ISNULL(SUM(en19),0),@t20=@t20+ISNULL(SUM(en20),0),@t21=@t21+ISNULL(SUM(en21),0),@t22=@t22+ISNULL(SUM(en22),0),@t23=@t23+ISNULL(SUM(en23),0),@t24=@t24+ISNULL(SUM(en24),0), @t25=@t25+ISNULL(SUM(en25),0),@t26=@t26+ISNULL(SUM(en26),0),@t27=@t27+ISNULL(SUM(en27),0),@t28=@t28+ISNULL(SUM(en28),0),@t29=@t29+ISNULL(SUM(en29),0),@t30=@t30+ISNULL(SUM(en30),0), @t31=@t31+ISNULL(SUM(en31),0),@t32=@t32+ISNULL(SUM(en32),0),@t33=@t33+ISNULL(SUM(en33),0),@t34=@t34+ISNULL(SUM(en34),0),@t35=@t35+ISNULL(SUM(en35),0),@t36=@t36+ISNULL(SUM(en36),0), @t37=@t37+ISNULL(SUM(en37),0),@t38=@t38+ISNULL(SUM(en38),0),@t39=@t39+ISNULL(SUM(en39),0),@t40=@t40+ISNULL(SUM(en40),0),@t41=@t41+ISNULL(SUM(en41),0),@t42=@t42+ISNULL(SUM(en42),0), @t43=@t43+ISNULL(SUM(en43),0),@t44=@t44+ISNULL(SUM(en44),0),@t45=@t45+ISNULL(SUM(en45),0),@t46=@t46+ISNULL(SUM(en46),0),@t47=@t47+ISNULL(SUM(en47),0),@t48=@t48+ISNULL(SUM(en48),0) FROM Loja_Entradas_Produto WHERE Produto=RTRIM(@eProduto) AND Cor_Produto=RTRIM(@eCor_Produto) AND Filial=RTRIM(@eFilial) GROUP BY Filial,Produto,Cor_Produto IF @tQtde<>@tVerNull AND @@ROWCOUNT > 0 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''LOJA_ENTRADAS_PRODUTO'', ''O Produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Total da Grade Inconsistente !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7)) END IF (@LogStatus=''O'') UPDATE Loja_Entradas_Produto SET Qtde_Entrada=(ISNULL(en1,0)+ISNULL(en2,0)+ISNULL(en3,0)+ISNULL(en4,0)+ISNULL(en5,0)+ISNULL(en6,0)+ISNULL(en7,0)+ISNULL(en8,0)+ISNULL(en9,0)+ISNULL(en10,0)+ISNULL(en11,0)+ISNULL(en12,0)+ ISNULL(en13,0)+ISNULL(en14,0)+ISNULL(en15,0)+ISNULL(en16,0)+ISNULL(en17,0)+ISNULL(en18,0)+ISNULL(en19,0)+ISNULL(en20,0)+ISNULL(en21,0)+ISNULL(en22,0)+ISNULL(en23,0)+ISNULL(en24,0)+ ISNULL(en25,0)+ISNULL(en26,0)+ISNULL(en27,0)+ISNULL(en28,0)+ISNULL(en29,0)+ISNULL(en30,0)+ISNULL(en31,0)+ISNULL(en32,0)+ISNULL(en33,0)+ISNULL(en34,0)+ISNULL(en35,0)+ISNULL(en36,0)+ ISNULL(en37,0)+ISNULL(en38,0)+ISNULL(en39,0)+ISNULL(en40,0)+ISNULL(en41,0)+ISNULL(en42,0)+ISNULL(en43,0)+ISNULL(en44,0)+ISNULL(en45,0)+ISNULL(en46,0)+ISNULL(en47,0)+ISNULL(en48,0)), en1=ISNULL(en1,0),en2=ISNULL(en2,0),en3=ISNULL(en3,0),en4=ISNULL(en4,0),en5=ISNULL(en5,0),en6=ISNULL(en6,0),en7=ISNULL(en7,0),en8=ISNULL(en8,0),en9=ISNULL(en9,0),en10=ISNULL(en10,0),en11=ISNULL(en11,0),en12=ISNULL(en12,0), en13=ISNULL(en13,0),en14=ISNULL(en14,0),en15=ISNULL(en15,0),en16=ISNULL(en16,0),en17=ISNULL(en17,0),en18=ISNULL(en18,0),en19=ISNULL(en19,0),en20=ISNULL(en20,0),en21=ISNULL(en21,0),en22=ISNULL(en22,0),en23=ISNULL(en23,0),en24=ISNULL(en24,0), en25=ISNULL(en25,0),en26=ISNULL(en26,0),en27=ISNULL(en27,0),en28=ISNULL(en28,0),en29=ISNULL(en29,0),en30=ISNULL(en30,0),en31=ISNULL(en31,0),en32=ISNULL(en32,0),en33=ISNULL(en33,0),en34=ISNULL(en34,0),en35=ISNULL(en35,0),en36=ISNULL(en36,0), en37=ISNULL(en37,0),en38=ISNULL(en38,0),en39=ISNULL(en39,0),en40=ISNULL(en40,0),en41=ISNULL(en41,0),en42=ISNULL(en42,0),en43=ISNULL(en43,0),en44=ISNULL(en44,0),en45=ISNULL(en45,0),en46=ISNULL(en46,0),en47=ISNULL(en47,0),en48=ISNULL(en48,0) FROM Loja_Entradas_Produto WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''LOJA_ENTRADAS_PRODUTO'' AND Descricao LIKE ''%Possui Total%'' END END SELECT @tEstoque=(@t1+@t2+@t3+@t4+@t5+@t6+@t7+@t8+@t9+@t10+@t11+@t12+@t13+@t14+@t15+@t16+@t17+@t18+@t19+@t20+@t21+@t22+@t23+@t24+ @t25+@t26+@t27+@t28+@t29+@t30+@t31+@t32+@t33+@t34+@t35+@t36+@t37+@t38+@t39+@t40+@t41+@t42+@t43+@t44+@t45+@t46+@t47+@t48) IF @ett<>@tEstoque OR @e1<>@t1 OR @e2<>@t2 OR @e3<>@t3 OR @e4<>@t4 OR @e5<>@t5 OR @e6<>@t6 OR @e7<>@t7 OR @e8<>@t8 OR @e9<>@t9 OR @e10<>@t10 OR @e11<>@t11 OR @e12<>@t12 OR @e13<>@t13 OR @e14<>@t14 OR @e15<>@t15 OR @e16<>@t16 OR @e17<>@t17 OR @e18<>@t18 OR @e19<>@t19 OR @e20<>@t20 OR @e21<>@t21 OR @e22<>@t22 OR @e23<>@t23 OR @e24<>@t24 OR @e25<>@t25 OR @e26<>@t26 OR @e27<>@t27 OR @e28<>@t28 OR @e29<>@t29 OR @e30<>@t30 OR @e31<>@t31 OR @e32<>@t32 OR @e33<>@t33 OR @e34<>@t34 OR @e35<>@t35 OR @e36<>@t36 OR @e37<>@t37 OR @e38<>@t38 OR @e39<>@t39 OR @e40<>@t40 OR @e41<>@t41 OR @e42<>@t42 OR @e43<>@t43 OR @e44<>@t44 OR @e45<>@t45 OR @e46<>@t46 OR @e47<>@t47 OR @e48<>@t48 BEGIN IF @ProcessaLog=''N'' AND @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE PA'',''ESTOQUE_PRODUTOS'', ''O produto ''+RTRIM(@eProduto)+'' cor ''+RTRIM(@eCor_Produto)+ '' filial ''+RTRIM(@eFilial)+'' Possui Quantidades Inconsistentes !'', RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial),@LogStatus, RIGHT(STR(10000000+@Sequencial),7)) END IF (@LogStatus=''O'') UPDATE ESTOQUE_PRODUTOS SET ESTOQUE=(@tEstoque), ES1=@t1,ES2=@t2,ES3=@t3,ES4=@t4,ES5=@t5,ES6=@t6,ES7=@t7,ES8=@t8,ES9=@t9,ES10=@t10,ES11=@t11,ES12=@t12, ES13=@t13,ES14=@t14,ES15=@t15,ES16=@t16,ES17=@t17,ES18=@t18,ES19=@t19,ES20=@t20,ES21=@t21,ES22=@t22,ES23=@t23,ES24=@t24, ES25=@t25,ES26=@t26,ES27=@t27,ES28=@t28,ES29=@t29,ES30=@t30,ES31=@t31,ES32=@t32,ES33=@t33,ES34=@t34,ES35=@t35,ES36=@t36, ES37=@t37,ES38=@t38,ES39=@t39,ES40=@t40,ES41=@t41,ES42=@t42,ES43=@t43,ES44=@t44,ES45=@t45,ES46=@t46,ES47=@t47,ES48=@t48 WHERE PRODUTO=@eProduto AND COR_PRODUTO=@eCor_Produto AND FILIAL=@eFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' FROM Log_Calculo WHERE Chave=RTRIM(@eProduto)+RTRIM(@eCor_Produto)+RTRIM(@eFilial) AND Modulo=''ESTOQUE PA'' AND Status=''P'' AND Tabela=''ESTOQUE_PRODUTOS'' AND Descricao LIKE ''%Possui Quantidades Inconsistentes%'' END END CLOSE Cur_Estoque_Produtos DEALLOCATE Cur_Estoque_Produtos END CLOSE Cur_Filiais DEALLOCATE Cur_Filiais set nocount off' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[Lx_Ver_Vendas_PA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [Lx_Ver_Vendas_PA] /*---[VERSAO: 1.1]---*/ @Pedido Char(12)=''#'',@PedidoFinal Char(12)=''#'',@Colecao Char(6)=''%'',@CodCliente Char(6)=''#'',@Cliente VarChar(25)=''%'',@Corrige Char(1)=''N'',@ProcessaLog Char(1)=''N'',@GeraLog Char(1)=''S'' AS set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @Log Char(1), @Erro Char(1), @Sequencial Int,@Count Int,@String VarChar(30), @LogStatus Char(1),@StatusVendas Int,@StatusVendasProduto Int, @Status Int, /*TotaisVendas*/ @xTot_Qtde_Original Int,@xTot_Qtde_Entregar Int,@xTot_Qtde_Embalada Int,@xTot_Qtde_Cancelada Int, @xTot_Qtde_Entregue Int,@xTot_Qtde_Devolvida Int,@xTot_Valor_Original Numeric(14,2), @xTot_Valor_Entregar Numeric(14,2),@xTot_Valor_Cancelado Numeric(14,2),@xTot_Valor_Entregue Numeric(14,2), @xTot_Valor_Devolvido Numeric(14,2),@xTot_Bruto_Entregue Numeric(14,2), /*TotaisVendasProduto*/ @VPQtdeFaturada int,@VPValorFaturado Numeric(14,2),@VPValorFaturadoLiq Numeric(14,2), @VPValorDevol Numeric(14,2),@VPQtdeDevol Int,@VPQtdeCancelada Int, @VPValorCancelado Numeric(14,2), @VPQtdeEmbalada Int, @VPValorEmbalado Numeric(14,2), @VPQtdeOriginal Int, @VPValorOriginal Numeric(14,2), @VPQtdeEntregar Int, @VPValorEntregar Numeric(14,2), @t1 int,@t2 int,@t3 int,@t4 int,@t5 int,@t6 int,@t7 int,@t8 int,@t9 int,@t10 int,@t11 int,@t12 int, @t13 int,@t14 int,@t15 int,@t16 int,@t17 int,@t18 int,@t19 int,@t20 int,@t21 int,@t22 int,@t23 int,@t24 int, @t25 int,@t26 int,@t27 int,@t28 int,@t29 int,@t30 int,@t31 int,@t32 int,@t33 int,@t34 int,@t35 int,@t36 int, @t37 int,@t38 int,@t39 int,@t40 int,@t41 int,@t42 int,@t43 int,@t44 int,@t45 int,@t46 int,@t47 int,@t48 int, /*TotaisFaturamento*/ @FQtdeFaturada int,@FValorFaturado Numeric(14,2),@FValorFaturadoLiq Numeric(14,2), /*TotaisEntradasProDevol*/ @DQtdeDevol Int, @DValorDevol Numeric(14,2), /*TotaisVendasCancProd*/ @CQtdeCancelada Int, @CValorCancelado Numeric(14,2), /*TotaisVendasCancProd*/ @EQtdeEmbalada Int, @EValorEmbalado Numeric(14,2), /*Vendas*/ @VPedido Char(12),@Tot_Qtde_Original Int,@Tot_Qtde_Entregar Int,@Tot_Qtde_Embalada Int,@Tot_Qtde_Cancelada Int, @Tot_Qtde_Entregue Int,@Tot_Qtde_Devolvida Int,@Tot_Valor_Original Numeric(14,2),@Tot_Valor_Entregar Numeric(14,2), @Tot_Valor_Cancelado Numeric(14,2),@Tot_Valor_Entregue Numeric(14,2),@Tot_Valor_Devolvido Numeric(14,2), @Desconto Numeric(14,2),@Encargo Numeric(14,2),@Valor_IPI Numeric(14,2),@Tot_Bruto_Entregue Numeric(14,2), /*VendasProduto*/ @VProduto Char(12),@VPedido_Cor Char(10),@VEntrega DateTime,@VPVaria_Preco_Tam Bit,@VPPonteiro_Preco_Tam Char(48), @VPvo1 Int,@VPvo2 Int,@VPvo3 Int,@VPvo4 Int,@VPvo5 Int,@VPvo6 Int,@VPvo7 Int,@VPvo8 Int,@VPvo9 Int,@VPvo10 Int,@VPvo11 Int,@VPvo12 Int,@VPvo13 Int,@VPvo14 Int,@VPvo15 Int,@VPvo16 Int, @VPvo17 Int,@VPvo18 Int,@VPvo19 Int,@VPvo20 Int,@VPvo21 Int,@VPvo22 Int,@VPvo23 Int,@VPvo24 Int,@VPvo25 Int,@VPvo26 Int,@VPvo27 Int,@VPvo28 Int,@VPvo29 Int,@VPvo30 Int,@VPvo31 Int,@VPvo32 Int, @VPvo33 Int,@VPvo34 Int,@VPvo35 Int,@VPvo36 Int,@VPvo37 Int,@VPvo38 Int,@VPvo39 Int,@VPvo40 Int,@VPvo41 Int,@VPvo42 Int,@VPvo43 Int,@VPvo44 Int,@VPvo45 Int,@VPvo46 Int,@VPvo47 Int,@VPvo48 Int, @VPve1 Int,@VPve2 Int,@VPve3 Int,@VPve4 Int,@VPve5 Int,@VPve6 Int,@VPve7 Int,@VPve8 Int,@VPve9 Int,@VPve10 Int,@VPve11 Int,@VPve12 Int,@VPve13 Int,@VPve14 Int,@VPve15 Int,@VPve16 Int, @VPve17 Int,@VPve18 Int,@VPve19 Int,@VPve20 Int,@VPve21 Int,@VPve22 Int,@VPve23 Int,@VPve24 Int,@VPve25 Int,@VPve26 Int,@VPve27 Int,@VPve28 Int,@VPve29 Int,@VPve30 Int,@VPve31 Int,@VPve32 Int, @VPve33 Int,@VPve34 Int,@VPve35 Int,@VPve36 Int,@VPve37 Int,@VPve38 Int,@VPve39 Int,@VPve40 Int,@VPve41 Int,@VPve42 Int,@VPve43 Int,@VPve44 Int,@VPve45 Int,@VPve46 Int,@VPve47 Int,@VPve48 Int, @VPQtde_Original Int,@VPQtde_Entregar Int,@VPQtde_Embalada Int,@VPQtde_Entregue Int,@VPQtde_Devolvida Int, @VPQtde_Cancelada Int,@VPPreco1 Numeric(14,2),@VPPreco2 Numeric(14,2),@VPPreco3 Numeric(14,2), @VPPreco4 Numeric(14,2),@VPDesconto_Item Numeric(14,2),@VPIPI Real,@VPValor_Original Numeric(14,2), @VPValor_Cancelado Numeric(14,2),@VPValor_Entregar Numeric(14,2), @VPValor_Devolvido Numeric(14,2), @VPValor_Entregue Numeric(14,2), /*Faturamento*/ @FQtde Int,@FValor Numeric(14,2),@FTimesTamp VarChar(28),@FTotalNota VarChar(28), @FDesconto_Item Numeric(14,2),@FIPI real,@FPreco numeric(14,2), @FValor_Total Numeric(14,2),@FDesconto Numeric(14,2),@FDesconto_Cond_Pgto Numeric(14,2), @FEncargo Numeric(14,2),@FIPI_Valor Numeric(14,2),@FSeguro Numeric(14,2),@FFrete Numeric(14,2), @FxValorFaturado Numeric(14,2),@FDesconto_Bruto Numeric(14,2), @FxDesconto_Bruto Numeric(14,4), /*Entradas_Pro_Devol*/ @DPreco Numeric(14,2), @DDesconto_Item Numeric(14,2),@DIPI real,@DValor Numeric(14,2),@DQtde Int, /*VendasCancProd*/ @CQtde_Cancelada Int,@CValor_Cancelado Numeric(14,2),@CPreco1 Numeric(14,2),@CPreco2 Numeric(14,2), @CPreco3 Numeric(14,2),@CPreco4 Numeric(14,2),@CDesconto_Item Numeric(14,2),@CIPI real,@Cancelamento Char(5), /*VendasProdEmbalado*/ @EQtde_Embalada INT,@EValor_Embalado Numeric(14,2),@EPreco1 Numeric(14,2),@EPreco2 Numeric(14,2), @EPreco3 Numeric(14,2),@EPreco4 Numeric(14,2),@EDesconto_Item Numeric(14,2),@EIPI real,@EItem Char(3), /*GradeTamanhos*/ @D1 Int,@D2 Int,@D3 Int,@D4 Int,@D5 Int,@D6 Int,@D7 Int,@D8 Int,@D9 Int,@D10 Int,@D11 Int,@D12 Int,@D13 Int,@D14 Int,@D15 Int,@D16 Int, @D17 Int,@D18 Int,@D19 Int,@D20 Int,@D21 Int,@D22 Int,@D23 Int,@D24 Int,@D25 Int,@D26 Int,@D27 Int,@D28 Int,@D29 Int,@D30 Int,@D31 Int,@D32 Int, @D33 Int,@D34 Int,@D35 Int,@D36 Int,@D37 Int,@D38 Int,@D39 Int,@D40 Int,@D41 Int,@D42 Int,@D43 Int,@D44 Int,@D45 Int,@D46 Int,@D47 Int,@D48 Int SELECT @Pedido=''#'',@PedidoFinal=''#'',@Colecao=''%'',@CodCliente=''#'',@Cliente=''%'',@Corrige=''S'',@GeraLog=''N'' WHERE @ProcessaLog=''S'' SELECT @PedidoFinal=''zzzzzzzzzzzz'' WHERE @Pedido=''#'' AND @PedidoFinal=''#'' SELECT @PedidoFinal=@Pedido WHERE @Pedido<>''#'' AND @PedidoFinal=''#'' SELECT @Pedido='' !'' WHERE @Pedido=''#'' SELECT @Corrige=''N'' WHERE @Corrige<>''N'' AND @Corrige<>''S'' SELECT @Corrige=''S'' WHERE @Corrige=''s'' SELECT @LogStatus = '' '' WHERE @Corrige=''N'' SELECT @LogStatus = ''O'' WHERE @Corrige=''S'' IF @Colecao=''%'' AND @Cliente=''%'' AND @CodCliente=''#'' AND @ProcessaLog=''N'' BEGIN DECLARE Cur_Vendas SCROLL CURSOR FOR SELECT Pedido,Tot_Qtde_Original,Tot_Qtde_Entregar,Tot_Qtde_Embalada,Tot_Qtde_Cancelada,Tot_Qtde_Entregue,Tot_Qtde_Devolvida,Tot_Valor_Original,Tot_Valor_Entregar,Tot_Valor_Cancelado,Tot_Valor_Entregue,Tot_Valor_Devolvido,Desconto,Encargo,Valor_IPI, Tot_Bruto_Entregue FROM Vendas WHERE Pedido >= RTRIM(@Pedido) AND Pedido <= RTRIM(@PedidoFinal) END IF (@Cliente<>''%'' OR @Colecao<>''%'') AND @CodCliente=''#'' AND @ProcessaLog=''N'' BEGIN DECLARE Cur_Vendas SCROLL CURSOR FOR SELECT Pedido,Tot_Qtde_Original,Tot_Qtde_Entregar,Tot_Qtde_Embalada,Tot_Qtde_Cancelada,Tot_Qtde_Entregue,Tot_Qtde_Devolvida,Tot_Valor_Original,Tot_Valor_Entregar,Tot_Valor_Cancelado,Tot_Valor_Entregue,Tot_Valor_Devolvido,Desconto,Encargo,Valor_IPI, Tot_Bruto_Entregue FROM Vendas WHERE Pedido >= RTRIM(@Pedido) AND Pedido <= RTRIM(@PedidoFinal) AND Colecao LIKE RTRIM(@Colecao) AND Cliente_Atacado LIKE RTRIM(@Cliente) END IF @CodCliente<>''#'' AND @Cliente=''%'' AND @ProcessaLog=''N'' BEGIN DECLARE Cur_Vendas SCROLL CURSOR FOR SELECT Pedido,Tot_Qtde_Original,Tot_Qtde_Entregar,Tot_Qtde_Embalada,Tot_Qtde_Cancelada,Tot_Qtde_Entregue,Tot_Qtde_Devolvida,Tot_Valor_Original,Tot_Valor_Entregar,Tot_Valor_Cancelado,Tot_Valor_Entregue,Tot_Valor_Devolvido,Desconto,Encargo,Valor_IPI, Tot_Bruto_Entregue FROM Vendas WHERE Pedido >= RTRIM(@Pedido) AND Pedido <= RTRIM(@PedidoFinal) AND Colecao LIKE RTRIM(@Colecao) AND Cliente_Atacado in (SELECT Nome_CliFor FROM Cadastro_Cli_For WHERE CliFor LIKE @CodCliente) END IF @ProcessaLog=''S'' BEGIN DECLARE Cur_Vendas SCROLL CURSOR FOR SELECT Pedido,Tot_Qtde_Original,Tot_Qtde_Entregar,Tot_Qtde_Embalada,Tot_Qtde_Cancelada,Tot_Qtde_Entregue,Tot_Qtde_Devolvida,Tot_Valor_Original,Tot_Valor_Entregar,Tot_Valor_Cancelado,Tot_Valor_Entregue,Tot_Valor_Devolvido,Desconto,Encargo,Valor_IPI, Tot_Bruto_Entregue FROM Vendas, Log_Calculo WHERE RTRIM(Pedido)=RTRIM(Chave) END DECLARE Cur_Vendas_Produto SCROLL CURSOR FOR SELECT A.Produto,A.Cor_Produto,A.Entrega,B.Varia_Preco_Tam,B.Ponteiro_Preco_Tam, ISNULL(CONVERT(Int,vo1),0), ISNULL(CONVERT(Int,vo2),0), ISNULL(CONVERT(Int,vo3),0), ISNULL(CONVERT(Int,vo4),0), ISNULL(CONVERT(Int,vo5),0), ISNULL(CONVERT(Int,vo6),0),ISNULL(CONVERT(Int,vo7),0), ISNULL(CONVERT(Int,vo8),0), ISNULL(CONVERT(Int,vo9),0), ISNULL(CONVERT(Int,vo10),0),ISNULL(CONVERT(Int,vo11),0),ISNULL(CONVERT(Int,vo12),0), ISNULL(CONVERT(Int,vo13),0),ISNULL(CONVERT(Int,vo14),0),ISNULL(CONVERT(Int,vo15),0),ISNULL(CONVERT(Int,vo16),0),ISNULL(CONVERT(Int,vo17),0),ISNULL(CONVERT(Int,vo18),0),ISNULL(CONVERT(Int,vo19),0),ISNULL(CONVERT(Int,vo20),0),ISNULL(CONVERT(Int,vo21),0),ISNULL(CONVERT(Int,vo22),0),ISNULL(CONVERT(Int,vo23),0),ISNULL(CONVERT(Int,vo24),0),ISNULL(CONVERT(Int,vo25),0),ISNULL(CONVERT(Int,vo26),0),ISNULL(CONVERT(Int,vo27),0),ISNULL(CONVERT(Int,vo28),0),ISNULL(CONVERT(Int,vo29),0),ISNULL(CONVERT(Int,vo30),0),ISNULL(CONVERT(Int,vo31),0),ISNULL(CONVERT(Int,vo32),0),ISNULL(CONVERT(Int,vo33),0),ISNULL(CONVERT(Int,vo34),0),ISNULL(CONVERT(Int,vo35),0),ISNULL(CONVERT(Int,vo36),0), ISNULL(CONVERT(Int,vo37),0),ISNULL(CONVERT(Int,vo38),0),ISNULL(CONVERT(Int,vo39),0),ISNULL(CONVERT(Int,vo40),0),ISNULL(CONVERT(Int,vo41),0),ISNULL(CONVERT(Int,vo42),0),ISNULL(CONVERT(Int,vo43),0),ISNULL(CONVERT(Int,vo44),0),ISNULL(CONVERT(Int,vo45),0),ISNULL(CONVERT(Int,vo46),0),ISNULL(CONVERT(Int,vo47),0),ISNULL(CONVERT(Int,vo48),0),ISNULL(CONVERT(Int,ve1),0), ISNULL(CONVERT(Int,ve2),0), ISNULL(CONVERT(Int,ve3),0), ISNULL(CONVERT(Int,ve4),0), ISNULL(CONVERT(Int,ve5),0), ISNULL(CONVERT(Int,ve6),0), ISNULL(CONVERT(Int,ve7),0), ISNULL(CONVERT(Int,ve8),0), ISNULL(CONVERT(Int,ve9),0), ISNULL(CONVERT(Int,ve10),0),ISNULL(CONVERT(Int,ve11),0),ISNULL(CONVERT(Int,ve12),0), ISNULL(CONVERT(Int,ve13),0),ISNULL(CONVERT(Int,ve14),0),ISNULL(CONVERT(Int,ve15),0),ISNULL(CONVERT(Int,ve16),0),ISNULL(CONVERT(Int,ve17),0),ISNULL(CONVERT(Int,ve18),0),ISNULL(CONVERT(Int,ve19),0),ISNULL(CONVERT(Int,ve20),0),ISNULL(CONVERT(Int,ve21),0),ISNULL(CONVERT(Int,ve22),0),ISNULL(CONVERT(Int,ve23),0),ISNULL(CONVERT(Int,ve24),0),ISNULL(CONVERT(Int,ve25),0),ISNULL(CONVERT(Int,ve26),0),ISNULL(CONVERT(Int,ve27),0),ISNULL(CONVERT(Int,ve28),0),ISNULL(CONVERT(Int,ve29),0),ISNULL(CONVERT(Int,ve30),0),ISNULL(CONVERT(Int,ve31),0),ISNULL(CONVERT(Int,ve32),0),ISNULL(CONVERT(Int,ve33),0),ISNULL(CONVERT(Int,ve34),0),ISNULL(CONVERT(Int,ve35),0),ISNULL(CONVERT(Int,ve36),0), ISNULL(CONVERT(Int,ve37),0),ISNULL(CONVERT(Int,ve38),0),ISNULL(CONVERT(Int,ve39),0),ISNULL(CONVERT(Int,ve40),0),ISNULL(CONVERT(Int,ve41),0),ISNULL(CONVERT(Int,ve42),0),ISNULL(CONVERT(Int,ve43),0),ISNULL(CONVERT(Int,ve44),0),ISNULL(CONVERT(Int,ve45),0),ISNULL(CONVERT(Int,ve46),0),ISNULL(CONVERT(Int,ve47),0),ISNULL(CONVERT(Int,ve48),0),ISNULL(CONVERT(Int,Qtde_Original),0),ISNULL(CONVERT(Int,Qtde_Entregar),0),ISNULL(CONVERT(Int,Qtde_Embalada),0),ISNULL(CONVERT(Int,Qtde_Entregue),0),ISNULL(CONVERT(Int,Qtde_Devolvida),0),ISNULL(CONVERT(Int,Qtde_Cancelada),0),Preco1,Preco2,Preco3,Preco4,Desconto_Item,IPI, Valor_Original,Valor_Cancelado,Valor_Entregar,Valor_Devolvido,Valor_Entregue FROM Vendas_Produto A,Produtos B WHERE A.Produto=B.Produto and Pedido=@VPedido ORDER BY A.Produto,A.Cor_Produto,A.Entrega DECLARE Cur_Faturamento SCROLL CURSOR FOR SELECT CONVERT(Int,Qtde),ISNULL(Valor,0),A.TimesTamp,ISNULL(Desconto_Item,0),ISNULL(IPI,0),ISNULL(Preco,0), CONVERT(Int,f1 ),CONVERT(Int,f2 ),CONVERT(Int,f3 ),CONVERT(Int,f4 ),CONVERT(Int,f5 ),CONVERT(Int,f6 ),CONVERT(Int,f7 ),CONVERT(Int,f8 ),CONVERT(Int,f9 ),CONVERT(Int,f10),CONVERT(Int,f11),CONVERT(Int,f12), CONVERT(Int,f13),CONVERT(Int,f14),CONVERT(Int,f15),CONVERT(Int,f16),CONVERT(Int,f17),CONVERT(Int,f18),CONVERT(Int,f19),CONVERT(Int,f20),CONVERT(Int,f21),CONVERT(Int,f22),CONVERT(Int,f23),CONVERT(Int,f24), CONVERT(Int,f25),CONVERT(Int,f26),CONVERT(Int,f27),CONVERT(Int,f28),CONVERT(Int,f29),CONVERT(Int,f30),CONVERT(Int,f31),CONVERT(Int,f32),CONVERT(Int,f33),CONVERT(Int,f34),CONVERT(Int,f35),CONVERT(Int,f36), CONVERT(Int,f37),CONVERT(Int,f38),CONVERT(Int,f39),CONVERT(Int,f40),CONVERT(Int,f41),CONVERT(Int,f42),CONVERT(Int,f43),CONVERT(Int,f44),CONVERT(Int,f45),CONVERT(Int,f46),CONVERT(Int,f47),CONVERT(Int,f48), ISNULL(C.Valor_Total,0),ISNULL(C.Desconto,0),ISNULL(C.Desconto_Cond_Pgto,0),ISNULL(C.Encargo,0),ISNULL(C.IPI_Valor,0),ISNULL(C.Seguro,0),ISNULL(C.Frete,0),ISNULL(C.Desconto_Bruto,0),C.TimesTamp FROM Faturamento_Prod A,Faturamento C WHERE A.NF_Saida = C.NF_Saida and A.Serie_NF = C.Serie_NF and A.Filial = C.Filial and A.Pedido= @VPedido and A.Pedido_Produto=@VProduto and A.Pedido_Cor=@VPedido_Cor and A.Entrega=@VEntrega ORDER BY A.Pedido_Produto,A.Pedido_Cor,A.Entrega DECLARE Cur_Entradas_Pro_Devol SCROLL CURSOR FOR SELECT A.preco,A.desconto_item,A.ipi,A.valor,ISNULL(A.qtde,0), ISNULL(A.f1,0) ,ISNULL(A.f2,0) ,ISNULL(A.f3,0) ,ISNULL(A.f4,0) ,ISNULL(A.f5,0) ,ISNULL(A.f6,0) ,ISNULL(A.f7,0) ,ISNULL(A.f8,0) ,ISNULL(A.f9,0) ,ISNULL(A.f10,0),ISNULL(A.f11,0),ISNULL(A.f12,0), ISNULL(A.f13,0),ISNULL(A.f14,0),ISNULL(A.f15,0),ISNULL(A.f16,0),ISNULL(A.f17,0),ISNULL(A.f18,0),ISNULL(A.f19,0),ISNULL(A.f20,0),ISNULL(A.f21,0),ISNULL(A.f22,0),ISNULL(A.f23,0),ISNULL(A.f24,0), ISNULL(A.f25,0),ISNULL(A.f26,0),ISNULL(A.f27,0),ISNULL(A.f28,0),ISNULL(A.f29,0),ISNULL(A.f30,0),ISNULL(A.f31,0),ISNULL(A.f32,0),ISNULL(A.f33,0),ISNULL(A.f34,0),ISNULL(A.f35,0),ISNULL(A.f36,0), ISNULL(A.f37,0),ISNULL(A.f38,0),ISNULL(A.f39,0),ISNULL(A.f40,0),ISNULL(A.f41,0),ISNULL(A.f42,0),ISNULL(A.f43,0),ISNULL(A.f44,0),ISNULL(A.f45,0),ISNULL(A.f46,0),ISNULL(A.f47,0),ISNULL(A.f48,0) FROM Entradas_pro_devol A,faturamento_prod B WHERE A.nf_saida=B.nf_saida and A.produto=B.produto and A.cor_produto=B.cor_produto and A.item=B.item and A.filial=B.filial and B.pedido=@VPedido and B.Pedido_Produto=@VProduto and B.Pedido_Cor=@VPedido_Cor and B.Entrega=@VEntrega DECLARE Cur_Vendas_Canc_Prod SCROLL CURSOR FOR SELECT ISNULL(Qtde_Cancelada,0),ISNULL(Valor_Cancelado,0),ISNULL(Preco1,0),ISNULL(Preco2,0),ISNULL(Preco3,0),ISNULL(Preco4,0),ISNULL(Desconto_Item,0),ISNULL(IPI,0),Num_Cancelamento, ISNULL(vo1,0), ISNULL(vo2,0), ISNULL(vo3,0), ISNULL(vo4,0), ISNULL(vo5,0), ISNULL(vo6,0), ISNULL(vo7,0), ISNULL(vo8,0), ISNULL(vo9,0), ISNULL(vo10,0),ISNULL(vo11,0),ISNULL(vo12,0), ISNULL(vo13,0),ISNULL(vo14,0),ISNULL(vo15,0),ISNULL(vo16,0),ISNULL(vo17,0),ISNULL(vo18,0),ISNULL(vo19,0),ISNULL(vo20,0),ISNULL(vo21,0),ISNULL(vo22,0),ISNULL(vo23,0),ISNULL(vo24,0), ISNULL(vo25,0),ISNULL(vo26,0),ISNULL(vo27,0),ISNULL(vo28,0),ISNULL(vo29,0),ISNULL(vo30,0),ISNULL(vo31,0),ISNULL(vo32,0),ISNULL(vo33,0),ISNULL(vo34,0),ISNULL(vo35,0),ISNULL(vo36,0), ISNULL(vo37,0),ISNULL(vo38,0),ISNULL(vo39,0),ISNULL(vo40,0),ISNULL(vo41,0),ISNULL(vo42,0),ISNULL(vo43,0),ISNULL(vo44,0),ISNULL(vo45,0),ISNULL(vo46,0),ISNULL(vo47,0),ISNULL(vo48,0) FROM Vendas_Canc_Prod WHERE pedido=@VPedido and Produto=@VProduto and Cor_Produto=@VPedido_Cor and Entrega=@VEntrega ORDER BY produto,cor_produto,entrega DECLARE Cur_Vendas_Prod_Embalado SCROLL CURSOR FOR SELECT ISNULL(qtde_embalada,0),valor_embalado,preco1,preco2,preco3,preco4,desconto_item,ipi,item, ISNULL(e1,0) ,ISNULL(e2,0) ,ISNULL(e3,0) ,ISNULL(e4,0) ,ISNULL(e5,0) ,ISNULL(e6,0) ,ISNULL(e7,0) ,ISNULL(e8,0) ,ISNULL(e9,0) ,ISNULL(e10,0),ISNULL(e11,0),ISNULL(e12,0), ISNULL(e13,0),ISNULL(e14,0),ISNULL(e15,0),ISNULL(e16,0),ISNULL(e17,0),ISNULL(e18,0),ISNULL(e19,0),ISNULL(e20,0),ISNULL(e21,0),ISNULL(e22,0),ISNULL(e23,0),ISNULL(e24,0), ISNULL(e25,0),ISNULL(e26,0),ISNULL(e27,0),ISNULL(e28,0),ISNULL(e29,0),ISNULL(e30,0),ISNULL(e31,0),ISNULL(e32,0),ISNULL(e33,0),ISNULL(e34,0),ISNULL(e35,0),ISNULL(e36,0), ISNULL(e37,0),ISNULL(e38,0),ISNULL(e39,0),ISNULL(e40,0),ISNULL(e41,0),ISNULL(e42,0),ISNULL(e43,0),ISNULL(e44,0),ISNULL(e45,0),ISNULL(e46,0),ISNULL(e47,0),ISNULL(e48,0) FROM vendas_prod_embalado WHERE pedido=@VPedido and Pedido_Produto=@VProduto and Pedido_Cor_Produto=@VPedido_Cor and Entrega=@VEntrega ORDER BY pedido_produto,pedido_cor_produto,entrega OPEN Cur_Vendas SELECT @StatusVendas=0 WHILE @StatusVendas <>-1 BEGIN FETCH NEXT FROM Cur_Vendas INTO @VPedido,@Tot_Qtde_Original,@Tot_Qtde_Entregar,@Tot_Qtde_Embalada,@Tot_Qtde_Cancelada,@Tot_Qtde_Entregue,@Tot_Qtde_Devolvida,@Tot_Valor_Original,@Tot_Valor_Entregar,@Tot_Valor_Cancelado,@Tot_Valor_Entregue,@Tot_Valor_Devolvido,@Desconto,@Encargo,@Valor_IPI,@Tot_Bruto_Entregue SELECT @StatusVendas=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @xTot_Qtde_Original=0,@xTot_Qtde_Entregar=0,@xTot_Qtde_Embalada=0,@xTot_Qtde_Cancelada=0,@xTot_Qtde_Entregue=0,@xTot_Qtde_Devolvida=0,@xTot_Valor_Original=0,@xTot_Valor_Entregar=0,@xTot_Valor_Cancelado=0,@xTot_Valor_Entregue=0,@xTot_Valor_Devolvido=0,@xTot_Bruto_Entregue=0 SELECT @Erro=''N'' SELECT @Log=''S'' WHERE @GeraLog=''S'' OPEN Cur_Vendas_Produto SELECT @StatusVendasProduto=0 WHILE @StatusVendasProduto!=-1 AND @Erro=''N'' BEGIN FETCH NEXT FROM Cur_Vendas_Produto INTO @VProduto,@VPedido_Cor,@VEntrega, @VPVaria_Preco_Tam,@VPPonteiro_Preco_Tam, @VPvo1 ,@VPvo2 ,@VPvo3 ,@VPvo4 ,@VPvo5 ,@VPvo6 ,@VPvo7 ,@VPvo8 ,@VPvo9 ,@VPvo10,@VPvo11,@VPvo12,@VPvo13,@VPvo14,@VPvo15,@VPvo16,@VPvo17,@VPvo18,@VPvo19,@VPvo20,@VPvo21,@VPvo22,@VPvo23,@VPvo24, @VPvo25,@VPvo26,@VPvo27,@VPvo28,@VPvo29,@VPvo30,@VPvo31,@VPvo32,@VPvo33,@VPvo34,@VPvo35,@VPvo36,@VPvo37,@VPvo38,@VPvo39,@VPvo40,@VPvo41,@VPvo42,@VPvo43,@VPvo44,@VPvo45,@VPvo46,@VPvo47,@VPvo48, @VPve1 ,@VPve2 ,@VPve3 ,@VPve4 ,@VPve5 ,@VPve6 ,@VPve7 ,@VPve8 ,@VPve9 ,@VPve10,@VPve11,@VPve12,@VPve13,@VPve14,@VPve15,@VPve16,@VPve17,@VPve18,@VPve19,@VPve20,@VPve21,@VPve22,@VPve23,@VPve24, @VPve25,@VPve26,@VPve27,@VPve28,@VPve29,@VPve30,@VPve31,@VPve32,@VPve33,@VPve34,@VPve35,@VPve36,@VPve37,@VPve38,@VPve39,@VPve40,@VPve41,@VPve42,@VPve43,@VPve44,@VPve45,@VPve46,@VPve47,@VPve48, @VPQtde_Original,@VPQtde_Entregar,@VPQtde_Embalada,@VPQtde_Entregue,@VPQtde_Devolvida,@VPQtde_Cancelada,@VPPreco1,@VPPreco2,@VPPreco3,@VPPreco4,@VPDesconto_Item,@VPIPI,@VPValor_Original, @VPValor_Cancelado,@VPValor_Entregar,@VPValor_Devolvido,@VPValor_Entregue SELECT @StatusVendasProduto=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @VPQtdeFaturada=0,@VPValorFaturado=0,@VPValorFaturadoLiq=0,@VPValorDevol=0,@VPQtdeDevol=0, @VPQtdeCancelada=0,@VPValorCancelado=0,@VPQtdeEmbalada=0,@VPValorEmbalado=0,@VPQtdeOriginal=0, @VPValorOriginal=0,@VPQtdeEntregar=0,@VPValorEntregar=0, @t1 =0,@t2 =0,@t3 =0,@t4 =0,@t5 =0,@t6 =0,@t7 =0,@t8 =0,@t9 =0,@t10=0,@t11=0,@t12=0,@t13=0,@t14=0,@t15=0,@t16=0,@t17=0,@t18=0,@t19=0,@t20=0,@t21=0,@t22=0,@t23=0,@t24=0, @t25=0,@t26=0,@t27=0,@t28=0,@t29=0,@t30=0,@t31=0,@t32=0,@t33=0,@t34=0,@t35=0,@t36=0,@t37=0,@t38=0,@t39=0,@t40=0,@t41=0,@t42=0,@t43=0,@t44=0,@t45=0,@t46=0,@t47=0,@t48=0 OPEN Cur_Faturamento SELECT @Status=0 WHILE @Status!=-1 BEGIN FETCH NEXT FROM Cur_Faturamento INTO @FQtde,@FValor,@FTimesTamp,@FDesconto_Item,@FIPI,@FPreco, @D1 ,@D2 ,@D3 ,@D4 ,@D5 ,@D6 ,@D7 ,@D8 ,@D9 ,@D10,@D11,@D12,@D13,@D14,@D15,@D16,@D17,@D18,@D19,@D20,@D21,@D22,@D23,@D24, @D25,@D26,@D27,@D28,@D29,@D30,@D31,@D32,@D33,@D34,@D35,@D36,@D37,@D38,@D39,@D40,@D41,@D42,@D43,@D44,@D45,@D46,@D47,@D48, @FValor_Total,@FDesconto,@FDesconto_Cond_Pgto,@FEncargo,@FIPI_Valor,@FSeguro,@FFrete,@FDesconto_Bruto,@FTotalNota SELECT @Status=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @t1 =@t1 +@D1 ,@t2 =@t2 +@D2 ,@t3 =@t3 +@D3 ,@t4 =@t4 +@D4 ,@t5 =@t5 +@D5 ,@t6 =@t6 +@D6 ,@t7 =@t7 +@D7 ,@t8 =@t8 +@D8 , @t9 =@t9 +@D9 ,@t10=@t10+@D10,@t11=@t11+@D11,@t12=@t12+@D12,@t13=@t13+@D13,@t14=@t14+@D14,@t15=@t15+@D15,@t16=@t16+@D16, @t17=@t17+@D17,@t18=@t18+@D18,@t19=@t19+@D19,@t20=@t20+@D20,@t21=@t21+@D21,@t22=@t22+@D22,@t23=@t23+@D23,@t24=@t24+@D24, @t25=@t25+@D25,@t26=@t26+@D26,@t27=@t27+@D27,@t28=@t28+@D28,@t29=@t29+@D29,@t30=@t30+@D30,@t31=@t31+@D31,@t32=@t32+@D32, @t33=@t33+@D33,@t34=@t34+@D34,@t35=@t35+@D35,@t36=@t36+@D36,@t37=@t37+@D37,@t38=@t38+@D38,@t39=@t39+@D39,@t40=@t40+@D40, @t41=@t41+@D41,@t42=@t42+@D42,@t43=@t43+@D43,@t44=@t44+@D44,@t45=@t45+@D45,@t46=@t46+@D46,@t47=@t47+@D47,@t48=@t48+@D48 SELECT @FQtdeFaturada= @D1 +@D2 +@D3 +@D4 +@D5 +@D6 +@D7 +@D8 +@D9 +@D10+@D11+@D12+@D13+@D14+@D15+@D16+@D17+@D18+@D19+@D20+@D21+@D22+@D23+@D24+ @D25+@D26+@D27+@D28+@D29+@D30+@D31+@D32+@D33+@D34+@D35+@D36+@D37+@D38+@D39+@D40+@D41+@D42+@D43+@D44+@D45+@D46+@D47+@D48 EXECUTE F_Producao_Preco @FTotalNota, F, @String OUTPUT SELECT @FTotalNota=@String EXECUTE F_Producao_Preco @FTimesTamp, F, @String OUTPUT SELECT @FValorFaturado=CONVERT(Numeric(14,2),CONVERT(Numeric(14,2),@FQtdeFaturada)*CONVERT(Numeric(14,2),@String)*(1+(@FIPI/100.0000))) SELECT @FxValorFaturado=CONVERT(Numeric(14,2),@FValorFaturado-(@FQtdeFaturada*@FPreco*(1+(@FIPI/100.0000)))) SELECT @FValorFaturadoLiq=@FValor SELECT @FValorFaturadoLiq=CONVERT(Numeric(14,3),@FValor-(@FValor*CONVERT(Numeric(14,3),100.*@FDesconto/(@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete))/100.)) WHERE @FDesconto IS NOT NULL AND (@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete)>0 SELECT @FValorFaturadoLiq=CONVERT(Numeric(14,3),@FValorFaturadoLiq-(@FValorFaturadoLiq*CONVERT(Numeric(14,3),100.*@FDesconto_Cond_Pgto/(@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete))/100.)) WHERE @FDesconto_Cond_Pgto IS NOT NULL AND (@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete)>0 SELECT @FValorFaturadoLiq=CONVERT(Numeric(14,3),@FValorFaturadoLiq+(@FValor*CONVERT(Numeric(14,3),100.*@FEncargo/(@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete))/100.)) WHERE @FEncargo IS NOT NULL AND (@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor-@FSeguro-@FFrete)>0 IF @FTotalNota IS NOT NULL AND RTRIM(@FTotalNota) <> '''' BEGIN SELECT @FxDesconto_Bruto=0 SELECT @FxDesconto_Bruto=CONVERT(Numeric(14,2),(@FDesconto_Bruto-@FDesconto-@FDesconto_Cond_Pgto)/(CONVERT(Numeric(14,2),@FTotalNota)+@FDesconto_Bruto-(@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor))) WHERE @FxDesconto_Bruto IS NOT NULL AND (CONVERT(Numeric(14,2),@FTotalNota)+@FDesconto_Bruto-(@FValor_Total+@FDesconto+@FDesconto_Cond_Pgto-@FEncargo-@FIPI_Valor))>0 SELECT @FValorFaturadoLiq=@FValorFaturadoLiq+CONVERT(Numeric(14,2),@FxValorFaturado-(1.*@FxValorFaturado*@FxDesconto_Bruto)) END SELECT @VPValorFaturado=@VPValorFaturado+@FValorFAturado,@VPQtdeFaturada=@VPQtdeFaturada+@FQtdeFAturada,@VPValorFaturadoLiq=@VPValorFaturadoLiq+@FValorFaturadoLiq END /*Loop Cur_Faturamento*/ CLOSE Cur_Faturamento OPEN Cur_Entradas_Pro_Devol SELECT @Status=0 WHILE @Status!=-1 BEGIN FETCH NEXT FROM Cur_Entradas_Pro_Devol INTO @DPreco,@DDesconto_Item,@DIPI,@DValor,@DQtde, @D1 ,@D2 ,@D3 ,@D4 ,@D5 ,@D6 ,@D7 ,@D8 ,@D9 ,@D10,@D11,@D12,@D13,@D14,@D15,@D16,@D17,@D18,@D19,@D20,@D21,@D22,@D23,@D24, @D25,@D26,@D27,@D28,@D29,@D30,@D31,@D32,@D33,@D34,@D35,@D36,@D37,@D38,@D39,@D40,@D41,@D42,@D43,@D44,@D45,@D46,@D47,@D48 SELECT @Status=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @DQtdeDevol=(@D1 +@D2 +@D3 +@D4 +@D5 +@D6 +@D7 +@D8 +@D9 +@D10+@D11+@D12+@D13+@D14+@D15+@D16+@D17+@D18+@D19+@D20+@D21+@D22+@D23+@D24+ @D25+@D26+@D27+@D28+@D29+@D30+@D31+@D32+@D33+@D34+@D35+@D36+@D37+@D38+@D39+@D40+@D41+@D42+@D43+@D44+@D45+@D46+@D47+@D48) SELECT @DValorDevol=CONVERT(Numeric(14,2),@DQtdeDevol*(@DPreco-@DDesconto_Item))*CONVERT(Numeric(14,2),1+(@DIPI/100.000)) SELECT @VPValorDevol=@VPValorDevol+@DValorDevol SELECT @VPQtdeDevol=@VPQtdeDevol+@DQtdeDevol END /*Loop Cur_Entradas_Pro_Devol*/ CLOSE Cur_Entradas_Pro_Devol OPEN Cur_Vendas_Canc_Prod SELECT @Status=0 WHILE @Status!=-1 AND @Erro=''N'' BEGIN FETCH NEXT FROM Cur_Vendas_Canc_Prod INTO @CQtde_Cancelada,@CValor_Cancelado,@CPreco1,@CPreco2,@CPreco3,@CPreco4, @CDesconto_Item,@CIPI,@Cancelamento, @D1 ,@D2 ,@D3 ,@D4 ,@D5 ,@D6 ,@D7 ,@D8 ,@D9 ,@D10,@D11,@D12, @D13,@D14,@D15,@D16,@D17,@D18,@D19,@D20,@D21,@D22,@D23,@D24, @D25,@D26,@D27,@D28,@D29,@D30,@D31,@D32,@D33,@D34,@D35,@D36, @D37,@D38,@D39,@D40,@D41,@D42,@D43,@D44,@D45,@D46,@D47,@D48 SELECT @Status=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @t1 =@t1 +@D1 ,@t2 =@t2 +@D2 ,@t3 =@t3 +@D3 ,@t4 =@t4 +@D4 , @t5 =@t5 +@D5 ,@t6 =@t6 +@D6 ,@t7 =@t7 +@D7 ,@t8 =@t8 +@D8 , @t9 =@t9 +@D9 ,@t10=@t10+@D10,@t11=@t11+@D11,@t12=@t12+@D12, @t13=@t13+@D13,@t14=@t14+@D14,@t15=@t15+@D15,@t16=@t16+@D16, @t17=@t17+@D17,@t18=@t18+@D18,@t19=@t19+@D19,@t20=@t20+@D20, @t21=@t21+@D21,@t22=@t22+@D22,@t23=@t23+@D23,@t24=@t24+@D24, @t25=@t25+@D25,@t26=@t26+@D26,@t27=@t27+@D27,@t28=@t28+@D28, @t29=@t29+@D29,@t30=@t30+@D30,@t31=@t31+@D31,@t32=@t32+@D32, @t33=@t33+@D33,@t34=@t34+@D34,@t35=@t35+@D35,@t36=@t36+@D36, @t37=@t37+@D37,@t38=@t38+@D38,@t39=@t39+@D39,@t40=@t40+@D40, @t41=@t41+@D41,@t42=@t42+@D42,@t43=@t43+@D43,@t44=@t44+@D44, @t45=@t45+@D45,@t46=@t46+@D46,@t47=@t47+@D47,@t48=@t48+@D48 SELECT @CQtdeCancelada=(@D1 +@D2 +@D3 +@D4 +@D5 +@D6 +@D7 +@D8 +@D9 +@D10+@D11+@D12+ @D13+@D14+@D15+@D16+@D17+@D18+@D19+@D20+@D21+@D22+@D23+@D24+ @D25+@D26+@D27+@D28+@D29+@D30+@D31+@D32+@D33+@D34+@D35+@D36+ @D37+@D38+@D39+@D40+@D41+@D42+@D43+@D44+@D45+@D46+@D47+@D48) IF @VPVaria_Preco_Tam=0 SELECT @CValorCancelado=CONVERT(Numeric(14,2),@CQtdeCancelada*(@CPreco1-@CDesconto_Item))*Convert(Numeric(14,2),1+(@CIPI/100.000)) IF @VPVaria_Preco_Tam=1 BEGIN SELECT @CValorCancelado=0 SELECT @Count=1 WHILE @Count <= 48 BEGIN SELECT @CValorCancelado=@CValorCancelado+CONVERT(Numeric(14,2), ((CASE @Count WHEN 1 THEN @D1 WHEN 2 THEN @D2 WHEN 3 THEN @D3 WHEN 4 THEN @D4 WHEN 5 THEN @D5 WHEN 6 THEN @D6 WHEN 7 THEN @D7 WHEN 8 THEN @D8 WHEN 9 THEN @D9 WHEN 10 THEN @D10 WHEN 11 THEN @D11 WHEN 12 THEN @D12 WHEN 13 THEN @D13 WHEN 14 THEN @D14 WHEN 15 THEN @D15 WHEN 16 THEN @D16 WHEN 17 THEN @D17 WHEN 18 THEN @D18 WHEN 19 THEN @D19 WHEN 20 THEN @D20 WHEN 21 THEN @D21 WHEN 22 THEN @D22 WHEN 23 THEN @D23 WHEN 24 THEN @D24 WHEN 25 THEN @D25 WHEN 26 THEN @D26 WHEN 27 THEN @D27 WHEN 28 THEN @D28 WHEN 29 THEN @D29 WHEN 30 THEN @D30 WHEN 31 THEN @D31 WHEN 32 THEN @D32 WHEN 33 THEN @D33 WHEN 34 THEN @D34 WHEN 35 THEN @D35 WHEN 36 THEN @D36 WHEN 37 THEN @D37 WHEN 38 THEN @D38 WHEN 39 THEN @D39 WHEN 40 THEN @D40 WHEN 41 THEN @D41 WHEN 42 THEN @D42 WHEN 43 THEN @D43 WHEN 44 THEN @D44 WHEN 45 THEN @D45 WHEN 46 THEN @D46 WHEN 47 THEN @D47 WHEN 48 THEN @D48 END)*((CASE CONVERT(int,SUBSTRING(@VPPonteiro_Preco_Tam,@Count,1)) WHEN 2 THEN @CPreco2 WHEN 3 THEN @CPreco3 WHEN 4 THEN @CPreco4 ELSE @CPreco1 END)-@CDesconto_Item)))*CONVERT(Numeric(14,2),1+(@CIPI/100)) SELECT @Count=@Count+1 END END SELECT @VPValorCancelado=@VPValorCancelado+ISNULL(@CValorCancelado,0) SELECT @VPQtdeCancelada=@VPQtdeCancelada+ISNULL(@CQtdeCancelada,0) IF @CQtde_Cancelada<>@CQtdeCancelada OR CONVERT(Numeric(14,2),@CValor_Cancelado)<>@CValorCancelado BEGIN IF @Log=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''VENDAS'',''VENDAS_CANC_PROD'', ''O Pedido ''+RTRIM(@VPedido)+'' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@VPedido),@LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' BEGIN UPDATE Vendas_Canc_Prod SET Qtde_Cancelada=@CQtdeCancelada, Valor_Cancelado=@CValorCancelado WHERE Num_Cancelamento=@Cancelamento and pedido=@VPedido and Produto=@VProduto and Cor_Produto=@VPedido_Cor and Entrega=@VEntrega SELECT @Log=''N'' IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Modulo=''VENDAS'' AND Chave=RTRIM(@VPedido) END SELECT @Erro=''S'' WHERE @Corrige=''N'' END END /*Loop Cur_Vendas_Canc_Prod*/ CLOSE Cur_Vendas_Canc_Prod IF @Erro=''N'' BEGIN OPEN Cur_Vendas_Prod_Embalado SELECT @Status=0 WHILE @Status!=-1 AND @Erro=''N'' BEGIN FETCH NEXT FROM Cur_Vendas_Prod_Embalado INTO @EQtde_Embalada,@EValor_Embalado,@EPreco1,@EPreco2,@EPreco3,@EPreco4, @EDesconto_Item,@EIPI,@EItem, @D1 ,@D2 ,@D3 ,@D4 ,@D5 ,@D6 ,@D7 ,@D8 ,@D9 ,@D10,@D11,@D12, @D13,@D14,@D15,@D16,@D17,@D18,@D19,@D20,@D21,@D22,@D23,@D24, @D25,@D26,@D27,@D28,@D29,@D30,@D31,@D32,@D33,@D34,@D35,@D36, @D37,@D38,@D39,@D40,@D41,@D42,@D43,@D44,@D45,@D46,@D47,@D48 SELECT @Status=@@FETCH_STATUS IF (@@FETCH_STATUS=-1) BREAK SELECT @EQtdeEmbalada=(@D1 +@D2 +@D3 +@D4 +@D5 +@D6 +@D7 +@D8 +@D9 +@D10+@D11+@D12+ @D13+@D14+@D15+@D16+@D17+@D18+@D19+@D20+@D21+@D22+@D23+@D24+ @D25+@D26+@D27+@D28+@D29+@D30+@D31+@D32+@D33+@D34+@D35+@D36+ @D37+@D38+@D39+@D40+@D41+@D42+@D43+@D44+@D45+@D46+@D47+@D48) IF @VPVaria_Preco_Tam=0 SELECT @EValorEmbalado=CONVERT(NUMERIC(14,2),(@EQtdeEmbalada*(@EPreco1-@EDesconto_Item)))*CONVERT(NUMERIC(14,2),1+(@EIPI/100)) IF @VPVaria_Preco_Tam=1 BEGIN SELECT @EValorEmbalado=0 SELECT @Count=1 WHILE @Count <= 48 BEGIN SELECT @EValorEmbalado=@EValorEmbalado+CONVERT(NUMERIC(14,2), ((CASE @Count WHEN 1 THEN @D1 WHEN 2 THEN @D2 WHEN 3 THEN @D3 WHEN 4 THEN @D4 WHEN 5 THEN @D5 WHEN 6 THEN @D6 WHEN 7 THEN @D7 WHEN 8 THEN @D8 WHEN 9 THEN @D9 WHEN 10 THEN @D10 WHEN 11 THEN @D11 WHEN 12 THEN @D12 WHEN 13 THEN @D13 WHEN 14 THEN @D14 WHEN 15 THEN @D15 WHEN 16 THEN @D16 WHEN 17 THEN @D17 WHEN 18 THEN @D18 WHEN 19 THEN @D19 WHEN 20 THEN @D20 WHEN 21 THEN @D21 WHEN 22 THEN @D22 WHEN 23 THEN @D23 WHEN 24 THEN @D24 WHEN 25 THEN @D25 WHEN 26 THEN @D26 WHEN 27 THEN @D27 WHEN 28 THEN @D28 WHEN 29 THEN @D29 WHEN 30 THEN @D30 WHEN 31 THEN @D31 WHEN 32 THEN @D32 WHEN 33 THEN @D33 WHEN 34 THEN @D34 WHEN 35 THEN @D35 WHEN 36 THEN @D36 WHEN 37 THEN @D37 WHEN 38 THEN @D38 WHEN 39 THEN @D39 WHEN 40 THEN @D40 WHEN 41 THEN @D41 WHEN 42 THEN @D42 WHEN 43 THEN @D43 WHEN 44 THEN @D44 WHEN 45 THEN @D45 WHEN 46 THEN @D46 WHEN 47 THEN @D47 WHEN 48 THEN @D48 END)*((CASE CONVERT(int,SUBSTRING(@VPPonteiro_Preco_Tam,@Count,1)) WHEN 2 THEN @EPreco2 WHEN 3 THEN @EPreco3 WHEN 4 THEN @EPreco4 ELSE @EPreco1 END)-@EDesconto_Item)))*CONVERT(NUMERIC(14,2),1+(@EIPI/100)) SELECT @Count=@Count+1 END /*WHILE @Count<=48*/ END SELECT @VPValorEmbalado=@VPValorEmbalado+@EValorEmbalado SELECT @VPQtdeEmbalada=@VPQtdeEmbalada+@EQtdeEmbalada IF CONVERT(Int,@EQtde_Embalada)<>@EQtdeEmbalada OR CONVERT(Numeric(14,2),@EValor_Embalado)<>@EValorEmbalado BEGIN IF @Log=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''VENDAS'',''VENDAS_PROD_EMBALADO'', ''O Pedido ''+RTRIM(@VPedido)+'' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@VPedido),@LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' BEGIN UPDATE Vendas_Prod_Embalado SET Qtde_Embalada=@EQtdeEmbalada, Valor_Embalado=@EValorEmbalado WHERE Item=@EItem and pedido=@VPedido and Produto=@VProduto and Cor_Produto=@VPedido_Cor and Entrega=@VEntrega SELECT @Log=''N'' IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Modulo=''VENDAS'' AND Chave=RTRIM(@VPedido) END SELECT @Erro=''S'' WHERE @Corrige=''N'' END END /*Loop Cur_Vendas_Prod_Embalado*/ CLOSE Cur_Vendas_Prod_Embalado END/* IF @Erro=''N''*/ IF @Erro=''N'' BEGIN SELECT @D1 =(CASE WHEN @VPvo1 -@t1 <0 THEN 0 ELSE @VPvo1 -@t1 END),@D2 =(CASE WHEN @VPvo2 -@t2 <0 THEN 0 ELSE @VPvo2 -@t2 END), @D3 =(CASE WHEN @VPvo3 -@t3 <0 THEN 0 ELSE @VPvo3 -@t3 END),@D4 =(CASE WHEN @VPvo4 -@t4 <0 THEN 0 ELSE @VPvo4 -@t4 END), @D5 =(CASE WHEN @VPvo5 -@t5 <0 THEN 0 ELSE @VPvo5 -@t5 END),@D6 =(CASE WHEN @VPvo6 -@t6 <0 THEN 0 ELSE @VPvo6 -@t6 END), @D7 =(CASE WHEN @VPvo7 -@t7 <0 THEN 0 ELSE @VPvo7 -@t7 END),@D8 =(CASE WHEN @VPvo8 -@t8 <0 THEN 0 ELSE @VPvo8 -@t8 END), @D9 =(CASE WHEN @VPvo9 -@t9 <0 THEN 0 ELSE @VPvo9 -@t9 END),@D10=(CASE WHEN @VPvo10-@t10<0 THEN 0 ELSE @VPvo10-@t10 END), @D11=(CASE WHEN @VPvo11-@t11<0 THEN 0 ELSE @VPvo11-@t11 END),@D12=(CASE WHEN @VPvo12-@t12<0 THEN 0 ELSE @VPvo12-@t12 END), @D13=(CASE WHEN @VPvo13-@t13<0 THEN 0 ELSE @VPvo13-@t13 END),@D14=(CASE WHEN @VPvo14-@t14<0 THEN 0 ELSE @VPvo14-@t14 END), @D15=(CASE WHEN @VPvo15-@t15<0 THEN 0 ELSE @VPvo15-@t15 END),@D16=(CASE WHEN @VPvo16-@t16<0 THEN 0 ELSE @VPvo16-@t16 END), @D17=(CASE WHEN @VPvo17-@t17<0 THEN 0 ELSE @VPvo17-@t17 END),@D18=(CASE WHEN @VPvo18-@t18<0 THEN 0 ELSE @VPvo18-@t18 END), @D19=(CASE WHEN @VPvo19-@t19<0 THEN 0 ELSE @VPvo19-@t19 END),@D20=(CASE WHEN @VPvo20-@t20<0 THEN 0 ELSE @VPvo20-@t20 END), @D21=(CASE WHEN @VPvo21-@t21<0 THEN 0 ELSE @VPvo21-@t21 END),@D22=(CASE WHEN @VPvo22-@t22<0 THEN 0 ELSE @VPvo22-@t22 END), @D23=(CASE WHEN @VPvo23-@t23<0 THEN 0 ELSE @VPvo23-@t23 END),@D24=(CASE WHEN @VPvo24-@t24<0 THEN 0 ELSE @VPvo24-@t24 END), @D25=(CASE WHEN @VPvo25-@t25<0 THEN 0 ELSE @VPvo25-@t25 END),@D26=(CASE WHEN @VPvo26-@t26<0 THEN 0 ELSE @VPvo26-@t26 END), @D27=(CASE WHEN @VPvo27-@t27<0 THEN 0 ELSE @VPvo27-@t27 END),@D28=(CASE WHEN @VPvo28-@t28<0 THEN 0 ELSE @VPvo28-@t28 END), @D29=(CASE WHEN @VPvo29-@t29<0 THEN 0 ELSE @VPvo29-@t29 END),@D30=(CASE WHEN @VPvo30-@t30<0 THEN 0 ELSE @VPvo30-@t30 END), @D31=(CASE WHEN @VPvo31-@t31<0 THEN 0 ELSE @VPvo31-@t31 END),@D32=(CASE WHEN @VPvo32-@t32<0 THEN 0 ELSE @VPvo32-@t32 END), @D33=(CASE WHEN @VPvo33-@t33<0 THEN 0 ELSE @VPvo33-@t33 END),@D34=(CASE WHEN @VPvo34-@t34<0 THEN 0 ELSE @VPvo34-@t34 END), @D35=(CASE WHEN @VPvo35-@t35<0 THEN 0 ELSE @VPvo35-@t35 END),@D36=(CASE WHEN @VPvo36-@t36<0 THEN 0 ELSE @VPvo36-@t36 END), @D37=(CASE WHEN @VPvo37-@t37<0 THEN 0 ELSE @VPvo37-@t37 END),@D38=(CASE WHEN @VPvo38-@t38<0 THEN 0 ELSE @VPvo38-@t38 END), @D39=(CASE WHEN @VPvo39-@t39<0 THEN 0 ELSE @VPvo39-@t39 END),@D40=(CASE WHEN @VPvo40-@t40<0 THEN 0 ELSE @VPvo40-@t40 END), @D41=(CASE WHEN @VPvo41-@t41<0 THEN 0 ELSE @VPvo41-@t41 END),@D42=(CASE WHEN @VPvo42-@t42<0 THEN 0 ELSE @VPvo42-@t42 END), @D43=(CASE WHEN @VPvo43-@t43<0 THEN 0 ELSE @VPvo43-@t43 END),@D44=(CASE WHEN @VPvo44-@t44<0 THEN 0 ELSE @VPvo44-@t44 END), @D45=(CASE WHEN @VPvo45-@t45<0 THEN 0 ELSE @VPvo45-@t45 END),@D46=(CASE WHEN @VPvo46-@t46<0 THEN 0 ELSE @VPvo46-@t46 END), @D47=(CASE WHEN @VPvo47-@t47<0 THEN 0 ELSE @VPvo47-@t47 END),@D48=(CASE WHEN @VPvo48-@t48<0 THEN 0 ELSE @VPvo48-@t48 END) IF @VPve1 <> @D1 OR @VPve2 <> @D2 OR @VPve3 <> @D3 OR @VPve4 <> @D4 OR @VPve5 <> @D5 OR @VPve6 <> @D6 OR @VPve7 <> @D7 OR @VPve8 <> @D8 OR @VPve9 <> @D9 OR @VPve10 <> @D10 OR @VPve11 <> @D11 OR @VPve12 <> @D12 OR @VPve13 <> @D13 OR @VPve14 <> @D14 OR @VPve15 <> @D15 OR @VPve16 <> @D16 OR @VPve17 <> @D17 OR @VPve18 <> @D18 OR @VPve19 <> @D19 OR @VPve20 <> @D20 OR @VPve21 <> @D21 OR @VPve22 <> @D22 OR @VPve23 <> @D23 OR @VPve24 <> @D24 OR @VPve25 <> @D25 OR @VPve26 <> @D26 OR @VPve27 <> @D27 OR @VPve28 <> @D28 OR @VPve29 <> @D29 OR @VPve30 <> @D30 OR @VPve31 <> @D31 OR @VPve32 <> @D32 OR @VPve33 <> @D33 OR @VPve34 <> @D34 OR @VPve35 <> @D35 OR @VPve36 <> @D36 OR @VPve37 <> @D37 OR @VPve38 <> @D38 OR @VPve39 <> @D39 OR @VPve40 <> @D40 OR @VPve41 <> @D41 OR @VPve42 <> @D42 OR @VPve43 <> @D43 OR @VPve44 <> @D44 OR @VPve45 <> @D45 OR @VPve46 <> @D46 OR @VPve47 <> @D47 OR @VPve48 <> @D48 BEGIN IF @Log=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''VENDAS'',''VENDAS_PRODUTO'', ''O Pedido ''+RTRIM(@VPedido)+'' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@VPedido),@LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' BEGIN UPDATE Vendas_Produto SET ve1=@D1,ve2=@D2,ve3=@D3,ve4=@D4,ve5 =@D5 ,ve6 =@D6 ,ve7 =@D7 ,ve8 =@D8 , ve9 =@D9 ,ve10=@D10,ve11=@D11,ve12=@D12,ve13=@D13,ve14=@D14,ve15=@D15,ve16=@D16, ve17=@D17,ve18=@D18,ve19=@D19,ve20=@D20,ve21=@D21,ve22=@D22,ve23=@D23,ve24=@D24, ve25=@D25,ve26=@D26,ve27=@D27,ve28=@D28,ve29=@D29,ve30=@D30,ve31=@D31,ve32=@D32, ve33=@D33,ve34=@D34,ve35=@D35,ve36=@D36,ve37=@D37,ve38=@D38,ve39=@D39,ve40=@D40, ve41=@D41,ve42=@D42,ve43=@D43,ve44=@D44,ve45=@D45,ve46=@D46,ve47=@D47,ve48=@D48 WHERE Pedido=@VPedido and Produto=@VProduto and Cor_Produto=@VPedido_Cor and Entrega=@VEntrega SELECT @Log=''N'' IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Modulo=''VENDAS'' AND Chave=RTRIM(@VPedido) END SELECT @Erro=''S'' WHERE @Corrige=''N'' END END /*IF @Erro=''N''*/ IF @Erro=''N'' BEGIN SELECT @VPQtdeEntregar=(@D1 +@D2 +@D3 +@D4 +@D5 +@D6 +@D7 +@D8 +@D9 +@D10+@D11+@D12+ @D13+@D14+@D15+@D16+@D17+@D18+@D19+@D20+@D21+@D22+@D23+@D24+ @D25+@D26+@D27+@D28+@D29+@D30+@D31+@D32+@D33+@D34+@D35+@D36+ @D37+@D38+@D39+@D40+@D41+@D42+@D43+@D44+@D45+@D46+@D47+@D48) SELECT @VPQtdeOriginal=(@VPvo1 +@VPvo2 +@VPvo3 +@VPvo4 +@VPvo5 +@VPvo6 +@VPvo7 +@VPvo8 + @VPvo9 +@VPvo10+@VPvo11+@VPvo12+@VPvo13+@VPvo14+@VPvo15+@VPvo16+ @VPvo17+@VPvo18+@VPvo19+@VPvo20+@VPvo21+@VPvo22+@VPvo23+@VPvo24+ @VPvo25+@VPvo26+@VPvo27+@VPvo28+@VPvo29+@VPvo30+@VPvo31+@VPvo32+ @VPvo33+@VPvo34+@VPvo35+@VPvo36+@VPvo37+@VPvo38+@VPvo39+@VPvo40+ @VPvo41+@VPvo42+@VPvo43+@VPvo44+@VPvo45+@VPvo46+@VPvo47+@VPvo48) IF @VPVaria_Preco_Tam=0 SELECT @VPValorOriginal=CONVERT(NUMERIC(14,2),@VPQtdeOriginal*(@VPPreco1-@VPDesconto_Item))*CONVERT(NUMERIC(14,2),1+(@VPIPI/100)) SELECT @VPValorEntregar=CONVERT(NUMERIC(14,2),@VPQtdeEntregar*(@VPPreco1-@VPDesconto_Item))*CONVERT(NUMERIC(14,2),1+(@VPIPI/100)) IF @VPVaria_Preco_Tam=1 BEGIN SELECT @VPValorOriginal=0 SELECT @VPValorEntregar=0 SELECT @Count=1 WHILE @Count <= 48 BEGIN SELECT @VPValorOriginal=@VPValorOriginal+CONVERT(NUMERIC(14,2), ((CASE @Count WHEN 1 THEN @VPvo1 WHEN 2 THEN @VPvo2 WHEN 3 THEN @VPvo3 WHEN 4 THEN @VPvo4 WHEN 5 THEN @VPvo5 WHEN 6 THEN @VPvo6 WHEN 7 THEN @VPvo7 WHEN 8 THEN @VPvo8 WHEN 9 THEN @VPvo9 WHEN 10 THEN @VPvo10 WHEN 11 THEN @VPvo11 WHEN 12 THEN @VPvo12 WHEN 13 THEN @VPvo13 WHEN 14 THEN @VPvo14 WHEN 15 THEN @VPvo15 WHEN 16 THEN @VPvo16 WHEN 17 THEN @VPvo17 WHEN 18 THEN @VPvo18 WHEN 19 THEN @VPvo19 WHEN 20 THEN @VPvo20 WHEN 21 THEN @VPvo21 WHEN 22 THEN @VPvo22 WHEN 23 THEN @VPvo23 WHEN 24 THEN @VPvo24 WHEN 25 THEN @VPvo25 WHEN 26 THEN @VPvo26 WHEN 27 THEN @VPvo27 WHEN 28 THEN @VPvo28 WHEN 29 THEN @VPvo29 WHEN 30 THEN @VPvo30 WHEN 31 THEN @VPvo31 WHEN 32 THEN @VPvo32 WHEN 33 THEN @VPvo33 WHEN 34 THEN @VPvo34 WHEN 35 THEN @VPvo35 WHEN 36 THEN @VPvo36 WHEN 37 THEN @VPvo37 WHEN 38 THEN @VPvo38 WHEN 39 THEN @VPvo39 WHEN 40 THEN @VPvo40 WHEN 41 THEN @VPvo41 WHEN 42 THEN @VPvo42 WHEN 43 THEN @VPvo43 WHEN 44 THEN @VPvo44 WHEN 45 THEN @VPvo45 WHEN 46 THEN @VPvo46 WHEN 47 THEN @VPvo47 WHEN 48 THEN @VPvo48 END)*((CASE CONVERT(int,SUBSTRING(@VPPonteiro_Preco_Tam,@Count,1)) WHEN 2 THEN @VPPreco2 WHEN 3 THEN @VPPreco3 WHEN 4 THEN @VPPreco4 ELSE @VPPreco1 END)-@VPDesconto_Item)))*CONVERT(NUMERIC(14,2),1+(@VPIPI/100.000)) SELECT @VPValorEntregar=@VPValorEntregar+CONVERT(NUMERIC(14,2), ((CASE @Count WHEN 1 THEN @D1 WHEN 2 THEN @D2 WHEN 3 THEN @D3 WHEN 4 THEN @D4 WHEN 5 THEN @D5 WHEN 6 THEN @D6 WHEN 7 THEN @D7 WHEN 8 THEN @D8 WHEN 9 THEN @D9 WHEN 10 THEN @D10 WHEN 11 THEN @D11 WHEN 12 THEN @D12 WHEN 13 THEN @D13 WHEN 14 THEN @D14 WHEN 15 THEN @D15 WHEN 16 THEN @D16 WHEN 17 THEN @D17 WHEN 18 THEN @D18 WHEN 19 THEN @D19 WHEN 20 THEN @D20 WHEN 21 THEN @D21 WHEN 22 THEN @D22 WHEN 23 THEN @D23 WHEN 24 THEN @D24 WHEN 25 THEN @D25 WHEN 26 THEN @D26 WHEN 27 THEN @D27 WHEN 28 THEN @D28 WHEN 29 THEN @D29 WHEN 30 THEN @D30 WHEN 31 THEN @D31 WHEN 32 THEN @D32 WHEN 33 THEN @D33 WHEN 34 THEN @D34 WHEN 35 THEN @D35 WHEN 36 THEN @D36 WHEN 37 THEN @D37 WHEN 38 THEN @D38 WHEN 39 THEN @D39 WHEN 40 THEN @D40 WHEN 41 THEN @D41 WHEN 42 THEN @D42 WHEN 43 THEN @D43 WHEN 44 THEN @D44 WHEN 45 THEN @D45 WHEN 46 THEN @D46 WHEN 47 THEN @D47 WHEN 48 THEN @D48 END)*((CASE CONVERT(int,SUBSTRING(@VPPonteiro_Preco_Tam,@Count,1)) WHEN 2 THEN @VPPreco2 WHEN 3 THEN @VPPreco3 WHEN 4 THEN @VPPreco4 ELSE @VPPreco1 END)-@VPDesconto_Item)))*CONVERT(NUMERIC(14,2),1+(@VPIPI/100.000)) SELECT @Count=@Count+1 END END IF @VPQtde_Original <> @VPQtdeOriginal OR @VPQtde_Entregue <> @VPQtdeFaturada OR @VPQtde_Embalada <> @VPQtdeEmbalada OR @VPQtde_Cancelada <> @VPQtdeCancelada OR @VPQtde_Entregar <> @VPQtdeEntregar OR @VPQtde_Devolvida <> @VPQtdeDevol OR @VPValor_Original <> @VPValorOriginal OR @VPValor_Entregue <> @VPValorFaturado OR @VPValor_Cancelado <> @VPValorCancelado OR @VPValor_Devolvido <> @VPValorDevol OR @VPValor_Entregar <> @VPValorEntregar BEGIN IF @Log=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''VENDAS'',''VENDAS_PRODUTO'', ''O Pedido ''+RTRIM(@VPedido)+'' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@VPedido),@LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' BEGIN UPDATE Vendas_Produto SET Qtde_Original=@VPQtdeOriginal,Qtde_Entregue=@VPQtdeFaturada, Qtde_Embalada=@VPQtdeEmbalada,Qtde_Cancelada=@VPQtdeCancelada, Qtde_Entregar=@VPQtdeEntregar,Qtde_Devolvida=@VPQtdeDevol, Valor_Original=@VPValorOriginal,Valor_Entregue=@VPValorFaturado, Valor_Cancelado=@VPValorCancelado,Valor_Devolvido=@VPValorDevol, Valor_Entregar=@VPValorEntregar WHERE Pedido=@VPedido and Produto=@VProduto and Cor_Produto=@VPedido_Cor and Entrega=@VEntrega SELECT @Log=''N'' IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Modulo=''VENDAS'' AND Chave=RTRIM(@VPedido) END SELECT @Erro=''S'' WHERE @Corrige=''N'' END SELECT @xTot_Qtde_Original=@xTot_Qtde_Original+@VPQtdeOriginal, @xTot_Valor_Original=@xTot_Valor_Original+@VPValorOriginal, @xTot_Qtde_Entregar=@xTot_Qtde_Entregar+@VPQtdeEntregar, @xTot_Valor_Entregar=@xTot_Valor_Entregar+@VPValorEntregar, @xTot_Qtde_Entregue=@xTot_Qtde_Entregue+@VPQtdeFaturada, @xTot_Valor_Entregue=@xTot_Valor_Entregue+@VPValorFaturadoLiq, @xTot_Bruto_Entregue=@xTot_Bruto_Entregue+@VPValorFaturado, @xTot_Qtde_Cancelada=@xTot_Qtde_Cancelada+@VPQtdeCancelada, @xTot_Valor_Cancelado=@xTot_Valor_Cancelado+@VPValorCancelado, @xTot_Qtde_Embalada=@xTot_Qtde_Embalada+@VPQtdeEmbalada, @xTot_Qtde_Devolvida=@xTot_Qtde_Devolvida+@VPQtdeDevol, @xTot_Valor_Devolvido=@xTot_Valor_Devolvido+@VPValorDevol END /*IF @Erro=''N''*/ END /*Loop Cur_Vendas_Produto*/ CLOSE Cur_Vendas_Produto IF @Erro=''N'' AND (@xTot_Qtde_Original<>@Tot_Qtde_Original OR @xTot_Bruto_Entregue<>@Tot_Bruto_Entregue OR (@xTot_Valor_Original-@Desconto+@Encargo)<>@Tot_Valor_Original OR @xTot_Qtde_Entregue<>@Tot_Qtde_Entregue OR @xTot_Valor_Entregue<>@Tot_Valor_Entregue OR @xTot_Qtde_Cancelada<>@Tot_Qtde_Cancelada OR @xTot_Valor_Cancelado<>@Tot_Valor_Cancelado OR @xTot_Qtde_Embalada<>@Tot_Qtde_Embalada OR @xTot_Qtde_Devolvida<>@Tot_Qtde_Devolvida OR @xTot_Valor_Devolvido<>@Tot_Valor_Devolvido OR @xTot_Qtde_Entregar<>@Tot_Qtde_Entregar OR ((@Tot_Valor_Entregar <> CASE WHEN (@xTot_Valor_Entregar-@Desconto+@Encargo)<=0 THEN 0 ELSE @xTot_Valor_Entregar-@Desconto+@Encargo END) AND (@Tot_Valor_Entregar <> CASE WHEN @xTot_Valor_Entregar-(@xTot_Valor_Entregar*@Desconto/@xTot_Valor_Original)+ (@xTot_Valor_Entregar*@Encargo/@xTot_Valor_Original)<=0 THEN 0 ELSE @xTot_Valor_Entregar- (@xTot_Valor_Entregar*@Desconto/@xTot_Valor_Original)+(@xTot_Valor_Entregar*@Encargo/@xTot_Valor_Original) END))) BEGIN IF @Log=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''VENDAS'',''VENDAS'', ''O Pedido ''+RTRIM(@VPedido)+'' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@VPedido),@LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' BEGIN UPDATE Vendas SET Tot_Qtde_Original=@xTot_Qtde_Original,Tot_Bruto_Entregue=@xTot_Bruto_Entregue, Tot_Valor_Original=(@xTot_Valor_Original-@Desconto+@Encargo), Tot_Qtde_Entregue=@xTot_Qtde_Entregue,Tot_Valor_Entregue=@xTot_Valor_Entregue, Tot_Qtde_Cancelada=@xTot_Qtde_Cancelada,Tot_Valor_Cancelado=@xTot_Valor_Cancelado, Tot_Qtde_Embalada=@xTot_Qtde_Embalada,Tot_Qtde_Devolvida=@xTot_Qtde_Devolvida, Tot_Valor_Devolvido=@xTot_Valor_Devolvido,Tot_Qtde_Entregar=@xTot_Qtde_Entregar WHERE Pedido=@VPedido IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Modulo=''VENDAS'' AND Chave=RTRIM(@VPedido) END END END /*Loop Cur_Vendas*/ CLOSE Cur_Vendas DEALLOCATE Cur_Vendas DEALLOCATE Cur_Vendas_Produto DEALLOCATE Cur_Faturamento DEALLOCATE Cur_Entradas_Pro_Devol DEALLOCATE Cur_Vendas_Canc_Prod DEALLOCATE Cur_Vendas_Prod_Embalado set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAIS_EXTRATO_MRP]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAIS_EXTRATO_MRP] AS SELECT ''1- ESTOQUE '' AS TIPO, '' '' AS DOCUMENTO,'''' as descr , ESTOQUE_MATERIAIS.MATERIAL, ESTOQUE_MATERIAIS.COR_MATERIAL,convert(datetime,''19000101'') as emissao, convert(datetime,''19000101'') as entrega , sum(QTDE_ESTOQUE) AS QTDE, convert(numeric(10,3),0) as saldo_na_data FROM ESTOQUE_MATERIAIS GROUP BY ESTOQUE_MATERIAIS.material, ESTOQUE_MATERIAIS.cor_material UNION ALL SELECT ''2- RESERVA PRODUCAO'' ,PRODUCAO_RESERVA.ORDEM_PRODUCAO,producao_ordem.produto, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL,producao_ordem.EMISSAO,data_reserva as entrega, - RESERVA,convert(numeric(10,3),0) as saldo_na_data FROM producao_ordem,PRODUCAO_RESERVA ,compras WHERE producao_ordem.ordem_producao=PRODUCAO_RESERVA.ordem_producao and PRODUCAO_RESERVA.ordem_producao*=compras.pedido and RESERVA > 0 UNION ALL select ''3- REQUISICAO COMPRA'' AS TIPO,requisicao_material.requisicao,'''',requisicao_material.material, requisicao_material.cor_material,null,entrega,QTDE_APROVADA as qtde, convert(numeric(10,3),0) as saldo_na_data from requisicao_material where status IN (''A'',''E'') UNION ALL SELECT ''4- COMPRAS'' ,COMPRAS_MATERIAL.PEDIDO AS DOCUMENTO,compras.FORNECEDOR,COMPRAS_MATERIAL.MATERIAL, COMPRAS_MATERIAL.COR_MATERIAL, emissao,ENTREGA, qtde_entregar,convert(numeric(10,3),0) as saldo_na_data FROM compras,COMPRAS_MATERIAL WHERE compras.pedido=COMPRAS_MATERIAL.pedido and QTDE_ENTREGAR > 0 UNION ALL SELECT ''5- VENDAS'',VENDAS.PEDIDO,VENDAS.CLIENTE_ATACADO ,VENDAS_MATERIAL.MATERIAL, VENDAS_MATERIAL.COR_MATERIAL,EMISSAO, ENTREGA,-QTDE_ENTREGAR,convert(numeric(10,3),0) as saldo_na_data FROM VENDAS_MATERIAL,VENDAS where VENDAS_MATERIAL.PEDIDO=VENDAS.PEDIDO AND qtde_entregar<>0 UNION ALL SELECT ''6- PROGRAMACAO '', d.programacao AS DOCUMENTO,'''',produtos_ficha.material, produtos_ficha_cor.cor_material, e.data as emissao, DATEADD(DAY,-PRODUTOS.GIRO_ENTREGA,d.ENTREGA_INICIAL) as entrega, - (( (produtos_ficha.c1* d.s1 )+ (produtos_ficha.c2* d.s2 )+(produtos_ficha.c3* d.s3 )+(produtos_ficha.c4* d.s4 ) +(produtos_ficha.c5* d.s5 )+ (produtos_ficha.c6* d.s6 )+(produtos_ficha.c7* d.s7 )+(produtos_ficha.c8* d.s8 ) +(produtos_ficha.c9* d.s9 )+ (produtos_ficha.c10*d.s10)+(produtos_ficha.c11* d.s11)+(produtos_ficha.c12* d.s12) +(produtos_ficha.c13* d.s13)+ (produtos_ficha.c14* d.s14)+(produtos_ficha.c15* d.s15)+(produtos_ficha.c16* d.s16) +(produtos_ficha.c17* d.s17)+ (produtos_ficha.c18* d.s18)+(produtos_ficha.c19* d.s19)+(produtos_ficha.c20* d.s20 ) +(produtos_ficha.c21* d.s21 )+ (produtos_ficha.c22* d.s22 )+(produtos_ficha.c23* d.s23 )+(produtos_ficha.c24* d.s24 ) +(produtos_ficha.c25* d.s25 )+ (produtos_ficha.c26* d.s26 )+(produtos_ficha.c27* d.s27 )+(produtos_ficha.c28* d.s28 ) +(produtos_ficha.c29* d.s29 )+ (produtos_ficha.c30* d.s30 )+(produtos_ficha.c31* d.s31 )+(produtos_ficha.c32* d.s32 ) +(produtos_ficha.c33* d.s33 )+ (produtos_ficha.c34* d.s34 )+(produtos_ficha.c35* d.s35 )+(produtos_ficha.c36* d.s36 ) +(produtos_ficha.c37* d.s37 )+ (produtos_ficha.c38* d.s38 )+(produtos_ficha.c39* d.s39 )+(produtos_ficha.c40* d.s40 ) +(produtos_ficha.c41* d.s41 )+ (produtos_ficha.c42* d.s42 )+(produtos_ficha.c43* d.s43 )+(produtos_ficha.c44* d.s44 ) +(produtos_ficha.c45* d.s45 )+ (produtos_ficha.c46* d.s46 )+(produtos_ficha.c47* d.s47 )+(produtos_ficha.c48* d.s48 ) ) * (produtos_ficha_cor.porcentagem_consumo/100) )/materiais.fator_conversao AS MOVIMENTO , convert(numeric(10,3),0) as saldo_na_data FROM Produtos_ficha , PRODUTOS, produtos_ficha_cor, materiais, PRODUCAO_PROG_PROD d , producao_programa e WHERE Produtos_ficha.PRODUTO = PRODUTOS.PRODUTO AND produtos_ficha.produto = produtos_ficha_cor.produto and produtos_ficha.material = produtos_ficha_cor.material and Produtos_ficha.ITEM = Produtos_ficha_cor.ITEM and produtos_ficha.material = materiais.material and produtos_ficha_cor.produto = d.produto and produtos_ficha_cor.cor_produto = d.cor_produto and d.programacao=e.programacao and d.QTDE_SALDO_EMITIR_OP>0 and e.TIPO_PROGRAMACAO=2 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CLIENTES_RESERVAR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CLIENTES_RESERVAR] (CLIENTE_ATACADO, QTDE_RESERVAR, VALOR_RESERVAR, QTDE_RETIRADO_ADEQUACAO, VALOR_RETIRADO_ADEQUACAO) AS SELECT DISTINCT VENDAS.CLIENTE_ATACADO, SUM(QTDE_R), SUM(QTDE_R*CASE WHEN QTDE_ORIGINAL=0 THEN 0 ELSE (VALOR_ORIGINAL/QTDE_ORIGINAL) END * (1 - CASE WHEN TOT_VALOR_ORIGINAL+DESCONTO-ENCARGO=0 THEN 0 ELSE ((DESCONTO-ENCARGO) / (TOT_VALOR_ORIGINAL + DESCONTO-ENCARGO)) END )), SUM(QTDE_ENTREGAR - QTDE_R), SUM(((QTDE_ENTREGAR-QTDE_R) * CASE WHEN QTDE_ORIGINAL=0 THEN 0 ELSE (VALOR_ORIGINAL/QTDE_ORIGINAL) END) * (1 - CASE WHEN TOT_VALOR_ORIGINAL + DESCONTO-ENCARGO=0 THEN 0 ELSE ((DESCONTO-ENCARGO) / (TOT_VALOR_ORIGINAL + DESCONTO-ENCARGO)) END )) FROM ROMANEIOS_RESERVAS, VENDAS_PRODUTO, VENDAS WHERE VENDAS_PRODUTO.PEDIDO = ROMANEIOS_RESERVAS.PEDIDO AND ROMANEIOS_RESERVAS.PRODUTO = VENDAS_PRODUTO.PRODUTO AND ROMANEIOS_RESERVAS.ENTREGA = VENDAS_PRODUTO.ENTREGA AND ROMANEIOS_RESERVAS.COR_PEDIDO = VENDAS_PRODUTO.COR_PRODUTO AND ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO GROUP BY CLIENTE_ATACADO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_RESERVA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_RESERVA] @ROMANEIO CHAR(8), @FILIAL VARCHAR(25), @REGIAO_I VARCHAR(25) = NULL, @REGIAO_F VARCHAR(25) = NULL, @PONTUALIDADE_I VARCHAR(25) = NULL, @PONTUALIDADE_F VARCHAR(25) = NULL, @TIPO_CLIENTE_I VARCHAR(25) = NULL, @TIPO_CLIENTE_F VARCHAR(25) = NULL, @PRIOR_CLIENTE_I TINYINT = 0, @PRIOR_CLIENTE_F TINYINT = 9, @CLIFOR_I CHAR(6) = NULL, @CLIFOR_F CHAR(6) = NULL, @CLIFOR_ENT_I CHAR(6) = NULL, @CLIFOR_ENT_F CHAR(6) = NULL,@CONCEITO_I VARCHAR(25) = NULL, @CONCEITO_F VARCHAR(25) = NULL, @ENTREGA_I DATETIME = NULL, @ENTREGA_F DATETIME = NULL, @LIMITE_I DATETIME = NULL, @LIMITE_F DATETIME = NULL, @EMISSAO_I DATETIME = NULL, @EMISSAO_F DATETIME = NULL, @TIPO_VENDA VARCHAR(25) = NULL, @REPRESENTANTE_I VARCHAR(25) = NULL, @REPRESENTANTE_F VARCHAR(25) = NULL, @PORC_FAT_I TINYINT = 0, @PORC_FAT_F TINYINT = 0, @COLECAO VARCHAR(25) = NULL, @STATUS_VENDA VARCHAR(25) = NULL, @PRIOR_VENDA_I TINYINT = 0, @PRIOR_VENDA_F TINYINT = 9, @ULTIMO_FAT DATETIME = NULL, @QTDE_ESTOQUE TINYINT = 0, @ATRASO INT = 0 AS set nocount on declare @xwhere1 varchar(250), @xwhere2 varchar(250), @xwhere3 varchar(250), @xwhere13 varchar(250), @xwhere4 varchar(250), @xwhere5 varchar(250), @xwhere6 varchar(250), @xwhere7 varchar(250), @xwhere8 varchar(250), @xwhere9 varchar(250), @produto char(12), @cor_produto char(10), @ordem_producao char(8), @status char(1), @pedido char(12), @entrega datetime, @qtde_entregar int, @qtde int, @ve1 int, @ve2 int, @ve3 int, @ve4 int, @ve5 int, @ve6 int, @ve7 int, @ve8 int, @ve9 int, @ve10 int, @ve11 int, @ve12 int, @ve13 int, @ve14 int, @ve15 int, @ve16 int, @ve17 int, @ve18 int, @ve19 int, @ve20 int, @ve21 int, @ve22 int, @ve23 int, @ve24 int, @ve25 int, @ve26 int, @ve27 int, @ve28 int, @ve29 int, @ve30 int, @ve31 int, @ve32 int, @ve33 int, @ve34 int, @ve35 int, @ve36 int, @ve37 int, @ve38 int, @ve39 int, @ve40 int, @ve41 int, @ve42 int, @ve43 int, @ve44 int, @ve45 int, @ve46 int, @ve47 int, @ve48 int, @xwhere10 varchar(250), @xwhere11 varchar(250), @xwhere12 varchar(250), @Aspas CHAR(1), @cliente_entrega tinyint select @xwhere1 = '''', @xwhere2 = '''', @xwhere3 = '''', @xwhere13 = '''',@xwhere4 = '''', @xwhere5 = '''', @xwhere6 = '''', @xwhere7 = '''', @xwhere8 = '''', @xwhere9 = '''' select @Aspas=CHAR(39) select @cliente_entrega=0 if @regiao_i is not null and @regiao_i <> '''' select @xwhere1 = '' and clientes_atacado.regiao >= '' + @Aspas + @regiao_i + @Aspas + '' and clientes_atacado.regiao <= '' + @Aspas + @regiao_f + + @Aspas + '' '' if @pontualidade_i is not null and @pontualidade_i <> '''' select @xwhere1 = @xwhere1 + '' and clientes_atacado.pontualidade >= '' + @Aspas + @pontualidade_i + @Aspas + '' and clientes_atacado.pontualidade <= '' + @Aspas + @pontualidade_f + @Aspas + '' '' if @tipo_cliente_i is not null and @tipo_cliente_i <> '''' select @xwhere2 = '' and clientes_atacado.tipo >= '' + @Aspas + @tipo_cliente_i + @Aspas + '' and clientes_atacado.tipo <= '' + @Aspas + @tipo_cliente_f + @Aspas + '' '' if @prior_cliente_i <> 0 or @prior_cliente_f <> 9 select @xwhere2 = @xwhere2 + '' and clientes_atacado.prioridade >= '' + convert(char(1), @prior_cliente_i) + '' and clientes_atacado.prioridade <= '' + convert(char(1), @prior_cliente_f) if @clifor_i is not null and @clifor_i <> '''' select @xwhere3 = '' and clientes_atacado.clifor >= '' + @Aspas + @clifor_i + @Aspas + '' and clientes_atacado.clifor <= '' + @Aspas + @clifor_f + @Aspas if @clifor_ent_i is not null and @clifor_ent_i <> '''' select @xwhere13 = '' and clientes_atacado.clifor >= '' + @Aspas + @clifor_ent_i + @Aspas + '' and clientes_atacado.clifor <= '' + @Aspas + @clifor_ent_f + @Aspas if @conceito_i is not null and @conceito_i <> '''' select @xwhere3 = @xwhere3 + '' and clientes_atacado.conceito >= '' + @Aspas + @conceito_i + @Aspas + '' and clientes_atacado.conceito <= '' + @Aspas + @conceito_f + @Aspas if @entrega_i is not null and @entrega_i <> '''' select @xwhere4 = '' and vendas_produto.entrega >= '' + @Aspas + convert(char(10), @entrega_i, 112) + @Aspas + '' and vendas_produto.entrega <= '' + @Aspas + convert(char(10), @entrega_f, 112) + @Aspas if @limite_i is not null and @limite_i <> '''' select @xwhere4 = @xwhere4 + '' and vendas_produto.limite_entrega >= '' + @Aspas + convert(char(10), @limite_i, 112) + @Aspas + '' and vendas_produto.limite_entrega <= '' + @Aspas + convert(char(10), @limite_f, 112) + @Aspas if @emissao_i is not null and @emissao_i <> '''' select @xwhere5 = '' and vendas.emissao >= '' + @Aspas + convert(char(10), @emissao_i, 112) + @Aspas + '' and vendas.emissao <= '' + @Aspas + convert(char(10), @emissao_f, 112) + @Aspas if @tipo_venda is not null and @tipo_venda <> '''' select @xwhere5 = @xwhere5 + '' and vendas.tipo = '' + @Aspas + @tipo_venda + @Aspas if @representante_i is not null and @representante_i <> '''' select @xwhere6 = '' and vendas.representante >= '' + @Aspas + @representante_i + @Aspas + '' and vendas.representante <= '' + @Aspas + @representante_f + @Aspas if @porc_fat_i <> 0 select @xwhere7 = '' and ((vendas.tot_valor_entregar / vendas.tot_valor_original) * 100) >= '' + convert(char(5), @porc_fat_i) + '' and ((vendas.tot_valor_entregar / vendas.tot_valor_original) * 100) <= '' + convert(char(5), @porc_fat_f) if @colecao is not null and @colecao <> '''' select @xwhere8 = '' and vendas.colecao = '' + @Aspas + @colecao + @Aspas if @status_venda is not null and @status_venda <> '''' select @xwhere8 = @xwhere8 + '' and vendas_produto.status_venda_atual = '' + @Aspas + @status_venda + @Aspas if @prior_venda_i <> 0 or @prior_venda_f <> 9 select @xwhere9 = '' and vendas.prioridade > = '' + convert(char(1), @prior_venda_i) + '' and vendas.prioridade <= '' + convert(char(1), @prior_venda_f) ---- Acerta o parametro de Cliente Entrega para mudar o select das vendas if @clifor_ent_i is not null and @clifor_ent_i <> '''' begin select @cliente_entrega=1 end SELECT @xwhere11 = '' and vendas_produto.qtde_entregar > vendas_produto.qtde_embalada and vendas.aprovacao = '' + @Aspas + ''A'' + @Aspas + '' and '' SELECT @xwhere12 = '' vendas_produto.qtde_entregar > 0 and (clientes_atacado.bloqueio_expedicao = '' + @Aspas + @Aspas + '' or clientes_atacado.bloqueio_expedicao is null) and vendas.filial = '' + @Aspas + @filial + @Aspas create table #reserva (pedido char(12), entrega datetime, qtde_entregar int, ve1 int, ve2 int, ve3 int, ve4 int, ve5 int, ve6 int, ve7 int, ve8 int, ve9 int, ve10 int, ve11 int, ve12 int, ve13 int, ve14 int, ve15 int, ve16 int, ve17 int, ve18 int, ve19 int, ve20 int, ve21 int, ve22 int, ve23 int, ve24 int, ve25 int, ve26 int, ve27 int, ve28 int, ve29 int, ve30 int, ve31 int, ve32 int, ve33 int, ve34 int, ve35 int, ve36 int, ve37 int, ve38 int, ve39 int, ve40 int, ve41 int, ve42 int, ve43 int, ve44 int, ve45 int, ve46 int, ve47 int, ve48 int) declare cur_romaneios cursor for select produto, ordem_producao from romaneios_produto where romaneio = @romaneio and filial = @filial and status = ''A'' order by produto open cur_romaneios fetch next from cur_romaneios into @produto, @ordem_producao while @@fetch_status = 0 begin delete from romaneios_reservas where produto = @produto and romaneio = @romaneio and filial = @filial select @status = ''S'' if @qtde_estoque > 0 begin declare cur_cores cursor for select produto_cores.cor_produto from produto_cores, estoque_produtos where produto_cores.produto = estoque_produtos.produto and produto_cores.cor_produto = estoque_produtos.cor_produto and estoque_produtos.filial = @filial and produto_cores.produto = @produto and estoque_produtos.estoque > @qtde_estoque end else begin declare cur_cores cursor for select produto_cores.cor_produto from produto_cores where produto = @produto end open cur_cores fetch next from cur_cores into @cor_produto while @@fetch_status = 0 begin if @ordem_producao <> '''' and @ordem_producao is not null begin if not exists(select * from producao_ordem_cor where ordem_producao = @ordem_producao and cor_produto = @cor_produto) begin fetch next from cur_cores into @cor_produto continue end end truncate table #reserva if @cliente_entrega=1 begin SELECT @xwhere10 = '' and vendas_produto.produto = '' + @Aspas + @produto + @Aspas + '' and vendas_produto.cor_produto = '' + @Aspas + @cor_produto + @Aspas insert into #reserva execute(''select vendas_produto.pedido, vendas_produto.entrega, vendas_produto. qtde_entregar, '' + ''vendas_produto.ve1, vendas_produto.ve2, vendas_produto.ve3, vendas_produto.ve4, vendas_produto.ve5, vendas_produto.ve6, vendas_produto.ve7, vendas_produto.ve8, '' + ''vendas_produto.ve9, vendas_produto.ve10, vendas_produto.ve11, vendas_produto.ve12, vendas_produto.ve13, vendas_produto.ve14, vendas_produto.ve15, vendas_produto.ve16, '' + ''vendas_produto.ve17, vendas_produto.ve18, vendas_produto.ve19, vendas_produto.ve20, vendas_produto.ve21, vendas_produto.ve22, vendas_produto.ve23, vendas_produto.ve24, '' + ''vendas_produto.ve25, vendas_produto.ve26, vendas_produto.ve27, vendas_produto.ve28, vendas_produto.ve29, vendas_produto.ve30, vendas_produto.ve31, vendas_produto.ve32, '' + ''vendas_produto.ve33, vendas_produto.ve34, vendas_produto.ve35, vendas_produto.ve36, vendas_produto.ve37, vendas_produto.ve38, vendas_produto.ve39, vendas_produto.ve40, '' + ''vendas_produto.ve41, vendas_produto.ve42, vendas_produto.ve43, vendas_produto.ve44, vendas_produto.ve45, vendas_produto.ve46, vendas_produto.ve47, vendas_produto.ve48 '' + ''from vendas, clientes_atacado, vendas_produto where vendas.cliente_atacado=clientes_atacado.cliente_atacado and vendas.pedido = vendas_produto.pedido '' + @xwhere10 + @xwhere11 + @xwhere12 + @xwhere1 + @xwhere2 + @xwhere3 + @xwhere4 + @xwhere5 + @xwhere6 + @xwhere7 + @xwhere8 + @xwhere9 + ''union all select vendas_produto.pedido, vendas_produto.entrega, vendas_produto. qtde_entregar, '' + ''vendas_produto.ve1, vendas_produto.ve2, vendas_produto.ve3, vendas_produto.ve4, vendas_produto.ve5, vendas_produto.ve6, vendas_produto.ve7, vendas_produto.ve8, '' + ''vendas_produto.ve9, vendas_produto.ve10, vendas_produto.ve11, vendas_produto.ve12, vendas_produto.ve13, vendas_produto.ve14, vendas_produto.ve15, vendas_produto.ve16, '' + ''vendas_produto.ve17, vendas_produto.ve18, vendas_produto.ve19, vendas_produto.ve20, vendas_produto.ve21, vendas_produto.ve22, vendas_produto.ve23, vendas_produto.ve24, '' + ''vendas_produto.ve25, vendas_produto.ve26, vendas_produto.ve27, vendas_produto.ve28, vendas_produto.ve29, vendas_produto.ve30, vendas_produto.ve31, vendas_produto.ve32, '' + ''vendas_produto.ve33, vendas_produto.ve34, vendas_produto.ve35, vendas_produto.ve36, vendas_produto.ve37, vendas_produto.ve38, vendas_produto.ve39, vendas_produto.ve40, '' + ''vendas_produto.ve41, vendas_produto.ve42, vendas_produto.ve43, vendas_produto.ve44, vendas_produto.ve45, vendas_produto.ve46, vendas_produto.ve47, vendas_produto.ve48 '' + ''from vendas, clientes_atacado, vendas_produto where vendas.nome_clifor_entrega = clientes_atacado.cliente_atacado and vendas.pedido = vendas_produto.pedido '' + @xwhere10 + @xwhere11 + @xwhere12 + @xwhere1 + @xwhere2 + @xwhere13 + @xwhere4 + @xwhere5 + @xwhere6 + @xwhere7 + @xwhere8 + @xwhere9) end else begin SELECT @xwhere10 = '' and vendas_produto.produto = '' + @Aspas + @produto + @Aspas + '' and vendas_produto.cor_produto = '' + @Aspas + @cor_produto + @Aspas insert into #reserva execute(''select vendas_produto.pedido, vendas_produto.entrega, vendas_produto. qtde_entregar, '' + ''vendas_produto.ve1, vendas_produto.ve2, vendas_produto.ve3, vendas_produto.ve4, vendas_produto.ve5, vendas_produto.ve6, vendas_produto.ve7, vendas_produto.ve8, '' + ''vendas_produto.ve9, vendas_produto.ve10, vendas_produto.ve11, vendas_produto.ve12, vendas_produto.ve13, vendas_produto.ve14, vendas_produto.ve15, vendas_produto.ve16, '' + ''vendas_produto.ve17, vendas_produto.ve18, vendas_produto.ve19, vendas_produto.ve20, vendas_produto.ve21, vendas_produto.ve22, vendas_produto.ve23, vendas_produto.ve24, '' + ''vendas_produto.ve25, vendas_produto.ve26, vendas_produto.ve27, vendas_produto.ve28, vendas_produto.ve29, vendas_produto.ve30, vendas_produto.ve31, vendas_produto.ve32, '' + ''vendas_produto.ve33, vendas_produto.ve34, vendas_produto.ve35, vendas_produto.ve36, vendas_produto.ve37, vendas_produto.ve38, vendas_produto.ve39, vendas_produto.ve40, '' + ''vendas_produto.ve41, vendas_produto.ve42, vendas_produto.ve43, vendas_produto.ve44, vendas_produto.ve45, vendas_produto.ve46, vendas_produto.ve47, vendas_produto.ve48 '' + ''from vendas, clientes_atacado, vendas_produto where vendas.cliente_atacado = clientes_atacado.cliente_atacado and vendas.pedido = vendas_produto.pedido '' + @xwhere10 + @xwhere11 + @xwhere12 + @xwhere1 + @xwhere2 + @xwhere3 + @xwhere4 + @xwhere5 + @xwhere6 + @xwhere7 + @xwhere8 + @xwhere9) end declare cur_itens cursor for select * from #reserva open cur_itens fetch next from cur_itens into @pedido, @entrega, @qtde_entregar, @ve1, @ve2, @ve3, @ve4, @ve5, @ve6, @ve7, @ve8, @ve9, @ve10, @ve11, @ve12, @ve13, @ve14, @ve15, @ve16, @ve17, @ve18, @ve19, @ve20, @ve21, @ve22, @ve23, @ve24, @ve25, @ve26, @ve27, @ve28, @ve29, @ve30, @ve31, @ve32, @ve33, @ve34, @ve35, @ve36, @ve37, @ve38, @ve39, @ve40, @ve41, @ve42, @ve43, @ve44, @ve45, @ve46, @ve47, @ve48 while @@fetch_status = 0 begin select @qtde = @qtde_entregar select @ve1 = case when @ve1 - isnull(sum(r1), 0) < 0 then 0 else @ve1 - isnull(sum(r1), 0) end, @ve2 = case when @ve2 - isnull(sum(r2), 0) < 0 then 0 else @ve2 - isnull(sum(r2), 0) end, @ve3 = case when @ve3 - isnull(sum(r3), 0) < 0 then 0 else @ve3 - isnull(sum(r3), 0) end, @ve4 = case when @ve4 - isnull(sum(r4), 0) < 0 then 0 else @ve4 - isnull(sum(r4), 0) end, @ve5 = case when @ve5 - isnull(sum(r5), 0) < 0 then 0 else @ve5 - isnull(sum(r5), 0) end, @ve6 = case when @ve6 - isnull(sum(r6), 0) < 0 then 0 else @ve6 - isnull(sum(r6), 0) end, @ve7 = case when @ve7 - isnull(sum(r7), 0) < 0 then 0 else @ve7 - isnull(sum(r7), 0) end, @ve8 = case when @ve8 - isnull(sum(r8), 0) < 0 then 0 else @ve8 - isnull(sum(r8), 0) end, @ve9 = case when @ve9 - isnull(sum(r9), 0) < 0 then 0 else @ve9 - isnull(sum(r9), 0) end, @ve10 = case when @ve10 - isnull(sum(r10), 0) < 0 then 0 else @ve10 - isnull(sum(r10), 0) end, @ve11 = case when @ve11 - isnull(sum(r11), 0) < 0 then 0 else @ve11 - isnull(sum(r11), 0) end, @ve12 = case when @ve12 - isnull(sum(r12), 0) < 0 then 0 else @ve12 - isnull(sum(r12), 0) end, @ve13 = case when @ve13 - isnull(sum(r13), 0) < 0 then 0 else @ve13 - isnull(sum(r13), 0) end, @ve14 = case when @ve14 - isnull(sum(r14), 0) < 0 then 0 else @ve14 - isnull(sum(r14), 0) end, @ve15 = case when @ve15 - isnull(sum(r15), 0) < 0 then 0 else @ve15 - isnull(sum(r15), 0) end, @ve16 = case when @ve16 - isnull(sum(r16), 0) < 0 then 0 else @ve16 - isnull(sum(r16), 0) end, @ve17 = case when @ve17 - isnull(sum(r17), 0) < 0 then 0 else @ve17 - isnull(sum(r17), 0) end, @ve18 = case when @ve18 - isnull(sum(r18), 0) < 0 then 0 else @ve18 - isnull(sum(r18), 0) end, @ve19 = case when @ve19 - isnull(sum(r19), 0) < 0 then 0 else @ve19 - isnull(sum(r19), 0) end, @ve20 = case when @ve20 - isnull(sum(r20), 0) < 0 then 0 else @ve20 - isnull(sum(r20), 0) end, @ve21 = case when @ve21 - isnull(sum(r21), 0) < 0 then 0 else @ve21 - isnull(sum(r21), 0) end, @ve22 = case when @ve22 - isnull(sum(r22), 0) < 0 then 0 else @ve22 - isnull(sum(r22), 0) end, @ve23 = case when @ve23 - isnull(sum(r23), 0) < 0 then 0 else @ve23 - isnull(sum(r23), 0) end, @ve24 = case when @ve24 - isnull(sum(r24), 0) < 0 then 0 else @ve24 - isnull(sum(r24), 0) end, @ve25 = case when @ve25 - isnull(sum(r25), 0) < 0 then 0 else @ve25 - isnull(sum(r25), 0) end, @ve26 = case when @ve26 - isnull(sum(r26), 0) < 0 then 0 else @ve26 - isnull(sum(r26), 0) end, @ve27 = case when @ve27 - isnull(sum(r27), 0) < 0 then 0 else @ve27 - isnull(sum(r27), 0) end, @ve28 = case when @ve28 - isnull(sum(r28), 0) < 0 then 0 else @ve28 - isnull(sum(r28), 0) end, @ve29 = case when @ve29 - isnull(sum(r29), 0) < 0 then 0 else @ve29 - isnull(sum(r29), 0) end, @ve30 = case when @ve30 - isnull(sum(r30), 0) < 0 then 0 else @ve30 - isnull(sum(r30), 0) end, @ve31 = case when @ve31 - isnull(sum(r31), 0) < 0 then 0 else @ve31 - isnull(sum(r31), 0) end, @ve32 = case when @ve32 - isnull(sum(r32), 0) < 0 then 0 else @ve32 - isnull(sum(r32), 0) end, @ve33 = case when @ve33 - isnull(sum(r33), 0) < 0 then 0 else @ve33 - isnull(sum(r33), 0) end, @ve34 = case when @ve34 - isnull(sum(r34), 0) < 0 then 0 else @ve34 - isnull(sum(r34), 0) end, @ve35 = case when @ve35 - isnull(sum(r35), 0) < 0 then 0 else @ve35 - isnull(sum(r35), 0) end, @ve36 = case when @ve36 - isnull(sum(r36), 0) < 0 then 0 else @ve36 - isnull(sum(r36), 0) end, @ve37 = case when @ve37 - isnull(sum(r37), 0) < 0 then 0 else @ve37 - isnull(sum(r37), 0) end, @ve38 = case when @ve38 - isnull(sum(r38), 0) < 0 then 0 else @ve38 - isnull(sum(r38), 0) end, @ve39 = case when @ve39 - isnull(sum(r39), 0) < 0 then 0 else @ve39 - isnull(sum(r39), 0) end, @ve40 = case when @ve40 - isnull(sum(r40), 0) < 0 then 0 else @ve40 - isnull(sum(r40), 0) end, @ve41 = case when @ve41 - isnull(sum(r41), 0) < 0 then 0 else @ve41 - isnull(sum(r41), 0) end, @ve42 = case when @ve42 - isnull(sum(r42), 0) < 0 then 0 else @ve42 - isnull(sum(r42), 0) end, @ve43 = case when @ve43 - isnull(sum(r43), 0) < 0 then 0 else @ve43 - isnull(sum(r43), 0) end, @ve44 = case when @ve44 - isnull(sum(r44), 0) < 0 then 0 else @ve44 - isnull(sum(r44), 0) end, @ve45 = case when @ve45 - isnull(sum(r45), 0) < 0 then 0 else @ve45 - isnull(sum(r45), 0) end, @ve46 = case when @ve46 - isnull(sum(r46), 0) < 0 then 0 else @ve46 - isnull(sum(r46), 0) end, @ve47 = case when @ve47 - isnull(sum(r47), 0) < 0 then 0 else @ve47 - isnull(sum(r47), 0) end, @ve48 = case when @ve48 - isnull(sum(r48), 0) < 0 then 0 else @ve48 - isnull(sum(r48), 0) end from romaneios_reservas where produto = @produto and cor_pedido = @cor_produto and entrega = @entrega and pedido = @pedido select @qtde_entregar = @ve1 + @ve2 + @ve3 + @ve4 + @ve5 + @ve6 + @ve7 + @ve8 + @ve9 + @ve10 + @ve11 + @ve12 + @ve13 + @ve14 + @ve15 + @ve16 + @ve17 + @ve18 + @ve19 + @ve20 + @ve21 + @ve22 + @ve23 + @ve24 + @ve25 + @ve26 + @ve27 + @ve28 + @ve29 + @ve30 + @ve31 + @ve32 + @ve33 + @ve34 + @ve35 + @ve36 + @ve37 + @ve38 + @ve39 + @ve40 + @ve41 + @ve42 + @ve43 + @ve44 + @ve45 + @ve46 + @ve47 + @ve48 if @qtde_entregar = 0 begin fetch next from cur_itens into @pedido, @entrega, @qtde_entregar, @ve1, @ve2, @ve3, @ve4, @ve5, @ve6, @ve7, @ve8, @ve9, @ve10, @ve11, @ve12, @ve13, @ve14, @ve15, @ve16, @ve17, @ve18, @ve19, @ve20, @ve21, @ve22, @ve23, @ve24, @ve25, @ve26, @ve27, @ve28, @ve29, @ve30, @ve31, @ve32, @ve33, @ve34, @ve35, @ve36, @ve37, @ve38, @ve39, @ve40, @ve41, @ve42, @ve43, @ve44, @ve45, @ve46, @ve47, @ve48 continue end if @qtde <> @qtde_entregar select @status = ''E'' select @qtde = @qtde_entregar select @ve1 = case when @ve1 - isnull(sum(e1), 0) < 0 then 0 else @ve1 - isnull(sum(e1), 0) end, @ve2 = case when @ve2 - isnull(sum(e2), 0) < 0 then 0 else @ve2 - isnull(sum(e2), 0) end, @ve3 = case when @ve3 - isnull(sum(e3), 0) < 0 then 0 else @ve3 - isnull(sum(e3), 0) end, @ve4 = case when @ve4 - isnull(sum(e4), 0) < 0 then 0 else @ve4 - isnull(sum(e4), 0) end, @ve5 = case when @ve5 - isnull(sum(e5), 0) < 0 then 0 else @ve5 - isnull(sum(e5), 0) end, @ve6 = case when @ve6 - isnull(sum(e6), 0) < 0 then 0 else @ve6 - isnull(sum(e6), 0) end, @ve7 = case when @ve7 - isnull(sum(e7), 0) < 0 then 0 else @ve7 - isnull(sum(e7), 0) end, @ve8 = case when @ve8 - isnull(sum(e8), 0) < 0 then 0 else @ve8 - isnull(sum(e8), 0) end, @ve9 = case when @ve9 - isnull(sum(e9), 0) < 0 then 0 else @ve9 - isnull(sum(e9), 0) end, @ve10 = case when @ve10 - isnull(sum(e10), 0) < 0 then 0 else @ve10 - isnull(sum(e10), 0) end, @ve11 = case when @ve11 - isnull(sum(e11), 0) < 0 then 0 else @ve11 - isnull(sum(e11), 0) end, @ve12 = case when @ve12 - isnull(sum(e12), 0) < 0 then 0 else @ve12 - isnull(sum(e12), 0) end, @ve13 = case when @ve13 - isnull(sum(e13), 0) < 0 then 0 else @ve13 - isnull(sum(e13), 0) end, @ve14 = case when @ve14 - isnull(sum(e14), 0) < 0 then 0 else @ve14 - isnull(sum(e14), 0) end, @ve15 = case when @ve15 - isnull(sum(e15), 0) < 0 then 0 else @ve15 - isnull(sum(e15), 0) end, @ve16 = case when @ve16 - isnull(sum(e16), 0) < 0 then 0 else @ve16 - isnull(sum(e16), 0) end, @ve17 = case when @ve17 - isnull(sum(e17), 0) < 0 then 0 else @ve17 - isnull(sum(e17), 0) end, @ve18 = case when @ve18 - isnull(sum(e18), 0) < 0 then 0 else @ve18 - isnull(sum(e18), 0) end, @ve19 = case when @ve19 - isnull(sum(e19), 0) < 0 then 0 else @ve19 - isnull(sum(e19), 0) end, @ve20 = case when @ve20 - isnull(sum(e20), 0) < 0 then 0 else @ve20 - isnull(sum(e20), 0) end, @ve21 = case when @ve21 - isnull(sum(e21), 0) < 0 then 0 else @ve21 - isnull(sum(e21), 0) end, @ve22 = case when @ve22 - isnull(sum(e22), 0) < 0 then 0 else @ve22 - isnull(sum(e22), 0) end, @ve23 = case when @ve23 - isnull(sum(e23), 0) < 0 then 0 else @ve23 - isnull(sum(e23), 0) end, @ve24 = case when @ve24 - isnull(sum(e24), 0) < 0 then 0 else @ve24 - isnull(sum(e24), 0) end, @ve25 = case when @ve25 - isnull(sum(e25), 0) < 0 then 0 else @ve25 - isnull(sum(e25), 0) end, @ve26 = case when @ve26 - isnull(sum(e26), 0) < 0 then 0 else @ve26 - isnull(sum(e26), 0) end, @ve27 = case when @ve27 - isnull(sum(e27), 0) < 0 then 0 else @ve27 - isnull(sum(e27), 0) end, @ve28 = case when @ve28 - isnull(sum(e28), 0) < 0 then 0 else @ve28 - isnull(sum(e28), 0) end, @ve29 = case when @ve29 - isnull(sum(e29), 0) < 0 then 0 else @ve29 - isnull(sum(e29), 0) end, @ve30 = case when @ve30 - isnull(sum(e30), 0) < 0 then 0 else @ve30 - isnull(sum(e30), 0) end, @ve31 = case when @ve31 - isnull(sum(e31), 0) < 0 then 0 else @ve31 - isnull(sum(e31), 0) end, @ve32 = case when @ve32 - isnull(sum(e32), 0) < 0 then 0 else @ve32 - isnull(sum(e32), 0) end, @ve33 = case when @ve33 - isnull(sum(e33), 0) < 0 then 0 else @ve33 - isnull(sum(e33), 0) end, @ve34 = case when @ve34 - isnull(sum(e34), 0) < 0 then 0 else @ve34 - isnull(sum(e34), 0) end, @ve35 = case when @ve35 - isnull(sum(e35), 0) < 0 then 0 else @ve35 - isnull(sum(e35), 0) end, @ve36 = case when @ve36 - isnull(sum(e36), 0) < 0 then 0 else @ve36 - isnull(sum(e36), 0) end, @ve37 = case when @ve37 - isnull(sum(e37), 0) < 0 then 0 else @ve37 - isnull(sum(e37), 0) end, @ve38 = case when @ve38 - isnull(sum(e38), 0) < 0 then 0 else @ve38 - isnull(sum(e38), 0) end, @ve39 = case when @ve39 - isnull(sum(e39), 0) < 0 then 0 else @ve39 - isnull(sum(e39), 0) end, @ve40 = case when @ve40 - isnull(sum(e40), 0) < 0 then 0 else @ve40 - isnull(sum(e40), 0) end, @ve41 = case when @ve41 - isnull(sum(e41), 0) < 0 then 0 else @ve41 - isnull(sum(e41), 0) end, @ve42 = case when @ve42 - isnull(sum(e42), 0) < 0 then 0 else @ve42 - isnull(sum(e42), 0) end, @ve43 = case when @ve43 - isnull(sum(e43), 0) < 0 then 0 else @ve43 - isnull(sum(e43), 0) end, @ve44 = case when @ve44 - isnull(sum(e44), 0) < 0 then 0 else @ve44 - isnull(sum(e44), 0) end, @ve45 = case when @ve45 - isnull(sum(e45), 0) < 0 then 0 else @ve45 - isnull(sum(e45), 0) end, @ve46 = case when @ve46 - isnull(sum(e46), 0) < 0 then 0 else @ve46 - isnull(sum(e46), 0) end, @ve47 = case when @ve47 - isnull(sum(e47), 0) < 0 then 0 else @ve47 - isnull(sum(e47), 0) end, @ve48 = case when @ve48 - isnull(sum(e48), 0) < 0 then 0 else @ve48 - isnull(sum(e48), 0) end from vendas_prod_embalado where pedido = @pedido and pedido_produto = @produto and pedido_cor_produto = @cor_produto and entrega = @entrega select @qtde_entregar = @ve1 + @ve2 + @ve3 + @ve4 + @ve5 + @ve6 + @ve7 + @ve8 + @ve9 + @ve10 + @ve11 + @ve12 + @ve13 + @ve14 + @ve15 + @ve16 + @ve17 + @ve18 + @ve19 + @ve20 + @ve21 + @ve22 + @ve23 + @ve24 + @ve25 + @ve26 + @ve27 + @ve28 + @ve29 + @ve30 + @ve31 + @ve32 + @ve33 + @ve34 + @ve35 + @ve36 + @ve37 + @ve38 + @ve39 + @ve40 + @ve41 + @ve42 + @ve43 + @ve44 + @ve45 + @ve46 + @ve47 + @ve48 if @qtde <> @qtde_entregar select @status = ''R'' if @qtde_entregar > 0 begin if @status <> ''E'' and @status <> ''R'' select @status = ''P'' insert into romaneios_reservas (romaneio, filial, pedido, produto, cor_produto, cor_pedido, entrega, qtde_r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40 ,r41, r42, r43, r44, r45, r46, r47, r48) values (@romaneio, @filial, @pedido, @produto, @cor_produto, @cor_produto, @entrega, @qtde_entregar, @ve1, @ve2, @ve3, @ve4, @ve5, @ve6, @ve7, @ve8, @ve9, @ve10, @ve11, @ve12, @ve13, @ve14, @ve15, @ve16, @ve17, @ve18, @ve19, @ve20, @ve21, @ve22, @ve23, @ve24, @ve25, @ve26, @ve27, @ve28, @ve29, @ve30, @ve31, @ve32, @ve33, @ve34, @ve35, @ve36, @ve37, @ve38, @ve39, @ve40, @ve41, @ve42, @ve43, @ve44, @ve45, @ve46, @ve47, @ve48) end fetch next from cur_itens into @pedido, @entrega, @qtde_entregar, @ve1, @ve2, @ve3, @ve4, @ve5, @ve6, @ve7, @ve8, @ve9, @ve10, @ve11, @ve12, @ve13, @ve14, @ve15, @ve16, @ve17, @ve18, @ve19, @ve20, @ve21, @ve22, @ve23, @ve24, @ve25, @ve26, @ve27, @ve28, @ve29, @ve30, @ve31, @ve32, @ve33, @ve34, @ve35, @ve36, @ve37, @ve38, @ve39, @ve40, @ve41, @ve42, @ve43, @ve44, @ve45, @ve46, @ve47, @ve48 end close cur_itens deallocate cur_itens fetch next from cur_cores into @cor_produto end close cur_cores deallocate cur_cores update romaneios_produto set status = @status, filtros_processo = ''vendas_produto.qtde_entregar > vendas_produto.qtde_embalada and vendas.aprovacao = '' + @Aspas + ''A'' + @Aspas + '' and vendas_produto.qtde_entregar > 0 and (clientes_atacado.bloqueio_expedicao = '' + @Aspas + @Aspas + '' or clientes_atacado.bloqueio_expedicao is null) and vendas.filial = '' + @filial + @xwhere1 + @xwhere2 + @xwhere3 + @xwhere4 + @xwhere5 + @xwhere6 + @xwhere7 + @xwhere8 + @xwhere9 where romaneio = @romaneio and filial = @filial and produto = @produto fetch next from cur_romaneios into @produto, @ordem_producao end drop table #reserva close cur_romaneios deallocate cur_romaneios if @ultimo_fat is not null and @ultimo_fat <> '''' delete from romaneios_reservas where pedido in (select pedido from vendas, faturamento where cliente_atacado = nome_clifor group by pedido having max(faturamento.emissao) > @ultimo_fat) and romaneio = @romaneio and filial = @filial if @atraso > 0 delete romaneios_reservas from romaneios_reservas join vendas on romaneios_reservas.pedido = vendas.pedido where romaneios_reservas.romaneio = @romaneio and romaneios_reservas.filial = @filial and cliente_atacado in (select distinct nome_clifor from a_receber_parcelas where valor_a_receber > 0 group by nome_clifor having datediff(day, min(vencimento), getdate()) > @atraso) set nocount off return ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_DISTRIBUICAO2]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_DISTRIBUICAO2] @ROMANEIO CHAR(8), @FILIAL VARCHAR(25), @TIPO_PROCESSO INT, @DISPONIVEL CHAR(4), @COMPRAS_I DATETIME = NULL, @COMPRAS_F DATETIME = NULL, @PRODUCAO_I DATETIME = NULL, @PRODUCAO_F DATETIME = NULL, @TAB_PRECO CHAR(2), @COLECAO CHAR(6), @TIPO_VENDA VARCHAR(25), @MOEDA CHAR(6), @TRANSPORTADORA VARCHAR(25), @COND_PGTO CHAR(3), @REPRESENTANTE VARCHAR(25), @DATA DATETIME, @VENDAS_I DATETIME, @VENDAS_F DATETIME, @PORCENTAGEM INT, @PROGRAMACAO_I DATETIME = NULL, @PROGRAMACAO_F DATETIME = NULL, @TAB_PRECO_CLIENTE BIT AS SET NOCOUNT ON DECLARE @PRODUTO CHAR(12), @STATUS CHAR(1), @PEDIDO CHAR(12), @PRODUTOI CHAR(12), @CORI CHAR(10), @FILIALI VARCHAR(25), @TAMANHO INT, @Q1 INT, @Q2 INT, @Q3 INT, @Q4 INT, @Q5 INT, @Q6 INT, @Q7 INT, @Q8 INT, @Q9 INT, @Q10 INT, @Q11 INT, @Q12 INT, @Q13 INT, @Q14 INT, @Q15 INT, @Q16 INT, @Q17 INT, @Q18 INT, @Q19 INT, @Q20 INT, @Q21 INT, @Q22 INT, @Q23 INT, @Q24 INT, @Q25 INT, @Q26 INT, @Q27 INT, @Q28 INT, @Q29 INT, @Q30 INT, @Q31 INT, @Q32 INT, @Q33 INT, @Q34 INT, @Q35 INT, @Q36 INT, @Q37 INT, @Q38 INT, @Q39 INT, @Q40 INT, @Q41 INT, @Q42 INT, @Q43 INT, @Q44 INT, @Q45 INT, @Q46 INT, @Q47 INT, @Q48 INT, @GERENTE VARCHAR(25), @COMISSAO REAL, @COMISSAO_GERENTE REAL, @PORC_ACERTO REAL, @QTDE INT, @PONTEIRO_PRECO_TAM VARCHAR(48), @VARIA_PRECO_TAM CHAR(1), @VARIA_PRECO_COR CHAR(1), @PRECO1 NUMERIC(14, 2), @PRECO2 NUMERIC(14, 2), @PRECO3 NUMERIC(14, 2), @PRECO4 NUMERIC(14, 2), @VALOR NUMERIC(14, 2), @MAXIMO_TAMANHOS INT, @XCONTA INT, @TOT_VALOR NUMERIC(14, 2), @TOT_QTDE NUMERIC(14, 2), @COR CHAR(10), @QTDE_D INT, @CORV CHAR(10), @PROD CHAR(12), @D1 INT, @D2 INT, @D3 INT, @D4 INT, @D5 INT, @D6 INT, @D7 INT, @D8 INT, @D9 INT, @D10 INT, @D11 INT, @D12 INT, @D13 INT, @D14 INT, @D15 INT, @D16 INT, @D17 INT, @D18 INT, @D19 INT, @D20 INT, @D21 INT, @D22 INT, @D23 INT, @D24 INT, @D25 INT, @D26 INT, @D27 INT, @D28 INT, @D29 INT, @D30 INT, @D31 INT, @D32 INT, @D33 INT, @D34 INT, @D35 INT, @D36 INT, @D37 INT, @D38 INT, @D39 INT, @D40 INT, @D41 INT, @D42 INT, @D43 INT, @D44 INT, @D45 INT, @D46 INT, @D47 INT, @D48 INT, @ES1 INT, @ES2 INT, @ES3 INT, @ES4 INT, @ES5 INT, @ES6 INT, @ES7 INT, @ES8 INT, @ES9 INT, @ES10 INT, @ES11 INT, @ES12 INT, @ES13 INT, @ES14 INT, @ES15 INT, @ES16 INT, @ES17 INT, @ES18 INT, @ES19 INT, @ES20 INT, @ES21 INT, @ES22 INT, @ES23 INT, @ES24 INT, @ES25 INT, @ES26 INT, @ES27 INT, @ES28 INT, @ES29 INT, @ES30 INT, @ES31 INT, @ES32 INT, @ES33 INT, @ES34 INT, @ES35 INT, @ES36 INT, @ES37 INT, @ES38 INT, @ES39 INT, @ES40 INT, @ES41 INT, @ES42 INT, @ES43 INT, @ES44 INT, @ES45 INT, @ES46 INT, @ES47 INT, @ES48 INT, @tabela char(2), @op char(6), @ped_compra char(6), @ordem_producao char(6) SELECT @GERENTE = A.GERENTE, @COMISSAO = A.COMISSAO, @COMISSAO_GERENTE = B.COMISSAO, @PORC_ACERTO = A.PORCENTAGEM_ACERTO FROM REPRESENTANTES A LEFT JOIN REPRESENTANTES B ON A.GERENTE = B.REPRESENTANTE WHERE A.REPRESENTANTE = @REPRESENTANTE SELECT @MAXIMO_TAMANHOS = CONVERT(INT, VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO = ''MAXIMO_TAMANHOS'' SELECT @COR = '''', @PROD = '''' DECLARE CURSOR_PRODUTOS CURSOR FOR SELECT PRODUTO, ordem_producao FROM ROMANEIOS_PRODUTO WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND STATUS = ''A'' OPEN CURSOR_PRODUTOS FETCH NEXT FROM CURSOR_PRODUTOS INTO @PRODUTO, @ordem_producao WHILE @@FETCH_STATUS = 0 BEGIN /* verifica se numero e de OP ou Pedido de Compra */ if exists (select * from producao_ordem where ordem_producao = @ordem_producao) select @op = @ordem_producao, @ped_compra = '''' else select @ped_compra = @ordem_producao, @op = '''' DECLARE CURSOR_DELETE CURSOR FOR SELECT DISTINCT A.PEDIDO FROM VENDAS_PRODUTO A JOIN VENDAS B ON A.PEDIDO = B.PEDIDO WHERE PRODUTO = @PRODUTO AND ROMANEIO = @ROMANEIO OPEN CURSOR_DELETE DELETE A FROM VENDAS_PRODUTO A JOIN VENDAS B ON A.PEDIDO = B.PEDIDO WHERE ROMANEIO = @ROMANEIO AND PRODUTO = @PRODUTO FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO WHILE @@FETCH_STATUS = 0 BEGIN DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTO SELECT @XCONTA = COUNT(*), @TOT_QTDE = ISNULL(SUM(QTDE_ORIGINAL), 0), @TOT_VALOR = ISNULL(SUM(VALOR_ORIGINAL), 0) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO IF @XCONTA = 0 DELETE FROM VENDAS WHERE PEDIDO = @PEDIDO ELSE UPDATE VENDAS SET TOT_VALOR_ORIGINAL = @TOT_VALOR, TOT_VALOR_ENTREGAR = @TOT_VALOR, TOT_QTDE_ORIGINAL = @TOT_QTDE, TOT_QTDE_ENTREGAR = @TOT_QTDE WHERE PEDIDO = @PEDIDO FETCH NEXT FROM CURSOR_DELETE INTO @PEDIDO END CLOSE CURSOR_DELETE DEALLOCATE CURSOR_DELETE DECLARE CURSOR_ITENS CURSOR FOR SELECT C.PRODUTO, C.COR_PRODUTO, E.COR_PRODUTO, A.FILIAL, PONTEIRO_PRECO_TAM, RTRIM(STR(VARIA_PRECO_TAM)), RTRIM(STR(VARIA_PRECO_COR)), ISNULL(SUM(VE1), 0) VE1, ISNULL(SUM(VE2), 0) VE2, ISNULL(SUM(VE3), 0) VE3, ISNULL(SUM(VE4), 0) VE4, ISNULL(SUM(VE5), 0) VE5, ISNULL(SUM(VE6), 0) VE6, ISNULL(SUM(VE7), 0) VE7, ISNULL(SUM(VE8), 0) VE8, ISNULL(SUM(VE9), 0) VE9, ISNULL(SUM(VE10), 0) VE10, ISNULL(SUM(VE11), 0) VE11, ISNULL(SUM(VE12), 0) VE12, ISNULL(SUM(VE13), 0) VE13, ISNULL(SUM(VE14), 0) VE14, ISNULL(SUM(VE15), 0) VE15, ISNULL(SUM(VE16), 0) VE16, ISNULL(SUM(VE17), 0) VE17, ISNULL(SUM(VE18), 0) VE18, ISNULL(SUM(VE19), 0) VE19, ISNULL(SUM(VE20), 0) VE20, ISNULL(SUM(VE21), 0) VE21, ISNULL(SUM(VE22), 0) VE22, ISNULL(SUM(VE23), 0) VE23, ISNULL(SUM(VE24), 0) VE24, ISNULL(SUM(VE25), 0) VE25, ISNULL(SUM(VE26), 0) VE26, ISNULL(SUM(VE27), 0) VE27, ISNULL(SUM(VE28), 0) VE28, ISNULL(SUM(VE29), 0) VE29, ISNULL(SUM(VE30), 0) VE30, ISNULL(SUM(VE31), 0) VE31, ISNULL(SUM(VE32), 0) VE32, ISNULL(SUM(VE33), 0) VE33, ISNULL(SUM(VE34), 0) VE34, ISNULL(SUM(VE35), 0) VE35, ISNULL(SUM(VE36), 0) VE36, ISNULL(SUM(VE37), 0) VE37, ISNULL(SUM(VE38), 0) VE38, ISNULL(SUM(VE39), 0) VE39, ISNULL(SUM(VE40), 0) VE40, ISNULL(SUM(VE41), 0) VE41, ISNULL(SUM(VE42), 0) VE42, ISNULL(SUM(VE43), 0) VE43, ISNULL(SUM(VE44), 0) VE44, ISNULL(SUM(VE45), 0) VE45, ISNULL(SUM(VE46), 0) VE46, ISNULL(SUM(VE47), 0) VE47, ISNULL(SUM(VE48), 0) VE48 FROM #TAB_FILIAIS A CROSS JOIN ROMANEIOS_PRODUTO B JOIN PRODUTO_CORES C ON B.PRODUTO = C.PRODUTO JOIN PRODUTOS D ON B.PRODUTO = D.PRODUTO LEFT JOIN LOJA_RESUMO_PRODUTO E ON A.FILIAL = E.FILIAL AND B.PRODUTO = E.PRODUTO AND C.COR_PRODUTO = E.COR_PRODUTO AND DATA_VENDA >= @VENDAS_I AND DATA_VENDA <= @VENDAS_F WHERE B.ROMANEIO = @ROMANEIO AND B.FILIAL = @FILIAL AND B.PRODUTO = @PRODUTO GROUP BY C.PRODUTO, C.COR_PRODUTO, A.FILIAL, E.COR_PRODUTO, PONTEIRO_PRECO_TAM, RTRIM(STR(VARIA_PRECO_TAM)), RTRIM(STR(VARIA_PRECO_COR)) ORDER BY C.PRODUTO, C.COR_PRODUTO, A.FILIAL OPEN CURSOR_ITENS FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @CORV, @FILIALI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48 SELECT @STATUS = ''P'' WHILE @@FETCH_STATUS = 0 BEGIN IF @CORV IS NOT NULL BEGIN IF @COR <> @CORI OR @PROD <> @PRODUTO BEGIN SELECT @COR = @CORI, @PROD = @PRODUTO SELECT @D1 = 0, @D2 = 0, @D3 = 0, @D4 = 0, @D5 = 0, @D6 = 0, @D7 = 0, @D8 = 0, @D9 = 0, @D10 = 0, @D11 = 0, @D12 = 0, @D13 = 0, @D14 = 0, @D15 = 0, @D16 = 0, @D17 = 0, @D18 = 0, @D19 = 0, @D20 = 0, @D21 = 0, @D22 = 0, @D23 = 0, @D24 = 0, @D25 = 0, @D26 = 0, @D27 = 0, @D28 = 0, @D29 = 0, @D30 = 0, @D31 = 0, @D32 = 0, @D33 = 0, @D34 = 0, @D35 = 0, @D36 = 0, @D37 = 0, @D38 = 0, @D39 = 0, @D40 = 0, @D41 = 0, @D42 = 0, @D43 = 0, @D44 = 0, @D45 = 0, @D46 = 0, @D47 = 0, @D48 = 0 SELECT @ES1 = 0, @ES2 = 0, @ES3 = 0, @ES4 = 0, @ES5 = 0, @ES6 = 0, @ES7 = 0, @ES8 = 0, @ES9 = 0, @ES10 = 0, @ES11 = 0, @ES12 = 0, @ES13 = 0, @ES14 = 0, @ES15 = 0, @ES16 = 0, @ES17 = 0, @ES18 = 0, @ES19 = 0, @ES20 = 0, @ES21 = 0, @ES22 = 0, @ES23 = 0, @ES24 = 0, @ES25 = 0, @ES26 = 0, @ES27 = 0, @ES28 = 0, @ES29 = 0, @ES30 = 0, @ES31 = 0, @ES32 = 0, @ES33 = 0, @ES34 = 0, @ES35 = 0, @ES36 = 0, @ES37 = 0, @ES38 = 0, @ES39 = 0, @ES40 = 0, @ES41 = 0, @ES42 = 0, @ES43 = 0, @ES44 = 0, @ES45 = 0, @ES46 = 0, @ES47 = 0, @ES48 = 0 IF CHARINDEX(''C'', @DISPONIVEL) > 0 BEGIN if @ped_compra is not null and @ped_compra <> '''' SELECT @D1 = ISNULL(SUM(CE1), 0), @D2 = ISNULL(SUM(CE2), 0), @D3 = ISNULL(SUM(CE3), 0), @D4 = ISNULL(SUM(CE4), 0), @D5 = ISNULL(SUM(CE5), 0), @D6 = ISNULL(SUM(CE6), 0), @D7 = ISNULL(SUM(CE7), 0), @D8 = ISNULL(SUM(CE8), 0), @D9 = ISNULL(SUM(CE9), 0), @D10 = ISNULL(SUM(CE10), 0), @D11 = ISNULL(SUM(CE11), 0), @D12 = ISNULL(SUM(CE12), 0), @D13 = ISNULL(SUM(CE13), 0), @D14 = ISNULL(SUM(CE14), 0), @D15 = ISNULL(SUM(CE15), 0), @D16 = ISNULL(SUM(CE16), 0), @D17 = ISNULL(SUM(CE17), 0), @D18 = ISNULL(SUM(CE18), 0), @D19 = ISNULL(SUM(CE19), 0), @D20 = ISNULL(SUM(CE20), 0), @D21 = ISNULL(SUM(CE21), 0), @D22 = ISNULL(SUM(CE22), 0), @D23 = ISNULL(SUM(CE23), 0), @D24 = ISNULL(SUM(CE24), 0), @D25 = ISNULL(SUM(CE25), 0), @D26 = ISNULL(SUM(CE26), 0), @D27 = ISNULL(SUM(CE27), 0), @D28 = ISNULL(SUM(CE28), 0), @D29 = ISNULL(SUM(CE29), 0), @D30 = ISNULL(SUM(CE30), 0), @D31 = ISNULL(SUM(CE31), 0), @D32 = ISNULL(SUM(CE32), 0), @D33 = ISNULL(SUM(CE33), 0), @D34 = ISNULL(SUM(CE34), 0), @D35 = ISNULL(SUM(CE35), 0), @D36 = ISNULL(SUM(CE36), 0), @D37 = ISNULL(SUM(CE37), 0), @D38 = ISNULL(SUM(CE38), 0), @D39 = ISNULL(SUM(CE39), 0), @D40 = ISNULL(SUM(CE40), 0), @D41 = ISNULL(SUM(CE41), 0), @D42 = ISNULL(SUM(CE42), 0), @D43 = ISNULL(SUM(CE43), 0), @D44 = ISNULL(SUM(CE44), 0), @D45 = ISNULL(SUM(CE45), 0), @D46 = ISNULL(SUM(CE46), 0), @D47 = ISNULL(SUM(CE47), 0), @D48 = ISNULL(SUM(CE48), 0) FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO WHERE FILIAL_A_ENTREGAR = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND a.pedido = @ped_compra else begin IF @COMPRAS_I IS NOT NULL SELECT @D1 = ISNULL(SUM(CE1), 0), @D2 = ISNULL(SUM(CE2), 0), @D3 = ISNULL(SUM(CE3), 0), @D4 = ISNULL(SUM(CE4), 0), @D5 = ISNULL(SUM(CE5), 0), @D6 = ISNULL(SUM(CE6), 0), @D7 = ISNULL(SUM(CE7), 0), @D8 = ISNULL(SUM(CE8), 0), @D9 = ISNULL(SUM(CE9), 0), @D10 = ISNULL(SUM(CE10), 0), @D11 = ISNULL(SUM(CE11), 0), @D12 = ISNULL(SUM(CE12), 0), @D13 = ISNULL(SUM(CE13), 0), @D14 = ISNULL(SUM(CE14), 0), @D15 = ISNULL(SUM(CE15), 0), @D16 = ISNULL(SUM(CE16), 0), @D17 = ISNULL(SUM(CE17), 0), @D18 = ISNULL(SUM(CE18), 0), @D19 = ISNULL(SUM(CE19), 0), @D20 = ISNULL(SUM(CE20), 0), @D21 = ISNULL(SUM(CE21), 0), @D22 = ISNULL(SUM(CE22), 0), @D23 = ISNULL(SUM(CE23), 0), @D24 = ISNULL(SUM(CE24), 0), @D25 = ISNULL(SUM(CE25), 0), @D26 = ISNULL(SUM(CE26), 0), @D27 = ISNULL(SUM(CE27), 0), @D28 = ISNULL(SUM(CE28), 0), @D29 = ISNULL(SUM(CE29), 0), @D30 = ISNULL(SUM(CE30), 0), @D31 = ISNULL(SUM(CE31), 0), @D32 = ISNULL(SUM(CE32), 0), @D33 = ISNULL(SUM(CE33), 0), @D34 = ISNULL(SUM(CE34), 0), @D35 = ISNULL(SUM(CE35), 0), @D36 = ISNULL(SUM(CE36), 0), @D37 = ISNULL(SUM(CE37), 0), @D38 = ISNULL(SUM(CE38), 0), @D39 = ISNULL(SUM(CE39), 0), @D40 = ISNULL(SUM(CE40), 0), @D41 = ISNULL(SUM(CE41), 0), @D42 = ISNULL(SUM(CE42), 0), @D43 = ISNULL(SUM(CE43), 0), @D44 = ISNULL(SUM(CE44), 0), @D45 = ISNULL(SUM(CE45), 0), @D46 = ISNULL(SUM(CE46), 0), @D47 = ISNULL(SUM(CE47), 0), @D48 = ISNULL(SUM(CE48), 0) FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO WHERE FILIAL_A_ENTREGAR = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND QTDE_ENTREGAR > 0 AND EMISSAO >= @COMPRAS_I AND EMISSAO <= @COMPRAS_F ELSE SELECT @D1 = ISNULL(SUM(CE1), 0), @D2 = ISNULL(SUM(CE2), 0), @D3 = ISNULL(SUM(CE3), 0), @D4 = ISNULL(SUM(CE4), 0), @D5 = ISNULL(SUM(CE5), 0), @D6 = ISNULL(SUM(CE6), 0), @D7 = ISNULL(SUM(CE7), 0), @D8 = ISNULL(SUM(CE8), 0), @D9 = ISNULL(SUM(CE9), 0), @D10 = ISNULL(SUM(CE10), 0), @D11 = ISNULL(SUM(CE11), 0), @D12 = ISNULL(SUM(CE12), 0), @D13 = ISNULL(SUM(CE13), 0), @D14 = ISNULL(SUM(CE14), 0), @D15 = ISNULL(SUM(CE15), 0), @D16 = ISNULL(SUM(CE16), 0), @D17 = ISNULL(SUM(CE17), 0), @D18 = ISNULL(SUM(CE18), 0), @D19 = ISNULL(SUM(CE19), 0), @D20 = ISNULL(SUM(CE20), 0), @D21 = ISNULL(SUM(CE21), 0), @D22 = ISNULL(SUM(CE22), 0), @D23 = ISNULL(SUM(CE23), 0), @D24 = ISNULL(SUM(CE24), 0), @D25 = ISNULL(SUM(CE25), 0), @D26 = ISNULL(SUM(CE26), 0), @D27 = ISNULL(SUM(CE27), 0), @D28 = ISNULL(SUM(CE28), 0), @D29 = ISNULL(SUM(CE29), 0), @D30 = ISNULL(SUM(CE30), 0), @D31 = ISNULL(SUM(CE31), 0), @D32 = ISNULL(SUM(CE32), 0), @D33 = ISNULL(SUM(CE33), 0), @D34 = ISNULL(SUM(CE34), 0), @D35 = ISNULL(SUM(CE35), 0), @D36 = ISNULL(SUM(CE36), 0), @D37 = ISNULL(SUM(CE37), 0), @D38 = ISNULL(SUM(CE38), 0), @D39 = ISNULL(SUM(CE39), 0), @D40 = ISNULL(SUM(CE40), 0), @D41 = ISNULL(SUM(CE41), 0), @D42 = ISNULL(SUM(CE42), 0), @D43 = ISNULL(SUM(CE43), 0), @D44 = ISNULL(SUM(CE44), 0), @D45 = ISNULL(SUM(CE45), 0), @D46 = ISNULL(SUM(CE46), 0), @D47 = ISNULL(SUM(CE47), 0), @D48 = ISNULL(SUM(CE48), 0) FROM COMPRAS A JOIN COMPRAS_PRODUTO B ON A.PEDIDO = B.PEDIDO WHERE FILIAL_A_ENTREGAR = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND QTDE_ENTREGAR > 0 end END IF CHARINDEX(''O'', @DISPONIVEL) > 0 BEGIN if @op is not null and @op <> '''' SELECT @D1 = @D1 + ISNULL(SUM(P1), 0), @D2 = @D2 + ISNULL(SUM(P2), 0), @D3 = @D3 + ISNULL(SUM(P3), 0), @D4 = @D4 + ISNULL(SUM(P4), 0), @D5 = @D5 + ISNULL(SUM(P5), 0), @D6 = @D6 + ISNULL(SUM(P6), 0), @D7 = @D7 + ISNULL(SUM(P7), 0), @D8 = @D8 + ISNULL(SUM(P8), 0), @D9 = @D9 + ISNULL(SUM(P9), 0), @D10 = @D10 + ISNULL(SUM(P10), 0), @D11 = @D11 + ISNULL(SUM(P11), 0), @D12 = @D12 + ISNULL(SUM(P12), 0), @D13 = @D23 + ISNULL(SUM(P13), 0), @D14 = @D14 + ISNULL(SUM(P14), 0), @D15 = @D15 + ISNULL(SUM(P15), 0), @D16 = @D16 + ISNULL(SUM(P16), 0), @D17 = @D17 + ISNULL(SUM(P17), 0), @D18 = @D18 + ISNULL(SUM(P18), 0), @D19 = @D19 + ISNULL(SUM(P19), 0), @D20 = @D20 + ISNULL(SUM(P20), 0), @D21 = @D21 + ISNULL(SUM(P21), 0), @D22 = @D22 + ISNULL(SUM(P22), 0), @D23 = @D23 + ISNULL(SUM(P23), 0), @D24 = @D24 + ISNULL(SUM(P24), 0), @D25 = @D25 + ISNULL(SUM(P25), 0), @D26 = @D26 + ISNULL(SUM(P26), 0), @D27 = @D27 + ISNULL(SUM(P27), 0), @D28 = @D28 + ISNULL(SUM(P28), 0), @D29 = @D29 + ISNULL(SUM(P29), 0), @D30 = @D30 + ISNULL(SUM(P30), 0), @D31 = @D31 + ISNULL(SUM(P31), 0), @D32 = @D32 + ISNULL(SUM(P32), 0), @D33 = @D33 + ISNULL(SUM(P33), 0), @D34 = @D34 + ISNULL(SUM(P34), 0), @D35 = @D35 + ISNULL(SUM(P35), 0), @D36 = @D36 + ISNULL(SUM(P36), 0), @D37 = @D37 + ISNULL(SUM(P37), 0), @D38 = @D38 + ISNULL(SUM(P38), 0), @D39 = @D39 + ISNULL(SUM(P39), 0), @D40 = @D40 + ISNULL(SUM(P40), 0), @D41 = @D41 + ISNULL(SUM(P41), 0), @D42 = @D42 + ISNULL(SUM(P42), 0), @D43 = @D43 + ISNULL(SUM(P43), 0), @D44 = @D44 + ISNULL(SUM(P44), 0), @D45 = @D45 + ISNULL(SUM(P45), 0), @D46 = @D46 + ISNULL(SUM(P46), 0), @D47 = @D47 + ISNULL(SUM(P47), 0), @D48 = @D48 + ISNULL(SUM(P48), 0) FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO WHERE B.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND FILIAL = @FILIAL AND a.ordem_producao = @op else begin IF @PRODUCAO_I IS NOT NULL SELECT @D1 = @D1 + ISNULL(SUM(P1), 0), @D2 = @D2 + ISNULL(SUM(P2), 0), @D3 = @D3 + ISNULL(SUM(P3), 0), @D4 = @D4 + ISNULL(SUM(P4), 0), @D5 = @D5 + ISNULL(SUM(P5), 0), @D6 = @D6 + ISNULL(SUM(P6), 0), @D7 = @D7 + ISNULL(SUM(P7), 0), @D8 = @D8 + ISNULL(SUM(P8), 0), @D9 = @D9 + ISNULL(SUM(P9), 0), @D10 = @D10 + ISNULL(SUM(P10), 0), @D11 = @D11 + ISNULL(SUM(P11), 0), @D12 = @D12 + ISNULL(SUM(P12), 0), @D13 = @D23 + ISNULL(SUM(P13), 0), @D14 = @D14 + ISNULL(SUM(P14), 0), @D15 = @D15 + ISNULL(SUM(P15), 0), @D16 = @D16 + ISNULL(SUM(P16), 0), @D17 = @D17 + ISNULL(SUM(P17), 0), @D18 = @D18 + ISNULL(SUM(P18), 0), @D19 = @D19 + ISNULL(SUM(P19), 0), @D20 = @D20 + ISNULL(SUM(P20), 0), @D21 = @D21 + ISNULL(SUM(P21), 0), @D22 = @D22 + ISNULL(SUM(P22), 0), @D23 = @D23 + ISNULL(SUM(P23), 0), @D24 = @D24 + ISNULL(SUM(P24), 0), @D25 = @D25 + ISNULL(SUM(P25), 0), @D26 = @D26 + ISNULL(SUM(P26), 0), @D27 = @D27 + ISNULL(SUM(P27), 0), @D28 = @D28 + ISNULL(SUM(P28), 0), @D29 = @D29 + ISNULL(SUM(P29), 0), @D30 = @D30 + ISNULL(SUM(P30), 0), @D31 = @D31 + ISNULL(SUM(P31), 0), @D32 = @D32 + ISNULL(SUM(P32), 0), @D33 = @D33 + ISNULL(SUM(P33), 0), @D34 = @D34 + ISNULL(SUM(P34), 0), @D35 = @D35 + ISNULL(SUM(P35), 0), @D36 = @D36 + ISNULL(SUM(P36), 0), @D37 = @D37 + ISNULL(SUM(P37), 0), @D38 = @D38 + ISNULL(SUM(P38), 0), @D39 = @D39 + ISNULL(SUM(P39), 0), @D40 = @D40 + ISNULL(SUM(P40), 0), @D41 = @D41 + ISNULL(SUM(P41), 0), @D42 = @D42 + ISNULL(SUM(P42), 0), @D43 = @D43 + ISNULL(SUM(P43), 0), @D44 = @D44 + ISNULL(SUM(P44), 0), @D45 = @D45 + ISNULL(SUM(P45), 0), @D46 = @D46 + ISNULL(SUM(P46), 0), @D47 = @D47 + ISNULL(SUM(P47), 0), @D48 = @D48 + ISNULL(SUM(P48), 0) FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO WHERE B.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND FILIAL = @FILIAL AND QTDE_P > 0 AND PREVISAO_FIM >= @PRODUCAO_I AND PREVISAO_FIM <= @PRODUCAO_F ELSE SELECT @D1 = @D1 + ISNULL(SUM(P1), 0), @D2 = @D2 + ISNULL(SUM(P2), 0), @D3 = @D3 + ISNULL(SUM(P3), 0), @D4 = @D4 + ISNULL(SUM(P4), 0), @D5 = @D5 + ISNULL(SUM(P5), 0), @D6 = @D6 + ISNULL(SUM(P6), 0), @D7 = @D7 + ISNULL(SUM(P7), 0), @D8 = @D8 + ISNULL(SUM(P8), 0), @D9 = @D9 + ISNULL(SUM(P9), 0), @D10 = @D10 + ISNULL(SUM(P10), 0), @D11 = @D11 + ISNULL(SUM(P11), 0), @D12 = @D12 + ISNULL(SUM(P12), 0), @D13 = @D23 + ISNULL(SUM(P13), 0), @D14 = @D14 + ISNULL(SUM(P14), 0), @D15 = @D15 + ISNULL(SUM(P15), 0), @D16 = @D16 + ISNULL(SUM(P16), 0), @D17 = @D17 + ISNULL(SUM(P17), 0), @D18 = @D18 + ISNULL(SUM(P18), 0), @D19 = @D19 + ISNULL(SUM(P19), 0), @D20 = @D20 + ISNULL(SUM(P20), 0), @D21 = @D21 + ISNULL(SUM(P21), 0), @D22 = @D22 + ISNULL(SUM(P22), 0), @D23 = @D23 + ISNULL(SUM(P23), 0), @D24 = @D24 + ISNULL(SUM(P24), 0), @D25 = @D25 + ISNULL(SUM(P25), 0), @D26 = @D26 + ISNULL(SUM(P26), 0), @D27 = @D27 + ISNULL(SUM(P27), 0), @D28 = @D28 + ISNULL(SUM(P28), 0), @D29 = @D29 + ISNULL(SUM(P29), 0), @D30 = @D30 + ISNULL(SUM(P30), 0), @D31 = @D31 + ISNULL(SUM(P31), 0), @D32 = @D32 + ISNULL(SUM(P32), 0), @D33 = @D33 + ISNULL(SUM(P33), 0), @D34 = @D34 + ISNULL(SUM(P34), 0), @D35 = @D35 + ISNULL(SUM(P35), 0), @D36 = @D36 + ISNULL(SUM(P36), 0), @D37 = @D37 + ISNULL(SUM(P37), 0), @D38 = @D38 + ISNULL(SUM(P38), 0), @D39 = @D39 + ISNULL(SUM(P39), 0), @D40 = @D40 + ISNULL(SUM(P40), 0), @D41 = @D41 + ISNULL(SUM(P41), 0), @D42 = @D42 + ISNULL(SUM(P42), 0), @D43 = @D43 + ISNULL(SUM(P43), 0), @D44 = @D44 + ISNULL(SUM(P44), 0), @D45 = @D45 + ISNULL(SUM(P45), 0), @D46 = @D46 + ISNULL(SUM(P46), 0), @D47 = @D47 + ISNULL(SUM(P47), 0), @D48 = @D48 + ISNULL(SUM(P48), 0) FROM PRODUCAO_ORDEM A JOIN PRODUCAO_ORDEM_COR B ON A.ORDEM_PRODUCAO = B.ORDEM_PRODUCAO AND A.PRODUTO = B.PRODUTO WHERE B.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND FILIAL = @FILIAL AND QTDE_P > 0 end END IF CHARINDEX(''E'', @DISPONIVEL) > 0 BEGIN SELECT @ES1 = CASE WHEN ISNULL(ES1, 0) < 0 THEN 0 ELSE ISNULL(ES1, 0) END, @ES2 = CASE WHEN ISNULL(ES2, 0) < 0 THEN 0 ELSE ISNULL(ES2, 0) END, @ES3 = CASE WHEN ISNULL(ES3, 0) < 0 THEN 0 ELSE ISNULL(ES3, 0) END, @ES4 = CASE WHEN ISNULL(ES4, 0) < 0 THEN 0 ELSE ISNULL(ES4, 0) END, @ES5 = CASE WHEN ISNULL(ES5, 0) < 0 THEN 0 ELSE ISNULL(ES5, 0) END, @ES6 = CASE WHEN ISNULL(ES6, 0) < 0 THEN 0 ELSE ISNULL(ES6, 0) END, @ES7 = CASE WHEN ISNULL(ES7, 0) < 0 THEN 0 ELSE ISNULL(ES7, 0) END, @ES8 = CASE WHEN ISNULL(ES8, 0) < 0 THEN 0 ELSE ISNULL(ES8, 0) END, @ES9 = CASE WHEN ISNULL(ES9, 0) < 0 THEN 0 ELSE ISNULL(ES9, 0) END, @ES10 = CASE WHEN ISNULL(ES10, 0) < 0 THEN 0 ELSE ISNULL(ES10, 0) END, @ES11 = CASE WHEN ISNULL(ES11, 0) < 0 THEN 0 ELSE ISNULL(ES11, 0) END, @ES12 = CASE WHEN ISNULL(ES12, 0) < 0 THEN 0 ELSE ISNULL(ES12, 0) END, @ES13 = CASE WHEN ISNULL(ES13, 0) < 0 THEN 0 ELSE ISNULL(ES13, 0) END, @ES14 = CASE WHEN ISNULL(ES14, 0) < 0 THEN 0 ELSE ISNULL(ES14, 0) END, @ES15 = CASE WHEN ISNULL(ES15, 0) < 0 THEN 0 ELSE ISNULL(ES15, 0) END, @ES16 = CASE WHEN ISNULL(ES16, 0) < 0 THEN 0 ELSE ISNULL(ES16, 0) END, @ES17 = CASE WHEN ISNULL(ES17, 0) < 0 THEN 0 ELSE ISNULL(ES17, 0) END, @ES18 = CASE WHEN ISNULL(ES18, 0) < 0 THEN 0 ELSE ISNULL(ES18, 0) END, @ES19 = CASE WHEN ISNULL(ES19, 0) < 0 THEN 0 ELSE ISNULL(ES19, 0) END, @ES20 = CASE WHEN ISNULL(ES20, 0) < 0 THEN 0 ELSE ISNULL(ES20, 0) END, @ES21 = CASE WHEN ISNULL(ES21, 0) < 0 THEN 0 ELSE ISNULL(ES21, 0) END, @ES22 = CASE WHEN ISNULL(ES22, 0) < 0 THEN 0 ELSE ISNULL(ES22, 0) END, @ES23 = CASE WHEN ISNULL(ES23, 0) < 0 THEN 0 ELSE ISNULL(ES23, 0) END, @ES24 = CASE WHEN ISNULL(ES24, 0) < 0 THEN 0 ELSE ISNULL(ES24, 0) END, @ES25 = CASE WHEN ISNULL(ES25, 0) < 0 THEN 0 ELSE ISNULL(ES25, 0) END, @ES26 = CASE WHEN ISNULL(ES26, 0) < 0 THEN 0 ELSE ISNULL(ES26, 0) END, @ES27 = CASE WHEN ISNULL(ES27, 0) < 0 THEN 0 ELSE ISNULL(ES27, 0) END, @ES28 = CASE WHEN ISNULL(ES28, 0) < 0 THEN 0 ELSE ISNULL(ES28, 0) END, @ES29 = CASE WHEN ISNULL(ES29 ,0) < 0 THEN 0 ELSE ISNULL(ES29, 0) END, @ES30 = CASE WHEN ISNULL(ES30, 0) < 0 THEN 0 ELSE ISNULL(ES30, 0) END, @ES31 = CASE WHEN ISNULL(ES31, 0) < 0 THEN 0 ELSE ISNULL(ES31, 0) END, @ES32 = CASE WHEN ISNULL(ES32, 0) < 0 THEN 0 ELSE ISNULL(ES32, 0) END, @ES33 = CASE WHEN ISNULL(ES33, 0) < 0 THEN 0 ELSE ISNULL(ES33, 0) END, @ES34 = CASE WHEN ISNULL(ES34, 0) < 0 THEN 0 ELSE ISNULL(ES34, 0) END, @ES35 = CASE WHEN ISNULL(ES36, 0) < 0 THEN 0 ELSE ISNULL(ES35, 0) END, @ES36 = CASE WHEN ISNULL(ES36, 0) < 0 THEN 0 ELSE ISNULL(ES36, 0) END, @ES37 = CASE WHEN ISNULL(ES37, 0) < 0 THEN 0 ELSE ISNULL(ES37, 0) END, @ES38 = CASE WHEN ISNULL(ES38, 0) < 0 THEN 0 ELSE ISNULL(ES38, 0) END, @ES39 = CASE WHEN ISNULL(ES39, 0) < 0 THEN 0 ELSE ISNULL(ES39, 0) END, @ES40 = CASE WHEN ISNULL(ES40, 0) < 0 THEN 0 ELSE ISNULL(ES40, 0) END, @ES41 = CASE WHEN ISNULL(ES41, 0) < 0 THEN 0 ELSE ISNULL(ES41, 0) END, @ES42 = CASE WHEN ISNULL(ES42, 0) < 0 THEN 0 ELSE ISNULL(ES42, 0) END, @ES43 = CASE WHEN ISNULL(ES43, 0) < 0 THEN 0 ELSE ISNULL(ES43, 0) END, @ES44 = CASE WHEN ISNULL(ES44, 0) < 0 THEN 0 ELSE ISNULL(ES44, 0) END, @ES45 = CASE WHEN ISNULL(ES45, 0) < 0 THEN 0 ELSE ISNULL(ES45, 0) END, @ES46 = CASE WHEN ISNULL(ES46, 0) < 0 THEN 0 ELSE ISNULL(ES46, 0) END, @ES47 = CASE WHEN ISNULL(ES47, 0) < 0 THEN 0 ELSE ISNULL(ES47, 0) END, @ES48 = CASE WHEN ISNULL(ES48, 0) < 0 THEN 0 ELSE ISNULL(ES48, 0) END FROM ESTOQUE_PRODUTOS WHERE FILIAL = @FILIAL AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR SELECT @ES1 = CASE WHEN @ES1 - ISNULL(SUM(E1), 0) < 0 THEN 0 ELSE @ES1 - ISNULL(SUM(E1), 0) END, @ES2 = CASE WHEN @ES2 - ISNULL(SUM(E2), 0) < 0 THEN 0 ELSE @ES2 - ISNULL(SUM(E2), 0) END, @ES3 = CASE WHEN @ES3 - ISNULL(SUM(E3), 0) < 0 THEN 0 ELSE @ES3 - ISNULL(SUM(E3), 0) END, @ES4 = CASE WHEN @ES4 - ISNULL(SUM(E4), 0) < 0 THEN 0 ELSE @ES4 - ISNULL(SUM(E4), 0) END, @ES5 = CASE WHEN @ES5 - ISNULL(SUM(E5), 0) < 0 THEN 0 ELSE @ES5 - ISNULL(SUM(E5), 0) END, @ES6 = CASE WHEN @ES6 - ISNULL(SUM(E6), 0) < 0 THEN 0 ELSE @ES6 - ISNULL(SUM(E6), 0) END, @ES7 = CASE WHEN @ES7 - ISNULL(SUM(E7), 0) < 0 THEN 0 ELSE @ES7 - ISNULL(SUM(E7), 0) END, @ES8 = CASE WHEN @ES8 - ISNULL(SUM(E8), 0) < 0 THEN 0 ELSE @ES8 - ISNULL(SUM(E8), 0) END, @ES9 = CASE WHEN @ES9 - ISNULL(SUM(E9), 0) < 0 THEN 0 ELSE @ES9 - ISNULL(SUM(E9), 0) END, @ES10 = CASE WHEN @ES10 - ISNULL(SUM(E10), 0) < 0 THEN 0 ELSE @ES10 - ISNULL(SUM(E10), 0) END, @ES11 = CASE WHEN @ES11 - ISNULL(SUM(E11), 0) < 0 THEN 0 ELSE @ES11 - ISNULL(SUM(E11), 0) END, @ES12 = CASE WHEN @ES12 - ISNULL(SUM(E12), 0) < 0 THEN 0 ELSE @ES12 - ISNULL(SUM(E12), 0) END, @ES13 = CASE WHEN @ES13 - ISNULL(SUM(E13), 0) < 0 THEN 0 ELSE @ES13 - ISNULL(SUM(E13), 0) END, @ES14 = CASE WHEN @ES14 - ISNULL(SUM(E14), 0) < 0 THEN 0 ELSE @ES14 - ISNULL(SUM(E14), 0) END, @ES15 = CASE WHEN @ES15 - ISNULL(SUM(E15), 0) < 0 THEN 0 ELSE @ES15 - ISNULL(SUM(E15), 0) END, @ES16 = CASE WHEN @ES16 - ISNULL(SUM(E16), 0) < 0 THEN 0 ELSE @ES16 - ISNULL(SUM(E16), 0) END, @ES17 = CASE WHEN @ES17 - ISNULL(SUM(E17), 0) < 0 THEN 0 ELSE @ES17 - ISNULL(SUM(E17), 0) END, @ES18 = CASE WHEN @ES18 - ISNULL(SUM(E18), 0) < 0 THEN 0 ELSE @ES18 - ISNULL(SUM(E18), 0) END, @ES19 = CASE WHEN @ES19 - ISNULL(SUM(E19), 0) < 0 THEN 0 ELSE @ES19 - ISNULL(SUM(E19), 0) END, @ES20 = CASE WHEN @ES20 - ISNULL(SUM(E20), 0) < 0 THEN 0 ELSE @ES20 - ISNULL(SUM(E20), 0) END, @ES21 = CASE WHEN @ES21 - ISNULL(SUM(E21), 0) < 0 THEN 0 ELSE @ES21 - ISNULL(SUM(E21), 0) END, @ES22 = CASE WHEN @ES22 - ISNULL(SUM(E22), 0) < 0 THEN 0 ELSE @ES22 - ISNULL(SUM(E22), 0) END, @ES23 = CASE WHEN @ES23 - ISNULL(SUM(E23), 0) < 0 THEN 0 ELSE @ES23 - ISNULL(SUM(E23), 0) END, @ES24 = CASE WHEN @ES24 - ISNULL(SUM(E24), 0) < 0 THEN 0 ELSE @ES24 - ISNULL(SUM(E24), 0) END, @ES25 = CASE WHEN @ES25 - ISNULL(SUM(E25), 0) < 0 THEN 0 ELSE @ES25 - ISNULL(SUM(E25), 0) END, @ES26 = CASE WHEN @ES26 - ISNULL(SUM(E26), 0) < 0 THEN 0 ELSE @ES26 - ISNULL(SUM(E26), 0) END, @ES27 = CASE WHEN @ES27 - ISNULL(SUM(E27), 0) < 0 THEN 0 ELSE @ES27 - ISNULL(SUM(E27), 0) END, @ES28 = CASE WHEN @ES28 - ISNULL(SUM(E28), 0) < 0 THEN 0 ELSE @ES28 - ISNULL(SUM(E28), 0) END, @ES29 = CASE WHEN @ES29 - ISNULL(SUM(E29), 0) < 0 THEN 0 ELSE @ES29 - ISNULL(SUM(E29), 0) END, @ES30 = CASE WHEN @ES30 - ISNULL(SUM(E30), 0) < 0 THEN 0 ELSE @ES30 - ISNULL(SUM(E30), 0) END, @ES31 = CASE WHEN @ES31 - ISNULL(SUM(E31), 0) < 0 THEN 0 ELSE @ES31 - ISNULL(SUM(E31), 0) END, @ES31 = CASE WHEN @ES32 - ISNULL(SUM(E32), 0) < 0 THEN 0 ELSE @ES32 - ISNULL(SUM(E32), 0) END, @ES33 = CASE WHEN @ES33 - ISNULL(SUM(E33), 0) < 0 THEN 0 ELSE @ES33 - ISNULL(SUM(E33), 0) END, @ES34 = CASE WHEN @ES34 - ISNULL(SUM(E34), 0) < 0 THEN 0 ELSE @ES34 - ISNULL(SUM(E34), 0) END, @ES35 = CASE WHEN @ES35 - ISNULL(SUM(E35), 0) < 0 THEN 0 ELSE @ES35 - ISNULL(SUM(E35), 0) END, @ES36 = CASE WHEN @ES36 - ISNULL(SUM(E36), 0) < 0 THEN 0 ELSE @ES36 - ISNULL(SUM(E36), 0) END, @ES37 = CASE WHEN @ES37 - ISNULL(SUM(E37), 0) < 0 THEN 0 ELSE @ES37 - ISNULL(SUM(E37), 0) END, @ES38 = CASE WHEN @ES38 - ISNULL(SUM(E38), 0) < 0 THEN 0 ELSE @ES38 - ISNULL(SUM(E38), 0) END, @ES39 = CASE WHEN @ES39 - ISNULL(SUM(E39), 0) < 0 THEN 0 ELSE @ES39 - ISNULL(SUM(E39), 0) END, @ES30 = CASE WHEN @ES40 - ISNULL(SUM(E40), 0) < 0 THEN 0 ELSE @ES40 - ISNULL(SUM(E40), 0) END, @ES41 = CASE WHEN @ES41 - ISNULL(SUM(E41), 0) < 0 THEN 0 ELSE @ES41 - ISNULL(SUM(E41), 0) END, @ES42 = CASE WHEN @ES42 - ISNULL(SUM(E42), 0) < 0 THEN 0 ELSE @ES42 - ISNULL(SUM(E42), 0) END, @ES43 = CASE WHEN @ES43 - ISNULL(SUM(E43), 0) < 0 THEN 0 ELSE @ES43 - ISNULL(SUM(E43), 0) END, @ES44 = CASE WHEN @ES44 - ISNULL(SUM(E44), 0) < 0 THEN 0 ELSE @ES44 - ISNULL(SUM(E44), 0) END, @ES45 = CASE WHEN @ES45 - ISNULL(SUM(E45), 0) < 0 THEN 0 ELSE @ES45 - ISNULL(SUM(E45), 0) END, @ES46 = CASE WHEN @ES46 - ISNULL(SUM(E46), 0) < 0 THEN 0 ELSE @ES46 - ISNULL(SUM(E46), 0) END, @ES47 = CASE WHEN @ES47 - ISNULL(SUM(E47), 0) < 0 THEN 0 ELSE @ES47 - ISNULL(SUM(E47), 0) END, @ES48 = CASE WHEN @ES48 - ISNULL(SUM(E48), 0) < 0 THEN 0 ELSE @ES48 - ISNULL(SUM(E48), 0) END FROM VENDAS_PROD_EMBALADO WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND FILIAL = @FILIAL SELECT @D1 = @D1 + @ES1, @D2 = @D2 + @ES2, @D3 = @D3 + @ES3, @D4 = @D4 + @ES4, @D5 = @D5 + @ES5, @D6 = @D6 + @ES6, @D7 = @D7 + @ES7, @D8 = @D8 + @ES8, @D9 = @D9 + @ES9, @D10 = @D10 + @ES10, @D11 = @D11 + @ES11, @D12 = @D12 + @ES12, @D13 = @D23 + @ES13, @D14 = @D14 + @ES14, @D15 = @D15 + @ES15, @D16 = @D16 + @ES16, @D17 = @D17 + @ES17, @D18 = @D18 + @ES18, @D19 = @D19 + @ES19, @D20 = @D20 + @ES20, @D21 = @D21 + @ES21, @D22 = @D22 + @ES22, @D23 = @D23 + @ES23, @D24 = @D24 + @ES24, @D25 = @D25 + @ES25, @D26 = @D26 + @ES26, @D27 = @D27 + @ES27, @D28 = @D28 + @ES28, @D29 = @D29 + @ES29, @D30 = @D30 + @ES30, @D31 = @D31 + @ES31, @D32 = @D32 + @ES32, @D33 = @D33 + @ES33, @D34 = @D34 + @ES34, @D35 = @D35 + @ES35, @D36 = @D36 + @ES36, @D37 = @D37 + @ES37, @D38 = @D38 + @ES38, @D39 = @D39 + @ES39, @D40 = @D40 + @ES40, @D41 = @D41 + @ES41, @D42 = @D42 + @ES42, @D43 = @D43 + @ES43, @D44 = @D44 + @ES44, @D45 = @D45 + @ES45, @D46 = @D46 + @ES46, @D47 = @D47 + @ES47, @D48 = @D48 + @ES48 END IF CHARINDEX(''P'', @DISPONIVEL) > 0 BEGIN IF @PROGRAMACAO_I IS NOT NULL SELECT @D1 = @D1 + ISNULL(SUM(P1), 0), @D2 = @D2 + ISNULL(SUM(P2), 0), @D3 = @D3 + ISNULL(SUM(P3), 0), @D4 = @D4 + ISNULL(SUM(P4), 0), @D5 = @D5 + ISNULL(SUM(P5), 0), @D6 = @D6 + ISNULL(SUM(P6), 0), @D7 = @D7 + ISNULL(SUM(P7), 0), @D8 = @D8 + ISNULL(SUM(P8), 0), @D9 = @D9 + ISNULL(SUM(P9), 0), @D10 = @D10 + ISNULL(SUM(P10), 0), @D11 = @D11 + ISNULL(SUM(P11), 0), @D12 = @D12 + ISNULL(SUM(P12), 0), @D13 = @D23 + ISNULL(SUM(P13), 0), @D14 = @D14 + ISNULL(SUM(P14), 0), @D15 = @D15 + ISNULL(SUM(P15), 0), @D16 = @D16 + ISNULL(SUM(P16), 0), @D17 = @D17 + ISNULL(SUM(P17), 0), @D18 = @D18 + ISNULL(SUM(P18), 0), @D19 = @D19 + ISNULL(SUM(P19), 0), @D20 = @D20 + ISNULL(SUM(P20), 0), @D21 = @D21 + ISNULL(SUM(P21), 0), @D22 = @D22 + ISNULL(SUM(P22), 0), @D23 = @D23 + ISNULL(SUM(P23), 0), @D24 = @D24 + ISNULL(SUM(P24), 0), @D25 = @D25 + ISNULL(SUM(P25), 0), @D26 = @D26 + ISNULL(SUM(P26), 0), @D27 = @D27 + ISNULL(SUM(P27), 0), @D28 = @D28 + ISNULL(SUM(P28), 0), @D29 = @D29 + ISNULL(SUM(P29), 0), @D30 = @D30 + ISNULL(SUM(P30), 0), @D31 = @D31 + ISNULL(SUM(P31), 0), @D32 = @D32 + ISNULL(SUM(P32), 0), @D33 = @D33 + ISNULL(SUM(P33), 0), @D34 = @D34 + ISNULL(SUM(P34), 0), @D35 = @D35 + ISNULL(SUM(P35), 0), @D36 = @D36 + ISNULL(SUM(P36), 0), @D37 = @D37 + ISNULL(SUM(P37), 0), @D38 = @D38 + ISNULL(SUM(P38), 0), @D39 = @D39 + ISNULL(SUM(P39), 0), @D40 = @D40 + ISNULL(SUM(P40), 0), @D41 = @D41 + ISNULL(SUM(P41), 0), @D42 = @D42 + ISNULL(SUM(P42), 0), @D43 = @D43 + ISNULL(SUM(P43), 0), @D44 = @D44 + ISNULL(SUM(P44), 0), @D45 = @D45 + ISNULL(SUM(P45), 0), @D46 = @D46 + ISNULL(SUM(P46), 0), @D47 = @D47 + ISNULL(SUM(P47), 0), @D48 = @D48 + ISNULL(SUM(P48), 0) FROM PRODUCAO_PROG_PROD WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND QTDE_PROGRAMADA > 0 AND ENTREGA_INICIAL >= @PROGRAMACAO_I AND ENTREGA_INICIAL <= @PROGRAMACAO_F ELSE SELECT @D1 = @D1 + ISNULL(SUM(P1), 0), @D2 = @D2 + ISNULL(SUM(P2), 0), @D3 = @D3 + ISNULL(SUM(P3), 0), @D4 = @D4 + ISNULL(SUM(P4), 0), @D5 = @D5 + ISNULL(SUM(P5), 0), @D6 = @D6 + ISNULL(SUM(P6), 0), @D7 = @D7 + ISNULL(SUM(P7), 0), @D8 = @D8 + ISNULL(SUM(P8), 0), @D9 = @D9 + ISNULL(SUM(P9), 0), @D10 = @D10 + ISNULL(SUM(P10), 0), @D11 = @D11 + ISNULL(SUM(P11), 0), @D12 = @D12 + ISNULL(SUM(P12), 0), @D13 = @D23 + ISNULL(SUM(P13), 0), @D14 = @D14 + ISNULL(SUM(P14), 0), @D15 = @D15 + ISNULL(SUM(P15), 0), @D16 = @D16 + ISNULL(SUM(P16), 0), @D17 = @D17 + ISNULL(SUM(P17), 0), @D18 = @D18 + ISNULL(SUM(P18), 0), @D19 = @D19 + ISNULL(SUM(P19), 0), @D20 = @D20 + ISNULL(SUM(P20), 0), @D21 = @D21 + ISNULL(SUM(P21), 0), @D22 = @D22 + ISNULL(SUM(P22), 0), @D23 = @D23 + ISNULL(SUM(P23), 0), @D24 = @D24 + ISNULL(SUM(P24), 0), @D25 = @D25 + ISNULL(SUM(P25), 0), @D26 = @D26 + ISNULL(SUM(P26), 0), @D27 = @D27 + ISNULL(SUM(P27), 0), @D28 = @D28 + ISNULL(SUM(P28), 0), @D29 = @D29 + ISNULL(SUM(P29), 0), @D30 = @D30 + ISNULL(SUM(P30), 0), @D31 = @D31 + ISNULL(SUM(P31), 0), @D32 = @D32 + ISNULL(SUM(P32), 0), @D33 = @D33 + ISNULL(SUM(P33), 0), @D34 = @D34 + ISNULL(SUM(P34), 0), @D35 = @D35 + ISNULL(SUM(P35), 0), @D36 = @D36 + ISNULL(SUM(P36), 0), @D37 = @D37 + ISNULL(SUM(P37), 0), @D38 = @D38 + ISNULL(SUM(P38), 0), @D39 = @D39 + ISNULL(SUM(P39), 0), @D40 = @D40 + ISNULL(SUM(P40), 0), @D41 = @D41 + ISNULL(SUM(P41), 0), @D42 = @D42 + ISNULL(SUM(P42), 0), @D43 = @D43 + ISNULL(SUM(P43), 0), @D44 = @D44 + ISNULL(SUM(P44), 0), @D45 = @D45 + ISNULL(SUM(P45), 0), @D46 = @D46 + ISNULL(SUM(P46), 0), @D47 = @D47 + ISNULL(SUM(P47), 0), @D48 = @D48 + ISNULL(SUM(P48), 0) FROM PRODUCAO_PROG_PROD WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND QTDE_PROGRAMADA > 0 END SELECT @D1 = ((@D1 * @PORCENTAGEM) / 100), @D2 = ((@D2 * @PORCENTAGEM) / 100), @D3 = ((@D3 * @PORCENTAGEM) / 100), @D4 = ((@D4 * @PORCENTAGEM) / 100), @D5 = ((@D5 * @PORCENTAGEM) / 100), @D6 = ((@D6 * @PORCENTAGEM) / 100), @D7 = ((@D7 * @PORCENTAGEM) / 100), @D8 = ((@D8 * @PORCENTAGEM) / 100), @D9 = ((@D9 * @PORCENTAGEM) / 100), @D10 = ((@D10 * @PORCENTAGEM) / 100), @D11 = ((@D11 * @PORCENTAGEM) / 100), @D12 = ((@D12 * @PORCENTAGEM) / 100), @D13 = ((@D13 * @PORCENTAGEM) / 100), @D14 = ((@D14 * @PORCENTAGEM) / 100), @D15 = ((@D15 * @PORCENTAGEM) / 100), @D16 = ((@D16 * @PORCENTAGEM) / 100), @D17 = ((@D17 * @PORCENTAGEM) / 100), @D18 = ((@D18 * @PORCENTAGEM) / 100), @D19 = ((@D19 * @PORCENTAGEM) / 100), @D20 = ((@D20 * @PORCENTAGEM) / 100), @D21 = ((@D21 * @PORCENTAGEM) / 100), @D22 = ((@D22 * @PORCENTAGEM) / 100), @D23 = ((@D23 * @PORCENTAGEM) / 100), @D24 = ((@D24 * @PORCENTAGEM) / 100), @D25 = ((@D25 * @PORCENTAGEM) / 100), @D26 = ((@D26 * @PORCENTAGEM) / 100), @D27 = ((@D27 * @PORCENTAGEM) / 100), @D28 = ((@D28 * @PORCENTAGEM) / 100), @D29 = ((@D29 * @PORCENTAGEM) / 100), @D30 = ((@D30 * @PORCENTAGEM) / 100), @D31 = ((@D31 * @PORCENTAGEM) / 100), @D32 = ((@D32 * @PORCENTAGEM) / 100), @D33 = ((@D33 * @PORCENTAGEM) / 100), @D34 = ((@D34 * @PORCENTAGEM) / 100), @D35 = ((@D35 * @PORCENTAGEM) / 100), @D36 = ((@D36 * @PORCENTAGEM) / 100), @D37 = ((@D37 * @PORCENTAGEM) / 100), @D38 = ((@D38 * @PORCENTAGEM) / 100), @D39 = ((@D39 * @PORCENTAGEM) / 100), @D40 = ((@D40 * @PORCENTAGEM) / 100), @D41 = ((@D41 * @PORCENTAGEM) / 100), @D42 = ((@D42 * @PORCENTAGEM) / 100), @D43 = ((@D43 * @PORCENTAGEM) / 100), @D44 = ((@D44 * @PORCENTAGEM) / 100), @D45 = ((@D45 * @PORCENTAGEM) / 100), @D46 = ((@D46 * @PORCENTAGEM) / 100), @D47 = ((@D47 * @PORCENTAGEM) / 100), @D48 = ((@D48 * @PORCENTAGEM) / 100) END SELECT @QTDE_D = @D1 + @D2 + @D3 + @D4 + @D5 + @D6 + @D7 + @D8 + @D9 + @D10 + @D11 + @D12 + @D13 + @D14 + @D15 + @D16 + @D17 + @D18 + @D19 + @D20 + @D21 + @D22 + @D23 + @D24 + @D25 + @D26 + @D27 + @D28 + @D29 + @D30 + @D31 + @D32 + @D33 + @D34 + @D35 + @D36 + @D37 + @D38 + @D39 + @D40 + @D41 + @D42 + @D43 + @D44 + @D45 + @D46 + @D47 + @D48 SELECT @Q1 = CASE WHEN @Q1 - ISNULL(SUM(TR1), 0) < 0 THEN 0 ELSE @Q1 - ISNULL(SUM(TR1), 0) END, @Q2 = CASE WHEN @Q2 - ISNULL(SUM(TR2), 0) < 0 THEN 0 ELSE @Q2 - ISNULL(SUM(TR2), 0) END, @Q3 = CASE WHEN @Q3 - ISNULL(SUM(TR3), 0) < 0 THEN 0 ELSE @Q3 - ISNULL(SUM(TR3), 0) END, @Q4 = CASE WHEN @Q4 - ISNULL(SUM(TR4), 0) < 0 THEN 0 ELSE @Q4 - ISNULL(SUM(TR4), 0) END, @Q5 = CASE WHEN @Q5 - ISNULL(SUM(TR5), 0) < 0 THEN 0 ELSE @Q5 - ISNULL(SUM(TR5), 0) END, @Q6 = CASE WHEN @Q6 - ISNULL(SUM(TR6), 0) < 0 THEN 0 ELSE @Q6 - ISNULL(SUM(TR6), 0) END, @Q7 = CASE WHEN @Q7 - ISNULL(SUM(TR7), 0) < 0 THEN 0 ELSE @Q7 - ISNULL(SUM(TR7), 0) END, @Q8 = CASE WHEN @Q8 - ISNULL(SUM(TR8), 0) < 0 THEN 0 ELSE @Q8 - ISNULL(SUM(TR8), 0) END, @Q9 = CASE WHEN @Q9 - ISNULL(SUM(TR9), 0) < 0 THEN 0 ELSE @Q9 - ISNULL(SUM(TR9), 0) END, @Q10 = CASE WHEN @Q10 - ISNULL(SUM(TR10), 0) < 0 THEN 0 ELSE @Q10 - ISNULL(SUM(TR10), 0) END, @Q11 = CASE WHEN @Q11 - ISNULL(SUM(TR11), 0) < 0 THEN 0 ELSE @Q11 - ISNULL(SUM(TR11), 0) END, @Q12 = CASE WHEN @Q12 - ISNULL(SUM(TR12), 0) < 0 THEN 0 ELSE @Q12 - ISNULL(SUM(TR12), 0) END, @Q13 = CASE WHEN @Q13 - ISNULL(SUM(TR13), 0) < 0 THEN 0 ELSE @Q13 - ISNULL(SUM(TR13), 0) END, @Q14 = CASE WHEN @Q14 - ISNULL(SUM(TR14), 0) < 0 THEN 0 ELSE @Q14 - ISNULL(SUM(TR14), 0) END, @Q15 = CASE WHEN @Q15 - ISNULL(SUM(TR15), 0) < 0 THEN 0 ELSE @Q15 - ISNULL(SUM(TR15), 0) END, @Q16 = CASE WHEN @Q16 - ISNULL(SUM(TR16), 0) < 0 THEN 0 ELSE @Q16 - ISNULL(SUM(TR16), 0) END, @Q17 = CASE WHEN @Q17 - ISNULL(SUM(TR17), 0) < 0 THEN 0 ELSE @Q17 - ISNULL(SUM(TR17), 0) END, @Q18 = CASE WHEN @Q18 - ISNULL(SUM(TR18), 0) < 0 THEN 0 ELSE @Q18 - ISNULL(SUM(TR18), 0) END, @Q19 = CASE WHEN @Q19 - ISNULL(SUM(TR19), 0) < 0 THEN 0 ELSE @Q19 - ISNULL(SUM(TR19), 0) END, @Q20 = CASE WHEN @Q20 - ISNULL(SUM(TR20), 0) < 0 THEN 0 ELSE @Q20 - ISNULL(SUM(TR20), 0) END, @Q21 = CASE WHEN @Q21 - ISNULL(SUM(TR21), 0) < 0 THEN 0 ELSE @Q21 - ISNULL(SUM(TR21), 0) END, @Q22 = CASE WHEN @Q22 - ISNULL(SUM(TR22), 0) < 0 THEN 0 ELSE @Q22 - ISNULL(SUM(TR22), 0) END, @Q23 = CASE WHEN @Q23 - ISNULL(SUM(TR23), 0) < 0 THEN 0 ELSE @Q23 - ISNULL(SUM(TR23), 0) END, @Q24 = CASE WHEN @Q24 - ISNULL(SUM(TR24), 0) < 0 THEN 0 ELSE @Q24 - ISNULL(SUM(TR24), 0) END, @Q25 = CASE WHEN @Q25 - ISNULL(SUM(TR25), 0) < 0 THEN 0 ELSE @Q25 - ISNULL(SUM(TR25), 0) END, @Q26 = CASE WHEN @Q26 - ISNULL(SUM(TR26), 0) < 0 THEN 0 ELSE @Q26 - ISNULL(SUM(TR26), 0) END, @Q27 = CASE WHEN @Q27 - ISNULL(SUM(TR27), 0) < 0 THEN 0 ELSE @Q27 - ISNULL(SUM(TR27), 0) END, @Q28 = CASE WHEN @Q28 - ISNULL(SUM(TR28), 0) < 0 THEN 0 ELSE @Q28 - ISNULL(SUM(TR28), 0) END, @Q29 = CASE WHEN @Q29 - ISNULL(SUM(TR29), 0) < 0 THEN 0 ELSE @Q29 - ISNULL(SUM(TR29), 0) END, @Q20 = CASE WHEN @Q30 - ISNULL(SUM(TR30), 0) < 0 THEN 0 ELSE @Q30 - ISNULL(SUM(TR30), 0) END, @Q31 = CASE WHEN @Q31 - ISNULL(SUM(TR31), 0) < 0 THEN 0 ELSE @Q31 - ISNULL(SUM(TR31), 0) END, @Q32 = CASE WHEN @Q32 - ISNULL(SUM(TR32), 0) < 0 THEN 0 ELSE @Q32 - ISNULL(SUM(TR32), 0) END, @Q33 = CASE WHEN @Q33 - ISNULL(SUM(TR33), 0) < 0 THEN 0 ELSE @Q33 - ISNULL(SUM(TR33), 0) END, @Q34 = CASE WHEN @Q34 - ISNULL(SUM(TR34), 0) < 0 THEN 0 ELSE @Q34 - ISNULL(SUM(TR34), 0) END, @Q35 = CASE WHEN @Q35 - ISNULL(SUM(TR35), 0) < 0 THEN 0 ELSE @Q35 - ISNULL(SUM(TR35), 0) END, @Q36 = CASE WHEN @Q36 - ISNULL(SUM(TR36), 0) < 0 THEN 0 ELSE @Q36 - ISNULL(SUM(TR36), 0) END, @Q37 = CASE WHEN @Q37 - ISNULL(SUM(TR37) ,0) < 0 THEN 0 ELSE @Q37 - ISNULL(SUM(TR37), 0) END, @Q38 = CASE WHEN @Q38 - ISNULL(SUM(TR38), 0) < 0 THEN 0 ELSE @Q38 - ISNULL(SUM(TR38), 0) END, @Q39 = CASE WHEN @Q39 - ISNULL(SUM(TR39), 0) < 0 THEN 0 ELSE @Q39 - ISNULL(SUM(TR39), 0) END, @Q40 = CASE WHEN @Q40 - ISNULL(SUM(TR40), 0) < 0 THEN 0 ELSE @Q40 - ISNULL(SUM(TR40), 0) END, @Q41 = CASE WHEN @Q41 - ISNULL(SUM(TR41), 0) < 0 THEN 0 ELSE @Q41 - ISNULL(SUM(TR41), 0) END, @Q42 = CASE WHEN @Q42 - ISNULL(SUM(TR42), 0) < 0 THEN 0 ELSE @Q42 - ISNULL(SUM(TR42), 0) END, @Q43 = CASE WHEN @Q43 - ISNULL(SUM(TR43), 0) < 0 THEN 0 ELSE @Q43 - ISNULL(SUM(TR43), 0) END, @Q44 = CASE WHEN @Q44 - ISNULL(SUM(TR44), 0) < 0 THEN 0 ELSE @Q44 - ISNULL(SUM(TR44), 0) END, @Q45 = CASE WHEN @Q45 - ISNULL(SUM(TR45), 0) < 0 THEN 0 ELSE @Q45 - ISNULL(SUM(TR45), 0) END, @Q46 = CASE WHEN @Q46 - ISNULL(SUM(TR46), 0) < 0 THEN 0 ELSE @Q46 - ISNULL(SUM(TR46), 0) END, @Q47 = CASE WHEN @Q47 - ISNULL(SUM(TR47), 0) < 0 THEN 0 ELSE @Q47 - ISNULL(SUM(TR47), 0) END, @Q48 = CASE WHEN @Q48 - ISNULL(SUM(TR48), 0) < 0 THEN 0 ELSE @Q48 - ISNULL(SUM(TR48), 0) END FROM LOJA_RESUMO_TROCA WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR AND FILIAL = @FILIALI AND DATA_VENDA >= @VENDAS_I AND DATA_VENDA <= @VENDAS_F SELECT @QTDE = @Q1 + @Q2 + @Q3 + @Q4 + @Q5 + @Q6 + @Q7 + @Q8 + @Q9 + @Q10 + @Q11 + @Q12 + @Q13 + @Q14 + @Q15 + @Q16 + @Q17 + @Q18 + @Q19 + @Q20 + @Q21 + @Q22 + @Q23 + @Q24 + @Q25 + @Q26 + @Q27 + @Q28 + @Q29 + @Q30 + @Q31 + @Q32 + @Q33 + @Q34 + @Q35 + @Q36 + @Q37 + @Q38 + @Q39 + @Q40 + @Q41 + @Q42 + @Q43 + @Q44 + @Q45 + @Q46 + @Q47 + @Q48 SELECT @VALOR = 0, @PEDIDO = NULL /* verifica se utiliza tabela de preco do parametro ou do cadastro do cliente */ if @tab_preco_cliente = 1 begin select @tabela = codigo_tab_preco from clientes_atacado where cliente_atacado = @filiali if @tabela is null or @tabela = '''' select @tabela = @tab_preco end else select @tabela = @tab_preco SELECT @PEDIDO = PEDIDO FROM VENDAS WHERE ROMANEIO = @ROMANEIO AND CLIENTE_ATACADO = @FILIALI IF @PEDIDO IS NULL OR @@ROWCOUNT = 0 BEGIN IF (@TIPO_PROCESSO = 2 AND @QTDE_D = 0) OR @QTDE = 0 BEGIN FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @CORV, @FILIALI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48 CONTINUE END SELECT @PEDIDO = SEQUENCIA, @TAMANHO = TAMANHO FROM SEQUENCIAIS WHERE TABELA_COLUNA = ''VENDAS.PEDIDO'' UPDATE SEQUENCIAIS SET SEQUENCIA = RIGHT(CONVERT(CHAR(13), (1000000000000 + CONVERT(INT, @PEDIDO) + 1)), @TAMANHO) WHERE TABELA_COLUNA = ''VENDAS.PEDIDO'' INSERT INTO VENDAS (PEDIDO, ROMANEIO, COLECAO, CODIGO_TAB_PRECO, TIPO, CONDICAO_PGTO, FILIAL, CLIENTE_ATACADO, TRANSPORTADORA, MOEDA, REPRESENTANTE, GERENTE, COMISSAO, COMISSAO_GERENTE, PORCENTAGEM_ACERTO, EMISSAO, CADASTRAMENTO, TOT_QTDE_ORIGINAL, TOT_QTDE_ENTREGAR, TOT_VALOR_ORIGINAL, TOT_VALOR_ENTREGAR, DESCONTO, ENCARGO, VALOR_IPI, TABELA_FILHA, OBS, APROVACAO, DESCONTO_SOBRE_1, DESCONTO_SOBRE_2, DESCONTO_SOBRE_3, DESCONTO_SOBRE_4) VALUES(@PEDIDO, @ROMANEIO, @COLECAO, @tabela, @TIPO_VENDA, @COND_PGTO, @FILIAL, @FILIALI, @TRANSPORTADORA, @MOEDA, @REPRESENTANTE, @GERENTE, @COMISSAO, @COMISSAO_GERENTE, @PORC_ACERTO, @data, @data, 0, 0, 0, 0, 0, 0, 0, ''VENDAS_PRODUTO'', ''PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO NO. '' + @ROMANEIO, ''E'', 0, 0, 0, 0) END ELSE BEGIN IF (@TIPO_PROCESSO = 2 AND @QTDE_D = 0) OR @QTDE = 0 BEGIN DELETE FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO UPDATE VENDAS SET TOT_VALOR_ORIGINAL = @TOT_VALOR, TOT_VALOR_ENTREGAR = @TOT_VALOR, TOT_QTDE_ORIGINAL = @TOT_QTDE, TOT_QTDE_ENTREGAR = @TOT_QTDE WHERE PEDIDO = @PEDIDO FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @CORV, @FILIALI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48 CONTINUE END END SELECT @PRECO1 = 0, @PRECO2 = 0, @PRECO3 = 0, @PRECO4 = 0 IF CONVERT(INT, @VARIA_PRECO_COR) = 1 SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECO_COR WHERE CODIGO_TAB_PRECO = @tabela AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI ELSE SELECT @PRECO1 = PRECO1, @PRECO2 = PRECO2, @PRECO3 = PRECO3, @PRECO4 = PRECO4 FROM PRODUTOS_PRECOS WHERE CODIGO_TAB_PRECO = @tabela AND PRODUTO = @PRODUTOI IF CONVERT(INT, @VARIA_PRECO_TAM) = 1 BEGIN SELECT @XCONTA = 1 WHILE @XCONTA <= @MAXIMO_TAMANHOS BEGIN SELECT @VALOR = @VALOR + CONVERT(NUMERIC(14, 2), (CASE @XCONTA WHEN 1 THEN @Q1 WHEN 2 THEN @Q2 WHEN 3 THEN @Q3 WHEN 4 THEN @Q4 WHEN 5 THEN @Q5 WHEN 6 THEN @Q6 WHEN 7 THEN @Q7 WHEN 8 THEN @Q8 WHEN 9 THEN @Q9 WHEN 10 THEN @Q10 WHEN 11 THEN @Q11 WHEN 12 THEN @Q12 WHEN 13 THEN @Q13 WHEN 14 THEN @Q14 WHEN 15 THEN @Q15 WHEN 16 THEN @Q16 WHEN 17 THEN @Q17 WHEN 18 THEN @Q18 WHEN 19 THEN @Q19 WHEN 20 THEN @Q20 WHEN 21 THEN @Q21 WHEN 22 THEN @Q22 WHEN 23 THEN @Q23 WHEN 24 THEN @Q24 WHEN 25 THEN @Q25 WHEN 26 THEN @Q26 WHEN 27 THEN @Q27 WHEN 28 THEN @Q28 WHEN 29 THEN @Q29 WHEN 30 THEN @Q30 WHEN 31 THEN @Q31 WHEN 32 THEN @Q32 WHEN 33 THEN @Q33 WHEN 34 THEN @Q34 WHEN 35 THEN @Q35 WHEN 36 THEN @Q36 WHEN 37 THEN @Q37 WHEN 38 THEN @Q38 WHEN 39 THEN @Q39 WHEN 40 THEN @Q40 WHEN 41 THEN @Q41 WHEN 42 THEN @Q42 WHEN 43 THEN @Q43 WHEN 44 THEN @Q44 WHEN 45 THEN @Q45 WHEN 46 THEN @Q46 WHEN 47 THEN @Q47 WHEN 48 THEN @Q48 END)*((CASE CONVERT(INT, SUBSTRING(@PONTEIRO_PRECO_TAM , @XCONTA, 1)) WHEN 1 THEN @PRECO1 WHEN 2 THEN @PRECO2 WHEN 3 THEN @PRECO3 WHEN 4 THEN @PRECO4 END))), @XCONTA = @XCONTA + 1 END END ELSE SELECT @VALOR = @QTDE * @PRECO1 IF EXISTS (SELECT * FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI) BEGIN UPDATE VENDAS_PRODUTO SET VO1 = @Q1, VO2 = @Q2, VO3 = @Q3, VO4 = @Q4, VO5 = @Q5, VO6 = @Q6, VO7 = @Q7, VO8 = @Q8, VO9 = @Q9, VO10 = @Q10, VO11 = @Q11, VO12 = @Q12, VO13 = @Q13, VO14 = @Q14, VO15 = @Q15, VO16 = @Q16, VO17 = @Q17, VO18 = @Q18, VO19 = @Q19, VO20 = @Q20, VO21 = @Q21, VO22 = @Q22, VO23 = @Q23, VO24 = @Q24, VO25 = @Q25, VO26 = @Q26, VO27 = @Q27, VO28 = @Q28, VO29 = @Q29, VO30 = @Q30, VO31 = @Q31, VO32 = @Q32, VO33 = @Q33, VO34 = @Q34, VO35 = @Q35, VO36 = @Q36, VO37 = @Q37, VO38 = @Q38, VO39 = @Q39, VO40 = @Q40, VO41 = @Q41, VO42 = @Q42, VO43 = @Q43, VO44 = @Q44, VO45 = @Q45, VO46 = @Q46, VO47 = @Q47, VO48 = @Q48, VE1 = @Q1, VE2 = @Q2, VE3 = @Q3, VE4 = @Q4, VE5 = @Q5, VE6 = @Q6, VE7 = @Q7, VE8 = @Q8, VE9 = @Q9, VE10 = @Q10, VE11 = @Q11, VE12 = @Q12, VE13 = @Q13, VE14 = @Q14, VE15 = @Q15, VE16 = @Q16, VE17 = @Q17, VE18 = @Q18, VE19 = @Q19, VE20 = @Q20, VE21 = @Q21, VE22 = @Q22, VE23 = @Q23, VE24 = @Q24, VE25 = @Q25, VE26 = @Q26, VE27 = @Q27, VE28 = @Q28, VE29 = @Q29, VE30 = @Q30, VE31 = @Q31, VE32 = @Q32, VE33 = @Q33, VE34 = @Q34, VE35 = @Q35, VE36 = @Q36, VE37 = @Q37, VE38 = @Q38, VE39 = @Q39, VE40 = @Q40, VE41 = @Q41, VE42 = @Q42, VE43 = @Q43, VE44 = @Q44, VE45 = @Q45, VE46 = @Q46, VE47 = @Q47, VE48 = @Q48, QTDE_ORIGINAL = @QTDE, QTDE_ENTREGAR = @QTDE, VALOR_ORIGINAL = @VALOR, VALOR_ENTREGAR = @VALOR, PRECO1 = @PRECO1, PRECO2 = @PRECO2, PRECO3 = @PRECO3, PRECO4 = @PRECO4 WHERE PEDIDO = @PEDIDO AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI END ELSE BEGIN INSERT INTO VENDAS_PRODUTO (PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA, LIMITE_ENTREGA, QTDE_ORIGINAL, QTDE_ENTREGAR, VALOR_ORIGINAL, VALOR_ENTREGAR, VO1, VO2, VO3, VO4, VO5, VO6, VO7, VO8, VO9, VO10, VO11, VO12, VO13, VO14, VO15, VO16, VO17, VO18, VO19, VO20, VO21, VO22, VO23, VO24, VO25, VO26, VO27, VO28, VO29, VO30, VO31, VO32, VO33, VO34, VO35, VO36, VO37, VO38, VO39, VO40, VO41, VO42, VO43, VO44, VO45, VO46, VO47, VO48, VE1, VE2, VE3, VE4, VE5, VE6, VE7, VE8, VE9, VE10, VE11, VE12, VE13, VE14, VE15, VE16, VE17, VE18, VE19, VE20, VE21, VE22, VE23, VE24, VE25, VE26, VE27, VE28, VE29, VE30, VE31, VE32, VE33, VE34, VE35, VE36, VE37, VE38, VE39, VE40, VE41, VE42, VE43, VE44, VE45, VE46, VE47, VE48, PRECO1, PRECO2, PRECO3, PRECO4) VALUES (@PEDIDO, @PRODUTOI, @CORI, @DATA, @DATA, @QTDE, @QTDE, @VALOR, @VALOR, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48, @PRECO1, @PRECO2, @PRECO3, @PRECO4) END SELECT @TOT_VALOR = SUM(VALOR_ORIGINAL), @TOT_QTDE = SUM(QTDE_ORIGINAL) FROM VENDAS_PRODUTO WHERE PEDIDO = @PEDIDO UPDATE VENDAS SET TOT_VALOR_ORIGINAL = @TOT_VALOR, TOT_VALOR_ENTREGAR = @TOT_VALOR, TOT_QTDE_ORIGINAL = @TOT_QTDE, TOT_QTDE_ENTREGAR = @TOT_QTDE WHERE PEDIDO = @PEDIDO SELECT @Q1 = CASE WHEN @D1 > @Q1 THEN @Q1 ELSE @D1 END, @Q2 = CASE WHEN @D2 > @Q2 THEN @Q2 ELSE @D2 END, @Q3 = CASE WHEN @D3 > @Q3 THEN @Q3 ELSE @D3 END, @Q4 = CASE WHEN @D4 > @Q4 THEN @Q4 ELSE @D4 END, @Q5 = CASE WHEN @D5 > @Q5 THEN @Q5 ELSE @D5 END, @Q6 = CASE WHEN @D6 > @Q6 THEN @Q6 ELSE @D6 END, @Q7 = CASE WHEN @D7 > @Q7 THEN @Q7 ELSE @D7 END, @Q8 = CASE WHEN @D8 > @Q8 THEN @Q8 ELSE @D8 END, @Q9 = CASE WHEN @D9 > @Q9 THEN @Q9 ELSE @D9 END, @Q10 = CASE WHEN @D10 > @Q10 THEN @Q10 ELSE @D10 END, @Q11 = CASE WHEN @D11 > @Q11 THEN @Q11 ELSE @D11 END, @Q12 = CASE WHEN @D12 > @Q12 THEN @Q12 ELSE @D12 END, @Q13 = CASE WHEN @D13 > @Q13 THEN @Q13 ELSE @D13 END, @Q14 = CASE WHEN @D14 > @Q14 THEN @Q14 ELSE @D14 END, @Q15 = CASE WHEN @D15 > @Q15 THEN @Q15 ELSE @D15 END, @Q16 = CASE WHEN @D16 > @Q16 THEN @Q16 ELSE @D16 END, @Q17 = CASE WHEN @D17 > @Q17 THEN @Q17 ELSE @D17 END, @Q18 = CASE WHEN @D18 > @Q18 THEN @Q18 ELSE @D18 END, @Q19 = CASE WHEN @D19 > @Q19 THEN @Q19 ELSE @D19 END, @Q20 = CASE WHEN @D20 > @Q20 THEN @Q20 ELSE @D20 END, @Q21 = CASE WHEN @D21 > @Q21 THEN @Q21 ELSE @D21 END, @Q22 = CASE WHEN @D22 > @Q22 THEN @Q22 ELSE @D22 END, @Q23 = CASE WHEN @D23 > @Q23 THEN @Q23 ELSE @D23 END, @Q24 = CASE WHEN @D24 > @Q24 THEN @Q24 ELSE @D24 END, @Q25 = CASE WHEN @D25 > @Q25 THEN @Q25 ELSE @D25 END, @Q26 = CASE WHEN @D26 > @Q26 THEN @Q26 ELSE @D26 END, @Q27 = CASE WHEN @D27 > @Q27 THEN @Q27 ELSE @D27 END, @Q28 = CASE WHEN @D28 > @Q28 THEN @Q28 ELSE @D28 END, @Q29 = CASE WHEN @D29 > @Q29 THEN @Q29 ELSE @D29 END, @Q30 = CASE WHEN @D30 > @Q30 THEN @Q30 ELSE @D30 END, @Q31 = CASE WHEN @D31 > @Q31 THEN @Q31 ELSE @D31 END, @Q32 = CASE WHEN @D32 > @Q32 THEN @Q32 ELSE @D32 END, @Q33 = CASE WHEN @D33 > @Q33 THEN @Q33 ELSE @D33 END, @Q34 = CASE WHEN @D34 > @Q34 THEN @Q34 ELSE @D34 END, @Q35 = CASE WHEN @D35 > @Q35 THEN @Q35 ELSE @D35 END, @Q36 = CASE WHEN @D36 > @Q36 THEN @Q36 ELSE @D36 END, @Q37 = CASE WHEN @D37 > @Q37 THEN @Q37 ELSE @D37 END, @Q38 = CASE WHEN @D38 > @Q38 THEN @Q38 ELSE @D38 END, @Q39 = CASE WHEN @D39 > @Q39 THEN @Q39 ELSE @D39 END, @Q40 = CASE WHEN @D40 > @Q40 THEN @Q40 ELSE @D40 END, @Q41 = CASE WHEN @D41 > @Q41 THEN @Q41 ELSE @D41 END, @Q42 = CASE WHEN @D42 > @Q42 THEN @Q42 ELSE @D42 END, @Q43 = CASE WHEN @D43 > @Q43 THEN @Q43 ELSE @D43 END, @Q44 = CASE WHEN @D44 > @Q44 THEN @Q44 ELSE @D44 END, @Q45 = CASE WHEN @D45 > @Q45 THEN @Q45 ELSE @D45 END, @Q46 = CASE WHEN @D46 > @Q46 THEN @Q46 ELSE @D46 END, @Q47 = CASE WHEN @D47 > @Q47 THEN @Q47 ELSE @D47 END, @Q48 = CASE WHEN @D48 > @Q48 THEN @Q48 ELSE @D48 END SELECT @D1 = @D1 - @Q1, @D2 = @D2 - @Q2, @D3 = @D3 - @Q3, @D4 = @D4 - @Q4, @D5 = @D5 - @Q5, @D6 = @D6 - @Q6, @D7 = @D7 - @Q7, @D8 = @D8 - @Q8, @D9 = @D9 - @Q9, @D10 = @D10 - @Q10, @D11 = @D11 - @Q11, @D12 = @D12 - @Q12, @D13 = @D13 - @Q13, @D14 = @D14 - @Q14, @D15 = @D15 - @Q15, @D16 = @D16 - @Q16, @D17 = @D17 - @Q17, @D18 = @D18 - @Q18, @D19 = @D19 - @Q19, @D20 = @D20 - @Q20, @D21 = @D21 - @Q21, @D22 = @Q22 - @Q22, @D23 = @D23 - @Q23, @D24 = @D24 - @Q24, @D25 = @D25 - @Q25, @D26 = @D26 - @Q26, @D27 = @D27 - @Q27, @D28 = @D28 - @Q28, @D29 = @D29 - @Q29, @D30 = @D30 - @Q30, @D31 = @D31 - @Q31, @D32 = @D32 - @Q32, @D33 = @D33 - @Q33, @D34 = @D34 - @Q34, @D35 = @D35 - @Q35, @D36 = @D36 - @Q36, @D37 = @D37 - @Q37, @D38 = @D38 - @Q38, @D39 = @D39 - @Q39, @D40 = @D40 - @Q40, @D41 = @D41 - @Q41, @D42 = @D42 - @Q42, @D43 = @D43 - @Q43, @D44 = @D44 - @Q44, @D45 = @D45 - @Q45, @D46 = @D46 - @Q46, @D47 = @D47 - @Q47, @D48 = @D48 - @Q48 SELECT @QTDE = @Q1 + @Q2 + @Q3 + @Q4 + @Q5 + @Q6 + @Q7 + @Q8 + @Q9 + @Q10 + @Q11 + @Q12 + @Q13 + @Q14 + @Q15 + @Q16 + @Q17 + @Q18 + @Q19 + @Q20 + @Q21 + @Q22 + @Q23 + @Q24 + @Q25 + @Q26 + @Q27 + @Q28 + @Q29 + @Q30 + @Q31 + @Q32 + @Q33 + @Q34 + @Q35 + @Q36 + @Q37 + @Q38 + @Q39 + @Q40 + @Q41 + @Q42 + @Q43 + @Q44 + @Q45 + @Q46 + @Q47 + @Q48 IF NOT EXISTS (SELECT * FROM ROMANEIOS_RESERVAS WHERE PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI AND ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PEDIDO = @PEDIDO) INSERT INTO ROMANEIOS_RESERVAS (ROMANEIO, FILIAL, PEDIDO, PRODUTO, COR_PRODUTO, COR_PEDIDO, ENTREGA, QTDE_R, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48) VALUES (@ROMANEIO, @FILIAL, @PEDIDO, @PRODUTOI, @CORI, @CORI, @DATA, @QTDE, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q46, @Q47, @Q48) ELSE UPDATE ROMANEIOS_RESERVAS SET R1 = @Q1, R2 = @Q2, R3 = @Q3, R4 = @Q4, R5 = @Q5, R6 = @Q6, R7 = @Q7, R8 = @Q8, R9 = @Q9, R10 = @Q10, R11 = @Q11, R12 = @Q12, R13 = @Q13, R14 = @Q14, R15 = @Q15, R16 = @Q16, R17 = @Q17, R18 = @Q18, R19 = @Q19, R20 = @Q20, R21 = @Q21, R22 = @Q22, R23 = @Q23, R24 = @Q24, R25 = @Q25, R26 = @Q26, R27 = @Q27, R28 = @Q28, R29 = @Q29, R30 = @Q30, R31 = @Q31, R32 = @Q32, R33 = @Q33, R34 = @Q34, R35 = @Q35, R36 = @Q36, R37 = @Q37, R38 = @Q38, R39 = @Q39, R40 = @Q40, R41 = @Q41, R42 = @Q42, R43 = @Q43, R44 = @Q44, R45 = @Q45, R46 = @Q46, R47 = @Q47, R48 = @Q48, QTDE_R = @QTDE WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTOI AND COR_PRODUTO = @CORI AND PEDIDO = @PEDIDO IF @STATUS <> ''V'' SELECT @STATUS = ''P'' END ELSE SELECT @STATUS = ''V'' FETCH NEXT FROM CURSOR_ITENS INTO @PRODUTOI, @CORI, @CORV, @FILIALI, @PONTEIRO_PRECO_TAM, @VARIA_PRECO_TAM, @VARIA_PRECO_COR, @Q1, @Q2, @Q3, @Q4, @Q5, @Q6, @Q7, @Q8, @Q9, @Q10, @Q11, @Q12, @Q13, @Q14, @Q15, @Q16, @Q17, @Q18, @Q19, @Q20, @Q21, @Q22, @Q23, @Q24, @Q25, @Q26, @Q27, @Q28, @Q29, @Q30, @Q31, @Q32, @Q33, @Q34, @Q35, @Q36, @Q37, @Q38, @Q39, @Q40, @Q41, @Q42, @Q43, @Q44, @Q45, @Q36, @Q47, @Q48 END CLOSE CURSOR_ITENS DEALLOCATE CURSOR_ITENS UPDATE ROMANEIOS_PRODUTO SET STATUS = @STATUS, FILTROS_PROCESSO = ''PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. (REPOR VENDA LOJA)'' WHERE ROMANEIO = @ROMANEIO AND FILIAL = @FILIAL AND PRODUTO = @PRODUTO FETCH NEXT FROM CURSOR_PRODUTOS INTO @PRODUTO, @ordem_producao END CLOSE CURSOR_PRODUTOS DEALLOCATE CURSOR_PRODUTOS SET NOCOUNT OFF' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_DISTRIBUICAO1]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_DISTRIBUICAO1] @ROMANEIO CHAR(8), @FILIAL VARCHAR(25), @DISPONIVEL CHAR(4), @COMPRAS_I DATETIME = NULL, @COMPRAS_F DATETIME = NULL, @PRODUCAO_I DATETIME = NULL, @PRODUCAO_F DATETIME = NULL, @TAB_PRECO CHAR(2), @COLECAO CHAR(6), @TIPO_VENDA VARCHAR(25), @MOEDA CHAR(6), @TRANSPORTADORA VARCHAR(25), @COND_PGTO CHAR(3), @REPRESENTANTE VARCHAR(25), @DATA DATETIME, @CODIGO_AGRUPAMENTO INT, @PORCENTAGEM INT, @PROGRAMACAO_I DATETIME = NULL, @PROGRAMACAO_F DATETIME = NULL, @PACKS int, @TAB_PRECO_CLIENTE BIT AS begin set nocount on declare @produto char(12), @status char(1), @pedido char(12), @produtoi char(12), @cori char(10), @filiali varchar(25), @tamanho int, @q1 numeric(14, 2), @q2 numeric(14, 2), @q3 numeric(14, 2), @q4 numeric(14, 2), @q5 numeric(14, 2), @q6 numeric(14, 2), @q7 numeric(14, 2), @q8 numeric(14, 2), @q9 numeric(14, 2), @q10 numeric(14, 2), @q11 numeric(14, 2), @q12 numeric(14, 2), @q13 numeric(14, 2), @q14 numeric(14, 2), @q15 numeric(14, 2), @q16 numeric(14, 2), @q17 numeric(14, 2), @q18 numeric(14, 2), @q19 numeric(14, 2), @q20 numeric(14, 2), @q21 numeric(14, 2), @q22 numeric(14, 2), @q23 numeric(14, 2), @q24 numeric(14, 2), @q25 numeric(14, 2), @q26 numeric(14, 2), @q27 numeric(14, 2), @q28 numeric(14, 2), @q29 numeric(14, 2), @q30 numeric(14, 2), @q31 numeric(14, 2), @q32 numeric(14, 2), @q33 numeric(14, 2), @q34 numeric(14, 2), @q35 numeric(14, 2), @q36 numeric(14, 2), @q37 numeric(14, 2), @q38 numeric(14, 2), @q39 numeric(14, 2), @q40 numeric(14, 2), @q41 numeric(14, 2), @q42 numeric(14, 2), @q43 numeric(14, 2), @q44 numeric(14, 2), @q45 numeric(14, 2), @q46 numeric(14, 2), @q47 numeric(14, 2), @q48 numeric(14, 2), @gerente varchar(25), @comissao real, @comissao_gerente real, @porc_acerto real, @qtde numeric(14, 2), @ponteiro_preco_tam varchar(48), @varia_preco_tam bit, @varia_preco_cor bit, @preco1 numeric(14, 2), @preco2 numeric(14, 2), @preco3 numeric(14, 2), @preco4 numeric(14, 2), @valor numeric(14, 2), @maximo_tamanhos int, @xconta int, @tot_valor numeric(14, 2), @tot_qtde numeric(14, 2), @cor char(10), @qtde_d int, @qtde_es numeric(14, 2), @d1 int, @d2 int, @d3 int, @d4 int, @d5 int, @d6 int, @d7 int, @d8 int, @d9 int, @d10 int, @d11 int, @d12 int, @d13 int, @d14 int, @d15 int, @d16 int, @d17 int, @d18 int, @d19 int, @d20 int, @d21 int, @d22 int, @d23 int, @d24 int, @d25 int, @d26 int, @d27 int, @d28 int, @d29 int, @d30 int, @d31 int, @d32 int, @d33 int, @d34 int, @d35 int, @d36 int, @d37 int, @d38 int, @d39 int, @d40 int, @d41 int, @d42 int, @d43 int, @d44 int, @d45 int, @d46 int, @d47 int, @d48 int, @es1 numeric(14, 2), @es2 numeric(14, 2), @es3 numeric(14, 2), @es4 numeric(14, 2), @es5 numeric(14, 2), @es6 numeric(14, 2), @es7 numeric(14, 2), @es8 numeric(14, 2), @es9 numeric(14, 2), @es10 numeric(14, 2), @es11 numeric(14, 2), @es12 numeric(14, 2), @es13 numeric(14, 2), @es14 numeric(14, 2), @es15 numeric(14, 2), @es16 numeric(14, 2), @es17 numeric(14, 2), @es18 numeric(14, 2), @es19 numeric(14, 2), @es20 numeric(14, 2), @es21 numeric(14, 2), @es22 numeric(14, 2), @es23 numeric(14, 2), @es24 numeric(14, 2), @es25 numeric(14, 2), @es26 numeric(14, 2), @es27 numeric(14, 2), @es28 numeric(14, 2), @es29 numeric(14, 2), @es30 numeric(14, 2), @es31 numeric(14, 2), @es32 numeric(14, 2), @es33 numeric(14, 2), @es34 numeric(14, 2), @es35 numeric(14, 2), @es36 numeric(14, 2), @es37 numeric(14, 2), @es38 numeric(14, 2), @es39 numeric(14, 2), @es40 numeric(14, 2), @es41 numeric(14, 2), @es42 numeric(14, 2), @es43 numeric(14, 2), @es44 numeric(14, 2), @es45 numeric(14, 2), @es46 numeric(14, 2), @es47 numeric(14, 2), @es48 numeric(14, 2), @tipo_agrupamento1 varchar(25), @tipo_agrupamento2 varchar(25), @tipo_agrupamento3 varchar(25), @tipo_agrupamento4 varchar(25), @tipo_agrupamento5 varchar(25), @tipo_agrupamento6 varchar(25), @errno int, @errmsg varchar(255), @xwhere varchar(255), @porcentagemi numeric(14, 2), @processa_pack bit, @qtde_p int, @xwhere1 varchar(250), @xwhere2 varchar(250), @xwhere3 varchar(250), @p1 int, @p2 int, @p3 int, @p4 int, @p5 int, @p6 int, @p7 int, @p8 int, @p9 int, @p10 int, @p11 int, @p12 int, @p13 int, @p14 int, @p15 int, @p16 int, @p17 int, @p18 int, @p19 int, @p20 int, @p21 int, @p22 int, @p23 int, @p24 int, @p25 int, @p26 int, @p27 int, @p28 int, @p29 int, @p30 int, @p31 int, @p32 int, @p33 int, @p34 int, @p35 int, @p36 int, @p37 int, @p38 int, @p39 int, @p40 int, @p41 int, @p42 int, @p43 int, @p44 int, @p45 int, @p46 int, @p47 int, @p48 int, @select1 varchar(5000), @select2 varchar(5000), @select3 varchar(5000), @select4 varchar(5000), @select5 varchar(5000), @select6 varchar(5000), @select7 varchar(5000), @select8 varchar(5000), @aspas char(1), @codigo_pack char(2), @tabela char(2), @ordem_producao char(8), @op char(8), @ped_compra char(8) select @aspas = char(39) select @gerente = a.gerente, @comissao = a.comissao, @comissao_gerente = b.comissao, @porc_acerto = a.porcentagem_acerto from representantes a left join representantes b on a.gerente = b.representante where a.representante = @representante select @maximo_tamanhos = convert(int, valor_atual) from parametros where parametro = ''maximo_tamanhos'' select @cor = '''' select @tipo_agrupamento1 = agrupamento1, @tipo_agrupamento2 = agrupamento2, @tipo_agrupamento3 = agrupamento3, @tipo_agrupamento4 = agrupamento4, @tipo_agrupamento5 = agrupamento5, @tipo_agrupamento6 = agrupamento6 from distribuicao_tipo_agrupamento where codigo_agrupamento = @codigo_agrupamento if @@rowcount = 0 or @tipo_agrupamento1 is null begin select @errno = 30002, @errmsg = ''Tipo Agrupamento não Encontrado !!!'' goto error end select @xwhere = '' left join distribuicao_agrupamento d on valor_agrupamento1 = b.'' + @tipo_agrupamento1 + case when @tipo_agrupamento2 is null or @tipo_agrupamento2 = '''' then '''' else '' and valor_agrupamento2 = b.'' + @tipo_agrupamento2 end select @xwhere1 = case when @tipo_agrupamento3 is null or @tipo_agrupamento3 = '''' then '''' else '' and valor_agrupamento3 = b.'' + @tipo_agrupamento3 end + case when @tipo_agrupamento4 is null or @tipo_agrupamento4 = '''' then '''' else '' and valor_agrupamento4 = b.'' + @tipo_agrupamento4 end select @xwhere2 = case when @tipo_agrupamento5 is null or @tipo_agrupamento5 = '''' then '''' else '' and valor_agrupamento5 = b.'' + @tipo_agrupamento5 end + case when @tipo_agrupamento6 is null or @tipo_agrupamento6 = '''' then '''' else '' and valor_agrupamento6 = b.'' + @tipo_agrupamento6 end select @xwhere3 = '' and d.codigo_agrupamento = '' + convert(char(10), @codigo_agrupamento) /* cria tabela temporaria que contem produto/cor/filial/porcentagem para distribuicao */ create table #distribuicao (produto char(12), cor_produto char(10), filial varchar(25), porcentagem numeric(14, 2), ponteiro_preco_tam char(48), varia_preco_tam bit, varia_preco_cor bit) /* se processa pack por cor */ /* cria tabela temporaria para verificar qtde de packs disponiveis para separacao */ if @packs = 2 if exists (select name from sysobjects where name = ''tmp_estoque_distribuicao'' and type = ''u'') drop table tmp_estoque_distribuicao select produto, cor_produto, filial, r1 d1, r2 d2, r3 d3, r4 d4, r5 d5, r6 d6, r7 d7, r8 d8, r9 d9, r10 d10, r11 d11, r12 d12, r13 d13, r14 d14, r15 d15, r16 d16, r17 d17, r18 d18, r19 d19, r20 d20, r21 d21, r22 d22, r23 d23, r24 d24, r25 d25, r26 d26, r27 d27, r28 d28, r29 d29, r30 d30, r31 d31, r32 d32, r33 d33, r34 d34, r35 d35, r36 d36, r37 d37, r38 d38, r39 d39, r40 d40, r41 d41, r42 d42, r43 d43, r44 d44, r45 d45, r46 d46, r47 d47, r48 d48 into tmp_estoque_distribuicao from romaneios_reservas where 1 = 0 declare cursor_produtos cursor for select produto, ordem_producao from romaneios_produto where romaneio = @romaneio and filial = @filial and status = ''A'' open cursor_produtos fetch next from cursor_produtos into @produto, @ordem_producao while @@fetch_status = 0 begin /* verifica se numero e de OP ou Pedido de Compra */ if exists (select * from producao_ordem where ordem_producao = @ordem_producao) select @op = @ordem_producao, @ped_compra = '''' else select @ped_compra = @ordem_producao, @op = '''' /* apaga itens em vendas_produto */ declare cursor_delete cursor for select distinct a.pedido from vendas_produto a join vendas b on a.pedido = b.pedido where produto = @produto and romaneio = @romaneio open cursor_delete delete a from vendas_produto a join vendas b on a.pedido = b.pedido where romaneio = @romaneio and produto = @produto fetch next from cursor_delete into @pedido while @@fetch_status = 0 begin delete from vendas_produto where pedido = @pedido and produto = @produto select @xconta = count(*), @tot_qtde = isnull(sum(qtde_original), 0), @tot_valor = isnull(sum(valor_original), 0) from vendas_produto where pedido = @pedido if @xconta = 0 delete from vendas where pedido = @pedido else update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido fetch next from cursor_delete into @pedido end close cursor_delete deallocate cursor_delete /* verifica se processa por pack/pack cor */ select @processa_pack = 0 if @packs <> 0 begin if @packs = 1 begin select @p1 = q1, @p2 = q2, @p3 = q3, @p4 = q4, @p5 = q5, @p6 = q6, @p7 = q7, @p8 = q8, @p9 = q9, @p10 = q10, @p11 = q11, @p12 = q12, @p13 = q13, @p14 = q14, @p15 = q15, @p16 = q16, @p17 = q17, @p18 = q18, @p19 = q19, @p20 = q20, @p21 = q21, @p22 = q22, @p23 = q23, @p24 = q24, @p25 = q25, @p26 = q26, @p27 = q27, @p28 = q28, @p29 = q29, @p30 = q30, @p31 = q31, @p32 = q32, @p33 = q33, @p34 = q34, @p35 = q35, @p36 = q36, @p37 = q37, @p38 = q38, @p39 = q39, @p40 = q40, @p41 = q41, @p42 = q42, @p43 = q43, @p44 = q44, @p45 = q45, @p46 = q46, @p47 = q47, @p48 = q48 from produtos_packs_permitidos where produto = @produto and indica_pack_cor = 0 order by pack desc if @@rowcount > 0 select @processa_pack = 1 end else begin select @codigo_pack = pack from produtos_packs_permitidos where produto = @produto and indica_pack_cor = 1 order by pack desc if @codigo_pack is not null select @processa_pack = 1 end end /* se processamento normal 0 ou por pack 1 */ if @packs <> 2 or @processa_pack = 0 begin declare cursor_cores cursor for select cor_produto from produto_cores where produto = @produto open cursor_cores fetch next from cursor_cores into @cor select @status = ''P'' while @@fetch_status = 0 begin select @d1 = 0, @d2 = 0, @d3 = 0, @d4 = 0, @d5 = 0, @d6 = 0, @d7 = 0, @d8 = 0, @d9 = 0, @d10 = 0, @d11 = 0, @d12 = 0, @d13 = 0, @d14 = 0, @d15 = 0, @d16 = 0, @d17 = 0, @d18 = 0, @d19 = 0, @d20 = 0, @d21 = 0, @d22 = 0, @d23 = 0, @d24 = 0, @d25 = 0, @d26 = 0, @d27 = 0, @d28 = 0, @d29 = 0, @d30 = 0, @d31 = 0, @d32 = 0, @d33 = 0, @d34 = 0, @d35 = 0, @d36 = 0, @d37 = 0, @d38 = 0, @d39 = 0, @d40 = 0, @d41 = 0, @d42 = 0, @d43 = 0, @d44 = 0, @d45 = 0, @d46 = 0, @d47 = 0, @d48 = 0 select @es1 = 0, @es2 = 0, @es3 = 0, @es4 = 0, @es5 = 0, @es6 = 0, @es7 = 0, @es8 = 0, @es9 = 0, @es10 = 0, @es11 = 0, @es12 = 0, @es13 = 0, @es14 = 0, @es15 = 0, @es16 = 0, @es17 = 0, @es18 = 0, @es19 = 0, @es20 = 0, @es21 = 0, @es22 = 0, @es23 = 0, @es24 = 0, @es25 = 0, @es26 = 0, @es27 = 0, @es28 = 0, @es29 = 0, @es30 = 0, @es31 = 0, @es32 = 0, @es33 = 0, @es34 = 0, @es35 = 0, @es36 = 0, @es37 = 0, @es38 = 0, @es39 = 0, @es40 = 0, @es41 = 0, @es42 = 0, @es43 = 0, @es44 = 0, @es45 = 0, @es46 = 0, @es47 = 0, @es48 = 0 if charindex(''C'', @disponivel) > 0 begin if @ped_compra is not null and @ped_compra <> '''' select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and cor_produto = @cor and a.pedido = @ped_compra else begin if @compras_i is not null select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and cor_produto = @cor and qtde_entregar > 0 and emissao >= @compras_i and emissao <= @compras_f else select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and cor_produto = @cor and qtde_entregar > 0 end end if charindex(''O'', @disponivel) > 0 begin if @op is not null and @op <> '''' select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and a.ordem_producao = @op else begin if @producao_i is not null select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and qtde_p > 0 and previsao_fim >= @producao_i and previsao_fim <= @producao_f else select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and qtde_p > 0 end end if charindex(''E'', @disponivel) > 0 begin select @es1 = case when isnull(es1, 0) < 0 then 0 else isnull(es1, 0) end, @es2 = case when isnull(es2, 0) < 0 then 0 else isnull(es2, 0) end, @es3 = case when isnull(es3, 0) < 0 then 0 else isnull(es3, 0) end, @es4 = case when isnull(es4, 0) < 0 then 0 else isnull(es4, 0) end, @es5 = case when isnull(es5, 0) < 0 then 0 else isnull(es5, 0) end, @es6 = case when isnull(es6, 0) < 0 then 0 else isnull(es6, 0) end, @es7 = case when isnull(es7, 0) < 0 then 0 else isnull(es7, 0) end, @es8 = case when isnull(es8, 0) < 0 then 0 else isnull(es8, 0) end, @es9 = case when isnull(es9, 0) < 0 then 0 else isnull(es9, 0) end, @es10 = case when isnull(es10, 0) < 0 then 0 else isnull(es10, 0) end, @es11 = case when isnull(es11, 0) < 0 then 0 else isnull(es11, 0) end, @es12 = case when isnull(es12, 0) < 0 then 0 else isnull(es12, 0) end, @es13 = case when isnull(es13, 0) < 0 then 0 else isnull(es13, 0) end, @es14 = case when isnull(es14, 0) < 0 then 0 else isnull(es14, 0) end, @es15 = case when isnull(es15, 0) < 0 then 0 else isnull(es15, 0) end, @es16 = case when isnull(es16, 0) < 0 then 0 else isnull(es16, 0) end, @es17 = case when isnull(es17, 0) < 0 then 0 else isnull(es17, 0) end, @es18 = case when isnull(es18, 0) < 0 then 0 else isnull(es18, 0) end, @es19 = case when isnull(es19, 0) < 0 then 0 else isnull(es19, 0) end, @es20 = case when isnull(es20, 0) < 0 then 0 else isnull(es20, 0) end, @es21 = case when isnull(es21, 0) < 0 then 0 else isnull(es21, 0) end, @es22 = case when isnull(es22, 0) < 0 then 0 else isnull(es22, 0) end, @es23 = case when isnull(es23, 0) < 0 then 0 else isnull(es23, 0) end, @es24 = case when isnull(es24, 0) < 0 then 0 else isnull(es24, 0) end, @es25 = case when isnull(es25, 0) < 0 then 0 else isnull(es25, 0) end, @es26 = case when isnull(es26, 0) < 0 then 0 else isnull(es26, 0) end, @es27 = case when isnull(es27, 0) < 0 then 0 else isnull(es27, 0) end, @es28 = case when isnull(es28, 0) < 0 then 0 else isnull(es28, 0) end, @es29 = case when isnull(es29 ,0) < 0 then 0 else isnull(es29, 0) end, @es30 = case when isnull(es30, 0) < 0 then 0 else isnull(es30, 0) end, @es31 = case when isnull(es31, 0) < 0 then 0 else isnull(es31, 0) end, @es32 = case when isnull(es32, 0) < 0 then 0 else isnull(es32, 0) end, @es33 = case when isnull(es33, 0) < 0 then 0 else isnull(es33, 0) end, @es34 = case when isnull(es34, 0) < 0 then 0 else isnull(es34, 0) end, @es35 = case when isnull(es36, 0) < 0 then 0 else isnull(es35, 0) end, @es36 = case when isnull(es36, 0) < 0 then 0 else isnull(es36, 0) end, @es37 = case when isnull(es37, 0) < 0 then 0 else isnull(es37, 0) end, @es38 = case when isnull(es38, 0) < 0 then 0 else isnull(es38, 0) end, @es39 = case when isnull(es39, 0) < 0 then 0 else isnull(es39, 0) end, @es40 = case when isnull(es40, 0) < 0 then 0 else isnull(es40, 0) end, @es41 = case when isnull(es41, 0) < 0 then 0 else isnull(es41, 0) end, @es42 = case when isnull(es42, 0) < 0 then 0 else isnull(es42, 0) end, @es43 = case when isnull(es43, 0) < 0 then 0 else isnull(es43, 0) end, @es44 = case when isnull(es44, 0) < 0 then 0 else isnull(es44, 0) end, @es45 = case when isnull(es45, 0) < 0 then 0 else isnull(es45, 0) end, @es46 = case when isnull(es46, 0) < 0 then 0 else isnull(es46, 0) end, @es47 = case when isnull(es47, 0) < 0 then 0 else isnull(es47, 0) end, @es48 = case when isnull(es48, 0) < 0 then 0 else isnull(es48, 0) end from estoque_produtos where filial = @filial and produto = @produto and cor_produto = @cor select @es1 = case when @es1 - isnull(sum(e1), 0) < 0 then 0 else @es1 - isnull(sum(e1), 0) end, @es2 = case when @es2 - isnull(sum(e2), 0) < 0 then 0 else @es2 - isnull(sum(e2), 0) end, @es3 = case when @es3 - isnull(sum(e3), 0) < 0 then 0 else @es3 - isnull(sum(e3), 0) end, @es4 = case when @es4 - isnull(sum(e4), 0) < 0 then 0 else @es4 - isnull(sum(e4), 0) end, @es5 = case when @es5 - isnull(sum(e5), 0) < 0 then 0 else @es5 - isnull(sum(e5), 0) end, @es6 = case when @es6 - isnull(sum(e6), 0) < 0 then 0 else @es6 - isnull(sum(e6), 0) end, @es7 = case when @es7 - isnull(sum(e7), 0) < 0 then 0 else @es7 - isnull(sum(e7), 0) end, @es8 = case when @es8 - isnull(sum(e8), 0) < 0 then 0 else @es8 - isnull(sum(e8), 0) end, @es9 = case when @es9 - isnull(sum(e9), 0) < 0 then 0 else @es9 - isnull(sum(e9), 0) end, @es10 = case when @es10 - isnull(sum(e10), 0) < 0 then 0 else @es10 - isnull(sum(e10), 0) end, @es11 = case when @es11 - isnull(sum(e11), 0) < 0 then 0 else @es11 - isnull(sum(e11), 0) end, @es12 = case when @es12 - isnull(sum(e12), 0) < 0 then 0 else @es12 - isnull(sum(e12), 0) end, @es13 = case when @es13 - isnull(sum(e13), 0) < 0 then 0 else @es13 - isnull(sum(e13), 0) end, @es14 = case when @es14 - isnull(sum(e14), 0) < 0 then 0 else @es14 - isnull(sum(e14), 0) end, @es15 = case when @es15 - isnull(sum(e15), 0) < 0 then 0 else @es15 - isnull(sum(e15), 0) end, @es16 = case when @es16 - isnull(sum(e16), 0) < 0 then 0 else @es16 - isnull(sum(e16), 0) end, @es17 = case when @es17 - isnull(sum(e17), 0) < 0 then 0 else @es17 - isnull(sum(e17), 0) end, @es18 = case when @es18 - isnull(sum(e18), 0) < 0 then 0 else @es18 - isnull(sum(e18), 0) end, @es19 = case when @es19 - isnull(sum(e19), 0) < 0 then 0 else @es19 - isnull(sum(e19), 0) end, @es20 = case when @es20 - isnull(sum(e20), 0) < 0 then 0 else @es20 - isnull(sum(e20), 0) end, @es21 = case when @es21 - isnull(sum(e21), 0) < 0 then 0 else @es21 - isnull(sum(e21), 0) end, @es22 = case when @es22 - isnull(sum(e22), 0) < 0 then 0 else @es22 - isnull(sum(e22), 0) end, @es23 = case when @es23 - isnull(sum(e23), 0) < 0 then 0 else @es23 - isnull(sum(e23), 0) end, @es24 = case when @es24 - isnull(sum(e24), 0) < 0 then 0 else @es24 - isnull(sum(e24), 0) end, @es25 = case when @es25 - isnull(sum(e25), 0) < 0 then 0 else @es25 - isnull(sum(e25), 0) end, @es26 = case when @es26 - isnull(sum(e26), 0) < 0 then 0 else @es26 - isnull(sum(e26), 0) end, @es27 = case when @es27 - isnull(sum(e27), 0) < 0 then 0 else @es27 - isnull(sum(e27), 0) end, @es28 = case when @es28 - isnull(sum(e28), 0) < 0 then 0 else @es28 - isnull(sum(e28), 0) end, @es29 = case when @es29 - isnull(sum(e29), 0) < 0 then 0 else @es29 - isnull(sum(e29), 0) end, @es30 = case when @es30 - isnull(sum(e30), 0) < 0 then 0 else @es30 - isnull(sum(e30), 0) end, @es31 = case when @es31 - isnull(sum(e31), 0) < 0 then 0 else @es31 - isnull(sum(e31), 0) end, @es31 = case when @es32 - isnull(sum(e32), 0) < 0 then 0 else @es32 - isnull(sum(e32), 0) end, @es33 = case when @es33 - isnull(sum(e33), 0) < 0 then 0 else @es33 - isnull(sum(e33), 0) end, @es34 = case when @es34 - isnull(sum(e34), 0) < 0 then 0 else @es34 - isnull(sum(e34), 0) end, @es35 = case when @es35 - isnull(sum(e35), 0) < 0 then 0 else @es35 - isnull(sum(e35), 0) end, @es36 = case when @es36 - isnull(sum(e36), 0) < 0 then 0 else @es36 - isnull(sum(e36), 0) end, @es37 = case when @es37 - isnull(sum(e37), 0) < 0 then 0 else @es37 - isnull(sum(e37), 0) end, @es38 = case when @es38 - isnull(sum(e38), 0) < 0 then 0 else @es38 - isnull(sum(e38), 0) end, @es39 = case when @es39 - isnull(sum(e39), 0) < 0 then 0 else @es39 - isnull(sum(e39), 0) end, @es30 = case when @es40 - isnull(sum(e40), 0) < 0 then 0 else @es40 - isnull(sum(e40), 0) end, @es41 = case when @es41 - isnull(sum(e41), 0) < 0 then 0 else @es41 - isnull(sum(e41), 0) end, @es42 = case when @es42 - isnull(sum(e42), 0) < 0 then 0 else @es42 - isnull(sum(e42), 0) end, @es43 = case when @es43 - isnull(sum(e43), 0) < 0 then 0 else @es43 - isnull(sum(e43), 0) end, @es44 = case when @es44 - isnull(sum(e44), 0) < 0 then 0 else @es44 - isnull(sum(e44), 0) end, @es45 = case when @es45 - isnull(sum(e45), 0) < 0 then 0 else @es45 - isnull(sum(e45), 0) end, @es46 = case when @es46 - isnull(sum(e46), 0) < 0 then 0 else @es46 - isnull(sum(e46), 0) end, @es47 = case when @es47 - isnull(sum(e47), 0) < 0 then 0 else @es47 - isnull(sum(e47), 0) end, @es48 = case when @es48 - isnull(sum(e48), 0) < 0 then 0 else @es48 - isnull(sum(e48), 0) end from vendas_prod_embalado where produto = @produto and cor_produto = @cor and filial = @filial select @d1 = @d1 + @es1, @d2 = @d2 + @es2, @d3 = @d3 + @es3, @d4 = @d4 + @es4, @d5 = @d5 + @es5, @d6 = @d6 + @es6, @d7 = @d7 + @es7, @d8 = @d8 + @es8, @d9 = @d9 + @es9, @d10 = @d10 + @es10, @d11 = @d11 + @es11, @d12 = @d12 + @es12, @d13 = @d23 + @es13, @d14 = @d14 + @es14, @d15 = @d15 + @es15, @d16 = @d16 + @es16, @d17 = @d17 + @es17, @d18 = @d18 + @es18, @d19 = @d19 + @es19, @d20 = @d20 + @es20, @d21 = @d21 + @es21, @d22 = @d22 + @es22, @d23 = @d23 + @es23, @d24 = @d24 + @es24, @d25 = @d25 + @es25, @d26 = @d26 + @es26, @d27 = @d27 + @es27, @d28 = @d28 + @es28, @d29 = @d29 + @es29, @d30 = @d30 + @es30, @d31 = @d31 + @es31, @d32 = @d32 + @es32, @d33 = @d33 + @es33, @d34 = @d34 + @es34, @d35 = @d35 + @es35, @d36 = @d36 + @es36, @d37 = @d37 + @es37, @d38 = @d38 + @es38, @d39 = @d39 + @es39, @d40 = @d40 + @es40, @d41 = @d41 + @es41, @d42 = @d42 + @es42, @d43 = @d43 + @es43, @d44 = @d44 + @es44, @d45 = @d45 + @es45, @d46 = @d46 + @es46, @d47 = @d47 + @es47, @d48 = @d48 + @es48 end if charindex(''P'', @disponivel) > 0 begin if @programacao_i is not null select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_prog_prod where produto = @produto and cor_produto = @cor and qtde_programada > 0 and entrega_inicial >= @programacao_i and entrega_inicial <= @programacao_f else select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_prog_prod where produto = @produto and cor_produto = @cor and qtde_programada > 0 end select @d1 = ((@d1 * @porcentagem) / 100), @d2 = ((@d2 * @porcentagem) / 100), @d3 = ((@d3 * @porcentagem) / 100), @d4 = ((@d4 * @porcentagem) / 100), @d5 = ((@d5 * @porcentagem) / 100), @d6 = ((@d6 * @porcentagem) / 100), @d7 = ((@d7 * @porcentagem) / 100), @d8 = ((@d8 * @porcentagem) / 100), @d9 = ((@d9 * @porcentagem) / 100), @d10 = ((@d10 * @porcentagem) / 100), @d11 = ((@d11 * @porcentagem) / 100), @d12 = ((@d12 * @porcentagem) / 100), @d13 = ((@d13 * @porcentagem) / 100), @d14 = ((@d14 * @porcentagem) / 100), @d15 = ((@d15 * @porcentagem) / 100), @d16 = ((@d16 * @porcentagem) / 100), @d17 = ((@d17 * @porcentagem) / 100), @d18 = ((@d18 * @porcentagem) / 100), @d19 = ((@d19 * @porcentagem) / 100), @d20 = ((@d20 * @porcentagem) / 100), @d21 = ((@d21 * @porcentagem) / 100), @d22 = ((@d22 * @porcentagem) / 100), @d23 = ((@d23 * @porcentagem) / 100), @d24 = ((@d24 * @porcentagem) / 100), @d25 = ((@d25 * @porcentagem) / 100), @d26 = ((@d26 * @porcentagem) / 100), @d27 = ((@d27 * @porcentagem) / 100), @d28 = ((@d28 * @porcentagem) / 100), @d29 = ((@d29 * @porcentagem) / 100), @d30 = ((@d30 * @porcentagem) / 100), @d31 = ((@d31 * @porcentagem) / 100), @d32 = ((@d32 * @porcentagem) / 100), @d33 = ((@d33 * @porcentagem) / 100), @d34 = ((@d34 * @porcentagem) / 100), @d35 = ((@d35 * @porcentagem) / 100), @d36 = ((@d36 * @porcentagem) / 100), @d37 = ((@d37 * @porcentagem) / 100), @d38 = ((@d38 * @porcentagem) / 100), @d39 = ((@d39 * @porcentagem) / 100), @d40 = ((@d40 * @porcentagem) / 100), @d41 = ((@d41 * @porcentagem) / 100), @d42 = ((@d42 * @porcentagem) / 100), @d43 = ((@d43 * @porcentagem) / 100), @d44 = ((@d44 * @porcentagem) / 100), @d45 = ((@d45 * @porcentagem) / 100), @d46 = ((@d46 * @porcentagem) / 100), @d47 = ((@d47 * @porcentagem) / 100), @d48 = ((@d48 * @porcentagem) / 100) if @processa_pack = 1 begin select @d1 = case when @p1 = 0 then 0 else @d1 / @p1 end, @d2 = case when @p2 = 0 then 0 else @d2 / @p2 end, @d3 = case when @p3 = 0 then 0 else @d3 / @p3 end, @d4 = case when @p4 = 0 then 0 else @d4 / @p4 end, @d5 = case when @p5 = 0 then 0 else @d5 / @p5 end, @d6 = case when @p6 = 0 then 0 else @d6 / @p6 end, @d7 = case when @p7 = 0 then 0 else @d7 / @p7 end, @d8 = case when @p8 = 0 then 0 else @d8 / @p8 end, @d9 = case when @p9 = 0 then 0 else @d9 / @p9 end, @d10 = case when @p10 = 0 then 0 else @d10 / @p10 end, @d11 = case when @p11 = 0 then 0 else @d11 / @p11 end, @d12 = case when @p12 = 0 then 0 else @d12 / @p12 end, @d13 = case when @p13 = 0 then 0 else @d13 / @p13 end, @d14 = case when @p14 = 0 then 0 else @d14 / @p14 end, @d15 = case when @p15 = 0 then 0 else @d15 / @p15 end, @d16 = case when @p16 = 0 then 0 else @d16 / @p16 end, @d17 = case when @p17 = 0 then 0 else @d17 / @p17 end, @d18 = case when @p18 = 0 then 0 else @d18 / @p18 end, @d19 = case when @p19 = 0 then 0 else @d19 / @p19 end, @d20 = case when @p20 = 0 then 0 else @d20 / @p20 end, @d21 = case when @p21 = 0 then 0 else @d21 / @p21 end, @d22 = case when @p22 = 0 then 0 else @d22 / @p22 end, @d23 = case when @p23 = 0 then 0 else @d23 / @p23 end, @d24 = case when @p24 = 0 then 0 else @d24 / @p24 end, @d25 = case when @p25 = 0 then 0 else @d25 / @p25 end, @d26 = case when @p26 = 0 then 0 else @d26 / @p26 end, @d27 = case when @p27 = 0 then 0 else @d27 / @p27 end, @d28 = case when @p28 = 0 then 0 else @d28 / @p28 end, @d29 = case when @p29 = 0 then 0 else @d29 / @p29 end, @d30 = case when @p30 = 0 then 0 else @d30 / @p30 end, @d31 = case when @p31 = 0 then 0 else @d31 / @p31 end, @d32 = case when @p32 = 0 then 0 else @d32 / @p32 end, @d33 = case when @p33 = 0 then 0 else @d33 / @p33 end, @d34 = case when @p34 = 0 then 0 else @d34 / @p34 end, @d35 = case when @p35 = 0 then 0 else @d35 / @p35 end, @d36 = case when @p36 = 0 then 0 else @d36 / @p36 end, @d37 = case when @p37 = 0 then 0 else @d37 / @p37 end, @d38 = case when @p38 = 0 then 0 else @d38 / @p38 end, @d39 = case when @p39 = 0 then 0 else @d39 / @p39 end, @d40 = case when @p40 = 0 then 0 else @d40 / @p40 end, @d41 = case when @p41 = 0 then 0 else @d41 / @p41 end, @d42 = case when @p42 = 0 then 0 else @d42 / @p42 end, @d43 = case when @p43 = 0 then 0 else @d43 / @p43 end, @d44 = case when @p44 = 0 then 0 else @d44 / @p44 end, @d45 = case when @p45 = 0 then 0 else @d45 / @p45 end, @d46 = case when @p46 = 0 then 0 else @d46 / @p46 end, @d47 = case when @p47 = 0 then 0 else @d47 / @p47 end, @d48 = case when @p48 = 0 then 0 else @d48 / @p48 end select @xconta = 1, @qtde_es = 0, @qtde_d = 0 while @xconta <= @maximo_tamanhos begin select @qtde = case @xconta when 1 then @p1 when 2 then @p2 when 3 then @p3 when 4 then @p4 when 5 then @p5 when 6 then @p6 when 7 then @p7 when 8 then @p8 when 9 then @p9 when 10 then @p10 when 11 then @p11 when 12 then @p12 when 13 then @p13 when 14 then @p14 when 15 then @p15 when 16 then @p16 when 17 then @p17 when 18 then @p18 when 18 then @p19 when 20 then @p20 when 21 then @p21 when 22 then @p22 when 23 then @p23 when 24 then @p24 when 25 then @p25 when 26 then @p26 when 27 then @p27 when 28 then @p28 when 29 then @p29 when 30 then @p30 when 31 then @p31 when 32 then @p32 when 33 then @p33 when 34 then @p34 when 35 then @p35 when 36 then @p36 when 37 then @p37 when 38 then @p38 when 39 then @p39 when 40 then @p40 when 41 then @p41 when 42 then @p42 when 43 then @p43 when 44 then @p44 when 45 then @p45 when 46 then @p46 when 47 then @p47 when 48 then @p48 end select @qtde_es = case @xconta when 1 then @d1 when 2 then @d2 when 3 then @d3 when 4 then @d4 when 5 then @d5 when 6 then @d6 when 7 then @d7 when 8 then @d8 when 9 then @d9 when 10 then @d10 when 11 then @d11 when 12 then @d12 when 13 then @d13 when 14 then @d14 when 15 then @d15 when 16 then @d16 when 17 then @d17 when 18 then @d18 when 18 then @d19 when 20 then @d20 when 21 then @d21 when 22 then @d22 when 23 then @d23 when 24 then @d24 when 25 then @d25 when 26 then @d26 when 27 then @d27 when 28 then @d28 when 29 then @d29 when 30 then @d30 when 31 then @d31 when 32 then @d32 when 33 then @d33 when 34 then @d34 when 35 then @d35 when 36 then @d36 when 37 then @d37 when 38 then @d38 when 39 then @d39 when 40 then @d40 when 41 then @d41 when 42 then @d42 when 43 then @d43 when 44 then @d44 when 45 then @d45 when 46 then @d46 when 47 then @d47 when 48 then @d48 end if (@qtde_d > @qtde_es and @qtde_es > 0) or (@qtde_es = 0 and @qtde > 0) or @xconta = 1 select @qtde_d = @qtde_es select @xconta = @xconta + 1 end select @qtde_es = @qtde_d end else begin select @es1 = @d1, @es2 = @d2, @es3 = @d3, @es4 = @d4, @es5 = @d5, @es6 = @d6, @es7 = @d7, @es8 = @d8, @es9 = @d9, @es10 = @d10, @es11 = @d11, @es12 = @d12, @es13 = @d13, @es14 = @d14, @es15 = @d15, @es16 = @d16, @es17 = @d17, @es18 = @d18, @es19 = @d19, @es20 = @d20, @es21 = @d21, @es22 = @d22, @es23 = @d23, @es24 = @d24, @es25 = @d25, @es26 = @d26, @es27 = @d27, @es28 = @d28, @es29 = @d29, @es30 = @d20, @es31 = @d31, @es32 = @d32, @es33 = @d33, @es34 = @d34, @es35 = @d35, @es36 = @d36, @es37 = @d37, @es38 = @d38, @es39 = @d39, @es40 = @d40, @es41 = @d41, @es42 = @d42, @es43 = @d43, @es44 = @d44, @es45 = @d45, @es46 = @d46, @es47 = @d47, @es48 = @d48 select @qtde_es = @es1 + @es2 + @es3 + @es4 + @es5 + @es6 + @es7 + @es8 + @es9 + @es10 + @es11 + @es12 + @es13 + @es14 + @es15 + @es16 + @es17 + @es18 + @es19 + @es20 + @es21 + @es22 + @es23 + @es24 + @es25 + @es26 + @es27 + @es28 + @es29 + @es30 + @es31 + @es32 + @es33 + @es34 + @es35 + @es36 + @es37 + @es38 + @es39 + @es40 + @es41 + @es42 + @es43 + @es44 + @es45 + @es46 + @es47 + @es48 end if @qtde_es = 0 begin select @status = ''F'' fetch next from cursor_cores into @cor continue end truncate table #distribuicao insert into #distribuicao execute (''select a.produto, a.cor_produto, e.filial, porcentagem_total, ponteiro_preco_tam, varia_preco_tam, varia_preco_cor from romaneios_produto a join produtos b on a.produto = b.produto join produto_cores c on c.produto = a.produto '' + @xwhere + @xwhere1 + @xwhere2 + @xwhere3 + '' join distribuicao_porcentagem e on d.codigo_agrupamento = e.codigo_agrupamento and d.codigo_valor_agrupamento = e.codigo_valor_agrupamento where romaneio = '' + @aspas + @romaneio + @aspas + '' and a.filial = '' + @aspas + @filial + @aspas + '' and a.produto = '' + @aspas + @produto + @aspas + '' and a.cor_produto = '' + @aspas + @cor + @aspas + '' and porcentagem_total <> 0 order by a.produto, a.cor_produto, porcentagem_total, e.filial'') declare cursor_itens scroll cursor for select produto, cor_produto, filial, porcentagem, ponteiro_preco_tam, varia_preco_tam, varia_preco_cor from #distribuicao open cursor_itens fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor while @@fetch_status = 0 begin if @filiali is not null begin if @processa_pack = 1 begin select @qtde_p = round((@qtde_es * @porcentagemi) / 100, 0) select @qtde_p = case when @qtde_p > @qtde_d then @qtde_d else @qtde_p end select @q1 = @qtde_p * @p1, @q2 = @qtde_p * @p2, @q3 = @qtde_p * @p3, @q4 = @qtde_p * @p4, @q5 = @qtde_p * @p5, @q6 = @qtde_p * @p6, @q7 = @qtde_p * @p7, @q8 = @qtde_p * @p8, @q9 = @qtde_p * @p9, @q10 = @qtde_p * @p10, @q11 = @qtde_p * @p11, @q12 = @qtde_p * @p12, @q13 = @qtde_p * @p13, @q14 = @qtde_p * @p14, @q15 = @qtde_p * @p15, @q16 = @qtde_p * @p16, @q17 = @qtde_p * @p17, @q18 = @qtde_p * @p18, @q19 = @qtde_p * @p19, @q20 = @qtde_p * @p20, @q21 = @qtde_p * @p21, @q22 = @qtde_p * @p22, @q23 = @qtde_p * @p23, @q24 = @qtde_p * @p24, @q25 = @qtde_p * @p25, @q26 = @qtde_p * @p26, @q27 = @qtde_p * @p27, @q28 = @qtde_p * @p28, @q29 = @qtde_p * @p29, @q30 = @qtde_p * @p30, @q31 = @qtde_p * @p31, @q32 = @qtde_p * @p32, @q33 = @qtde_p * @p33, @q34 = @qtde_p * @p34, @q35 = @qtde_p * @p35, @q36 = @qtde_p * @p36, @q37 = @qtde_p * @p37, @q38 = @qtde_p * @p38, @q39 = @qtde_p * @p39, @q40 = @qtde_p * @p40, @q41 = @qtde_p * @p41, @q42 = @qtde_p * @p42, @q43 = @qtde_p * @p43, @q44 = @qtde_p * @p44, @q45 = @qtde_p * @p45, @q46 = @qtde_p * @p46, @q47 = @qtde_p * @p47, @q48 = @qtde_p * @p48 end else begin select @qtde_d = @d1 + @d2 + @d3 + @d4 + @d5 + @d6 + @d7 + @d8 + @d9 + @d10 + @d11 + @d12 + @d13 + @d14 + @d15 + @d16 + @d17 + @d18 + @d19 + @d20 + @d21 + @d22 + @d23 + @d24 + @d25 + @d26 + @d27 + @d28 + @d29 + @d30 + @d31 + @d32 + @d33 + @d34 + @d35 + @d36 + @d37 + @d38 + @d39 + @d40 + @d41 + @d42 + @d43 + @d44 + @d45 + @d46 + @d47 + @d48 select @q1 = round((@es1 * @porcentagemi) / 100, 0), @q2 = round((@es2 * @porcentagemi) / 100, 0), @q3 = round((@es3 * @porcentagemi) / 100, 0), @q4 = round((@es4 * @porcentagemi) / 100, 0), @q5 = round((@es5 * @porcentagemi) / 100, 0), @q6 = round((@es6 * @porcentagemi) / 100, 0), @q7 = round((@es7 * @porcentagemi) / 100, 0), @q8 = round((@es8 * @porcentagemi) / 100, 0), @q9 = round((@es9 * @porcentagemi) / 100, 0), @q10 = round((@es10 * @porcentagemi) / 100, 0), @q11 = round((@es11 * @porcentagemi) / 100, 0), @q12 = round((@es12 * @porcentagemi) / 100, 0), @q13 = round((@es13 * @porcentagemi) / 100, 0), @q14 = round((@es14 * @porcentagemi) / 100, 0), @q15 = round((@es15 * @porcentagemi) / 100, 0), @q16 = round((@es16 * @porcentagemi) / 100, 0), @q17 = round((@es17 * @porcentagemi) / 100, 0), @q18 = round((@es18 * @porcentagemi) / 100, 0), @q19 = round((@es19 * @porcentagemi) / 100, 0), @q20 = round((@es20 * @porcentagemi) / 100, 0), @q21 = round((@es21 * @porcentagemi) / 100, 0), @q22 = round((@es22 * @porcentagemi) / 100, 0), @q23 = round((@es23 * @porcentagemi) / 100, 0), @q24 = round((@es24 * @porcentagemi) / 100, 0), @q25 = round((@es25 * @porcentagemi) / 100, 0), @q26 = round((@es26 * @porcentagemi) / 100, 0), @q27 = round((@es27 * @porcentagemi) / 100, 0), @q28 = round((@es28 * @porcentagemi) / 100, 0), @q29 = round((@es29 * @porcentagemi) / 100, 0), @q30 = round((@es30 * @porcentagemi) / 100, 0), @q31 = round((@es31 * @porcentagemi) / 100, 0), @q32 = round((@es32 * @porcentagemi) / 100, 0), @q33 = round((@es33 * @porcentagemi) / 100, 0), @q34 = round((@es34 * @porcentagemi) / 100, 0), @q35 = round((@es35 * @porcentagemi) / 100, 0), @q36 = round((@es36 * @porcentagemi) / 100, 0), @q37 = round((@es37 * @porcentagemi) / 100, 0), @q38 = round((@es38 * @porcentagemi) / 100, 0), @q39 = round((@es39 * @porcentagemi) / 100, 0), @q40 = round((@es40 * @porcentagemi) / 100, 0), @q41 = round((@es41 * @porcentagemi) / 100, 0), @q42 = round((@es42 * @porcentagemi) / 100, 0), @q43 = round((@es43 * @porcentagemi) / 100, 0), @q44 = round((@es44 * @porcentagemi) / 100, 0), @q45 = round((@es45 * @porcentagemi) / 100, 0), @q46 = round((@es46 * @porcentagemi) / 100, 0), @q47 = round((@es47 * @porcentagemi) / 100, 0), @q48 = round((@es48 * @porcentagemi) / 100, 0) select @q1 = case when @d1 > @q1 then @q1 else @d1 end, @q2 = case when @d2 > @q2 then @q2 else @d2 end, @q3 = case when @d3 > @q3 then @q3 else @d3 end, @q4 = case when @d4 > @q4 then @q4 else @d4 end, @q5 = case when @d5 > @q5 then @q5 else @d5 end, @q6 = case when @d6 > @q6 then @q6 else @d6 end, @q7 = case when @d7 > @q7 then @q7 else @d7 end, @q8 = case when @d8 > @q8 then @q8 else @d8 end, @q9 = case when @d9 > @q9 then @q9 else @d9 end, @q10 = case when @d10 > @q10 then @q10 else @d10 end, @q11 = case when @d11 > @q11 then @q11 else @d11 end, @q12 = case when @d12 > @q12 then @q12 else @d12 end, @q13 = case when @d13 > @q13 then @q13 else @d13 end, @q14 = case when @d14 > @q14 then @q14 else @d14 end, @q15 = case when @d15 > @q15 then @q15 else @d15 end, @q16 = case when @d16 > @q16 then @q16 else @d16 end, @q17 = case when @d17 > @q17 then @q17 else @d17 end, @q18 = case when @d18 > @q18 then @q18 else @d18 end, @q19 = case when @d19 > @q19 then @q19 else @d19 end, @q20 = case when @d20 > @q20 then @q20 else @d20 end, @q21 = case when @d21 > @q21 then @q21 else @d21 end, @q22 = case when @d22 > @q22 then @q22 else @d22 end, @q23 = case when @d23 > @q23 then @q23 else @d23 end, @q24 = case when @d24 > @q24 then @q24 else @d24 end, @q25 = case when @d25 > @q25 then @q25 else @d25 end, @q26 = case when @d26 > @q26 then @q26 else @d26 end, @q27 = case when @d27 > @q27 then @q27 else @d27 end, @q28 = case when @d28 > @q28 then @q28 else @d28 end, @q29 = case when @d29 > @q29 then @q29 else @d29 end, @q30 = case when @d30 > @q30 then @q30 else @d30 end, @q31 = case when @d31 > @q31 then @q31 else @d31 end, @q32 = case when @d32 > @q32 then @q32 else @d32 end, @q33 = case when @d33 > @q33 then @q33 else @d33 end, @q34 = case when @d34 > @q34 then @q34 else @d34 end, @q35 = case when @d35 > @q35 then @q35 else @d35 end, @q36 = case when @d36 > @q36 then @q36 else @d36 end, @q37 = case when @d37 > @q37 then @q37 else @d37 end, @q38 = case when @d38 > @q38 then @q38 else @d38 end, @q39 = case when @d39 > @q39 then @q39 else @d39 end, @q40 = case when @d40 > @q40 then @q40 else @d40 end, @q41 = case when @d41 > @q41 then @q41 else @d41 end, @q42 = case when @d42 > @q42 then @q42 else @d42 end, @q43 = case when @d43 > @q43 then @q43 else @d43 end, @q44 = case when @d44 > @q44 then @q44 else @d44 end, @q45 = case when @d45 > @q45 then @q45 else @d45 end, @q46 = case when @d46 > @q46 then @q46 else @d46 end, @q47 = case when @d47 > @q47 then @q47 else @d47 end, @q48 = case when @d48 > @q48 then @q48 else @d48 end end select @qtde = @q1 + @q2 + @q3 + @q4 + @q5 + @q6 + @q7 + @q8 + @q9 + @q10 + @q11 + @q12 + @q13 + @q14 + @q15 + @q16 + @q17 + @q18 + @q19 + @q20 + @q21 + @q22 + @q23 + @q24 + @q25 + @q26 + @q27 + @q28 + @q29 + @q30 + @q31 + @q32 + @q33 + @q34 + @q35 + @q36 + @q37 + @q38 + @q39 + @q40 + @q41 + @q42 + @q43 + @q44 + @q45 + @q46 + @q47 + @q48 select @valor = 0, @pedido = null /* verifica se utiliza tabela de preco do cliente ou do parametro p/ distribuicao */ if @tab_preco_cliente = 1 begin select @tabela = codigo_tab_preco from clientes_atacado where cliente_atacado = @filiali if @tabela is null or @tabela = '''' select @tabela = @tab_preco end else select @tabela = @tab_preco select @pedido = pedido from vendas where romaneio = @romaneio and cliente_atacado = @filiali if @pedido is null or @@rowcount = 0 begin if @qtde = 0 begin fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor continue end select @pedido = sequencia, @tamanho = tamanho from sequenciais where tabela_coluna = ''vendas.pedido'' update sequenciais set sequencia = right(convert(char(13), (1000000000000 + convert(int, @pedido) + 1)), @tamanho) where tabela_coluna = ''vendas.pedido'' insert into vendas (pedido, romaneio, colecao, codigo_tab_preco, tipo, condicao_pgto, filial, cliente_atacado, transportadora, moeda, representante, gerente, comissao, comissao_gerente, porcentagem_acerto, emissao, cadastramento, tot_qtde_original, tot_qtde_entregar, tot_valor_original, tot_valor_entregar, desconto, encargo, valor_ipi, tabela_filha, obs, aprovacao, desconto_sobre_1, desconto_sobre_2, desconto_sobre_3, desconto_sobre_4) values(@pedido, @romaneio, @colecao, @tabela, @tipo_venda, @cond_pgto, @filial, @filiali, @transportadora, @moeda, @representante, @gerente, @comissao, @comissao_gerente, @porc_acerto, @data, @data, 0, 0, 0, 0, 0, 0, 0, ''VENDAS_PRODUTO'', ''PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO No. '' + @romaneio, ''E'', 0, 0, 0, 0) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Problema no Insert em VENDAS !!!'' goto error end end else begin if @qtde = 0 begin delete from vendas_produto where pedido = @pedido and produto = @produtoi and cor_produto = @cori select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor continue end end select @preco1 = 0, @preco2 = 0, @preco3 = 0, @preco4 = 0 if @varia_preco_cor = 1 select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_preco_cor where codigo_tab_preco = @tabela and produto = @produtoi and cor_produto = @cori else select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_precos where codigo_tab_preco = @tabela and produto = @produtoi if @varia_preco_tam = 1 begin select @xconta = 1 while @xconta <= @maximo_tamanhos begin select @valor = @valor + convert(numeric(14, 2), (case @xconta when 1 then @q1 when 2 then @q2 when 3 then @q3 when 4 then @q4 when 5 then @q5 when 6 then @q6 when 7 then @q7 when 8 then @q8 when 9 then @q9 when 10 then @q10 when 11 then @q11 when 12 then @q12 when 13 then @q13 when 14 then @q14 when 15 then @q15 when 16 then @q16 when 17 then @q17 when 18 then @q18 when 19 then @q19 when 20 then @q20 when 21 then @q21 when 22 then @q22 when 23 then @q23 when 24 then @q24 when 25 then @q25 when 26 then @q26 when 27 then @q27 when 28 then @q28 when 29 then @q29 when 30 then @q30 when 31 then @q31 when 32 then @q32 when 33 then @q33 when 34 then @q34 when 35 then @q35 when 36 then @q36 when 37 then @q37 when 38 then @q38 when 39 then @q39 when 40 then @q40 when 41 then @q41 when 42 then @q42 when 43 then @q43 when 44 then @q44 when 45 then @q45 when 46 then @q46 when 47 then @q47 when 48 then @q48 end)*((case convert(int, substring(@ponteiro_preco_tam , @xconta, 1)) when 1 then @preco1 when 2 then @preco2 when 3 then @preco3 when 4 then @preco4 end))), @xconta = @xconta + 1 end end else select @valor = @qtde * @preco1 if exists (select * from vendas_produto where pedido = @pedido and produto = @produtoi and cor_produto = @cori) begin update vendas_produto set vo1 = @q1, vo2 = @q2, vo3 = @q3, vo4 = @q4, vo5 = @q5, vo6 = @q6, vo7 = @q7, vo8 = @q8, vo9 = @q9, vo10 = @q10, vo11 = @q11, vo12 = @q12, vo13 = @q13, vo14 = @q14, vo15 = @q15, vo16 = @q16, vo17 = @q17, vo18 = @q18, vo19 = @q19, vo20 = @q20, vo21 = @q21, vo22 = @q22, vo23 = @q23, vo24 = @q24, vo25 = @q25, vo26 = @q26, vo27 = @q27, vo28 = @q28, vo29 = @q29, vo30 = @q30, vo31 = @q31, vo32 = @q32, vo33 = @q33, vo34 = @q34, vo35 = @q35, vo36 = @q36, vo37 = @q37, vo38 = @q38, vo39 = @q39, vo40 = @q40, vo41 = @q41, vo42 = @q42, vo43 = @q43, vo44 = @q44, vo45 = @q45, vo46 = @q46, vo47 = @q47, vo48 = @q48, ve1 = @q1, ve2 = @q2, ve3 = @q3, ve4 = @q4, ve5 = @q5, ve6 = @q6, ve7 = @q7, ve8 = @q8, ve9 = @q9, ve10 = @q10, ve11 = @q11, ve12 = @q12, ve13 = @q13, ve14 = @q14, ve15 = @q15, ve16 = @q16, ve17 = @q17, ve18 = @q18, ve19 = @q19, ve20 = @q20, ve21 = @q21, ve22 = @q22, ve23 = @q23, ve24 = @q24, ve25 = @q25, ve26 = @q26, ve27 = @q27, ve28 = @q28, ve29 = @q29, ve30 = @q30, ve31 = @q31, ve32 = @q32, ve33 = @q33, ve34 = @q34, ve35 = @q35, ve36 = @q36, ve37 = @q37, ve38 = @q38, ve39 = @q39, ve40 = @q40, ve41 = @q41, ve42 = @q42, ve43 = @q43, ve44 = @q44, ve45 = @q45, ve46 = @q46, ve47 = @q47, ve48 = @q48, qtde_original = @qtde, qtde_entregar = @qtde, valor_original = @valor, valor_entregar = @valor, preco1 = @preco1, preco2 = @preco2, preco3 = @preco3, preco4 = @preco4 where pedido = @pedido and produto = @produtoi and cor_produto = @cori end else begin insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) values (@pedido, @produtoi, @cori, @data, @data, @qtde, @qtde, @valor, @valor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48, @preco1, @preco2, @preco3, @preco4) end select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido if not exists (select * from romaneios_reservas where produto = @produtoi and cor_produto = @cori and romaneio = @romaneio and filial = @filial and pedido = @pedido) insert into romaneios_reservas (romaneio, filial, pedido, produto, cor_produto, cor_pedido, entrega, qtde_r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40 ,r41, r42, r43, r44, r45, r46, r47, r48) values (@romaneio, @filial, @pedido, @produtoi, @cori, @cori, @data, @qtde, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48) else update romaneios_reservas set r1 = @q1, r2 = @q2, r3 = @q3, r4 = @q4, r5 = @q5, r6 = @q6, r7 = @q7, r8 = @q8, r9 = @q9, r10 = @q10, r11 = @q11, r12 = @q12, r13 = @q13, r14 = @q14, r15 = @q15, r16 = @q16, r17 = @q17, r18 = @q18, r19 = @q19, r20 = @q20, r21 = @q21, r22 = @q22, r23 = @q23, r24 = @q24, r25 = @q25, r26 = @q26, r27 = @q27, r28 = @q28, r29 = @q29, r30 = @q30, r31 = @q31, r32 = @q32, r33 = @q33, r34 = @q34, r35 = @q35, r36 = @q36, r37 = @q37, r38 = @q38, r39 = @q39, r40 = @q40, r41 = @q41, r42 = @q42, r43 = @q43, r44 = @q44, r45 = @q45, r46 = @q46, r47 = @q47, r48 = @q48, qtde_r = @qtde where romaneio = @romaneio and filial = @filial and produto = @produtoi and cor_produto = @cori and pedido = @pedido if @processa_pack = 1 select @qtde_d = @qtde_d - @qtde_p else begin select @d1 = @d1 - @q1, @d2 = @d2 - @q2, @d3 = @d3 - @q3, @d4 = @d4 - @q4, @d5 = @d5 - @q5, @d6 = @d6 - @q6, @d7 = @d7 - @q7, @d8 = @d8 - @q8, @d9 = @d9 - @q9, @d10 = @d10 - @q10, @d11 = @d11 - @q11, @d12 = @d12 - @q12, @d13 = @d13 - @q13, @d14 = @d14 - @q14, @d15 = @d15 - @q15, @d16 = @d16 - @q16, @d17 = @d17 - @q17, @d18 = @d18 - @q18, @d19 = @d19 - @q19, @d20 = @d20 - @q20, @d21 = @d21 - @q21, @d22 = @q22 - @q22, @d23 = @d23 - @q23, @d24 = @d24 - @q24, @d25 = @d25 - @q25, @d26 = @d26 - @q26, @d27 = @d27 - @q27, @d28 = @d28 - @q28, @d29 = @d29 - @q29, @d30 = @d30 - @q30, @d31 = @d31 - @q31, @d32 = @d32 - @q32, @d33 = @d33 - @q33, @d34 = @d34 - @q34, @d35 = @d35 - @q35, @d36 = @d36 - @q36, @d37 = @d37 - @q37, @d38 = @d38 - @q38, @d39 = @d39 - @q39, @d40 = @d40 - @q40, @d41 = @d41 - @q41, @d42 = @d42 - @q42, @d43 = @d43 - @q43, @d44 = @d44 - @q44, @d45 = @d45 - @q45, @d46 = @d46 - @q46, @d47 = @d47 - @q47, @d48 = @d48 - @q48 select @qtde_d = @d1 + @d2 + @d3 + @d4 + @d5 + @d6 + @d7 + @d8 + @d9 + @d10 + @d11 + @d12 + @d13 + @d14 + @d15 + @d16 + @d17 + @d18 + @d19 + @d20 + @d21 + @d22 + @d23 + @d24 + @d25 + @d26 + @d27 + @d28 + @d29 + @d30 + @d31 + @d32 + @d33 + @d34 + @d35 + @d36 + @d37 + @d38 + @d39 + @d40 + @d41 + @d42 + @d43 + @d44 + @d45 + @d46 + @d47 + @d48 end if @status <> ''D'' and @status <> ''F'' select @status = ''P'' end else select @status = ''D'' fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor end while @qtde_d > 0 begin fetch first from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor while @@fetch_status = 0 begin if @porcentagemi is not null and @porcentagemi > 0 begin if @processa_pack = 1 begin select @q1 = @p1, @q2 = @p2, @q3 = @p3, @q4 = @p5, @q5 = @p5, @q6 = @p6, @q7 = @p7, @q8 = @p8, @q9 = @p9, @q10 = @p10, @q11 = @p11, @q12 = @p12, @q13 = @p13, @q14 = @p14, @q15 = @p15, @q16 = @p16, @q17 = @p17, @q18 = @p18, @q19 = @q19, @q20 = @p20, @q21 = @p21, @q22 = @p22, @q23 = @p23, @q24 = @p24, @q25 = @p25, @q26 = @p26, @q27 = @p27, @q28 = @p28, @q29 = @p29, @q30 = @p30, @q31 = @p31, @q32 = @p32, @q33 = @p33, @q34 = @p34, @q35 = @p35, @q36 = @p36, @q37 = @p37, @q38 = @p38, @q39 = @p39, @q40 = @p40, @q41 = @p41, @q42 = @p42, @q43 = @p43, @q44 = @p44, @q45 = @p45, @q46 = @p46, @q47 = @p47, @q48 = @p48 select @qtde_d = @qtde_d - 1 end else begin select @q1 = case when @d1 > 0 then 1 else 0 end, @q2 = case when @d2 > 0 then 1 else 0 end, @q3 = case when @d3 > 0 then 1 else 0 end, @q4 = case when @d4 > 0 then 1 else 0 end, @q5 = case when @d5 > 0 then 1 else 0 end, @q6 = case when @d6 > 0 then 1 else 0 end, @q7 = case when @d7 > 0 then 1 else 0 end, @q8 = case when @d8 > 0 then 1 else 0 end, @q9 = case when @d9 > 0 then 1 else 0 end, @q10 = case when @d10 > 0 then 1 else 0 end, @q11 = case when @d11 > 0 then 1 else 0 end, @q12 = case when @d12 > 0 then 1 else 0 end, @q13 = case when @d13 > 0 then 1 else 0 end, @q14 = case when @d14 > 0 then 1 else 0 end, @q15 = case when @d15 > 0 then 1 else 0 end, @q16 = case when @d16 > 0 then 1 else 0 end, @q17 = case when @d17 > 0 then 1 else 0 end, @q18 = case when @d18 > 0 then 1 else 0 end, @q19 = case when @d19 > 0 then 1 else 0 end, @q20 = case when @d20 > 0 then 1 else 0 end, @q21 = case when @d21 > 0 then 1 else 0 end, @q22 = case when @d22 > 0 then 1 else 0 end, @q23 = case when @d23 > 0 then 1 else 0 end, @q24 = case when @d24 > 0 then 1 else 0 end, @q25 = case when @d25 > 0 then 1 else 0 end, @q26 = case when @d26 > 0 then 1 else 0 end, @q27 = case when @d27 > 0 then 1 else 0 end, @q28 = case when @d28 > 0 then 1 else 0 end, @q29 = case when @d29 > 0 then 1 else 0 end, @q30 = case when @d30 > 0 then 1 else 0 end, @q31 = case when @d31 > 0 then 1 else 0 end, @q32 = case when @d32 > 0 then 1 else 0 end, @q33 = case when @d33 > 0 then 1 else 0 end, @q34 = case when @d34 > 0 then 1 else 0 end, @q35 = case when @d35 > 0 then 1 else 0 end, @q36 = case when @d36 > 0 then 1 else 0 end, @q37 = case when @d37 > 0 then 1 else 0 end, @q38 = case when @d38 > 0 then 1 else 0 end, @q39 = case when @d39 > 0 then 1 else 0 end, @q40 = case when @d40 > 0 then 1 else 0 end, @q41 = case when @d41 > 0 then 1 else 0 end, @q42 = case when @d42 > 0 then 1 else 0 end, @q43 = case when @d43 > 0 then 1 else 0 end, @q44 = case when @d44 > 0 then 1 else 0 end, @q45 = case when @d45 > 0 then 1 else 0 end, @q46 = case when @d46 > 0 then 1 else 0 end, @q47 = case when @d47 > 0 then 1 else 0 end, @q48 = case when @d48 > 0 then 1 else 0 end select @d1 = @d1 - case when @d1 > 0 then 1 else 0 end, @d2 = @d2 - case when @d2 > 0 then 1 else 0 end, @d3 = @d3 - case when @d3 > 0 then 1 else 0 end, @d4 = @d4 - case when @d4 > 0 then 1 else 0 end, @d5 = @d5 - case when @d5 > 0 then 1 else 0 end, @d6 = @d6 - case when @d6 > 0 then 1 else 0 end, @d7 = @d7 - case when @d7 > 0 then 1 else 0 end, @d8 = @d8 - case when @d8 > 0 then 1 else 0 end, @d9 = @d9 - case when @d9 > 0 then 1 else 0 end, @d10 = @d10 - case when @d10 > 0 then 1 else 0 end, @d11 = @d11 - case when @d11 > 0 then 1 else 0 end, @d12 = @d12 - case when @d12 > 0 then 1 else 0 end, @d13 = @d13 - case when @d13 > 0 then 1 else 0 end, @d14 = @d14 - case when @d14 > 0 then 1 else 0 end, @d15 = @d15 - case when @d15 > 0 then 1 else 0 end, @d16 = @d16 - case when @d16 > 0 then 1 else 0 end, @d17 = @d17 - case when @d17 > 0 then 1 else 0 end, @d18 = @d18 - case when @d18 > 0 then 1 else 0 end, @d19 = @d19 - case when @d19 > 0 then 1 else 0 end, @d20 = @d20 - case when @d20 > 0 then 1 else 0 end, @d21 = @d21 - case when @d21 > 0 then 1 else 0 end, @d22 = @d22 - case when @d22 > 0 then 1 else 0 end, @d23 = @d23 - case when @d23 > 0 then 1 else 0 end, @d24 = @d24 - case when @d24 > 0 then 1 else 0 end, @d25 = @d25 - case when @d25 > 0 then 1 else 0 end, @d26 = @d26 - case when @d25 > 0 then 1 else 0 end, @d27 = @d27 - case when @d27 > 0 then 1 else 0 end, @d28 = @d28 - case when @d28 > 0 then 1 else 0 end, @d29 = @d29 - case when @d29 > 0 then 1 else 0 end, @d30 = @d30 - case when @d30 > 0 then 1 else 0 end, @d31 = @d31 - case when @d31 > 0 then 1 else 0 end, @d32 = @d32 - case when @d32 > 0 then 1 else 0 end, @d33 = @d33 - case when @d33 > 0 then 1 else 0 end, @d34 = @d34 - case when @d34 > 0 then 1 else 0 end, @d35 = @d35 - case when @d35 > 0 then 1 else 0 end, @d36 = @d36 - case when @d36 > 0 then 1 else 0 end, @d37 = @d37 - case when @d37 > 0 then 1 else 0 end, @d38 = @d38 - case when @d38 > 0 then 1 else 0 end, @d39 = @d39 - case when @d39 > 0 then 1 else 0 end, @d40 = @d40 - case when @d40 > 0 then 1 else 0 end, @d41 = @d41 - case when @d41 > 0 then 1 else 0 end, @d42 = @d42 - case when @d42 > 0 then 1 else 0 end, @d43 = @d43 - case when @d43 > 0 then 1 else 0 end, @d44 = @d44 - case when @d44 > 0 then 1 else 0 end, @d45 = @d45 - case when @d45 > 0 then 1 else 0 end, @d46 = @d46 - case when @d46 > 0 then 1 else 0 end, @d47 = @d47 - case when @d47 > 0 then 1 else 0 end, @d48 = @d48 - case when @d48 > 0 then 1 else 0 end select @qtde_d = @d1 + @d2 + @d3 + @d4 + @d5 + @d6 + @d7 + @d8 + @d9 + @d10 + @d11 + @d12 + @d13 + @d14 + @d15 + @d16 + @d17 + @d18 + @d19 + @d20 + @d21 + @d22 + @d23 + @d24 + @d25 + @d26 + @d27 + @d28 + @d29 + @d30 + @d31 + @d32 + @d33 + @d34 + @d35 + @d36 + @d37 + @d38 + @d39 + @d40 + @d41 + @d42 + @d43 + @d44 + @d45 + @d46 + @d47 + @d48 end select @pedido = pedido from vendas where romaneio = @romaneio and cliente_atacado = @filiali select @qtde = @q1 + @q2 + @q3 + @q4 + @q5 + @q6 + @q7 + @q8 + @q9 + @q10 + @q11 + @q12 + @q13 + @q14 + @q15 + @q16 + @q17 + @q18 + @q19 + @q20 + @q21 + @q22 + @q23 + @q24 + @q25 + @q26 + @q27 + @q28 + @q29 + @q30 + @q31 + @q32 + @q33 + @q34 + @q35 + @q36 + @q37 + @q38 + @q39 + @q40 + @q41 + @q42 + @q43 + @q44 + @q45 + @q46 + @q47 + @q48 select @preco1 = 0, @preco2 = 0, @preco3 = 0, @preco4 = 0 if @varia_preco_cor = 1 select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_preco_cor where codigo_tab_preco = @tabela and produto = @produtoi and cor_produto = @cori else select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_precos where codigo_tab_preco = @tabela and produto = @produtoi if @varia_preco_tam = 1 begin select @xconta = 1 while @xconta <= @maximo_tamanhos begin select @valor = @valor + convert(numeric(14, 2), (case @xconta when 1 then @q1 when 2 then @q2 when 3 then @q3 when 4 then @q4 when 5 then @q5 when 6 then @q6 when 7 then @q7 when 8 then @q8 when 9 then @q9 when 10 then @q10 when 11 then @q11 when 12 then @q12 when 13 then @q13 when 14 then @q14 when 15 then @q15 when 16 then @q16 when 17 then @q17 when 18 then @q18 when 19 then @q19 when 20 then @q20 when 21 then @q21 when 22 then @q22 when 23 then @q23 when 24 then @q24 when 25 then @q25 when 26 then @q26 when 27 then @q27 when 28 then @q28 when 29 then @q29 when 30 then @q30 when 31 then @q31 when 32 then @q32 when 33 then @q33 when 34 then @q34 when 35 then @q35 when 36 then @q36 when 37 then @q37 when 38 then @q38 when 39 then @q39 when 40 then @q40 when 41 then @q41 when 42 then @q42 when 43 then @q43 when 44 then @q44 when 45 then @q45 when 46 then @q46 when 47 then @q47 when 48 then @q48 end)*((case convert(int, substring(@ponteiro_preco_tam , @xconta, 1)) when 1 then @preco1 when 2 then @preco2 when 3 then @preco3 when 4 then @preco4 end))), @xconta = @xconta + 1 end end else select @valor = @qtde * @preco1 update vendas_produto set vo1 = vo1 + @q1, vo2 = vo2 + @q2, vo3 = vo3 + @q3, vo4 = vo4 + @q4, vo5 = vo5 + @q5, vo6 = vo6 + @q6, vo7 = vo7 + @q7, vo8 = vo8 + @q8, vo9 = vo9 + @q9, vo10 = vo10 + @q10, vo11 = vo11 + @q11, vo12 = vo12 + @q12, vo13 = vo13 + @q13, vo14 = vo14 + @q14, vo15 = vo15 + @q15, vo16 = vo16 + @q16, vo17 = vo17 + @q17, vo18 = vo18 + @q18, vo19 = vo19 + @q19, vo20 = vo20 + @q20, vo21 = vo21 + @q21, vo22 = vo22 + @q22, vo23 = vo23 + @q23, vo24 = vo24 + @q24, vo25 = vo25 + @q25, vo26 = vo26 + @q26, vo27 = vo27 + @q27, vo28 = vo28 + @q28, vo29 = vo29 + @q29, vo30 = vo30 + @q30, vo31 = vo31 + @q31, vo32 = vo32 + @q32, vo33 = vo33 + @q33, vo34 = vo34 + @q34, vo35 = vo35 + @q35, vo36 = vo36 + @q36, vo37 = vo37 + @q37, vo38 = vo38 + @q38, vo39 = vo39 + @q39, vo40 = vo40 + @q40, vo41 = vo41 + @q41, vo42 = vo42 + @q42, vo43 = vo43 + @q43, vo44 = vo44 + @q44, vo45 = vo45 + @q45, vo46 = vo46 + @q46, vo47 = vo47 + @q47, vo48 = vo48 + @q48, ve1 = ve1 + @q1, ve2 = ve2 + @q2, ve3 = ve3 + @q3, ve4 = ve4 + @q4, ve5 = ve5 + @q5, ve6 = ve6 + @q6, ve7 = ve7 + @q7, ve8 = ve8 + @q8, ve9 = ve9 + @q9, ve10 = ve10 + @q10, ve11 = ve11 + @q11, ve12 = ve12 + @q12, ve13 = ve13 + @q13, ve14 = ve14 + @q14, ve15 = ve15 + @q15, ve16 = ve16 + @q16, ve17 = ve17 + @q17, ve18 = ve18 + @q18, ve19 = ve19 + @q19, ve20 = ve20 + @q20, ve21 = ve21 + @q21, ve22 = ve22 + @q22, ve23 = ve23 + @q23, ve24 = ve24 + @q24, ve25 = ve25 + @q25, ve26 = ve26 + @q26, ve27 = ve27 + @q27, ve28 = ve28 + @q28, ve29 = ve29 + @q29, ve30 = ve30 + @q30, ve31 = ve31 + @q31, ve32 = ve32 + @q32, ve33 = ve33 + @q33, ve34 = ve34 + @q34, ve35 = ve35 + @q35, ve36 = ve36 + @q36, ve37 = ve37 + @q37, ve38 = ve38 + @q38, ve39 = ve39 + @q39, ve40 = ve40 + @q40, ve41 = ve41 + @q41, ve42 = ve42 + @q42, ve43 = ve43 + @q43, ve44 = ve44 + @q44, ve45 = ve45 + @q45, ve46 = ve46 + @q46, ve47 = ve47 + @q47, ve48 = ve48 + @q48, qtde_original = qtde_original + @qtde, qtde_entregar = qtde_entregar + @qtde, valor_original = valor_original + @valor, valor_entregar = valor_entregar + @valor where pedido = @pedido and produto = @produtoi and cor_produto = @cori select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido update romaneios_reservas set r1 = r1 + @q1, r2 = r2 + @q2, r3 = r3 + @q3, r4 = r4 + @q4, r5 = r5 + @q5, r6 = r6 + @q6, r7 = r7 + @q7, r8 = r8 + @q8, r9 = r9 + @q9, r10 = r10 + @q10, r11 = r11 + @q11, r12 = r12 + @q12, r13 = r13 + @q13, r14 = r14 + @q14, r15 = r15 + @q15, r16 = r16 + @q16, r17 = r17 + @q17, r18 = r18 + @q18, r19 = r19 + @q19, r20 = r20 + @q20, r21 = r21 + @q21, r22 = r22 + @q22, r23 = r23 + @q23, r24 = r24 + @q24, r25 = r25 + @q25, r26 = r26 + @q26, r27 = r27 + @q27, r28 = r28 + @q28, r29 = r29 + @q29, r30 = r30 + @q30, r31 = r31 + @q31, r32 = r32 + @q32, r33 = r33 + @q33, r34 = r34 + @q34, r35 = r35 + @q35, r36 = r36 + @q36, r37 = r37 + @q37, r38 = r38 + @q38, r39 = r39 + @q39, r40 = r40 + @q40, r41 = r41 + @q41, r42 = r42 + @q42, r43 = r43 + @q43, r44 = r44 + @q44, r45 = r45 + @q45, r46 = r46 + @q46, r47 = r47 + @q47, r48 = r48 + @q48, qtde_r = qtde_r + @qtde where pedido = @pedido and romaneio = @romaneio and produto = @produtoi and cor_produto = @cori end if @qtde_d = 0 or @filiali is null break else fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor end if @qtde_d = 0 or @filiali is null break end close cursor_itens deallocate cursor_itens fetch next from cursor_cores into @cor end close cursor_cores deallocate cursor_cores end /* processamento de pack cor 2 */ else begin select @status = ''P'' /* limpa tabela temporaria */ truncate table tmp_estoque_distribuicao select @select1 = '' select a.produto, a.cor_produto, a.filial, ''+ '' case when avg(q1) = 0 then 0 else (sum(d1) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q1) end d1, case when avg(q2) = 0 then 0 else (sum(d2) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q2) end d2, case when avg(q3) = 0 then 0 else (sum(d3) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q3) end d3, case when avg(q4) = 0 then 0 else (sum(d4) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q4) end d4, case when avg(q5) = 0 then 0 else (sum(d5) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q5) end d5, case when avg(q6) = 0 then 0 else (sum(d6) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q6) end d6, case when avg(q7) = 0 then 0 else (sum(d7) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q7) end d7, case when avg(q8) = 0 then 0 else (sum(d8) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q8) end d8, case when avg(q9) = 0 then 0 else (sum(d9) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q9) end d9, case when avg(q10) = 0 then 0 else (sum(d10) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q10) end d10, case when avg(q11) = 0 then 0 else (sum(d11) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q11) end d11, case when avg(q12) = 0 then 0 else (sum(d12) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q12) end d12, ''+ '' case when avg(q13) = 0 then 0 else (sum(d13) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q13) end d13, case when avg(q14) = 0 then 0 else (sum(d14) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q14) end d14, case when avg(q15) = 0 then 0 else (sum(d15) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q15) end d15, case when avg(q16) = 0 then 0 else (sum(d16) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q16) end d16, case when avg(q17) = 0 then 0 else (sum(d17) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q17) end d17, case when avg(q18) = 0 then 0 else (sum(d18) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q18) end d18, case when avg(q19) = 0 then 0 else (sum(d19) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q19) end d19, case when avg(q20) = 0 then 0 else (sum(d20) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q20) end d20, case when avg(q21) = 0 then 0 else (sum(d21) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q21) end d21, case when avg(q22) = 0 then 0 else (sum(d22) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q22) end d22, case when avg(q23) = 0 then 0 else (sum(d23) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q23) end d23, case when avg(q24) = 0 then 0 else (sum(d24) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q24) end d24, ''+ '' case when avg(q25) = 0 then 0 else (sum(d25) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q25) end d25, case when avg(q26) = 0 then 0 else (sum(d26) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q26) end d26, case when avg(q27) = 0 then 0 else (sum(d27) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q27) end d27, case when avg(q28) = 0 then 0 else (sum(d28) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q28) end d28, case when avg(q29) = 0 then 0 else (sum(d29) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q29) end d29, case when avg(q30) = 0 then 0 else (sum(d30) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q30) end d30, case when avg(q31) = 0 then 0 else (sum(d31) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q31) end d31, case when avg(q32) = 0 then 0 else (sum(d32) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q32) end d32, case when avg(q33) = 0 then 0 else (sum(d33) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q33) end d33, case when avg(q34) = 0 then 0 else (sum(d34) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q34) end d34, case when avg(q35) = 0 then 0 else (sum(d35) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q35) end d35, case when avg(q36) = 0 then 0 else (sum(d36) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q36) end d36, ''+ '' case when avg(q37) = 0 then 0 else (sum(d37) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q37) end d37, case when avg(q38) = 0 then 0 else (sum(d38) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q38) end d38, case when avg(q39) = 0 then 0 else (sum(d39) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q39) end d39, case when avg(q40) = 0 then 0 else (sum(d40) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q40) end d40, case when avg(q41) = 0 then 0 else (sum(d41) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q41) end d41, case when avg(q42) = 0 then 0 else (sum(d42) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q42) end d42, case when avg(q43) = 0 then 0 else (sum(d43) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q43) end d43, case when avg(q44) = 0 then 0 else (sum(d44) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q44) end d44, case when avg(q45) = 0 then 0 else (sum(d45) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q45) end d45, case when avg(q46) = 0 then 0 else (sum(d46) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q46) end d46, case when avg(q47) = 0 then 0 else (sum(d47) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q47) end d47, case when avg(q48) = 0 then 0 else (sum(d48) * '' + convert(char(10), @porcentagem) + '' / 100) / avg(q48) end d48 ''+ '' from ( '' /* estoque - reservado */ if charindex(''E'', @disponivel) > 0 begin select @select2 = '' select estoque_produtos.produto, estoque_produtos.cor_produto, estoque_produtos.filial, ''+ '' case when (case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) ) < 0 then 0 else case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) end d1, ''+ '' case when (case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) ) < 0 then 0 else case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) end d2, ''+ '' case when (case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) ) < 0 then 0 else case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) end d3, ''+ '' case when (case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) ) < 0 then 0 else case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) end d4, ''+ '' case when (case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) ) < 0 then 0 else case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) end d5, ''+ '' case when (case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) ) < 0 then 0 else case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) end d6, ''+ '' case when (case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) ) < 0 then 0 else case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) end d7, ''+ '' case when (case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) ) < 0 then 0 else case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) end d8, ''+ '' case when (case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) ) < 0 then 0 else case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) end d9, ''+ '' case when (case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) ) < 0 then 0 else case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) end d10, ''+ '' case when (case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) ) < 0 then 0 else case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) end d11, ''+ '' case when (case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) ) < 0 then 0 else case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) end d12, ''+ '' case when (case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) ) < 0 then 0 else case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) end d13, ''+ '' case when (case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) ) < 0 then 0 else case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) end d14, ''+ '' case when (case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) ) < 0 then 0 else case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) end d15, ''+ '' case when (case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) ) < 0 then 0 else case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) end d16, ''+ '' case when (case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) ) < 0 then 0 else case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) end d17, ''+ '' case when (case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) ) < 0 then 0 else case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) end d18, ''+ '' case when (case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) ) < 0 then 0 else case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) end d19, ''+ '' case when (case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) ) < 0 then 0 else case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) end d20, '' select @select3 = '' case when (case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) ) < 0 then 0 else case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) end d21, ''+ '' case when (case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) ) < 0 then 0 else case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) end d22, ''+ '' case when (case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) ) < 0 then 0 else case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) end d23, ''+ '' case when (case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) ) < 0 then 0 else case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) end d24, ''+ '' case when (case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) ) < 0 then 0 else case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) end d25, ''+ '' case when (case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) ) < 0 then 0 else case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) end d26, ''+ '' case when (case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) ) < 0 then 0 else case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) end d27, ''+ '' case when (case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) ) < 0 then 0 else case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) end d28, ''+ '' case when (case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) ) < 0 then 0 else case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) end d29, ''+ '' case when (case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) ) < 0 then 0 else case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) end d30, ''+ '' case when (case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) ) < 0 then 0 else case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) end d31, ''+ '' case when (case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) ) < 0 then 0 else case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) end d32, ''+ '' case when (case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) ) < 0 then 0 else case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) end d33, ''+ '' case when (case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) ) < 0 then 0 else case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) end d34, ''+ '' case when (case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) ) < 0 then 0 else case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) end d35, ''+ '' case when (case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) ) < 0 then 0 else case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) end d36, ''+ '' case when (case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) ) < 0 then 0 else case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) end d37, ''+ '' case when (case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) ) < 0 then 0 else case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) end d38, ''+ '' case when (case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) ) < 0 then 0 else case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) end d39, ''+ '' case when (case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) ) < 0 then 0 else case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) end d40, '' select @select4 = '' case when (case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) ) < 0 then 0 else case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) end d41, ''+ '' case when (case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) ) < 0 then 0 else case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) end d42, ''+ '' case when (case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) ) < 0 then 0 else case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) end d43, ''+ '' case when (case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) ) < 0 then 0 else case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) end d44, ''+ '' case when (case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) ) < 0 then 0 else case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) end d45, ''+ '' case when (case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) ) < 0 then 0 else case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) end d46, ''+ '' case when (case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) ) < 0 then 0 else case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) end d47, ''+ '' case when (case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) ) < 0 then 0 else case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) end d48 ''+ '' from estoque_produtos left join vendas_prod_embalado ''+ '' on estoque_produtos.produto = vendas_prod_embalado.produto ''+ '' and estoque_produtos.cor_produto = vendas_prod_embalado.cor_produto ''+ '' and estoque_produtos.filial = vendas_prod_embalado.filial ''+ '' where estoque_produtos.filial = '' + @aspas + @filial + @aspas + '' and estoque_produtos.produto = '' + @aspas + @produto + @aspas + '' group by estoque_produtos.produto, estoque_produtos.cor_produto, estoque_produtos.filial '' end else select @select2 = '''', @select3= '''', @select4 = '''' /* compras */ if charindex(''C'', @disponivel) > 0 begin select @select5 = case when @select2 <> '''' then '' union all '' else '''' end + '' select produto, cor_produto, filial_a_entregar as filial, ''+ '' isnull(sum(ce1), 0) d1, isnull(sum(ce2), 0) d2, isnull(sum(ce3), 0) d3, isnull(sum(ce4), 0) d4, isnull(sum(ce5), 0) d5, isnull(sum(ce6), 0) d6, isnull(sum(ce7), 0) d7, isnull(sum(ce8), 0) d8, isnull(sum(ce9), 0) d9, isnull(sum(ce10), 0) d10, isnull(sum(ce11), 0) d11, isnull(sum(ce12), 0) d12, ''+ '' isnull(sum(ce13), 0) d13, isnull(sum(ce14), 0) d14, isnull(sum(ce15), 0) d15, isnull(sum(ce16), 0) d16, isnull(sum(ce17), 0) d17, isnull(sum(ce18), 0) d18, isnull(sum(ce19), 0) d19, isnull(sum(ce20), 0) d20, isnull(sum(ce21), 0) d21, isnull(sum(ce22), 0) d22, isnull(sum(ce23), 0) d23, isnull(sum(ce24), 0) d24, ''+ '' isnull(sum(ce25), 0) d25, isnull(sum(ce26), 0) d26, isnull(sum(ce27), 0) d27, isnull(sum(ce28), 0) d28, isnull(sum(ce29), 0) d29, isnull(sum(ce30), 0) d30, isnull(sum(ce31), 0) d31, isnull(sum(ce32), 0) d32, isnull(sum(ce33), 0) d33, isnull(sum(ce34), 0) d34, isnull(sum(ce35), 0) d35, isnull(sum(ce36), 0) d36, ''+ '' isnull(sum(ce37), 0) d37, isnull(sum(ce38), 0) d38, isnull(sum(ce39), 0) d39, isnull(sum(ce40), 0) d40, isnull(sum(ce41), 0) d41, isnull(sum(ce42), 0) d42, isnull(sum(ce43), 0) d43, isnull(sum(ce44), 0) d44, isnull(sum(ce45), 0) d45, isnull(sum(ce46), 0) d46, isnull(sum(ce47), 0) d47, isnull(sum(ce48), 0) d48 ''+ '' from compras a join compras_produto b on a.pedido = b.pedido ''+ '' where filial_a_entregar = '' + @aspas + @filial + @aspas + '' and qtde_entregar > 0 '' + '' and produto = '' + @aspas + @produto + @aspas if @ped_compra is not null and @ped_compra <> '''' select @select5 = @select5 + ''and a.pedido = '' + @aspas + @ped_compra + @aspas else begin if @compras_i is not null select @select5 = @select5 + '' and emissao >= '' + @aspas + @compras_i + @aspas + '' and emissao <= ''+ @aspas + @compras_f + @aspas end select @select5 = @select5 + '' group by produto, cor_produto, filial_a_entregar '' end else select @select5 = '''' /* producao */ if charindex(''O'', @disponivel) > 0 begin select @select6 = case when @select2 <> '''' or @select5 <> '''' then '' union all '' else '''' end + '' select b.produto, cor_produto, filial, ''+ '' isnull(sum(p1), 0) d1, isnull(sum(p2), 0) d2, isnull(sum(p3), 0) d3, isnull(sum(p4), 0) d4, isnull(sum(p5), 0) d5, isnull(sum(p6), 0) d6, isnull(sum(p7), 0) d7, isnull(sum(p8), 0) d8, isnull(sum(p9), 0) d9, isnull(sum(p10), 0) d10, isnull(sum(p11), 0) d11, isnull(sum(p12), 0) d12, ''+ '' isnull(sum(p13), 0) d13, isnull(sum(p14), 0) d14, isnull(sum(p15), 0) d15, isnull(sum(p16), 0) d16, isnull(sum(p17), 0) d17, isnull(sum(p18), 0) d18, isnull(sum(p19), 0) d19, isnull(sum(p20), 0) d20, isnull(sum(p21), 0) d21, isnull(sum(p22), 0) d22, isnull(sum(p23), 0) d23, isnull(sum(p24), 0) d24, ''+ '' isnull(sum(p25), 0) d25, isnull(sum(p26), 0) d26, isnull(sum(p27), 0) d27, isnull(sum(p28), 0) d28, isnull(sum(p29), 0) d29, isnull(sum(p30), 0) d30, isnull(sum(p31), 0) d31, isnull(sum(p32), 0) d32, isnull(sum(p33), 0) d33, isnull(sum(p34), 0) d34, isnull(sum(p35), 0) d35, isnull(sum(p36), 0) d36, ''+ '' isnull(sum(p37), 0) d37, isnull(sum(p38), 0) d38, isnull(sum(p39), 0) d39, isnull(sum(p40), 0) d40, isnull(sum(p41), 0) d41, isnull(sum(p42), 0) d42, isnull(sum(p43), 0) d43, isnull(sum(p44), 0) d44, isnull(sum(p45), 0) d45, isnull(sum(p46), 0) d46, isnull(sum(p47), 0) d47, isnull(sum(p48), 0) d48 ''+ '' from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto ''+ '' where filial = '' + @aspas + @filial + @aspas + '' and qtde_p > 0 '' + '' and a.produto = '' + @aspas + @produto + @aspas if @op is not null and @op <> '''' select @select6 = @select6 + '' and a.ordem_producao = '' + @aspas + @op + @aspas else begin if @producao_i is not null select @select6 = @select6 + '' and previsao_fim >= '' + @aspas + @producao_i + @aspas + ''and previsao_fim <= '' + @aspas + @producao_f + @aspas end select @select6 = @select6 + '' group by b.produto, cor_produto, filial '' end else select @select6 = '''' /* programacao */ if charindex(''P'', @disponivel) > 0 begin select @select7 = case when @select2 <> '''' or @select5 <> '''' or @select6 <> '''' then '' union all '' else '''' end + '' select produto, cor_produto, '' + @aspas + @filial + @aspas + '' as filial, ''+ '' isnull(sum(p1), 0) d1, isnull(sum(p2), 0) d2, isnull(sum(p3), 0) d3, isnull(sum(p4), 0) d4, isnull(sum(p5), 0) d5, isnull(sum(p6), 0) d6, isnull(sum(p7), 0) d7, isnull(sum(p8), 0) d8, isnull(sum(p9), 0) d9, isnull(sum(p10), 0) d10, isnull(sum(p11), 0) d11, isnull(sum(p12), 0) d12, ''+ '' isnull(sum(p13), 0) d13, isnull(sum(p14), 0) d14, isnull(sum(p15), 0) d15, isnull(sum(p16), 0) d16, isnull(sum(p17), 0) d17, isnull(sum(p18), 0) d18, isnull(sum(p19), 0) d19, isnull(sum(p20), 0) d20, isnull(sum(p21), 0) d21, isnull(sum(p22), 0) d22, isnull(sum(p23), 0) d23, isnull(sum(p24), 0) d24, ''+ '' isnull(sum(p25), 0) d25, isnull(sum(p26), 0) d26, isnull(sum(p27), 0) d27, isnull(sum(p28), 0) d28, isnull(sum(p29), 0) d29, isnull(sum(p30), 0) d30, isnull(sum(p31), 0) d31, isnull(sum(p32), 0) d32, isnull(sum(p33), 0) d33, isnull(sum(p34), 0) d34, isnull(sum(p35), 0) d35, isnull(sum(p36), 0) d36, ''+ '' isnull(sum(p37), 0) d37, isnull(sum(p38), 0) d38, isnull(sum(p39), 0) d39, isnull(sum(p40), 0) d40, isnull(sum(p41), 0) d41, isnull(sum(p42), 0) d42, isnull(sum(p43), 0) d43, isnull(sum(p44), 0) d44, isnull(sum(p45), 0) d45, isnull(sum(p46), 0) d46, isnull(sum(p47), 0) d47, isnull(sum(p48), 0) d48 ''+ '' from producao_prog_prod where qtde_programada > 0 ''+ '' and produto = '' + @aspas + @produto + @aspas if @programacao_i is not null select @select7 = @select7 + '' and entrega_inicial >= '' + @aspas + @programacao_i + @aspas + ''and entrega_inicial <= '' + @aspas + @programacao_f + @aspas select @select7 = @select7 + '' group by produto, cor_produto '' end else select @select7 = '''' select @select8 = '' ) a join produtos_packs_permitidos b on a.produto = b.produto and a.cor_produto = b.cor_produto and b.indica_pack_cor = 1 and pack = '' + @aspas + @codigo_pack + @aspas + '' group by a.produto, a.cor_produto, a.filial '' insert into tmp_estoque_distribuicao execute (@select1 + @select2 + @select3 + @select4 + @select5 + @select6 + @select7 + @select8) /* verifica qtde de packs por cor disponivel */ declare cur_qtde_packs cursor for select cor_produto, d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16, d17, d18, d19, d20, d21, d22, d23, d24, d25, d26, d27, d28, d29, d30, d31, d32, d33, d34, d35, d36, d37, d38, d39, d40, d41, d42, d43, d44, d45, d46, d47, d48 from tmp_estoque_distribuicao open cur_qtde_packs select @qtde_es = 0 fetch next from cur_qtde_packs into @cor, @d1, @d2, @d3, @d4, @d5, @d6, @d7, @d8, @d9, @d10, @d11, @d12, @d13, @d14, @d15, @d16, @d17, @d18, @d19, @d20, @d21, @d22, @d23, @d24, @d25, @d26, @d27, @d28, @d29, @d30, @d31, @d32, @d33, @d34, @d35, @d36, @d37, @d38, @d39, @d40, @d41, @d42, @d43, @d44, @d45, @d46, @d47, @d48 while @@fetch_status = 0 begin select @p1 = q1, @p2 = q2, @p3 = q3, @p4 = q4, @p5 = q5, @p6 = q6, @p7 = q7, @p8 = q8, @p9 = q9, @p10 = q10, @p11 = q11, @p12 = q12, @p13 = q13, @p14 = q14, @p15 = q15, @p16 = q16, @p17 = q17, @p18 = q18, @p19 = q19, @p20 = q20, @p21 = q21, @p22 = q22, @p23 = q23, @p24 = q24, @p25 = q25, @p26 = q26, @p27 = q27, @p28 = q28, @p29 = q29, @p30 = q30, @p31 = q31, @p32 = q32, @p33 = q33, @p34 = q34, @p35 = q35, @p36 = q36, @p37 = q37, @p38 = q38, @p39 = q39, @p40 = q40, @p41 = q41, @p42 = q42, @p43 = q43, @p44 = q44, @p45 = q45, @p46 = q46, @p47 = q47, @p48 = q48 from produtos_packs_permitidos where produto = @produto and cor_produto = @cor and indica_pack_cor = 1 select @xconta = 1 while @xconta <= @maximo_tamanhos begin select @qtde_d = case @xconta when 1 then @d1 when 2 then @d2 when 3 then @d3 when 4 then @d4 when 5 then @d5 when 6 then @d6 when 7 then @d7 when 8 then @d8 when 9 then @d9 when 10 then @d10 when 11 then @d11 when 12 then @d12 when 13 then @d13 when 14 then @d14 when 15 then @d15 when 16 then @d16 when 17 then @d17 when 18 then @d18 when 19 then @d19 when 20 then @d20 when 21 then @d21 when 22 then @d22 when 23 then @d23 when 24 then @d24 when 25 then @d25 when 26 then @d26 when 27 then @d27 when 28 then @d28 when 29 then @d29 when 30 then @d30 when 31 then @d31 when 32 then @d32 when 33 then @d33 when 34 then @d34 when 35 then @d35 when 36 then @d36 when 37 then @d37 when 38 then @d38 when 39 then @d39 when 40 then @d40 when 41 then @d41 when 42 then @d42 when 43 then @d43 when 44 then @d44 when 45 then @d45 when 46 then @d46 when 47 then @d47 when 48 then @d48 end select @qtde_p = case @xconta when 1 then @p1 when 2 then @p2 when 3 then @p3 when 4 then @p4 when 5 then @p5 when 6 then @p6 when 7 then @p7 when 8 then @p8 when 9 then @p9 when 10 then @p10 when 11 then @p11 when 12 then @p12 when 13 then @p13 when 14 then @p14 when 15 then @p15 when 16 then @p16 when 17 then @p17 when 18 then @p18 when 19 then @p19 when 20 then @p20 when 21 then @p21 when 22 then @p22 when 23 then @p23 when 24 then @p24 when 25 then @p25 when 26 then @p26 when 27 then @p27 when 28 then @p28 when 29 then @p29 when 30 then @p30 when 31 then @p31 when 32 then @p32 when 33 then @p33 when 34 then @p34 when 35 then @p35 when 36 then @p36 when 37 then @p37 when 38 then @p38 when 39 then @p39 when 40 then @p40 when 41 then @p41 when 42 then @p42 when 43 then @p43 when 44 then @p44 when 45 then @p45 when 46 then @p46 when 47 then @p47 when 48 then @p48 end if (@qtde_es > @qtde_d and (@qtde_d > 0 and @qtde_p > 0)) or (@qtde_d = 0 and @qtde_p > 0) or (@xconta = 1 and @qtde_es = 0) select @qtde_es = @qtde_d select @xconta = @xconta + 1 end fetch next from cur_qtde_packs into @cor, @d1, @d2, @d3, @d4, @d5, @d6, @d7, @d8, @d9, @d10, @d11, @d12, @d13, @d14, @d15, @d16, @d17, @d18, @d19, @d20, @d21, @d22, @d23, @d24, @d25, @d26, @d27, @d28, @d29, @d30, @d31, @d32, @d33, @d34, @d35, @d36, @d37, @d38, @d39, @d40, @d41, @d42, @d43, @d44, @d45, @d46, @d47, @d48 end close cur_qtde_packs deallocate cur_qtde_packs select @qtde_d = @qtde_es if @qtde_d = 0 begin select @status = ''F'' fetch next from cursor_produtos into @produto, @ordem_producao continue end /* traz filias e porcentagens para distribuir */ truncate table #distribuicao insert into #distribuicao execute (''select a.produto, space(10), e.filial, porcentagem_total, ponteiro_preco_tam, varia_preco_tam, varia_preco_cor from romaneios_produto a join produtos b on a.produto = b.produto '' + @xwhere + @xwhere1 + @xwhere2 + @xwhere3 + '' join distribuicao_porcentagem e on d.codigo_agrupamento = e.codigo_agrupamento and d.codigo_valor_agrupamento = e.codigo_valor_agrupamento where romaneio = '' + @aspas + @romaneio + @aspas + '' and a.filial = '' + @aspas + @filial + @aspas + '' and a.produto = '' + @aspas + @produto + @aspas + '' and porcentagem_total <> 0 order by a.produto, porcentagem_total, e.filial'') declare cursor_itens scroll cursor for select produto, cor_produto, filial, porcentagem, ponteiro_preco_tam, varia_preco_tam, varia_preco_cor from #distribuicao open cursor_itens fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor while @@fetch_status = 0 begin if @filial is null begin select @status = ''D'' fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor continue end /* verifica se utiliza tabela de preco do cliente ou do parametro */ if @tab_preco_cliente = 1 begin select @tabela = codigo_tab_preco from clientes_atacado where cliente_atacado = @filiali if @tabela is null select @tabela = @tab_preco end else select @tabela = @tab_preco select @qtde_p = round((@qtde_es * @porcentagemi) / 100, 0) select @qtde_p = case when @qtde_p > @qtde_d then @qtde_d else @qtde_p end select @pedido = null select @pedido = pedido from vendas where romaneio = @romaneio and cliente_atacado = @filiali if @pedido is null or @@rowcount = 0 begin if @qtde_p = 0 begin fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor continue end select @pedido = sequencia, @tamanho = tamanho from sequenciais where tabela_coluna = ''vendas.pedido'' update sequenciais set sequencia = right(convert(char(13), (1000000000000 + convert(int, @pedido) + 1)), @tamanho) where tabela_coluna = ''vendas.pedido'' insert into vendas (pedido, romaneio, colecao, codigo_tab_preco, tipo, condicao_pgto, filial, cliente_atacado, transportadora, moeda, representante, gerente, comissao, comissao_gerente, porcentagem_acerto, emissao, cadastramento, tot_qtde_original, tot_qtde_entregar, tot_valor_original, tot_valor_entregar, desconto, encargo, valor_ipi, tabela_filha, obs, aprovacao, desconto_sobre_1, desconto_sobre_2, desconto_sobre_3, desconto_sobre_4) values(@pedido, @romaneio, @colecao, @tabela, @tipo_venda, @cond_pgto, @filial, @filiali, @transportadora, @moeda, @representante, @gerente, @comissao, @comissao_gerente, @porc_acerto, @data, @data, 0, 0, 0, 0, 0, 0, 0, ''VENDAS_PRODUTO'', ''PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO No. '' + @romaneio, ''E'', 0, 0, 0, 0) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Problema no Insert em VENDAS !!!'' goto error end end else begin if @qtde_p = 0 begin delete from vendas_produto where pedido = @pedido and produto = @produtoi select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor continue end end /* verifica se existe o produto no pedido de vendas */ /* se existe apaga */ if exists (select * from vendas_produto where pedido = @pedido and produto = @produtoi) delete from vendas_produto where pedido = @pedido and produto = @produtoi if @varia_preco_cor = 1 insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) select @pedido, a.produto, a.cor_produto, @data, @data, (qtde * @qtde_p),(qtde * @qtde_p), (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0),isnull(b.preco4, 0) from (produtos_packs_permitidos a left join produtos_preco_cor b on a.produto = b.produto and a.cor_produto = b.cor_produto and b.codigo_tab_preco = @tabela) join produtos c on a.produto = c.produto where a.produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack else insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) select @pedido, a.produto, a.cor_produto, @data, @data, (qtde * @qtde_p),(qtde * @qtde_p), (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0),isnull(b.preco4, 0) from (produtos_packs_permitidos a left join produtos_precos b on a.produto = b.produto and b.codigo_tab_preco = @tabela) join produtos c on a.produto = c.produto where a.produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack /* atualiza pedido de vendas */ select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido /* exclui registros em romaneios_reservas */ if exists (select * from romaneios_reservas where produto = @produtoi and romaneio = @romaneio and filial = @filial and pedido = @pedido) delete from romaneios_reservas where produto = @produtoi and romaneio = @romaneio and filial = @filial and pedido = @pedido /* inclui registros em romaneios_reservas */ insert into romaneios_reservas (romaneio, filial, pedido, produto, cor_produto, cor_pedido, entrega, qtde_r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40 ,r41, r42, r43, r44, r45, r46, r47, r48) select @romaneio, @filial, @pedido, produto, cor_produto, cor_produto, @data, (qtde * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p) from produtos_packs_permitidos where produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack select @qtde_d = @qtde - @qtde_p if @status <> ''D'' and @status <> ''F'' select @status = ''P'' fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor end while @qtde_d > 0 begin fetch first from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor while @@fetch_status = 0 begin select @qtde_p = 1, @qtde_d = @qtde_d - 1 /* verifica se gerou pedido */ select @pedido = pedido from vendas where romaneio = @romaneio and cliente_atacado = @filiali if @pedido is null or @@rowcount = 0 begin select @pedido = sequencia, @tamanho = tamanho from sequenciais where tabela_coluna = ''vendas.pedido'' update sequenciais set sequencia = right(convert(char(13), (1000000000000 + convert(int, @pedido) + 1)), @tamanho) where tabela_coluna = ''vendas.pedido'' insert into vendas (pedido, romaneio, colecao, codigo_tab_preco, tipo, condicao_pgto, filial, cliente_atacado, transportadora, moeda, representante, gerente, comissao, comissao_gerente, porcentagem_acerto, emissao, cadastramento, tot_qtde_original, tot_qtde_entregar, tot_valor_original, tot_valor_entregar, desconto, encargo, valor_ipi, tabela_filha, obs, aprovacao, desconto_sobre_1, desconto_sobre_2, desconto_sobre_3, desconto_sobre_4) values(@pedido, @romaneio, @colecao, @tabela, @tipo_venda, @cond_pgto, @filial, @filiali, @transportadora, @moeda, @representante, @gerente, @comissao, @comissao_gerente, @porc_acerto, @data, @data, 0, 0, 0, 0, 0, 0, 0, ''VENDAS_PRODUTO'', ''PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO No. '' + @romaneio, ''E'', 0, 0, 0, 0) if @@rowcount = 0 begin select @errno = 30002, @errmsg = ''Problema no Insert em VENDAS !!!'' goto error end end /* verifica se itens ja existem para fazer insert ou update */ if not exists (select * from vendas_produto where produto = @produto and pedido = @pedido) begin if @varia_preco_cor = 1 insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) select @pedido, a.produto, a.cor_produto, @data, @data, (qtde * @qtde_p),(qtde * @qtde_p), (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0),isnull(b.preco4, 0) from (produtos_packs_permitidos a left join produtos_preco_cor b on a.produto = b.produto and a.cor_produto = b.cor_produto and b.codigo_tab_preco = @tabela) join produtos c on a.produto = c.produto where a.produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack else insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) select @pedido, a.produto, a.cor_produto, @data, @data, (qtde * @qtde_p),(qtde * @qtde_p), (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 2, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 3, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 4, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 5, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 6, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 7, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 8, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 9, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 10, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 11, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 12, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 13, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 14, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 15, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 16, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 17, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 18, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 19, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 20, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 21, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 22, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 23, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 24, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 25, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 26, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 27, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 28, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 29, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 30, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 31, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 32, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 33, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 34, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 35, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 36, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 37, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 38, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 39, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 40, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 41, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 42, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 43, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 44, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 45, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 46, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 47, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 48, 1) when 1 then isnull(b.preco1, 0) when 2 then isnull(b.preco2, 0) when 3 then isnull(b.preco3, 0) when 4 then isnull(b.preco4, 0) end, (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p), isnull(b.preco1, 0), isnull(b.preco2, 0), isnull(b.preco3, 0),isnull(b.preco4, 0) from (produtos_packs_permitidos a left join produtos_precos b on a.produto = b.produto and b.codigo_tab_preco = @tabela) join produtos c on a.produto = c.produto where a.produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack /* inclui registros em romaneios_reservas */ insert into romaneios_reservas (romaneio, filial, pedido, produto, cor_produto, cor_pedido, entrega, qtde_r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40 ,r41, r42, r43, r44, r45, r46, r47, r48) select @romaneio, @filial, @pedido, produto, cor_produto, cor_produto, @data, (qtde * @qtde_p), (q1 * @qtde_p), (q2 * @qtde_p), (q3 * @qtde_p), (q4 * @qtde_p), (q5 * @qtde_p), (q6 * @qtde_p), (q7 * @qtde_p), (q8 * @qtde_p), (q9 * @qtde_p), (q10 * @qtde_p), (q11 * @qtde_p), (q12 * @qtde_p), (q13 * @qtde_p), (q14 * @qtde_p), (q15 * @qtde_p), (q16 * @qtde_p), (q17 * @qtde_p), (q18 * @qtde_p), (q19 * @qtde_p), (q20 * @qtde_p), (q21 * @qtde_p), (q22 * @qtde_p), (q23 * @qtde_p), (q24 * @qtde_p), (q25 * @qtde_p), (q26 * @qtde_p), (q27 * @qtde_p), (q28 * @qtde_p), (q29 * @qtde_p), (q30 * @qtde_p), (q31 * @qtde_p), (q32 * @qtde_p), (q33 * @qtde_p), (q34 * @qtde_p), (q35 * @qtde_p), (q36 * @qtde_p), (q37 * @qtde_p), (q38 * @qtde_p), (q39 * @qtde_p), (q40 * @qtde_p), (q41 * @qtde_p), (q42 * @qtde_p), (q43 * @qtde_p), (q44 * @qtde_p), (q45 * @qtde_p), (q46 * @qtde_p), (q47 * @qtde_p), (q48 * @qtde_p) from produtos_packs_permitidos where produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack end else begin /* update em vendas para incluir mais um pack */ update a set vo1 = vo1 + (q1 * @qtde_p), vo2 = vo2 + (q2 * @qtde_p), vo3 = vo3 + (q3 * @qtde_p), vo4 = vo4 + (q4 * @qtde_p), vo5 = vo5 + (q5 * @qtde_p), vo6 = vo6 + (q6 * @qtde_p), vo7 = vo7 + (q7 * @qtde_p), vo8 = vo8 + (q8 * @qtde_p), vo9 = vo9 + (q9 * @qtde_p), vo10 = vo10 + (q10 * @qtde_p), vo11 = vo11 + (q11 * @qtde_p), vo12 = vo12 + (q12 * @qtde_p), vo13 = vo13 + (q13 * @qtde_p), vo14 = vo14 + (q14 * @qtde_p), vo15 = vo15 + (q15 * @qtde_p), vo16 = vo16 + (q16 * @qtde_p), vo17 = vo17 + (q17 * @qtde_p), vo18 = vo18 + (q18 * @qtde_p), vo19 = vo19 + (q19 * @qtde_p), vo20 = vo20 + (q20 * @qtde_p), vo21 = vo21 + (q21 * @qtde_p), vo22 = vo22 + (q22 * @qtde_p), vo23 = vo23 + (q23 * @qtde_p), vo24 = vo24 + (q24 * @qtde_p), vo25 = vo25 + (q25 * @qtde_p), vo26 = vo26 + (q26 * @qtde_p), vo27 = vo27 + (q27 * @qtde_p), vo28 = vo28 + (q28 * @qtde_p), vo29 = vo29 + (q29 * @qtde_p), vo30 = vo30 + (q30 * @qtde_p), vo31 = vo31 + (q31 * @qtde_p), vo32 = vo32 + (q32 * @qtde_p), vo33 = vo33 + (q33 * @qtde_p), vo34 = vo34 + (q34 * @qtde_p), vo35 = vo35 + (q35 * @qtde_p), vo36 = vo36 + (q36 * @qtde_p), vo37 = vo37 + (q37 * @qtde_p), vo38 = vo38 + (q38 * @qtde_p), vo39 = vo39 + (q39 * @qtde_p), vo40 = vo40 + (q40 * @qtde_p), vo41 = vo41 + (q41 * @qtde_p), vo42 = vo42 + (q42 * @qtde_p), vo43 = vo43 + (q43 * @qtde_p), vo44 = vo44 + (q44 * @qtde_p), vo45 = vo45 + (q45 * @qtde_p), vo46 = vo46 + (q46 * @qtde_p), vo47 = vo47 + (q47 * @qtde_p), vo48 = vo48 + (q48 * @qtde_p), ve1 = ve1 + (q1 * @qtde_p), ve2 = ve2 + (q2 * @qtde_p), ve3 = ve3 + (q3 * @qtde_p), ve4 = ve4 + (q4 * @qtde_p), ve5 = ve5 + (q5 * @qtde_p), ve6 = ve6 + (q6 * @qtde_p), ve7 = ve7 + (q7 * @qtde_p), ve8 = ve8 + (q8 * @qtde_p), ve9 = ve9 + (q9 * @qtde_p), ve10 = ve10 + (q10 * @qtde_p), ve11 = ve11 + (q11 * @qtde_p), ve12 = ve12 + (q12 * @qtde_p), ve13 = ve13 + (q13 * @qtde_p), ve14 = ve14 + (q14 * @qtde_p), ve15 = ve15 + (q15 * @qtde_p), ve16 = ve16 + (q16 * @qtde_p), ve17 = ve17 + (q17 * @qtde_p), ve18 = ve18 + (q18 * @qtde_p), ve19 = ve19 + (q19 * @qtde_p), ve20 = ve20 + (q20 * @qtde_p), ve21 = ve21 + (q21 * @qtde_p), ve22 = ve22 + (q22 * @qtde_p), ve23 = ve23 + (q23 * @qtde_p), ve24 = ve24 + (q24 * @qtde_p), ve25 = ve25 + (q25 * @qtde_p), ve26 = ve26 + (q26 * @qtde_p), ve27 = ve27 + (q27 * @qtde_p), ve28 = ve28 + (q28 * @qtde_p), ve29 = ve29 + (q29 * @qtde_p), ve30 = ve30 + (q30 * @qtde_p), ve31 = ve31 + (q31 * @qtde_p), ve32 = ve32 + (q32 * @qtde_p), ve33 = ve33 + (q33 * @qtde_p), ve34 = ve34 + (q34 * @qtde_p), ve35 = ve35 + (q35 * @qtde_p), ve36 = ve36 + (q36 * @qtde_p), ve37 = ve37 + (q37 * @qtde_p), ve38 = ve38 + (q38 * @qtde_p), ve39 = ve39 + (q39 * @qtde_p), ve40 = ve40 + (q40 * @qtde_p), ve41 = ve41 + (q41 * @qtde_p), ve42 = ve42 + (q42 * @qtde_p), ve43 = ve43 + (q43 * @qtde_p), ve44 = ve44 + (q44 * @qtde_p), ve45 = ve45 + (q45 * @qtde_p), ve46 = ve46 + (q46 * @qtde_p), ve47 = ve47 + (q47 * @qtde_p), ve48 = ve48 + (q48 * @qtde_p), qtde_original = qtde_original + (qtde * @qtde_p), qtde_entregar = qtde_entregar + (qtde * @qtde_p), valor_original = valor_original + (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 2) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 3) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 4) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 5) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 6) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 7) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 8) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 9) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 10) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 11) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 12) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 13) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 14) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 15) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 16) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 17) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 18) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 19) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 20) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 21) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 22) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 23) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 24) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 25) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 26) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 27) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 28) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 29) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 30) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 31) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 32) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 33) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 34) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 35) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 36) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 37) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 38) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 39) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 40) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 41) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 42) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 43) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 44) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 45) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 46) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 47) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 48) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end, valor_entregar = valor_entregar + (q1 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 1) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q2 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 2) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q3 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 3) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q4 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 4) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q5 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 5) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q6 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 6) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q7 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 7) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q8 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 8) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q9 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 9) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q10 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 10) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q11 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 11) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q12 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 12) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q13 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 13) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q14 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 14) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q15 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 15) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q16 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 16) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q17 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 17) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q18 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 18) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q19 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 19) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q20 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 20) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q21 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 21) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q22 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 22) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q23 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 23) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q24 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 24) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q25 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 25) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q26 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 26) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q27 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 27) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q28 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 28) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q29 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 29) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q30 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 30) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q31 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 31) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q32 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 32) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q33 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 33) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q34 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 34) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q35 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 35) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q36 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 36) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q37 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 37) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q38 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 38) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q39 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 39) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q40 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 40) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q41 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 41) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q42 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 42) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q43 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 43) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q44 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 44) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q45 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 45) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q46 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 46) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q47 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 47) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end + (q48 * @qtde_p) * case substring(ponteiro_preco_tam, 1, 48) when 1 then isnull(preco1, 0) when 2 then isnull(preco2, 0) when 3 then isnull(preco3, 0) when 4 then isnull(preco4, 0) end from vendas_produto a join produtos_packs_permitidos b on a.produto = b.produto and a.cor_produto = b.cor_produto join produtos c on a.produto = c.produto where a.produto = @produto and indica_pack_cor = 1 and pedido = @pedido and pack = @codigo_pack /* atualiza romaneios_reservas */ update a set r1 = r1 + (q1 * @qtde_p), r2 = r2 + (q2 * @qtde_p), r3 = r3 + (q3 * @qtde_p), r4 = r4 + (q4 * @qtde_p), r5 = r5 + (q5 * @qtde_p), r6 = r6 + (q6 * @qtde_p), r7 = r7 + (q7 * @qtde_p), r8 = r8 + (q8 * @qtde_p), r9 = r9 + (q9 * @qtde_p), r10 = r10 + (q10 * @qtde_p), r11 = r11 + (q11 * @qtde_p), r12 = r12 + (q12 * @qtde_p), r13 = r13 + (q13 * @qtde_p), r14 = r14 + (q14 * @qtde_p), r15 = r15 + (q15 * @qtde_p), r16 = r16 + (q16 * @qtde_p), r17 = r17 + (q17 * @qtde_p), r18 = r18 + (q18 * @qtde_p), r19 = r19 + (q19 * @qtde_p), r20 = r20 + (q20 * @qtde_p), r21 = r21 + (q21 * @qtde_p), r22 = r22 + (q22 * @qtde_p), r23 = r23 + (q23 * @qtde_p), r24 = r24 + (q24 * @qtde_p), r25 = r25 + (q25 * @qtde_p), r26 = r26 + (q26 * @qtde_p), r27 = r27 + (q27 * @qtde_p), r28 = r28 + (q28 * @qtde_p), r29 = r29 + (q29 * @qtde_p), r30 = r30 + (q30 * @qtde_p), r31 = r31 + (q31 * @qtde_p), r32 = r32 + (q32 * @qtde_p), r33 = r33 + (q33 * @qtde_p), r34 = r34 + (q34 * @qtde_p), r35 = r35 + (q35 * @qtde_p), r36 = r36 + (q36 * @qtde_p), r37 = r37 + (q37 * @qtde_p), r38 = r38 + (q38 * @qtde_p), r39 = r39 + (q39 * @qtde_p), r40 = r40 + (q40 * @qtde_p), r41 = r41 + (q41 * @qtde_p), r42 = r42 + (q42 * @qtde_p), r43 = r43 + (q43 * @qtde_p), r44 = r44 + (q44 * @qtde_p), r45 = r45 + (q45 * @qtde_p), r46 = r46 + (q46 * @qtde_p), r47 = r47 + (q47 * @qtde_p), r48 = r48 + (q48 * @qtde_p), qtde_r = qtde_r + (qtde * @qtde_p) from romaneios_reservas a join produtos_packs_permitidos b on a.produto = b.produto and a.cor_produto = b.cor_produto where romaneio = @romaneio and pedido = @pedido and b.produto = @produto and indica_pack_cor = 1 and pack = @codigo_pack end /* atualiza pedido de vendas */ select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido if @qtde_d = 0 break else fetch next from cursor_itens into @produtoi, @cori, @filiali, @porcentagemi, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor end if @qtde_d = 0 or @filiali is null break end close cursor_itens deallocate cursor_itens end update romaneios_produto set status = @status, filtros_processo = ''PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. (MATAR DISPONIVEL)'' where romaneio = @romaneio and filial = @filial and produto = @produto fetch next from cursor_produtos into @produto, @ordem_producao end close cursor_produtos deallocate cursor_produtos if exists (select name from sysobjects where name = ''tmp_estoque_distribuicao'' and type = ''u'') drop table tmp_estoque_distribuicao set nocount off return error: raiserror @errno @errmsg end ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_DISTRIBUICAO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_DISTRIBUICAO] @ROMANEIO CHAR(8), @FILIAL VARCHAR(25), @TIPO_PROCESSO INT, @DISPONIVEL CHAR(4), @COMPRAS_I DATETIME = NULL, @COMPRAS_F DATETIME = NULL, @PRODUCAO_I DATETIME = NULL, @PRODUCAO_F DATETIME = NULL, @TAB_PRECO CHAR(2), @COLECAO CHAR(6), @TIPO_VENDA VARCHAR(25), @MOEDA CHAR(6), @TRANSPORTADORA VARCHAR(25), @COND_PGTO CHAR(3), @REPRESENTANTE VARCHAR(25), @DATA DATETIME, @PORCENTAGEM INT, @PROGRAMACAO_I DATETIME = NULL, @PROGRAMACAO_F DATETIME = NULL, @TAB_PRECO_CLIENTE BIT AS set nocount on declare @produto char(12), @status char(1), @pedido char(12), @produtoi char(12), @cori char(10), @filiali varchar(25), @tamanho int, @q1 int, @q2 int, @q3 int, @q4 int, @q5 int, @q6 int, @q7 int, @q8 int, @q9 int, @q10 int, @q11 int, @q12 int, @q13 int, @q14 int, @q15 int, @q16 int, @q17 int, @q18 int, @q19 int, @q20 int, @q21 int, @q22 int, @q23 int, @q24 int, @q25 int, @q26 int, @q27 int, @q28 int, @q29 int, @q30 int, @q31 int, @q32 int, @q33 int, @q34 int, @q35 int, @q36 int, @q37 int, @q38 int, @q39 int, @q40 int, @q41 int, @q42 int, @q43 int, @q44 int, @q45 int, @q46 int, @q47 int, @q48 int, @gerente varchar(25), @comissao real, @comissao_gerente real, @porc_acerto real, @qtde int, @ponteiro_preco_tam varchar(48), @varia_preco_tam bit, @varia_preco_cor bit, @preco1 numeric(14, 2), @preco2 numeric(14, 2), @preco3 numeric(14, 2), @preco4 numeric(14, 2), @valor numeric(14, 2), @maximo_tamanhos int, @xconta int, @tot_valor numeric(14, 2), @tot_qtde numeric(14, 2), @cor char(10), @qtde_d int, @prod char(12), @d1 int, @d2 int, @d3 int, @d4 int, @d5 int, @d6 int, @d7 int, @d8 int, @d9 int, @d10 int, @d11 int, @d12 int, @d13 int, @d14 int, @d15 int, @d16 int, @d17 int, @d18 int, @d19 int, @d20 int, @d21 int, @d22 int, @d23 int, @d24 int, @d25 int, @d26 int, @d27 int, @d28 int, @d29 int, @d30 int, @d31 int, @d32 int, @d33 int, @d34 int, @d35 int, @d36 int, @d37 int, @d38 int, @d39 int, @d40 int, @d41 int, @d42 int, @d43 int, @d44 int, @d45 int, @d46 int, @d47 int, @d48 int, @es1 int, @es2 int, @es3 int, @es4 int, @es5 int, @es6 int, @es7 int, @es8 int, @es9 int, @es10 int, @es11 int, @es12 int, @es13 int, @es14 int, @es15 int, @es16 int, @es17 int, @es18 int, @es19 int, @es20 int, @es21 int, @es22 int, @es23 int, @es24 int, @es25 int, @es26 int, @es27 int, @es28 int, @es29 int, @es30 int, @es31 int, @es32 int, @es33 int, @es34 int, @es35 int, @es36 int, @es37 int, @es38 int, @es39 int, @es40 int, @es41 int, @es42 int, @es43 int, @es44 int, @es45 int, @es46 int, @es47 int, @es48 int, @tabela char(2), @ordem_producao char(8), @op char(8), @ped_compra char(8) select @gerente = a.gerente, @comissao = a.comissao, @comissao_gerente = b.comissao, @porc_acerto = a.porcentagem_acerto from representantes a left join representantes b on a.gerente = b.representante where a.representante = @representante select @maximo_tamanhos = convert(int, valor_atual) from parametros where parametro = ''maximo_tamanhos'' select @cor = '''', @prod = '''' declare cursor_produtos cursor for select produto, ordem_producao from romaneios_produto where romaneio = @romaneio and filial = @filial and status = ''A'' open cursor_produtos fetch next from cursor_produtos into @produto, @ordem_producao while @@fetch_status = 0 begin /* verifica se numero e de OP ou Pedido de Compra */ if exists (select * from producao_ordem where ordem_producao = @ordem_producao) select @op = @ordem_producao, @ped_compra = '''' else select @ped_compra = @ordem_producao, @op = '''' declare cursor_delete cursor for select distinct a.pedido from vendas_produto a join vendas b on a.pedido = b.pedido where produto = @produto and romaneio = @romaneio open cursor_delete delete a from vendas_produto a join vendas b on a.pedido = b.pedido where romaneio = @romaneio and produto = @produto fetch next from cursor_delete into @pedido while @@fetch_status = 0 begin delete from vendas_produto where pedido = @pedido and produto = @produto select @xconta = count(*), @tot_qtde = isnull(sum(qtde_original), 0), @tot_valor = isnull(sum(valor_original), 0) from vendas_produto where pedido = @pedido if @xconta = 0 delete from vendas where pedido = @pedido else update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido fetch next from cursor_delete into @pedido end close cursor_delete deallocate cursor_delete declare cursor_itens cursor for select b.produto, c.cor_produto, a.filial, ponteiro_preco_tam, varia_preco_tam, varia_preco_cor, case when case when isnull(es1, 0) < 0 then 0 else isnull(es1, 0) end < case when (isnull(q1, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q1, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q1, 0) - case when isnull(es1, 0) < 0 then 0 else isnull(es1, 0) end else 0 end, case when case when isnull(es2, 0) < 0 then 0 else isnull(es2, 0) end < case when (isnull(q2, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q2, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q2, 0) - case when isnull(es2, 0) < 0 then 0 else isnull(es2, 0) end else 0 end, case when case when isnull(es3, 0) < 0 then 0 else isnull(es3, 0) end < case when (isnull(q3, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q3, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q3, 0) - case when isnull(es3, 0) < 0 then 0 else isnull(es3, 0) end else 0 end, case when case when isnull(es4, 0) < 0 then 0 else isnull(es4, 0) end < case when (isnull(q4, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q4, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q4, 0) - case when isnull(es4, 0) < 0 then 0 else isnull(es4, 0) end else 0 end, case when case when isnull(es5, 0) < 0 then 0 else isnull(es5, 0) end < case when (isnull(q5, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q5, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q5, 0) - case when isnull(es5, 0) < 0 then 0 else isnull(es5, 0) end else 0 end, case when case when isnull(es6, 0) < 0 then 0 else isnull(es6, 0) end < case when (isnull(q6, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q6, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q6, 0) - case when isnull(es6, 0) < 0 then 0 else isnull(es6, 0) end else 0 end, case when case when isnull(es7, 0) < 0 then 0 else isnull(es7, 0) end < case when (isnull(q7, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q7, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q7, 0) - case when isnull(es7, 0) < 0 then 0 else isnull(es7, 0) end else 0 end, case when case when isnull(es8, 0) < 0 then 0 else isnull(es8, 0) end < case when (isnull(q8, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q8, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q8, 0) - case when isnull(es8, 0) < 0 then 0 else isnull(es8, 0) end else 0 end, case when case when isnull(es9, 0) < 0 then 0 else isnull(es9, 0) end < case when (isnull(q9, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q9, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q9, 0) - case when isnull(es9, 0) < 0 then 0 else isnull(es9, 0) end else 0 end, case when case when isnull(es10, 0) < 0 then 0 else isnull(es10, 0) end < case when (isnull(q10, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q10, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q10, 0) - case when isnull(es10, 0) < 0 then 0 else isnull(es10, 0) end else 0 end, case when case when isnull(es11, 0) < 0 then 0 else isnull(es11, 0) end < case when (isnull(q11, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q11, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q11, 0) - case when isnull(es11, 0) < 0 then 0 else isnull(es11, 0) end else 0 end, case when case when isnull(es12, 0) < 0 then 0 else isnull(es12, 0) end < case when (isnull(q12, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q12, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q12, 0) - case when isnull(es12, 0) < 0 then 0 else isnull(es12, 0) end else 0 end, case when case when isnull(es13, 0) < 0 then 0 else isnull(es13, 0) end < case when (isnull(q13, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q13, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q13, 0) - case when isnull(es13, 0) < 0 then 0 else isnull(es13, 0) end else 0 end, case when case when isnull(es14, 0) < 0 then 0 else isnull(es14, 0) end < case when (isnull(q14, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q14, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q14, 0) - case when isnull(es14, 0) < 0 then 0 else isnull(es14, 0) end else 0 end, case when case when isnull(es15, 0) < 0 then 0 else isnull(es15, 0) end < case when (isnull(q15, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q15, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q15, 0) - case when isnull(es15, 0) < 0 then 0 else isnull(es15, 0) end else 0 end, case when case when isnull(es16, 0) < 0 then 0 else isnull(es16, 0) end < case when (isnull(q16, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q16, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q16, 0) - case when isnull(es16, 0) < 0 then 0 else isnull(es16, 0) end else 0 end, case when case when isnull(es17, 0) < 0 then 0 else isnull(es17, 0) end < case when (isnull(q17, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q17, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q17, 0) - case when isnull(es17, 0) < 0 then 0 else isnull(es17, 0) end else 0 end, case when case when isnull(es18, 0) < 0 then 0 else isnull(es18, 0) end < case when (isnull(q18, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q18, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q18, 0) - case when isnull(es18, 0) < 0 then 0 else isnull(es18, 0) end else 0 end, case when case when isnull(es19, 0) < 0 then 0 else isnull(es19, 0) end < case when (isnull(q19, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q19, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q19, 0) - case when isnull(es19, 0) < 0 then 0 else isnull(es19, 0) end else 0 end, case when case when isnull(es20, 0) < 0 then 0 else isnull(es20, 0) end < case when (isnull(q20, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q20, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q20, 0) - case when isnull(es20, 0) < 0 then 0 else isnull(es20, 0) end else 0 end, case when case when isnull(es21, 0) < 0 then 0 else isnull(es21, 0) end < case when (isnull(q21, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q21, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q21, 0) - case when isnull(es21, 0) < 0 then 0 else isnull(es21, 0) end else 0 end, case when case when isnull(es22, 0) < 0 then 0 else isnull(es22, 0) end < case when (isnull(q22, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q22, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q22, 0) - case when isnull(es22, 0) < 0 then 0 else isnull(es22, 0) end else 0 end, case when case when isnull(es23, 0) < 0 then 0 else isnull(es23, 0) end < case when (isnull(q23, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q23, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q23, 0) - case when isnull(es23, 0) < 0 then 0 else isnull(es23, 0) end else 0 end, case when case when isnull(es24, 0) < 0 then 0 else isnull(es24, 0) end < case when (isnull(q24, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q24, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q24, 0) - case when isnull(es24, 0) < 0 then 0 else isnull(es24, 0) end else 0 end, case when case when isnull(es25, 0) < 0 then 0 else isnull(es25, 0) end < case when (isnull(q25, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q25, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q25, 0) - case when isnull(es25, 0) < 0 then 0 else isnull(es25, 0) end else 0 end, case when case when isnull(es26, 0) < 0 then 0 else isnull(es26, 0) end < case when (isnull(q26, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q26, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q26, 0) - case when isnull(es26, 0) < 0 then 0 else isnull(es26, 0) end else 0 end, case when case when isnull(es27, 0) < 0 then 0 else isnull(es27, 0) end < case when (isnull(q27, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q27, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q27, 0) - case when isnull(es27, 0) < 0 then 0 else isnull(es27, 0) end else 0 end, case when case when isnull(es28, 0) < 0 then 0 else isnull(es28, 0) end < case when (isnull(q28, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q28, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q28, 0) - case when isnull(es28, 0) < 0 then 0 else isnull(es28, 0) end else 0 end, case when case when isnull(es29, 0) < 0 then 0 else isnull(es29, 0) end < case when (isnull(q29, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q29, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q29, 0) - case when isnull(es29, 0) < 0 then 0 else isnull(es29, 0) end else 0 end, case when case when isnull(es30, 0) < 0 then 0 else isnull(es30, 0) end < case when (isnull(q30, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q30, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q30, 0) - case when isnull(es30, 0) < 0 then 0 else isnull(es30, 0) end else 0 end, case when case when isnull(es31, 0) < 0 then 0 else isnull(es31, 0) end < case when (isnull(q31, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q31, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q31, 0) - case when isnull(es31, 0) < 0 then 0 else isnull(es31, 0) end else 0 end, case when case when isnull(es32, 0) < 0 then 0 else isnull(es32, 0) end < case when (isnull(q32, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q32, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q32, 0) - case when isnull(es32, 0) < 0 then 0 else isnull(es32, 0) end else 0 end, case when case when isnull(es33, 0) < 0 then 0 else isnull(es33, 0) end < case when (isnull(q33, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q33, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q33, 0) - case when isnull(es33, 0) < 0 then 0 else isnull(es33, 0) end else 0 end, case when case when isnull(es34, 0) < 0 then 0 else isnull(es34, 0) end < case when (isnull(q34, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q34, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q34, 0) - case when isnull(es34, 0) < 0 then 0 else isnull(es34, 0) end else 0 end, case when case when isnull(es35, 0) < 0 then 0 else isnull(es35, 0) end < case when (isnull(q35, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q35, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q35, 0) - case when isnull(es35, 0) < 0 then 0 else isnull(es35, 0) end else 0 end, case when case when isnull(es36, 0) < 0 then 0 else isnull(es36, 0) end < case when (isnull(q36, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q36, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q36, 0) - case when isnull(es36, 0) < 0 then 0 else isnull(es36, 0) end else 0 end, case when case when isnull(es37, 0) < 0 then 0 else isnull(es37, 0) end < case when (isnull(q37, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q37, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q37, 0) - case when isnull(es37, 0) < 0 then 0 else isnull(es37, 0) end else 0 end, case when case when isnull(es38, 0) < 0 then 0 else isnull(es38, 0) end < case when (isnull(q38, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q38, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q38, 0) - case when isnull(es38, 0) < 0 then 0 else isnull(es38, 0) end else 0 end, case when case when isnull(es39, 0) < 0 then 0 else isnull(es39, 0) end < case when (isnull(q39, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q39, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q39, 0) - case when isnull(es39, 0) < 0 then 0 else isnull(es39, 0) end else 0 end, case when case when isnull(es40, 0) < 0 then 0 else isnull(es40, 0) end < case when (isnull(q40, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q40, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q40, 0) - case when isnull(es40, 0) < 0 then 0 else isnull(es40, 0) end else 0 end, case when case when isnull(es41, 0) < 0 then 0 else isnull(es41, 0) end < case when (isnull(q41, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q41, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q41, 0) - case when isnull(es41, 0) < 0 then 0 else isnull(es41, 0) end else 0 end, case when case when isnull(es42, 0) < 0 then 0 else isnull(es42, 0) end < case when (isnull(q42, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q42, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q42, 0) - case when isnull(es42, 0) < 0 then 0 else isnull(es42, 0) end else 0 end, case when case when isnull(es43, 0) < 0 then 0 else isnull(es43, 0) end < case when (isnull(q43, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q43, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q43, 0) - case when isnull(es43, 0) < 0 then 0 else isnull(es43, 0) end else 0 end, case when case when isnull(es44, 0) < 0 then 0 else isnull(es44, 0) end < case when (isnull(q44, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q44, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q44, 0) - case when isnull(es44, 0) < 0 then 0 else isnull(es44, 0) end else 0 end, case when case when isnull(es45, 0) < 0 then 0 else isnull(es45, 0) end < case when (isnull(q45, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q45, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q45, 0) - case when isnull(es45, 0) < 0 then 0 else isnull(es45, 0) end else 0 end, case when case when isnull(es46, 0) < 0 then 0 else isnull(es46, 0) end < case when (isnull(q46, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q46, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q46, 0) - case when isnull(es46, 0) < 0 then 0 else isnull(es46, 0) end else 0 end, case when case when isnull(es47, 0) < 0 then 0 else isnull(es47, 0) end < case when (isnull(q47, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q47, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q47, 0) - case when isnull(es47, 0) < 0 then 0 else isnull(es47, 0) end else 0 end, case when case when isnull(es48, 0) < 0 then 0 else isnull(es48, 0) end < case when (isnull(q48, 0) - isnull(qtde_minima_variacao, 0)) < 0 then 0 else (isnull(q48, 0) - isnull(qtde_minima_variacao, 0)) end then isnull(q48, 0) - case when isnull(es48, 0) < 0 then 0 else isnull(es48, 0) end else 0 end from #tab_filiais a cross join romaneios_produto b left join lojas_estoque_ideal c on c.produto=b.produto and c.tipo_estoque_ideal=a.tipo_estoque_ideal left join estoque_produtos d on b.produto = d.produto and c.cor_produto = d.cor_produto and a.filial = d.filial join produtos e on b.produto = e.produto where b.romaneio = @romaneio and b.filial = @filial and b.produto = @produto order by b.produto, c.cor_produto, a.filial open cursor_itens fetch next from cursor_itens into @produtoi, @cori, @filiali, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48 select @status = ''P'' while @@fetch_status = 0 begin if @cori is not null begin if @cor <> @cori or @prod <> @produto begin select @cor = @cori, @prod = @produto select @d1 = 0, @d2 = 0, @d3 = 0, @d4 = 0, @d5 = 0, @d6 = 0, @d7 = 0, @d8 = 0, @d9 = 0, @d10 = 0, @d11 = 0, @d12 = 0, @d13 = 0, @d14 = 0, @d15 = 0, @d16 = 0, @d17 = 0, @d18 = 0, @d19 = 0, @d20 = 0, @d21 = 0, @d22 = 0, @d23 = 0, @d24 = 0, @d25 = 0, @d26 = 0, @d27 = 0, @d28 = 0, @d29 = 0, @d30 = 0, @d31 = 0, @d32 = 0, @d33 = 0, @d34 = 0, @d35 = 0, @d36 = 0, @d37 = 0, @d38 = 0, @d39 = 0, @d40 = 0, @d41 = 0, @d42 = 0, @d43 = 0, @d44 = 0, @d45 = 0, @d46 = 0, @d47 = 0, @d48 = 0 select @es1 = 0, @es2 = 0, @es3 = 0, @es4 = 0, @es5 = 0, @es6 = 0, @es7 = 0, @es8 = 0, @es9 = 0, @es10 = 0, @es11 = 0, @es12 = 0, @es13 = 0, @es14 = 0, @es15 = 0, @es16 = 0, @es17 = 0, @es18 = 0, @es19 = 0, @es20 = 0, @es21 = 0, @es22 = 0, @es23 = 0, @es24 = 0, @es25 = 0, @es26 = 0, @es27 = 0, @es28 = 0, @es29 = 0, @es30 = 0, @es31 = 0, @es32 = 0, @es33 = 0, @es34 = 0, @es35 = 0, @es36 = 0, @es37 = 0, @es38 = 0, @es39 = 0, @es40 = 0, @es41 = 0, @es42 = 0, @es43 = 0, @es44 = 0, @es45 = 0, @es46 = 0, @es47 = 0, @es48 = 0 if charindex(''C'', @disponivel) > 0 begin if @ped_compra is not null and @ped_compra <> '''' select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and b.cor_produto = @cor and a.pedido = @ped_compra else begin if @compras_i is not null select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and b.cor_produto = @cor and qtde_entregar > 0 and emissao >= @compras_i and emissao <= @compras_f else select @d1 = isnull(sum(ce1), 0), @d2 = isnull(sum(ce2), 0), @d3 = isnull(sum(ce3), 0), @d4 = isnull(sum(ce4), 0), @d5 = isnull(sum(ce5), 0), @d6 = isnull(sum(ce6), 0), @d7 = isnull(sum(ce7), 0), @d8 = isnull(sum(ce8), 0), @d9 = isnull(sum(ce9), 0), @d10 = isnull(sum(ce10), 0), @d11 = isnull(sum(ce11), 0), @d12 = isnull(sum(ce12), 0), @d13 = isnull(sum(ce13), 0), @d14 = isnull(sum(ce14), 0), @d15 = isnull(sum(ce15), 0), @d16 = isnull(sum(ce16), 0), @d17 = isnull(sum(ce17), 0), @d18 = isnull(sum(ce18), 0), @d19 = isnull(sum(ce19), 0), @d20 = isnull(sum(ce20), 0), @d21 = isnull(sum(ce21), 0), @d22 = isnull(sum(ce22), 0), @d23 = isnull(sum(ce23), 0), @d24 = isnull(sum(ce24), 0), @d25 = isnull(sum(ce25), 0), @d26 = isnull(sum(ce26), 0), @d27 = isnull(sum(ce27), 0), @d28 = isnull(sum(ce28), 0), @d29 = isnull(sum(ce29), 0), @d30 = isnull(sum(ce30), 0), @d31 = isnull(sum(ce31), 0), @d32 = isnull(sum(ce32), 0), @d33 = isnull(sum(ce33), 0), @d34 = isnull(sum(ce34), 0), @d35 = isnull(sum(ce35), 0), @d36 = isnull(sum(ce36), 0), @d37 = isnull(sum(ce37), 0), @d38 = isnull(sum(ce38), 0), @d39 = isnull(sum(ce39), 0), @d40 = isnull(sum(ce40), 0), @d41 = isnull(sum(ce41), 0), @d42 = isnull(sum(ce42), 0), @d43 = isnull(sum(ce43), 0), @d44 = isnull(sum(ce44), 0), @d45 = isnull(sum(ce45), 0), @d46 = isnull(sum(ce46), 0), @d47 = isnull(sum(ce47), 0), @d48 = isnull(sum(ce48), 0) from compras a join compras_produto b on a.pedido = b.pedido where filial_a_entregar = @filial and produto = @produto and b.cor_produto = @cor and qtde_entregar > 0 end end if charindex(''O'', @disponivel) > 0 begin if @op is not null and @op <> '''' select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and a.ordem_producao = @op else begin if @producao_i is not null select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and qtde_p > 0 and previsao_fim >= @producao_i and previsao_fim <= @producao_f else select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_ordem a join producao_ordem_cor b on a.ordem_producao = b.ordem_producao and a.produto = b.produto where b.produto = @produto and cor_produto = @cor and filial = @filial and qtde_p > 0 end end if charindex(''E'', @disponivel) > 0 begin select @es1 = case when isnull(es1, 0) < 0 then 0 else isnull(es1, 0) end, @es2 = case when isnull(es2, 0) < 0 then 0 else isnull(es2, 0) end, @es3 = case when isnull(es3, 0) < 0 then 0 else isnull(es3, 0) end, @es4 = case when isnull(es4, 0) < 0 then 0 else isnull(es4, 0) end, @es5 = case when isnull(es5, 0) < 0 then 0 else isnull(es5, 0) end, @es6 = case when isnull(es6, 0) < 0 then 0 else isnull(es6, 0) end, @es7 = case when isnull(es7, 0) < 0 then 0 else isnull(es7, 0) end, @es8 = case when isnull(es8, 0) < 0 then 0 else isnull(es8, 0) end, @es9 = case when isnull(es9, 0) < 0 then 0 else isnull(es9, 0) end, @es10 = case when isnull(es10, 0) < 0 then 0 else isnull(es10, 0) end, @es11 = case when isnull(es11, 0) < 0 then 0 else isnull(es11, 0) end, @es12 = case when isnull(es12, 0) < 0 then 0 else isnull(es12, 0) end, @es13 = case when isnull(es13, 0) < 0 then 0 else isnull(es13, 0) end, @es14 = case when isnull(es14, 0) < 0 then 0 else isnull(es14, 0) end, @es15 = case when isnull(es15, 0) < 0 then 0 else isnull(es15, 0) end, @es16 = case when isnull(es16, 0) < 0 then 0 else isnull(es16, 0) end, @es17 = case when isnull(es17, 0) < 0 then 0 else isnull(es17, 0) end, @es18 = case when isnull(es18, 0) < 0 then 0 else isnull(es18, 0) end, @es19 = case when isnull(es19, 0) < 0 then 0 else isnull(es19, 0) end, @es20 = case when isnull(es20, 0) < 0 then 0 else isnull(es20, 0) end, @es21 = case when isnull(es21, 0) < 0 then 0 else isnull(es21, 0) end, @es22 = case when isnull(es22, 0) < 0 then 0 else isnull(es22, 0) end, @es23 = case when isnull(es23, 0) < 0 then 0 else isnull(es23, 0) end, @es24 = case when isnull(es24, 0) < 0 then 0 else isnull(es24, 0) end, @es25 = case when isnull(es25, 0) < 0 then 0 else isnull(es25, 0) end, @es26 = case when isnull(es26, 0) < 0 then 0 else isnull(es26, 0) end, @es27 = case when isnull(es27, 0) < 0 then 0 else isnull(es27, 0) end, @es28 = case when isnull(es28, 0) < 0 then 0 else isnull(es28, 0) end, @es29 = case when isnull(es29 ,0) < 0 then 0 else isnull(es29, 0) end, @es30 = case when isnull(es30, 0) < 0 then 0 else isnull(es30, 0) end, @es31 = case when isnull(es31, 0) < 0 then 0 else isnull(es31, 0) end, @es32 = case when isnull(es32, 0) < 0 then 0 else isnull(es32, 0) end, @es33 = case when isnull(es33, 0) < 0 then 0 else isnull(es33, 0) end, @es34 = case when isnull(es34, 0) < 0 then 0 else isnull(es34, 0) end, @es35 = case when isnull(es36, 0) < 0 then 0 else isnull(es35, 0) end, @es36 = case when isnull(es36, 0) < 0 then 0 else isnull(es36, 0) end, @es37 = case when isnull(es37, 0) < 0 then 0 else isnull(es37, 0) end, @es38 = case when isnull(es38, 0) < 0 then 0 else isnull(es38, 0) end, @es39 = case when isnull(es39, 0) < 0 then 0 else isnull(es39, 0) end, @es40 = case when isnull(es40, 0) < 0 then 0 else isnull(es40, 0) end, @es41 = case when isnull(es41, 0) < 0 then 0 else isnull(es41, 0) end, @es42 = case when isnull(es42, 0) < 0 then 0 else isnull(es42, 0) end, @es43 = case when isnull(es43, 0) < 0 then 0 else isnull(es43, 0) end, @es44 = case when isnull(es44, 0) < 0 then 0 else isnull(es44, 0) end, @es45 = case when isnull(es45, 0) < 0 then 0 else isnull(es45, 0) end, @es46 = case when isnull(es46, 0) < 0 then 0 else isnull(es46, 0) end, @es47 = case when isnull(es47, 0) < 0 then 0 else isnull(es47, 0) end, @es48 = case when isnull(es48, 0) < 0 then 0 else isnull(es48, 0) end from estoque_produtos where filial = @filial and produto = @produto and cor_produto = @cor select @es1 = case when @es1 - isnull(sum(e1), 0) < 0 then 0 else @es1 - isnull(sum(e1), 0) end, @es2 = case when @es2 - isnull(sum(e2), 0) < 0 then 0 else @es2 - isnull(sum(e2), 0) end, @es3 = case when @es3 - isnull(sum(e3), 0) < 0 then 0 else @es3 - isnull(sum(e3), 0) end, @es4 = case when @es4 - isnull(sum(e4), 0) < 0 then 0 else @es4 - isnull(sum(e4), 0) end, @es5 = case when @es5 - isnull(sum(e5), 0) < 0 then 0 else @es5 - isnull(sum(e5), 0) end, @es6 = case when @es6 - isnull(sum(e6), 0) < 0 then 0 else @es6 - isnull(sum(e6), 0) end, @es7 = case when @es7 - isnull(sum(e7), 0) < 0 then 0 else @es7 - isnull(sum(e7), 0) end, @es8 = case when @es8 - isnull(sum(e8), 0) < 0 then 0 else @es8 - isnull(sum(e8), 0) end, @es9 = case when @es9 - isnull(sum(e9), 0) < 0 then 0 else @es9 - isnull(sum(e9), 0) end, @es10 = case when @es10 - isnull(sum(e10), 0) < 0 then 0 else @es10 - isnull(sum(e10), 0) end, @es11 = case when @es11 - isnull(sum(e11), 0) < 0 then 0 else @es11 - isnull(sum(e11), 0) end, @es12 = case when @es12 - isnull(sum(e12), 0) < 0 then 0 else @es12 - isnull(sum(e12), 0) end, @es13 = case when @es13 - isnull(sum(e13), 0) < 0 then 0 else @es13 - isnull(sum(e13), 0) end, @es14 = case when @es14 - isnull(sum(e14), 0) < 0 then 0 else @es14 - isnull(sum(e14), 0) end, @es15 = case when @es15 - isnull(sum(e15), 0) < 0 then 0 else @es15 - isnull(sum(e15), 0) end, @es16 = case when @es16 - isnull(sum(e16), 0) < 0 then 0 else @es16 - isnull(sum(e16), 0) end, @es17 = case when @es17 - isnull(sum(e17), 0) < 0 then 0 else @es17 - isnull(sum(e17), 0) end, @es18 = case when @es18 - isnull(sum(e18), 0) < 0 then 0 else @es18 - isnull(sum(e18), 0) end, @es19 = case when @es19 - isnull(sum(e19), 0) < 0 then 0 else @es19 - isnull(sum(e19), 0) end, @es20 = case when @es20 - isnull(sum(e20), 0) < 0 then 0 else @es20 - isnull(sum(e20), 0) end, @es21 = case when @es21 - isnull(sum(e21), 0) < 0 then 0 else @es21 - isnull(sum(e21), 0) end, @es22 = case when @es22 - isnull(sum(e22), 0) < 0 then 0 else @es22 - isnull(sum(e22), 0) end, @es23 = case when @es23 - isnull(sum(e23), 0) < 0 then 0 else @es23 - isnull(sum(e23), 0) end, @es24 = case when @es24 - isnull(sum(e24), 0) < 0 then 0 else @es24 - isnull(sum(e24), 0) end, @es25 = case when @es25 - isnull(sum(e25), 0) < 0 then 0 else @es25 - isnull(sum(e25), 0) end, @es26 = case when @es26 - isnull(sum(e26), 0) < 0 then 0 else @es26 - isnull(sum(e26), 0) end, @es27 = case when @es27 - isnull(sum(e27), 0) < 0 then 0 else @es27 - isnull(sum(e27), 0) end, @es28 = case when @es28 - isnull(sum(e28), 0) < 0 then 0 else @es28 - isnull(sum(e28), 0) end, @es29 = case when @es29 - isnull(sum(e29), 0) < 0 then 0 else @es29 - isnull(sum(e29), 0) end, @es30 = case when @es30 - isnull(sum(e30), 0) < 0 then 0 else @es30 - isnull(sum(e30), 0) end, @es31 = case when @es31 - isnull(sum(e31), 0) < 0 then 0 else @es31 - isnull(sum(e31), 0) end, @es31 = case when @es32 - isnull(sum(e32), 0) < 0 then 0 else @es32 - isnull(sum(e32), 0) end, @es33 = case when @es33 - isnull(sum(e33), 0) < 0 then 0 else @es33 - isnull(sum(e33), 0) end, @es34 = case when @es34 - isnull(sum(e34), 0) < 0 then 0 else @es34 - isnull(sum(e34), 0) end, @es35 = case when @es35 - isnull(sum(e35), 0) < 0 then 0 else @es35 - isnull(sum(e35), 0) end, @es36 = case when @es36 - isnull(sum(e36), 0) < 0 then 0 else @es36 - isnull(sum(e36), 0) end, @es37 = case when @es37 - isnull(sum(e37), 0) < 0 then 0 else @es37 - isnull(sum(e37), 0) end, @es38 = case when @es38 - isnull(sum(e38), 0) < 0 then 0 else @es38 - isnull(sum(e38), 0) end, @es39 = case when @es39 - isnull(sum(e39), 0) < 0 then 0 else @es39 - isnull(sum(e39), 0) end, @es30 = case when @es40 - isnull(sum(e40), 0) < 0 then 0 else @es40 - isnull(sum(e40), 0) end, @es41 = case when @es41 - isnull(sum(e41), 0) < 0 then 0 else @es41 - isnull(sum(e41), 0) end, @es42 = case when @es42 - isnull(sum(e42), 0) < 0 then 0 else @es42 - isnull(sum(e42), 0) end, @es43 = case when @es43 - isnull(sum(e43), 0) < 0 then 0 else @es43 - isnull(sum(e43), 0) end, @es44 = case when @es44 - isnull(sum(e44), 0) < 0 then 0 else @es44 - isnull(sum(e44), 0) end, @es45 = case when @es45 - isnull(sum(e45), 0) < 0 then 0 else @es45 - isnull(sum(e45), 0) end, @es46 = case when @es46 - isnull(sum(e46), 0) < 0 then 0 else @es46 - isnull(sum(e46), 0) end, @es47 = case when @es47 - isnull(sum(e47), 0) < 0 then 0 else @es47 - isnull(sum(e47), 0) end, @es48 = case when @es48 - isnull(sum(e48), 0) < 0 then 0 else @es48 - isnull(sum(e48), 0) end from vendas_prod_embalado where produto = @produto and cor_produto = @cor and filial = @filial select @d1 = @d1 + @es1, @d2 = @d2 + @es2, @d3 = @d3 + @es3, @d4 = @d4 + @es4, @d5 = @d5 + @es5, @d6 = @d6 + @es6, @d7 = @d7 + @es7, @d8 = @d8 + @es8, @d9 = @d9 + @es9, @d10 = @d10 + @es10, @d11 = @d11 + @es11, @d12 = @d12 + @es12, @d13 = @d23 + @es13, @d14 = @d14 + @es14, @d15 = @d15 + @es15, @d16 = @d16 + @es16, @d17 = @d17 + @es17, @d18 = @d18 + @es18, @d19 = @d19 + @es19, @d20 = @d20 + @es20, @d21 = @d21 + @es21, @d22 = @d22 + @es22, @d23 = @d23 + @es23, @d24 = @d24 + @es24, @d25 = @d25 + @es25, @d26 = @d26 + @es26, @d27 = @d27 + @es27, @d28 = @d28 + @es28, @d29 = @d29 + @es29, @d30 = @d30 + @es30, @d31 = @d31 + @es31, @d32 = @d32 + @es32, @d33 = @d33 + @es33, @d34 = @d34 + @es34, @d35 = @d35 + @es35, @d36 = @d36 + @es36, @d37 = @d37 + @es37, @d38 = @d38 + @es38, @d39 = @d39 + @es39, @d40 = @d40 + @es40, @d41 = @d41 + @es41, @d42 = @d42 + @es42, @d43 = @d43 + @es43, @d44 = @d44 + @es44, @d45 = @d45 + @es45, @d46 = @d46 + @es46, @d47 = @d47 + @es47, @d48 = @d48 + @es48 end if charindex(''P'', @disponivel) > 0 begin if @programacao_i is not null select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_prog_prod where produto = @produto and cor_produto = @cor and qtde_programada > 0 and entrega_inicial >= @programacao_i and entrega_inicial <= @programacao_f else select @d1 = @d1 + isnull(sum(p1), 0), @d2 = @d2 + isnull(sum(p2), 0), @d3 = @d3 + isnull(sum(p3), 0), @d4 = @d4 + isnull(sum(p4), 0), @d5 = @d5 + isnull(sum(p5), 0), @d6 = @d6 + isnull(sum(p6), 0), @d7 = @d7 + isnull(sum(p7), 0), @d8 = @d8 + isnull(sum(p8), 0), @d9 = @d9 + isnull(sum(p9), 0), @d10 = @d10 + isnull(sum(p10), 0), @d11 = @d11 + isnull(sum(p11), 0), @d12 = @d12 + isnull(sum(p12), 0), @d13 = @d23 + isnull(sum(p13), 0), @d14 = @d14 + isnull(sum(p14), 0), @d15 = @d15 + isnull(sum(p15), 0), @d16 = @d16 + isnull(sum(p16), 0), @d17 = @d17 + isnull(sum(p17), 0), @d18 = @d18 + isnull(sum(p18), 0), @d19 = @d19 + isnull(sum(p19), 0), @d20 = @d20 + isnull(sum(p20), 0), @d21 = @d21 + isnull(sum(p21), 0), @d22 = @d22 + isnull(sum(p22), 0), @d23 = @d23 + isnull(sum(p23), 0), @d24 = @d24 + isnull(sum(p24), 0), @d25 = @d25 + isnull(sum(p25), 0), @d26 = @d26 + isnull(sum(p26), 0), @d27 = @d27 + isnull(sum(p27), 0), @d28 = @d28 + isnull(sum(p28), 0), @d29 = @d29 + isnull(sum(p29), 0), @d30 = @d30 + isnull(sum(p30), 0), @d31 = @d31 + isnull(sum(p31), 0), @d32 = @d32 + isnull(sum(p32), 0), @d33 = @d33 + isnull(sum(p33), 0), @d34 = @d34 + isnull(sum(p34), 0), @d35 = @d35 + isnull(sum(p35), 0), @d36 = @d36 + isnull(sum(p36), 0), @d37 = @d37 + isnull(sum(p37), 0), @d38 = @d38 + isnull(sum(p38), 0), @d39 = @d39 + isnull(sum(p39), 0), @d40 = @d40 + isnull(sum(p40), 0), @d41 = @d41 + isnull(sum(p41), 0), @d42 = @d42 + isnull(sum(p42), 0), @d43 = @d43 + isnull(sum(p43), 0), @d44 = @d44 + isnull(sum(p44), 0), @d45 = @d45 + isnull(sum(p45), 0), @d46 = @d46 + isnull(sum(p46), 0), @d47 = @d47 + isnull(sum(p47), 0), @d48 = @d48 + isnull(sum(p48), 0) from producao_prog_prod where produto = @produto and cor_produto = @cor and qtde_programada > 0 end select @d1 = ((@d1 * @porcentagem) / 100), @d2 = ((@d2 * @porcentagem) / 100), @d3 = ((@d3 * @porcentagem) / 100), @d4 = ((@d4 * @porcentagem) / 100), @d5 = ((@d5 * @porcentagem) / 100), @d6 = ((@d6 * @porcentagem) / 100), @d7 = ((@d7 * @porcentagem) / 100), @d8 = ((@d8 * @porcentagem) / 100), @d9 = ((@d9 * @porcentagem) / 100), @d10 = ((@d10 * @porcentagem) / 100), @d11 = ((@d11 * @porcentagem) / 100), @d12 = ((@d12 * @porcentagem) / 100), @d13 = ((@d13 * @porcentagem) / 100), @d14 = ((@d14 * @porcentagem) / 100), @d15 = ((@d15 * @porcentagem) / 100), @d16 = ((@d16 * @porcentagem) / 100), @d17 = ((@d17 * @porcentagem) / 100), @d18 = ((@d18 * @porcentagem) / 100), @d19 = ((@d19 * @porcentagem) / 100), @d20 = ((@d20 * @porcentagem) / 100), @d21 = ((@d21 * @porcentagem) / 100), @d22 = ((@d22 * @porcentagem) / 100), @d23 = ((@d23 * @porcentagem) / 100), @d24 = ((@d24 * @porcentagem) / 100), @d25 = ((@d25 * @porcentagem) / 100), @d26 = ((@d26 * @porcentagem) / 100), @d27 = ((@d27 * @porcentagem) / 100), @d28 = ((@d28 * @porcentagem) / 100), @d29 = ((@d29 * @porcentagem) / 100), @d30 = ((@d30 * @porcentagem) / 100), @d31 = ((@d31 * @porcentagem) / 100), @d32 = ((@d32 * @porcentagem) / 100), @d33 = ((@d33 * @porcentagem) / 100), @d34 = ((@d34 * @porcentagem) / 100), @d35 = ((@d35 * @porcentagem) / 100), @d36 = ((@d36 * @porcentagem) / 100), @d37 = ((@d37 * @porcentagem) / 100), @d38 = ((@d38 * @porcentagem) / 100), @d39 = ((@d39 * @porcentagem) / 100), @d40 = ((@d40 * @porcentagem) / 100), @d41 = ((@d41 * @porcentagem) / 100), @d42 = ((@d42 * @porcentagem) / 100), @d43 = ((@d43 * @porcentagem) / 100), @d44 = ((@d44 * @porcentagem) / 100), @d45 = ((@d45 * @porcentagem) / 100), @d46 = ((@d46 * @porcentagem) / 100), @d47 = ((@d47 * @porcentagem) / 100), @d48 = ((@d48 * @porcentagem) / 100) end select @qtde_d = @d1 + @d2 + @d3 + @d4 + @d5 + @d6 + @d7 + @d8 + @d9 + @d10 + @d11 + @d12 + @d13 + @d14 + @d15 + @d16 + @d17 + @d18 + @d19 + @d20 + @d21 + @d22 + @d23 + @d24 + @d25 + @d26 + @d27 + @d28 + @d29 + @d30 + @d31 + @d32 + @d33 + @d34 + @d35 + @d36 + @d37 + @d38 + @d39 + @d40 + @d41 + @d42 + @d43 + @d44 + @d45 + @d46 + @d47 + @d48 select @qtde = @q1 + @q2 + @q3 + @q4 + @q5 + @q6 + @q7 + @q8 + @q9 + @q10 + @q11 + @q12 + @q13 + @q14 + @q15 + @q16 + @q17 + @q18 + @q19 + @q20 + @q21 + @q22 + @q23 + @q24 + @q25 + @q26 + @q27 + @q28 + @q29 + @q30 + @q31 + @q32 + @q33 + @q34 + @q35 + @q36 + @q37 + @q38 + @q39 + @q40 + @q41 + @q42 + @q43 + @q44 + @q45 + @q46 + @q47 + @q48 select @valor = 0, @pedido = null /* verifica se utiliza tabela de preco do parametro ou do cadastro do cliente */ if @tab_preco_cliente = 1 begin select @tabela = codigo_tab_preco from clientes_atacado where cliente_atacado = @filiali if @tabela is null or @tabela = '''' select @tabela = @tab_preco end else select @tabela = @tab_preco select @pedido = pedido from vendas where romaneio = @romaneio and cliente_atacado = @filiali if @pedido is null or @@rowcount = 0 begin if (@tipo_processo = 2 and @qtde_d = 0) or @qtde = 0 begin fetch next from cursor_itens into @produtoi, @cori, @filiali, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48 continue end select @pedido = sequencia, @tamanho = tamanho from sequenciais where tabela_coluna = ''vendas.pedido'' update sequenciais set sequencia = right(convert(char(13), (1000000000000 + convert(int, @pedido) + 1)), @tamanho) where tabela_coluna = ''vendas.pedido'' insert into vendas (pedido, romaneio, colecao, codigo_tab_preco, tipo, condicao_pgto, filial, cliente_atacado, transportadora, moeda, representante, gerente, comissao, comissao_gerente, porcentagem_acerto, emissao, cadastramento, tot_qtde_original, tot_qtde_entregar, tot_valor_original, tot_valor_entregar, desconto, encargo, valor_ipi, tabela_filha, obs, aprovacao, desconto_sobre_1, desconto_sobre_2, desconto_sobre_3, desconto_sobre_4) values(@pedido, @romaneio, @colecao, @tabela, @tipo_venda, @cond_pgto, @filial, @filiali, @transportadora, @moeda, @representante, @gerente, @comissao, @comissao_gerente, @porc_acerto, @data, @data, 0, 0, 0, 0, 0, 0, 0, ''VENDAS_PRODUTO'', ''PEDIDO GERADO PELO PROCESSO DE GERACAO DE DISTRIBUICAO. ROMANEIO No. '' + @romaneio, ''E'', 0, 0, 0, 0) end else begin if (@tipo_processo = 2 and @qtde_d = 0) or @qtde = 0 begin delete from vendas_produto where pedido = @pedido and produto = @produtoi and cor_produto = @cori select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido fetch next from cursor_itens into @produtoi, @cori, @filiali, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48 continue end end select @preco1 = 0, @preco2 = 0, @preco3 = 0, @preco4 = 0 if @varia_preco_cor = 1 select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_preco_cor where codigo_tab_preco = @tabela and produto = @produtoi and cor_produto = @cori else select @preco1 = preco1, @preco2 = preco2, @preco3 = preco3, @preco4 = preco4 from produtos_precos where codigo_tab_preco = @tabela and produto = @produtoi if @varia_preco_tam = 1 begin select @xconta = 1 while @xconta <= @maximo_tamanhos begin select @valor = @valor + convert(numeric(14, 2), (case @xconta when 1 then @q1 when 2 then @q2 when 3 then @q3 when 4 then @q4 when 5 then @q5 when 6 then @q6 when 7 then @q7 when 8 then @q8 when 9 then @q9 when 10 then @q10 when 11 then @q11 when 12 then @q12 when 13 then @q13 when 14 then @q14 when 15 then @q15 when 16 then @q16 when 17 then @q17 when 18 then @q18 when 19 then @q19 when 20 then @q20 when 21 then @q21 when 22 then @q22 when 23 then @q23 when 24 then @q24 when 25 then @q25 when 26 then @q26 when 27 then @q27 when 28 then @q28 when 29 then @q29 when 30 then @q30 when 31 then @q31 when 32 then @q32 when 33 then @q33 when 34 then @q34 when 35 then @q35 when 36 then @q36 when 37 then @q37 when 38 then @q38 when 39 then @q39 when 40 then @q40 when 41 then @q41 when 42 then @q42 when 43 then @q43 when 44 then @q44 when 45 then @q45 when 46 then @q46 when 47 then @q47 when 48 then @q48 end)*((case convert(int, substring(@ponteiro_preco_tam , @xconta, 1)) when 1 then @preco1 when 2 then @preco2 when 3 then @preco3 when 4 then @preco4 end))), @xconta = @xconta + 1 end end else select @valor = @qtde * @preco1 if exists (select * from vendas_produto where pedido = @pedido and produto = @produtoi and cor_produto = @cori) begin update vendas_produto set vo1 = @q1, vo2 = @q2, vo3 = @q3, vo4 = @q4, vo5 = @q5, vo6 = @q6, vo7 = @q7, vo8 = @q8, vo9 = @q9, vo10 = @q10, vo11 = @q11, vo12 = @q12, vo13 = @q13, vo14 = @q14, vo15 = @q15, vo16 = @q16, vo17 = @q17, vo18 = @q18, vo19 = @q19, vo20 = @q20, vo21 = @q21, vo22 = @q22, vo23 = @q23, vo24 = @q24, vo25 = @q25, vo26 = @q26, vo27 = @q27, vo28 = @q28, vo29 = @q29, vo30 = @q30, vo31 = @q31, vo32 = @q32, vo33 = @q33, vo34 = @q34, vo35 = @q35, vo36 = @q36, vo37 = @q37, vo38 = @q38, vo39 = @q39, vo40 = @q40, vo41 = @q41, vo42 = @q42, vo43 = @q43, vo44 = @q44, vo45 = @q45, vo46 = @q46, vo47 = @q47, vo48 = @q48, ve1 = @q1, ve2 = @q2, ve3 = @q3, ve4 = @q4, ve5 = @q5, ve6 = @q6, ve7 = @q7, ve8 = @q8, ve9 = @q9, ve10 = @q10, ve11 = @q11, ve12 = @q12, ve13 = @q13, ve14 = @q14, ve15 = @q15, ve16 = @q16, ve17 = @q17, ve18 = @q18, ve19 = @q19, ve20 = @q20, ve21 = @q21, ve22 = @q22, ve23 = @q23, ve24 = @q24, ve25 = @q25, ve26 = @q26, ve27 = @q27, ve28 = @q28, ve29 = @q29, ve30 = @q30, ve31 = @q31, ve32 = @q32, ve33 = @q33, ve34 = @q34, ve35 = @q35, ve36 = @q36, ve37 = @q37, ve38 = @q38, ve39 = @q39, ve40 = @q40, ve41 = @q41, ve42 = @q42, ve43 = @q43, ve44 = @q44, ve45 = @q45, ve46 = @q46, ve47 = @q47, ve48 = @q48, qtde_original = @qtde, qtde_entregar = @qtde, valor_original = @valor, valor_entregar = @valor, preco1 = @preco1, preco2 = @preco2, preco3 = @preco3, preco4 = @preco4 where pedido = @pedido and produto = @produtoi and cor_produto = @cori end else begin insert into vendas_produto (pedido, produto, cor_produto, entrega, limite_entrega, qtde_original, qtde_entregar, valor_original, valor_entregar, vo1, vo2, vo3, vo4, vo5, vo6, vo7, vo8, vo9, vo10, vo11, vo12, vo13, vo14, vo15, vo16, vo17, vo18, vo19, vo20, vo21, vo22, vo23, vo24, vo25, vo26, vo27, vo28, vo29, vo30, vo31, vo32, vo33, vo34, vo35, vo36, vo37, vo38, vo39, vo40, vo41, vo42, vo43, vo44, vo45, vo46, vo47, vo48, ve1, ve2, ve3, ve4, ve5, ve6, ve7, ve8, ve9, ve10, ve11, ve12, ve13, ve14, ve15, ve16, ve17, ve18, ve19, ve20, ve21, ve22, ve23, ve24, ve25, ve26, ve27, ve28, ve29, ve30, ve31, ve32, ve33, ve34, ve35, ve36, ve37, ve38, ve39, ve40, ve41, ve42, ve43, ve44, ve45, ve46, ve47, ve48, preco1, preco2, preco3, preco4) values (@pedido, @produtoi, @cori, @data, @data, @qtde, @qtde, @valor, @valor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48, @preco1, @preco2, @preco3, @preco4) end select @tot_valor = sum(valor_original), @tot_qtde = sum(qtde_original) from vendas_produto where pedido = @pedido update vendas set tot_valor_original = @tot_valor, tot_valor_entregar = @tot_valor, tot_qtde_original = @tot_qtde, tot_qtde_entregar = @tot_qtde where pedido = @pedido select @q1 = case when @d1 > @q1 then @q1 else @d1 end, @q2 = case when @d2 > @q2 then @q2 else @d2 end, @q3 = case when @d3 > @q3 then @q3 else @d3 end, @q4 = case when @d4 > @q4 then @q4 else @d4 end, @q5 = case when @d5 > @q5 then @q5 else @d5 end, @q6 = case when @d6 > @q6 then @q6 else @d6 end, @q7 = case when @d7 > @q7 then @q7 else @d7 end, @q8 = case when @d8 > @q8 then @q8 else @d8 end, @q9 = case when @d9 > @q9 then @q9 else @d9 end, @q10 = case when @d10 > @q10 then @q10 else @d10 end, @q11 = case when @d11 > @q11 then @q11 else @d11 end, @q12 = case when @d12 > @q12 then @q12 else @d12 end, @q13 = case when @d13 > @q13 then @q13 else @d13 end, @q14 = case when @d14 > @q14 then @q14 else @d14 end, @q15 = case when @d15 > @q15 then @q15 else @d15 end, @q16 = case when @d16 > @q16 then @q16 else @d16 end, @q17 = case when @d17 > @q17 then @q17 else @d17 end, @q18 = case when @d18 > @q18 then @q18 else @d18 end, @q19 = case when @d19 > @q19 then @q19 else @d19 end, @q20 = case when @d20 > @q20 then @q20 else @d20 end, @q21 = case when @d21 > @q21 then @q21 else @d21 end, @q22 = case when @d22 > @q22 then @q22 else @d22 end, @q23 = case when @d23 > @q23 then @q23 else @d23 end, @q24 = case when @d24 > @q24 then @q24 else @d24 end, @q25 = case when @d25 > @q25 then @q25 else @d25 end, @q26 = case when @d26 > @q26 then @q26 else @d26 end, @q27 = case when @d27 > @q27 then @q27 else @d27 end, @q28 = case when @d28 > @q28 then @q28 else @d28 end, @q29 = case when @d29 > @q29 then @q29 else @d29 end, @q30 = case when @d30 > @q30 then @q30 else @d30 end, @q31 = case when @d31 > @q31 then @q31 else @d31 end, @q32 = case when @d32 > @q32 then @q32 else @d32 end, @q33 = case when @d33 > @q33 then @q33 else @d33 end, @q34 = case when @d34 > @q34 then @q34 else @d34 end, @q35 = case when @d35 > @q35 then @q35 else @d35 end, @q36 = case when @d36 > @q36 then @q36 else @d36 end, @q37 = case when @d37 > @q37 then @q37 else @d37 end, @q38 = case when @d38 > @q38 then @q38 else @d38 end, @q39 = case when @d39 > @q39 then @q39 else @d39 end, @q40 = case when @d40 > @q40 then @q40 else @d40 end, @q41 = case when @d41 > @q41 then @q41 else @d41 end, @q42 = case when @d42 > @q42 then @q42 else @d42 end, @q43 = case when @d43 > @q43 then @q43 else @d43 end, @q44 = case when @d44 > @q44 then @q44 else @d44 end, @q45 = case when @d45 > @q45 then @q45 else @d45 end, @q46 = case when @d46 > @q46 then @q46 else @d46 end, @q47 = case when @d47 > @q47 then @q47 else @d47 end, @q48 = case when @d48 > @q48 then @q48 else @d48 end select @d1 = @d1 - @q1, @d2 = @d2 - @q2, @d3 = @d3 - @q3, @d4 = @d4 - @q4, @d5 = @d5 - @q5, @d6 = @d6 - @q6, @d7 = @d7 - @q7, @d8 = @d8 - @q8, @d9 = @d9 - @q9, @d10 = @d10 - @q10, @d11 = @d11 - @q11, @d12 = @d12 - @q12, @d13 = @d13 - @q13, @d14 = @d14 - @q14, @d15 = @d15 - @q15, @d16 = @d16 - @q16, @d17 = @d17 - @q17, @d18 = @d18 - @q18, @d19 = @d19 - @q19, @d20 = @d20 - @q20, @d21 = @d21 - @q21, @d22 = @q22 - @q22, @d23 = @d23 - @q23, @d24 = @d24 - @q24, @d25 = @d25 - @q25, @d26 = @d26 - @q26, @d27 = @d27 - @q27, @d28 = @d28 - @q28, @d29 = @d29 - @q29, @d30 = @d30 - @q30, @d31 = @d31 - @q31, @d32 = @d32 - @q32, @d33 = @d33 - @q33, @d34 = @d34 - @q34, @d35 = @d35 - @q35, @d36 = @d36 - @q36, @d37 = @d37 - @q37, @d38 = @d38 - @q38, @d39 = @d39 - @q39, @d40 = @d40 - @q40, @d41 = @d41 - @q41, @d42 = @d42 - @q42, @d43 = @d43 - @q43, @d44 = @d44 - @q44, @d45 = @d45 - @q45, @d46 = @d46 - @q46, @d47 = @d47 - @q47, @d48 = @d48 - @q48 select @qtde = @q1 + @q2 + @q3 + @q4 + @q5 + @q6 + @q7 + @q8 + @q9 + @q10 + @q11 + @q12 + @q13 + @q14 + @q15 + @q16 + @q17 + @q18 + @q19 + @q20 + @q21 + @q22 + @q23 + @q24 + @q25 + @q26 + @q27 + @q28 + @q29 + @q30 + @q31 + @q32 + @q33 + @q34 + @q35 + @q36 + @q37 + @q38 + @q39 + @q40 + @q41 + @q42 + @q43 + @q44 + @q45 + @q46 + @q47 + @q48 if not exists (select * from romaneios_reservas where produto = @produtoi and cor_produto = @cori and romaneio = @romaneio and filial = @filial and pedido = @pedido) insert into romaneios_reservas (romaneio, filial, pedido, produto, cor_produto, cor_pedido, entrega, qtde_r, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40 ,r41, r42, r43, r44, r45, r46, r47, r48) values (@romaneio, @filial, @pedido, @produtoi, @cori, @cori, @data, @qtde, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q46, @q47, @q48) else update romaneios_reservas set r1 = @q1, r2 = @q2, r3 = @q3, r4 = @q4, r5 = @q5, r6 = @q6, r7 = @q7, r8 = @q8, r9 = @q9, r10 = @q10, r11 = @q11, r12 = @q12, r13 = @q13, r14 = @q14, r15 = @q15, r16 = @q16, r17 = @q17, r18 = @q18, r19 = @q19, r20 = @q20, r21 = @q21, r22 = @q22, r23 = @q23, r24 = @q24, r25 = @q25, r26 = @q26, r27 = @q27, r28 = @q28, r29 = @q29, r30 = @q30, r31 = @q31, r32 = @q32, r33 = @q33, r34 = @q34, r35 = @q35, r36 = @q36, r37 = @q37, r38 = @q38, r39 = @q39, r40 = @q40, r41 = @q41, r42 = @q42, r43 = @q43, r44 = @q44, r45 = @q45, r46 = @q46, r47 = @q47, r48 = @q48, qtde_r = @qtde where romaneio = @romaneio and filial = @filial and produto = @produtoi and cor_produto = @cori and pedido = @pedido if @status <> ''I'' select @status = ''P'' end else select @status = ''I'' fetch next from cursor_itens into @produtoi, @cori, @filiali, @ponteiro_preco_tam, @varia_preco_tam, @varia_preco_cor, @q1, @q2, @q3, @q4, @q5, @q6, @q7, @q8, @q9, @q10, @q11, @q12, @q13, @q14, @q15, @q16, @q17, @q18, @q19, @q20, @q21, @q22, @q23, @q24, @q25, @q26, @q27, @q28, @q29, @q30, @q31, @q32, @q33, @q34, @q35, @q36, @q37, @q38, @q39, @q40, @q41, @q42, @q43, @q44, @q45, @q36, @q47, @q48 end close cursor_itens deallocate cursor_itens update romaneios_produto set status = @status, filtros_processo = ''PROCESSO AUTOMATICO DE DISTRIBUIÇÃO. (GERAR QUANTIDADE FALTANTE)'' where romaneio = @romaneio and filial = @filial and produto = @produto fetch next from cursor_produtos into @produto, @ordem_producao end close cursor_produtos deallocate cursor_produtos set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_01]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_01] (CLIENTE_ATACADO, REPRESENTANTE, COLECAO, QTDE_EMBALADA, QTDE_ORIGINAL, QTDE_ENTREGUE, QTDE_ENTREGAR, QTDE_DEVOLVIDA, QTDE_CANCELADA, VALOR_ORIGINAL, VALOR_CANCELADO, VALOR_ENTREGUE, VALOR_DEVOLVIDO, VALOR_ENTREGAR, EMPRESA) AS SELECT Vendas.CLIENTE_ATACADO, Vendas.REPRESENTANTE, Vendas.COLECAO, SUM(Vendas.TOT_QTDE_EMBALADA), SUM(Vendas.TOT_QTDE_ORIGINAL), SUM(Vendas.TOT_QTDE_ENTREGUE), SUM(Vendas.TOT_QTDE_ENTREGAR), SUM(Vendas.TOT_QTDE_DEVOLVIDA), SUM(Vendas.TOT_QTDE_CANCELADA), SUM(Vendas.TOT_VALOR_ORIGINAL), SUM(Vendas.TOT_VALOR_CANCELADO), SUM(Vendas.TOT_VALOR_ENTREGUE), SUM(Vendas.TOT_VALOR_DEVOLVIDO), SUM(Vendas.TOT_VALOR_ENTREGAR), FILIAIS.EMPRESA FROM VENDAS JOIN FILIAIS ON VENDAS.FILIAL = FILIAIS.FILIAL GROUP BY VENDAS.CLIENTE_ATACADO, VENDAS.REPRESENTANTE, VENDAS.COLECAO, FILIAIS.EMPRESA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_PRODUTO_00]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_PRODUTO_00] (PRODUTO, VENDAS_ENTREGAR, VENDAS_ENTREGUE, VENDAS_ORIGINAL, VENDAS_DEVOLVIDA, VENDAS_EMBALADA, VENDAS_CANCELADA,EMPRESA) AS SELECT DISTINCT VENDAS_PRODUTO.PRODUTO, sum(qtde_entregar), sum(qtde_entregue), sum(qtde_original), sum(qtde_DEVOLVIDA), sum(qtde_EMBALADA), sum(qtde_CANCELADA), FILIAIS.EMPRESA FROM VENDAS_PRODUTO JOIN VENDAS ON VENDAS_PRODUTO.PEDIDO = VENDAS.PEDIDO JOIN FILIAIS ON VENDAS.FILIAL = FILIAIS.FILIAL GROUP BY PRODUTO,EMPRESA' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS] (TIPO, PRODUTO, COR_PRODUTO, entrega, MES, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48, EMPRESA) AS SELECT ''3 - VENDAS '', Vendas_produto.PRODUTO, Vendas_produto.COR_PRODUTO, Vendas_produto.ENTREGA, datepart(mm,Vendas_produto.entrega), SUM(Vendas_produto.qtde_original), SUM(Vendas_produto.qtde_entregar), SUM(Vendas_produto.qtde_entregue), SUM(Vendas_produto.qtde_cancelada), SUM(Vendas_produto.qtde_embalada), SUM(Vendas_produto.qtde_devolvida), SUM(Vendas_produto.valor_original), SUM(Vendas_produto.valor_entregar), SUM(Vendas_produto.valor_entregue), SUM(Vendas_produto.valor_cancelado), SUM(Vendas_produto.valor_devolvido), SUM(Vendas_produto.ve1), SUM(Vendas_produto.ve2), SUM(Vendas_produto.ve3), SUM(Vendas_produto.ve4), SUM(Vendas_produto.ve5), SUM(Vendas_produto.ve6), SUM(Vendas_produto.ve7), SUM(Vendas_produto.ve8), SUM(Vendas_produto.ve9), SUM(Vendas_produto.ve10), SUM(Vendas_produto.ve11), SUM(Vendas_produto.ve12), SUM(Vendas_produto.ve13), SUM(Vendas_produto.ve14), SUM(Vendas_produto.ve15), SUM(Vendas_produto.ve16), SUM(Vendas_produto.ve17), SUM(Vendas_produto.ve18), SUM(Vendas_produto.ve19), SUM(Vendas_produto.ve20), SUM(Vendas_produto.ve21), SUM(Vendas_produto.ve22), SUM(Vendas_produto.ve23), SUM(Vendas_produto.ve24), SUM(Vendas_produto.ve25), SUM(Vendas_produto.ve26), SUM(Vendas_produto.ve27), SUM(Vendas_produto.ve28), SUM(Vendas_produto.ve29), SUM(Vendas_produto.ve30), SUM(Vendas_produto.ve31), SUM(Vendas_produto.ve32), SUM(Vendas_produto.ve33), SUM(Vendas_produto.ve34), SUM(Vendas_produto.ve35), SUM(Vendas_produto.ve36), SUM(Vendas_produto.ve37), SUM(Vendas_produto.ve38), SUM(Vendas_produto.ve39), SUM(Vendas_produto.ve40), SUM(Vendas_produto.ve41), SUM(Vendas_produto.ve42), SUM(Vendas_produto.ve43), SUM(Vendas_produto.ve44), SUM(Vendas_produto.ve45), SUM(Vendas_produto.ve46), SUM(Vendas_produto.ve47), SUM(Vendas_produto.ve48), FILIAIS.EMPRESA FROM VENDAS_PRODUTO JOIN VENDAS ON VENDAS_PRODUTO.PEDIDO = VENDAS.PEDIDO JOIN FILIAIS ON VENDAS.FILIAL = FILIAIS.FILIAL GROUP BY PRODUTO, COR_PRODUTO, entrega, EMPRESA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_CURSOR_FT]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create PROCEDURE [LX_GERA_CURSOR_FT] -- VERSAO 4.06 @XORDEM_SERVICO CHAR(08)=NULL, @XXORDEM_PRODUCAO CHAR(08)=NULL, @XXROMANEIO_PRODUTO CHAR(08)=NULL, @XORDEM_SERVICO_ANTERIOR CHAR(08)=NULL, @XMOSTRA_PARTE BIT=NULL, @INDICA_BAIXA_AUTOMATICA BIT=0, @LISTA_CLIENTE BIT=0 AS /* SÃO PASSADOS DOIS PARÂMETROS PARA A PROCEDURE. SE FOR PASSADO @XORDEM_SERVICO, NUMERO DA ORDEM DE SERVICO, OS CALCULOS DA RESERVA SERÃO EM CIMA DA OS. SE FOR PASSADO @XXORDEM_PRODUCAO, NUMERO DA ORDEM DE PRODUCAO, OS CALCULOS DA RESERVA SERÃO EM CIMA DA OP. SE FOR PASSADO @XXROMANEIO_PRODUTO, NUMERO DO ROMANEIO DE ENTRADA DO PA NO ESTOQUE, OS CALCULOS DA RESERVA SERÃO EM CIMA DA ENTRADA NO ESTOQUE. SE FOR PASSADO @XORDEM_SERVICO_ANTERIOR, NUMERO DA ORDEM DE SERVICO ANTERIOR, OS CALCULOS DA RESERVA SERÃO EM CIMA DA OS ANTERIOR. TIPOS DE SUBSTITUIÇÃO DE MATERIAIS 1) POR MATERIAL, QUANDO A SUBSTITUIÇÃO É FEITA NA PÁGINA DE RESERVA PELO USUÁRIO A) O MATERIAL SUBSTITUTO NÃO ESTÁ NA FICHA TÉCNICA B) O MATERIAL SUBSTITUTO ESTÁ NA FICHA TÉCNICA 2) POR CLIENTE, QUANDO É FEITA UMA OP DE UM PEDIDO E A TROCA DE MATERIAL É FEITA AUTOMATICAMENTE. QUANDO É POR CLIENTE, E NÃO HOUVER UM ROMANEIO, O SISTEMA NAO FAZ A SUBSTITUIÇÃO A) O MATERIAL SUBSTITUTO NÃO ESTÁ NA FICHA TÉCNICA B) O MATERIAL SUBSTITUTO ESTÁ NA FICHA TÉCNICA 3) POR PRODUTO, QUANDO É FEITA UMA TROCA AUTOMÁTICA A) O MATERIAL SUBSTITUTO NÃO ESTÁ NA FICHA TÉCNICA B) O MATERIAL SUBSTITUTO ESTÁ NA FICHA TÉCNICA */ DECLARE -- @XORDEM_SERVICO CHAR(08), @XORDEM_PRODUCAO CHAR(08), -- @XXORDEM_PRODUCAO CHAR(08), -- @XXROMANEIO_PRODUTO CHAR(08), @XMATERIAL VARCHAR(11), @XCOR_MATERIAL VARCHAR(10), @XCONSUMO NUMERIC(10,3), @XTIPO_RESERVA SMALLINT, @MES CHAR(100), @XMATERIAL_SUBSTITUIDO VARCHAR(11), @XCOR_MATERIAL_SUBSTITUIDO VARCHAR(10), @XRESERVA_ORIGINAL NUMERIC(10,3), @XRESERVA NUMERIC(10,3), @XALTERACAO_CONSUMO NUMERIC(10,3), @XOC1 NUMERIC(10,3), @XO1 NUMERIC(10,3),@XO2 NUMERIC(10,3),@XO3 NUMERIC(10,3),@XO4 NUMERIC(10,3),@XO5 NUMERIC(10,3),@XO6 NUMERIC(10,3), @XO7 NUMERIC(10,3),@XO8 NUMERIC(10,3),@XO9 NUMERIC(10,3),@XO10 NUMERIC(10,3),@XO11 NUMERIC(10,3),@XO12 NUMERIC(10,3), @XO13 NUMERIC(10,3),@XO14 NUMERIC(10,3),@XO15 NUMERIC(10,3),@XO16 NUMERIC(10,3),@XO17 NUMERIC(10,3),@XO18 NUMERIC(10,3), @XO19 NUMERIC(10,3),@XO20 NUMERIC(10,3),@XO21 NUMERIC(10,3),@XO22 NUMERIC(10,3),@XO23 NUMERIC(10,3),@XO24 NUMERIC(10,3), @XO25 NUMERIC(10,3),@XO26 NUMERIC(10,3),@XO27 NUMERIC(10,3),@XO28 NUMERIC(10,3),@XO29 NUMERIC(10,3),@XO30 NUMERIC(10,3), @XO31 NUMERIC(10,3),@XO32 NUMERIC(10,3),@XO33 NUMERIC(10,3),@XO34 NUMERIC(10,3),@XO35 NUMERIC(10,3),@XO36 NUMERIC(10,3), @XO37 NUMERIC(10,3),@XO38 NUMERIC(10,3),@XO39 NUMERIC(10,3),@XO40 NUMERIC(10,3),@XO41 NUMERIC(10,3),@XO42 NUMERIC(10,3), @XO43 NUMERIC(10,3),@XO44 NUMERIC(10,3),@XO45 NUMERIC(10,3),@XO46 NUMERIC(10,3),@XO47 NUMERIC(10,3),@XO48 NUMERIC(10,3), @XTO1 NUMERIC(10,3),@XTO2 NUMERIC(10,3),@XTO3 NUMERIC(10,3),@XTO4 NUMERIC(10,3),@XTO5 NUMERIC(10,3),@XTO6 NUMERIC(10,3), @XTO7 NUMERIC(10,3),@XTO8 NUMERIC(10,3),@XTO9 NUMERIC(10,3),@XTO10 NUMERIC(10,3),@XTO11 NUMERIC(10,3),@XTO12 NUMERIC(10,3), @XTO13 NUMERIC(10,3),@XTO14 NUMERIC(10,3),@XTO15 NUMERIC(10,3),@XTO16 NUMERIC(10,3),@XTO17 NUMERIC(10,3),@XTO18 NUMERIC(10,3), @XTO19 NUMERIC(10,3),@XTO20 NUMERIC(10,3),@XTO21 NUMERIC(10,3),@XTO22 NUMERIC(10,3),@XTO23 NUMERIC(10,3),@XTO24 NUMERIC(10,3), @XTO25 NUMERIC(10,3),@XTO26 NUMERIC(10,3),@XTO27 NUMERIC(10,3),@XTO28 NUMERIC(10,3),@XTO29 NUMERIC(10,3),@XTO30 NUMERIC(10,3), @XTO31 NUMERIC(10,3),@XTO32 NUMERIC(10,3),@XTO33 NUMERIC(10,3),@XTO34 NUMERIC(10,3),@XTO35 NUMERIC(10,3),@XTO36 NUMERIC(10,3), @XTO37 NUMERIC(10,3),@XTO38 NUMERIC(10,3),@XTO39 NUMERIC(10,3),@XTO40 NUMERIC(10,3),@XTO41 NUMERIC(10,3),@XTO42 NUMERIC(10,3), @XTO43 NUMERIC(10,3),@XTO44 NUMERIC(10,3),@XTO45 NUMERIC(10,3),@XTO46 NUMERIC(10,3),@XTO47 NUMERIC(10,3),@XTO48 NUMERIC(10,3), @XCLIENTE_ATACADO VARCHAR(25), @XTEM_CLIENTE BIT, @XITEM CHAR(3), @XPARTE_APLICADO_MATERIAL VARCHAR(10) --SELECT ''1) PASSOU AQUI AS '',GETUTCDATE() /*CRIO UMA TABELA TEMPORARIA COM BASE NA TABELA PRODUCAO_ORDEM_SERV_MATERIAL*/ SET NOCOUNT ON WHILE EXISTS (SELECT * FROM TEMPDB..SYSOBJECTS WHERE NAME LIKE ''##TMP_RESERVA_MATERIAIS%'') BEGIN WAITFOR DELAY ''00:00:05'' END EXEC(''CREATE TABLE ##TMP_RESERVA_MATERIAIS( ORDEM_SERVICO CHAR(8) NULL, MATERIAL CHAR(11) NULL, COR_MATERIAL CHAR(10) NULL, ITEM CHAR(3) NULL, ORDEM_PRODUCAO CHAR(8) NULL, QTDE_NECESSARIA NUMERIC(9,3) NULL, QTDE_ORIGINAL NUMERIC(10,3) NULL, QTDE_ABATER NUMERIC(10,3) NULL, PARTE_APLICADO_MATERIAL VARCHAR(10) NULL )'') EXEC(''CREATE INDEX [XAK1##TMP_RESERVA_MATERIAIS] ON [DBO].[##TMP_RESERVA_MATERIAIS] ([ORDEM_SERVICO],[MATERIAL],[COR_MATERIAL], [ORDEM_PRODUCAO])'') /* CRIO CURSOR TEMPORARIO DOS MATERIAIS COM O CONSUMO DA FT*/ EXEC(''CREATE TABLE ##TMP_RESERVA_MATERIAIS_CLIENTE( CLIENTE_ATACADO CHAR(25) NULL, ORDEM_SERVICO CHAR(8) NULL, MATERIAL CHAR(11) NULL, COR_MATERIAL CHAR(10) NULL, ITEM CHAR(3) NULL, ORDEM_PRODUCAO CHAR(8) NULL, QTDE_NECESSARIA NUMERIC(9,3) NULL, QTDE_ORIGINAL NUMERIC(10,3) NULL, QTDE_ABATER NUMERIC(10,3) NULL, PARTE_APLICADO_MATERIAL VARCHAR(10) NULL )'') --SELECT ''2) PASSOU AQUI AS '',GETUTCDATE() /*É UMA GERAÇÃO POR ENTRADA NO ESTOQUE - ROMANEIO_PRODUTO*/ IF @XXROMANEIO_PRODUTO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*ESTOQUE_PROD1_ENT.EN_1 )+(PRODUTOS_FICHA.C2*ESTOQUE_PROD1_ENT.EN_2 )+ (PRODUTOS_FICHA.C3*ESTOQUE_PROD1_ENT.EN_3 )+(PRODUTOS_FICHA.C4*ESTOQUE_PROD1_ENT.EN_4 )+ (PRODUTOS_FICHA.C5*ESTOQUE_PROD1_ENT.EN_5 )+(PRODUTOS_FICHA.C6*ESTOQUE_PROD1_ENT.EN_6 )+ (PRODUTOS_FICHA.C7*ESTOQUE_PROD1_ENT.EN_7 )+(PRODUTOS_FICHA.C8*ESTOQUE_PROD1_ENT.EN_8 )+ (PRODUTOS_FICHA.C9*ESTOQUE_PROD1_ENT.EN_9 )+(PRODUTOS_FICHA.C10*ESTOQUE_PROD1_ENT.EN_10)+ (PRODUTOS_FICHA.C11*ESTOQUE_PROD1_ENT.EN_11 )+(PRODUTOS_FICHA.C12*ESTOQUE_PROD1_ENT.EN_12)+ (PRODUTOS_FICHA.C13*ESTOQUE_PROD1_ENT.EN_13 )+(PRODUTOS_FICHA.C14*ESTOQUE_PROD1_ENT.EN_14)+ (PRODUTOS_FICHA.C15*ESTOQUE_PROD1_ENT.EN_15 )+(PRODUTOS_FICHA.C16*ESTOQUE_PROD1_ENT.EN_16)+ (PRODUTOS_FICHA.C17*ESTOQUE_PROD1_ENT.EN_17 )+(PRODUTOS_FICHA.C18*ESTOQUE_PROD1_ENT.EN_18)+ (PRODUTOS_FICHA.C19*ESTOQUE_PROD1_ENT.EN_19 )+(PRODUTOS_FICHA.C20*ESTOQUE_PROD1_ENT.EN_20)+ (PRODUTOS_FICHA.C21*ESTOQUE_PROD1_ENT.EN_21 )+(PRODUTOS_FICHA.C22*ESTOQUE_PROD1_ENT.EN_22)+ (PRODUTOS_FICHA.C23*ESTOQUE_PROD1_ENT.EN_23 )+(PRODUTOS_FICHA.C24*ESTOQUE_PROD1_ENT.EN_24)+ (PRODUTOS_FICHA.C25*ESTOQUE_PROD1_ENT.EN_25 )+(PRODUTOS_FICHA.C26*ESTOQUE_PROD1_ENT.EN_26)+ (PRODUTOS_FICHA.C27*ESTOQUE_PROD1_ENT.EN_27 )+(PRODUTOS_FICHA.C28*ESTOQUE_PROD1_ENT.EN_28)+ (PRODUTOS_FICHA.C29*ESTOQUE_PROD1_ENT.EN_29 )+(PRODUTOS_FICHA.C30*ESTOQUE_PROD1_ENT.EN_30)+ (PRODUTOS_FICHA.C31*ESTOQUE_PROD1_ENT.EN_31 )+(PRODUTOS_FICHA.C32*ESTOQUE_PROD1_ENT.EN_32)+ (PRODUTOS_FICHA.C33*ESTOQUE_PROD1_ENT.EN_33 )+(PRODUTOS_FICHA.C34*ESTOQUE_PROD1_ENT.EN_34)+ (PRODUTOS_FICHA.C35*ESTOQUE_PROD1_ENT.EN_35 )+(PRODUTOS_FICHA.C36*ESTOQUE_PROD1_ENT.EN_36)+ (PRODUTOS_FICHA.C37*ESTOQUE_PROD1_ENT.EN_37 )+(PRODUTOS_FICHA.C38*ESTOQUE_PROD1_ENT.EN_38)+ (PRODUTOS_FICHA.C39*ESTOQUE_PROD1_ENT.EN_39 )+(PRODUTOS_FICHA.C40*ESTOQUE_PROD1_ENT.EN_40)+ (PRODUTOS_FICHA.C41*ESTOQUE_PROD1_ENT.EN_41 )+(PRODUTOS_FICHA.C42*ESTOQUE_PROD1_ENT.EN_42)+ (PRODUTOS_FICHA.C43*ESTOQUE_PROD1_ENT.EN_43 )+(PRODUTOS_FICHA.C44*ESTOQUE_PROD1_ENT.EN_44)+ (PRODUTOS_FICHA.C45*ESTOQUE_PROD1_ENT.EN_45 )+(PRODUTOS_FICHA.C46*ESTOQUE_PROD1_ENT.EN_46)+ (PRODUTOS_FICHA.C47*ESTOQUE_PROD1_ENT.EN_47 )+(PRODUTOS_FICHA.C48*ESTOQUE_PROD1_ENT.EN_48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, SUBSTRING(PRODUTOS_FICHA.ITEM,2,3) AS ITEM, PARTE_APLICADO_MATERIAL , (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*ESTOQUE_PROD1_ENT.EN_1 )+(PRODUTOS_FICHA.C2*ESTOQUE_PROD1_ENT.EN_2 )+ (PRODUTOS_FICHA.C3*ESTOQUE_PROD1_ENT.EN_3 )+(PRODUTOS_FICHA.C4*ESTOQUE_PROD1_ENT.EN_4 )+ (PRODUTOS_FICHA.C5*ESTOQUE_PROD1_ENT.EN_5 )+(PRODUTOS_FICHA.C6*ESTOQUE_PROD1_ENT.EN_6 )+ (PRODUTOS_FICHA.C7*ESTOQUE_PROD1_ENT.EN_7 )+(PRODUTOS_FICHA.C8*ESTOQUE_PROD1_ENT.EN_8 )+ (PRODUTOS_FICHA.C9*ESTOQUE_PROD1_ENT.EN_9 )+(PRODUTOS_FICHA.C10*ESTOQUE_PROD1_ENT.EN_10)+ (PRODUTOS_FICHA.C11*ESTOQUE_PROD1_ENT.EN_11 )+(PRODUTOS_FICHA.C12*ESTOQUE_PROD1_ENT.EN_12)+ (PRODUTOS_FICHA.C13*ESTOQUE_PROD1_ENT.EN_13 )+(PRODUTOS_FICHA.C14*ESTOQUE_PROD1_ENT.EN_14)+ (PRODUTOS_FICHA.C15*ESTOQUE_PROD1_ENT.EN_15 )+(PRODUTOS_FICHA.C16*ESTOQUE_PROD1_ENT.EN_16)+ (PRODUTOS_FICHA.C17*ESTOQUE_PROD1_ENT.EN_17 )+(PRODUTOS_FICHA.C18*ESTOQUE_PROD1_ENT.EN_18)+ (PRODUTOS_FICHA.C19*ESTOQUE_PROD1_ENT.EN_19 )+(PRODUTOS_FICHA.C20*ESTOQUE_PROD1_ENT.EN_20)+ (PRODUTOS_FICHA.C21*ESTOQUE_PROD1_ENT.EN_21 )+(PRODUTOS_FICHA.C22*ESTOQUE_PROD1_ENT.EN_22)+ (PRODUTOS_FICHA.C23*ESTOQUE_PROD1_ENT.EN_23 )+(PRODUTOS_FICHA.C24*ESTOQUE_PROD1_ENT.EN_24)+ (PRODUTOS_FICHA.C25*ESTOQUE_PROD1_ENT.EN_25 )+(PRODUTOS_FICHA.C26*ESTOQUE_PROD1_ENT.EN_26)+ (PRODUTOS_FICHA.C27*ESTOQUE_PROD1_ENT.EN_27 )+(PRODUTOS_FICHA.C28*ESTOQUE_PROD1_ENT.EN_28)+ (PRODUTOS_FICHA.C29*ESTOQUE_PROD1_ENT.EN_29 )+(PRODUTOS_FICHA.C30*ESTOQUE_PROD1_ENT.EN_30)+ (PRODUTOS_FICHA.C31*ESTOQUE_PROD1_ENT.EN_31 )+(PRODUTOS_FICHA.C32*ESTOQUE_PROD1_ENT.EN_32)+ (PRODUTOS_FICHA.C33*ESTOQUE_PROD1_ENT.EN_33 )+(PRODUTOS_FICHA.C34*ESTOQUE_PROD1_ENT.EN_34)+ (PRODUTOS_FICHA.C35*ESTOQUE_PROD1_ENT.EN_35 )+(PRODUTOS_FICHA.C36*ESTOQUE_PROD1_ENT.EN_36)+ (PRODUTOS_FICHA.C37*ESTOQUE_PROD1_ENT.EN_37 )+(PRODUTOS_FICHA.C38*ESTOQUE_PROD1_ENT.EN_38)+ (PRODUTOS_FICHA.C39*ESTOQUE_PROD1_ENT.EN_39 )+(PRODUTOS_FICHA.C40*ESTOQUE_PROD1_ENT.EN_40)+ (PRODUTOS_FICHA.C41*ESTOQUE_PROD1_ENT.EN_41 )+(PRODUTOS_FICHA.C42*ESTOQUE_PROD1_ENT.EN_42)+ (PRODUTOS_FICHA.C43*ESTOQUE_PROD1_ENT.EN_43 )+(PRODUTOS_FICHA.C44*ESTOQUE_PROD1_ENT.EN_44)+ (PRODUTOS_FICHA.C45*ESTOQUE_PROD1_ENT.EN_45 )+(PRODUTOS_FICHA.C46*ESTOQUE_PROD1_ENT.EN_46)+ (PRODUTOS_FICHA.C47*ESTOQUE_PROD1_ENT.EN_47 )+(PRODUTOS_FICHA.C48*ESTOQUE_PROD1_ENT.EN_48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUTOS_FICHA.ITEM,PARTE_APLICADO_MATERIAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OS*/ IF @XORDEM_SERVICO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*PRODUCAO_OS_TAREFAS.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_TAREFAS.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_TAREFAS.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_TAREFAS.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_TAREFAS.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_TAREFAS.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_TAREFAS.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_TAREFAS.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_TAREFAS.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_TAREFAS.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_TAREFAS.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_TAREFAS.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_TAREFAS.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_TAREFAS.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_TAREFAS.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_TAREFAS.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_TAREFAS.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_TAREFAS.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_TAREFAS.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_TAREFAS.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_TAREFAS.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_TAREFAS.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_TAREFAS.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_TAREFAS.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_TAREFAS.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_TAREFAS.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_TAREFAS.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_TAREFAS.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_TAREFAS.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_TAREFAS.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_TAREFAS.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_TAREFAS.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_TAREFAS.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_TAREFAS.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_TAREFAS.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_TAREFAS.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_TAREFAS.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_TAREFAS.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_TAREFAS.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_TAREFAS.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_TAREFAS.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_TAREFAS.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_TAREFAS.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_TAREFAS.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_TAREFAS.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_TAREFAS.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_TAREFAS.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_TAREFAS.O48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, SUBSTRING(PRODUTOS_FICHA.ITEM,2,3) AS ITEM, PARTE_APLICADO_MATERIAL , (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*PRODUCAO_OS_TAREFAS.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_TAREFAS.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_TAREFAS.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_TAREFAS.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_TAREFAS.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_TAREFAS.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_TAREFAS.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_TAREFAS.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_TAREFAS.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_TAREFAS.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_TAREFAS.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_TAREFAS.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_TAREFAS.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_TAREFAS.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_TAREFAS.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_TAREFAS.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_TAREFAS.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_TAREFAS.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_TAREFAS.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_TAREFAS.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_TAREFAS.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_TAREFAS.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_TAREFAS.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_TAREFAS.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_TAREFAS.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_TAREFAS.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_TAREFAS.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_TAREFAS.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_TAREFAS.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_TAREFAS.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_TAREFAS.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_TAREFAS.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_TAREFAS.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_TAREFAS.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_TAREFAS.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_TAREFAS.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_TAREFAS.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_TAREFAS.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_TAREFAS.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_TAREFAS.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_TAREFAS.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_TAREFAS.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_TAREFAS.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_TAREFAS.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_TAREFAS.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_TAREFAS.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_TAREFAS.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_TAREFAS.O48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUTOS_FICHA.ITEM,PARTE_APLICADO_MATERIAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OS ANTERIOR*/ IF @XORDEM_SERVICO_ANTERIOR IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*PRODUCAO_OS_ANTERIOR.A1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_ANTERIOR.A2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_ANTERIOR.A3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_ANTERIOR.A4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_ANTERIOR.A5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_ANTERIOR.A6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_ANTERIOR.A7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_ANTERIOR.A8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_ANTERIOR.A9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_ANTERIOR.A10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_ANTERIOR.A11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_ANTERIOR.A12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_ANTERIOR.A13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_ANTERIOR.A14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_ANTERIOR.A15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_ANTERIOR.A16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_ANTERIOR.A17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_ANTERIOR.A18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_ANTERIOR.A19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_ANTERIOR.A20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_ANTERIOR.A21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_ANTERIOR.A22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_ANTERIOR.A23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_ANTERIOR.A24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_ANTERIOR.A25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_ANTERIOR.A26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_ANTERIOR.A27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_ANTERIOR.A28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_ANTERIOR.A29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_ANTERIOR.A30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_ANTERIOR.A31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_ANTERIOR.A32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_ANTERIOR.A33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_ANTERIOR.A34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_ANTERIOR.A35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_ANTERIOR.A36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_ANTERIOR.A37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_ANTERIOR.A38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_ANTERIOR.A39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_ANTERIOR.A40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_ANTERIOR.A41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_ANTERIOR.A42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_ANTERIOR.A43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_ANTERIOR.A44) + (PRODUTOS_FICHA.C45*PRODUCAO_OS_ANTERIOR.A45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_ANTERIOR.A46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_ANTERIOR.A47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_ANTERIOR.A48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, SUBSTRING(PRODUTOS_FICHA.ITEM,2,3) AS ITEM, PARTE_APLICADO_MATERIAL , (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*PRODUCAO_OS_ANTERIOR.A1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_ANTERIOR.A2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_ANTERIOR.A3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_ANTERIOR.A4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_ANTERIOR.A5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_ANTERIOR.A6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_ANTERIOR.A7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_ANTERIOR.A8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_ANTERIOR.A9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_ANTERIOR.A10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_ANTERIOR.A11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_ANTERIOR.A12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_ANTERIOR.A13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_ANTERIOR.A14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_ANTERIOR.A15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_ANTERIOR.A16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_ANTERIOR.A17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_ANTERIOR.A18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_ANTERIOR.A19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_ANTERIOR.A20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_ANTERIOR.A21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_ANTERIOR.A22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_ANTERIOR.A23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_ANTERIOR.A24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_ANTERIOR.A25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_ANTERIOR.A26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_ANTERIOR.A27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_ANTERIOR.A28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_ANTERIOR.A29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_ANTERIOR.A30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_ANTERIOR.A31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_ANTERIOR.A32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_ANTERIOR.A33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_ANTERIOR.A34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_ANTERIOR.A35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_ANTERIOR.A36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_ANTERIOR.A37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_ANTERIOR.A38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_ANTERIOR.A39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_ANTERIOR.A40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_ANTERIOR.A41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_ANTERIOR.A42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_ANTERIOR.A43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_ANTERIOR.A44) + (PRODUTOS_FICHA.C45*PRODUCAO_OS_ANTERIOR.A45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_ANTERIOR.A46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_ANTERIOR.A47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_ANTERIOR.A48 ) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUTOS_FICHA.ITEM,PARTE_APLICADO_MATERIAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OP*/ IF @XXORDEM_PRODUCAO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (ISNULL(PRODUTOS_FICHA.C1,0)*PRODUCAO_ORDEM_COR.O1 )+(ISNULL(PRODUTOS_FICHA.C2,0)*PRODUCAO_ORDEM_COR.O2 )+ (ISNULL(PRODUTOS_FICHA.C3,0)*PRODUCAO_ORDEM_COR.O3 )+(ISNULL(PRODUTOS_FICHA.C4,0)*PRODUCAO_ORDEM_COR.O4 )+ (ISNULL(PRODUTOS_FICHA.C5,0)*PRODUCAO_ORDEM_COR.O5 )+(ISNULL(PRODUTOS_FICHA.C6,0)*PRODUCAO_ORDEM_COR.O6 )+ (ISNULL(PRODUTOS_FICHA.C7,0)*PRODUCAO_ORDEM_COR.O7 )+(ISNULL(PRODUTOS_FICHA.C8,0)*PRODUCAO_ORDEM_COR.O8 )+ (ISNULL(PRODUTOS_FICHA.C9,0)*PRODUCAO_ORDEM_COR.O9 )+(ISNULL(PRODUTOS_FICHA.C10,0)*PRODUCAO_ORDEM_COR.O10)+ (ISNULL(PRODUTOS_FICHA.C11,0)*PRODUCAO_ORDEM_COR.O11 )+(ISNULL(PRODUTOS_FICHA.C12,0)*PRODUCAO_ORDEM_COR.O12)+ (ISNULL(PRODUTOS_FICHA.C13,0)*PRODUCAO_ORDEM_COR.O13 )+(ISNULL(PRODUTOS_FICHA.C14,0)*PRODUCAO_ORDEM_COR.O14)+ (ISNULL(PRODUTOS_FICHA.C15,0)*PRODUCAO_ORDEM_COR.O15 )+(ISNULL(PRODUTOS_FICHA.C16,0)*PRODUCAO_ORDEM_COR.O16)+ (ISNULL(PRODUTOS_FICHA.C17,0)*PRODUCAO_ORDEM_COR.O17 )+(ISNULL(PRODUTOS_FICHA.C18,0)*PRODUCAO_ORDEM_COR.O18)+ (ISNULL(PRODUTOS_FICHA.C19,0)*PRODUCAO_ORDEM_COR.O19 )+(ISNULL(PRODUTOS_FICHA.C20,0)*PRODUCAO_ORDEM_COR.O20)+ (ISNULL(PRODUTOS_FICHA.C21,0)*PRODUCAO_ORDEM_COR.O21 )+(ISNULL(PRODUTOS_FICHA.C22,0)*PRODUCAO_ORDEM_COR.O22)+ (ISNULL(PRODUTOS_FICHA.C23,0)*PRODUCAO_ORDEM_COR.O23 )+(ISNULL(PRODUTOS_FICHA.C24,0)*PRODUCAO_ORDEM_COR.O24)+ (ISNULL(PRODUTOS_FICHA.C25,0)*PRODUCAO_ORDEM_COR.O25 )+(ISNULL(PRODUTOS_FICHA.C26,0)*PRODUCAO_ORDEM_COR.O26)+ (ISNULL(PRODUTOS_FICHA.C27,0)*PRODUCAO_ORDEM_COR.O27 )+(ISNULL(PRODUTOS_FICHA.C28,0)*PRODUCAO_ORDEM_COR.O28)+ (ISNULL(PRODUTOS_FICHA.C29,0)*PRODUCAO_ORDEM_COR.O29 )+(ISNULL(PRODUTOS_FICHA.C30,0)*PRODUCAO_ORDEM_COR.O30)+ (ISNULL(PRODUTOS_FICHA.C31,0)*PRODUCAO_ORDEM_COR.O31 )+(ISNULL(PRODUTOS_FICHA.C32,0)*PRODUCAO_ORDEM_COR.O32)+ (ISNULL(PRODUTOS_FICHA.C33,0)*PRODUCAO_ORDEM_COR.O33 )+(ISNULL(PRODUTOS_FICHA.C34,0)*PRODUCAO_ORDEM_COR.O34)+ (ISNULL(PRODUTOS_FICHA.C35,0)*PRODUCAO_ORDEM_COR.O35 )+(ISNULL(PRODUTOS_FICHA.C36,0)*PRODUCAO_ORDEM_COR.O36)+ (ISNULL(PRODUTOS_FICHA.C37,0)*PRODUCAO_ORDEM_COR.O37 )+(ISNULL(PRODUTOS_FICHA.C38,0)*PRODUCAO_ORDEM_COR.O38)+ (ISNULL(PRODUTOS_FICHA.C39,0)*PRODUCAO_ORDEM_COR.O39 )+(ISNULL(PRODUTOS_FICHA.C40,0)*PRODUCAO_ORDEM_COR.O40)+ (ISNULL(PRODUTOS_FICHA.C41,0)*PRODUCAO_ORDEM_COR.O41 )+(ISNULL(PRODUTOS_FICHA.C42,0)*PRODUCAO_ORDEM_COR.O42)+ (ISNULL(PRODUTOS_FICHA.C43,0)*PRODUCAO_ORDEM_COR.O43 )+(ISNULL(PRODUTOS_FICHA.C44,0)*PRODUCAO_ORDEM_COR.O44)+ (ISNULL(PRODUTOS_FICHA.C45,0)*PRODUCAO_ORDEM_COR.O45 )+(ISNULL(PRODUTOS_FICHA.C46,0)*PRODUCAO_ORDEM_COR.O46)+ (ISNULL(PRODUTOS_FICHA.C47,0)*PRODUCAO_ORDEM_COR.O47 )+(ISNULL(PRODUTOS_FICHA.C48,0)*PRODUCAO_ORDEM_COR.O48)) *(ISNULL(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO,0)/100))/ISNULL(MATERIAIS.FATOR_CONVERSAO,1))) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XXORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE DECLARE TMPMATERIAIS SCROLL CURSOR FOR SELECT DISTINCT PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA, SUBSTRING(PRODUTOS_FICHA.ITEM,2,3) AS ITEM, PARTE_APLICADO_MATERIAL , (CASE WHEN PRODUCAO_RESERVA.TIPO_RESERVA <> 1 THEN PRODUCAO_RESERVA.RESERVA_ORIGINAL ELSE(SUM((( (PRODUTOS_FICHA.C1*PRODUCAO_ORDEM_COR.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_ORDEM_COR.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_ORDEM_COR.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_ORDEM_COR.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_ORDEM_COR.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_ORDEM_COR.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_ORDEM_COR.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_ORDEM_COR.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_ORDEM_COR.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_ORDEM_COR.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_ORDEM_COR.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_ORDEM_COR.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_ORDEM_COR.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_ORDEM_COR.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_ORDEM_COR.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_ORDEM_COR.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_ORDEM_COR.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_ORDEM_COR.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_ORDEM_COR.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_ORDEM_COR.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_ORDEM_COR.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_ORDEM_COR.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_ORDEM_COR.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_ORDEM_COR.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_ORDEM_COR.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_ORDEM_COR.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_ORDEM_COR.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_ORDEM_COR.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_ORDEM_COR.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_ORDEM_COR.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_ORDEM_COR.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_ORDEM_COR.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_ORDEM_COR.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_ORDEM_COR.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_ORDEM_COR.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_ORDEM_COR.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_ORDEM_COR.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_ORDEM_COR.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_ORDEM_COR.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_ORDEM_COR.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_ORDEM_COR.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_ORDEM_COR.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_ORDEM_COR.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_ORDEM_COR.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_ORDEM_COR.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_ORDEM_COR.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_ORDEM_COR.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_ORDEM_COR.O48) )*(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO )) END) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XXORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.TIPO_RESERVA,PRODUCAO_RESERVA.RESERVA_ORIGINAL,PRODUTOS_FICHA.ITEM,PARTE_APLICADO_MATERIAL ORDER BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*COLOCO ESPACO EM BRANCO NA OS QUANDO FOR UMA GERACAO POR OP */ IF @XORDEM_SERVICO IS NULL SELECT @XORDEM_SERVICO = '''' OPEN TMPMATERIAIS IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 FETCH NEXT FROM TMPMATERIAIS INTO @XORDEM_PRODUCAO,@XMATERIAL,@XCOR_MATERIAL,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO, @XTIPO_RESERVA,@XCONSUMO ELSE FETCH NEXT FROM TMPMATERIAIS INTO @XORDEM_PRODUCAO,@XMATERIAL,@XCOR_MATERIAL,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO, @XTIPO_RESERVA,@XITEM,@XPARTE_APLICADO_MATERIAL,@XCONSUMO WHILE @@FETCH_STATUS = 0 BEGIN -- SELECT ''3.5) PASSOU AQUI AS '',GETUTCDATE() SELECT @XRESERVA_ORIGINAL = 0 SELECT @XRESERVA = 0 SELECT @XO1 = 0 /*VERIFICO OS MATERIAIS QUE SÃO SUBSTITUTOS*/ IF @XMATERIAL_SUBSTITUIDO IS NOT NULL BEGIN SELECT @XRESERVA = 0 /*É UMA GERAÇÃO POR OS*/ IF @XORDEM_SERVICO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_OS_TAREFAS.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_TAREFAS.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_TAREFAS.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_TAREFAS.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_TAREFAS.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_TAREFAS.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_TAREFAS.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_TAREFAS.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_TAREFAS.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_TAREFAS.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_TAREFAS.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_TAREFAS.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_TAREFAS.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_TAREFAS.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_TAREFAS.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_TAREFAS.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_TAREFAS.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_TAREFAS.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_TAREFAS.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_TAREFAS.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_TAREFAS.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_TAREFAS.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_TAREFAS.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_TAREFAS.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_TAREFAS.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_TAREFAS.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_TAREFAS.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_TAREFAS.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_TAREFAS.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_TAREFAS.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_TAREFAS.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_TAREFAS.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_TAREFAS.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_TAREFAS.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_TAREFAS.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_TAREFAS.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_TAREFAS.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_TAREFAS.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_TAREFAS.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_TAREFAS.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_TAREFAS.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_TAREFAS.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_TAREFAS.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_TAREFAS.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_TAREFAS.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_TAREFAS.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_TAREFAS.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_TAREFAS.O48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_OS_TAREFAS.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_TAREFAS.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_TAREFAS.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_TAREFAS.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_TAREFAS.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_TAREFAS.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_TAREFAS.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_TAREFAS.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_TAREFAS.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_TAREFAS.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_TAREFAS.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_TAREFAS.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_TAREFAS.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_TAREFAS.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_TAREFAS.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_TAREFAS.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_TAREFAS.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_TAREFAS.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_TAREFAS.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_TAREFAS.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_TAREFAS.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_TAREFAS.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_TAREFAS.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_TAREFAS.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_TAREFAS.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_TAREFAS.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_TAREFAS.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_TAREFAS.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_TAREFAS.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_TAREFAS.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_TAREFAS.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_TAREFAS.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_TAREFAS.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_TAREFAS.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_TAREFAS.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_TAREFAS.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_TAREFAS.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_TAREFAS.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_TAREFAS.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_TAREFAS.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_TAREFAS.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_TAREFAS.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_TAREFAS.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_TAREFAS.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_TAREFAS.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_TAREFAS.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_TAREFAS.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_TAREFAS.O48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OS ANTERIOR*/ IF @XORDEM_SERVICO_ANTERIOR IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_OS_ANTERIOR.A1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_ANTERIOR.A2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_ANTERIOR.A3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_ANTERIOR.A4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_ANTERIOR.A5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_ANTERIOR.A6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_ANTERIOR.A7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_ANTERIOR.A8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_ANTERIOR.A9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_ANTERIOR.A10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_ANTERIOR.A11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_ANTERIOR.A12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_ANTERIOR.A13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_ANTERIOR.A14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_ANTERIOR.A15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_ANTERIOR.A16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_ANTERIOR.A17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_ANTERIOR.A18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_ANTERIOR.A19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_ANTERIOR.A20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_ANTERIOR.A21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_ANTERIOR.A22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_ANTERIOR.A23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_ANTERIOR.A24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_ANTERIOR.A25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_ANTERIOR.A26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_ANTERIOR.A27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_ANTERIOR.A28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_ANTERIOR.A29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_ANTERIOR.A30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_ANTERIOR.A31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_ANTERIOR.A32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_ANTERIOR.A33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_ANTERIOR.A34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_ANTERIOR.A35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_ANTERIOR.A36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_ANTERIOR.A37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_ANTERIOR.A38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_ANTERIOR.A39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_ANTERIOR.A40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_ANTERIOR.A41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_ANTERIOR.A42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_ANTERIOR.A43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_ANTERIOR.A44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_ANTERIOR.A45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_ANTERIOR.A46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_ANTERIOR.A47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_ANTERIOR.A48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_OS_ANTERIOR.A1 )+(PRODUTOS_FICHA.C2*PRODUCAO_OS_ANTERIOR.A2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_OS_ANTERIOR.A3 )+(PRODUTOS_FICHA.C4*PRODUCAO_OS_ANTERIOR.A4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_OS_ANTERIOR.A5 )+(PRODUTOS_FICHA.C6*PRODUCAO_OS_ANTERIOR.A6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_OS_ANTERIOR.A7 )+(PRODUTOS_FICHA.C8*PRODUCAO_OS_ANTERIOR.A8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_OS_ANTERIOR.A9 )+(PRODUTOS_FICHA.C10*PRODUCAO_OS_ANTERIOR.A10)+ (PRODUTOS_FICHA.C11*PRODUCAO_OS_ANTERIOR.A11 )+(PRODUTOS_FICHA.C12*PRODUCAO_OS_ANTERIOR.A12)+ (PRODUTOS_FICHA.C13*PRODUCAO_OS_ANTERIOR.A13 )+(PRODUTOS_FICHA.C14*PRODUCAO_OS_ANTERIOR.A14)+ (PRODUTOS_FICHA.C15*PRODUCAO_OS_ANTERIOR.A15 )+(PRODUTOS_FICHA.C16*PRODUCAO_OS_ANTERIOR.A16)+ (PRODUTOS_FICHA.C17*PRODUCAO_OS_ANTERIOR.A17 )+(PRODUTOS_FICHA.C18*PRODUCAO_OS_ANTERIOR.A18)+ (PRODUTOS_FICHA.C19*PRODUCAO_OS_ANTERIOR.A19 )+(PRODUTOS_FICHA.C20*PRODUCAO_OS_ANTERIOR.A20)+ (PRODUTOS_FICHA.C21*PRODUCAO_OS_ANTERIOR.A21 )+(PRODUTOS_FICHA.C22*PRODUCAO_OS_ANTERIOR.A22)+ (PRODUTOS_FICHA.C23*PRODUCAO_OS_ANTERIOR.A23 )+(PRODUTOS_FICHA.C24*PRODUCAO_OS_ANTERIOR.A24)+ (PRODUTOS_FICHA.C25*PRODUCAO_OS_ANTERIOR.A25 )+(PRODUTOS_FICHA.C26*PRODUCAO_OS_ANTERIOR.A26)+ (PRODUTOS_FICHA.C27*PRODUCAO_OS_ANTERIOR.A27 )+(PRODUTOS_FICHA.C28*PRODUCAO_OS_ANTERIOR.A28)+ (PRODUTOS_FICHA.C29*PRODUCAO_OS_ANTERIOR.A29 )+(PRODUTOS_FICHA.C30*PRODUCAO_OS_ANTERIOR.A30)+ (PRODUTOS_FICHA.C31*PRODUCAO_OS_ANTERIOR.A31 )+(PRODUTOS_FICHA.C32*PRODUCAO_OS_ANTERIOR.A32)+ (PRODUTOS_FICHA.C33*PRODUCAO_OS_ANTERIOR.A33 )+(PRODUTOS_FICHA.C34*PRODUCAO_OS_ANTERIOR.A34)+ (PRODUTOS_FICHA.C35*PRODUCAO_OS_ANTERIOR.A35 )+(PRODUTOS_FICHA.C36*PRODUCAO_OS_ANTERIOR.A36)+ (PRODUTOS_FICHA.C37*PRODUCAO_OS_ANTERIOR.A37 )+(PRODUTOS_FICHA.C38*PRODUCAO_OS_ANTERIOR.A38)+ (PRODUTOS_FICHA.C39*PRODUCAO_OS_ANTERIOR.A39 )+(PRODUTOS_FICHA.C40*PRODUCAO_OS_ANTERIOR.A40)+ (PRODUTOS_FICHA.C41*PRODUCAO_OS_ANTERIOR.A41 )+(PRODUTOS_FICHA.C42*PRODUCAO_OS_ANTERIOR.A42)+ (PRODUTOS_FICHA.C43*PRODUCAO_OS_ANTERIOR.A43 )+(PRODUTOS_FICHA.C44*PRODUCAO_OS_ANTERIOR.A44)+ (PRODUTOS_FICHA.C45*PRODUCAO_OS_ANTERIOR.A45 )+(PRODUTOS_FICHA.C46*PRODUCAO_OS_ANTERIOR.A46)+ (PRODUTOS_FICHA.C47*PRODUCAO_OS_ANTERIOR.A47 )+(PRODUTOS_FICHA.C48*PRODUCAO_OS_ANTERIOR.A48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OP*/ IF @XXORDEM_PRODUCAO IS NOT NULL AND @LISTA_CLIENTE = 0 BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_ORDEM_COR.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_ORDEM_COR.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_ORDEM_COR.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_ORDEM_COR.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_ORDEM_COR.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_ORDEM_COR.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_ORDEM_COR.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_ORDEM_COR.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_ORDEM_COR.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_ORDEM_COR.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_ORDEM_COR.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_ORDEM_COR.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_ORDEM_COR.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_ORDEM_COR.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_ORDEM_COR.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_ORDEM_COR.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_ORDEM_COR.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_ORDEM_COR.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_ORDEM_COR.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_ORDEM_COR.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_ORDEM_COR.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_ORDEM_COR.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_ORDEM_COR.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_ORDEM_COR.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_ORDEM_COR.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_ORDEM_COR.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_ORDEM_COR.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_ORDEM_COR.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_ORDEM_COR.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_ORDEM_COR.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_ORDEM_COR.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_ORDEM_COR.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_ORDEM_COR.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_ORDEM_COR.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_ORDEM_COR.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_ORDEM_COR.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_ORDEM_COR.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_ORDEM_COR.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_ORDEM_COR.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_ORDEM_COR.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_ORDEM_COR.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_ORDEM_COR.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_ORDEM_COR.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_ORDEM_COR.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_ORDEM_COR.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_ORDEM_COR.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_ORDEM_COR.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_ORDEM_COR.O48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*PRODUCAO_ORDEM_COR.O1 )+(PRODUTOS_FICHA.C2*PRODUCAO_ORDEM_COR.O2 )+ (PRODUTOS_FICHA.C3*PRODUCAO_ORDEM_COR.O3 )+(PRODUTOS_FICHA.C4*PRODUCAO_ORDEM_COR.O4 )+ (PRODUTOS_FICHA.C5*PRODUCAO_ORDEM_COR.O5 )+(PRODUTOS_FICHA.C6*PRODUCAO_ORDEM_COR.O6 )+ (PRODUTOS_FICHA.C7*PRODUCAO_ORDEM_COR.O7 )+(PRODUTOS_FICHA.C8*PRODUCAO_ORDEM_COR.O8 )+ (PRODUTOS_FICHA.C9*PRODUCAO_ORDEM_COR.O9 )+(PRODUTOS_FICHA.C10*PRODUCAO_ORDEM_COR.O10)+ (PRODUTOS_FICHA.C11*PRODUCAO_ORDEM_COR.O11 )+(PRODUTOS_FICHA.C12*PRODUCAO_ORDEM_COR.O12)+ (PRODUTOS_FICHA.C13*PRODUCAO_ORDEM_COR.O13 )+(PRODUTOS_FICHA.C14*PRODUCAO_ORDEM_COR.O14)+ (PRODUTOS_FICHA.C15*PRODUCAO_ORDEM_COR.O15 )+(PRODUTOS_FICHA.C16*PRODUCAO_ORDEM_COR.O16)+ (PRODUTOS_FICHA.C17*PRODUCAO_ORDEM_COR.O17 )+(PRODUTOS_FICHA.C18*PRODUCAO_ORDEM_COR.O18)+ (PRODUTOS_FICHA.C19*PRODUCAO_ORDEM_COR.O19 )+(PRODUTOS_FICHA.C20*PRODUCAO_ORDEM_COR.O20)+ (PRODUTOS_FICHA.C21*PRODUCAO_ORDEM_COR.O21 )+(PRODUTOS_FICHA.C22*PRODUCAO_ORDEM_COR.O22)+ (PRODUTOS_FICHA.C23*PRODUCAO_ORDEM_COR.O23 )+(PRODUTOS_FICHA.C24*PRODUCAO_ORDEM_COR.O24)+ (PRODUTOS_FICHA.C25*PRODUCAO_ORDEM_COR.O25 )+(PRODUTOS_FICHA.C26*PRODUCAO_ORDEM_COR.O26)+ (PRODUTOS_FICHA.C27*PRODUCAO_ORDEM_COR.O27 )+(PRODUTOS_FICHA.C28*PRODUCAO_ORDEM_COR.O28)+ (PRODUTOS_FICHA.C29*PRODUCAO_ORDEM_COR.O29 )+(PRODUTOS_FICHA.C30*PRODUCAO_ORDEM_COR.O30)+ (PRODUTOS_FICHA.C31*PRODUCAO_ORDEM_COR.O31 )+(PRODUTOS_FICHA.C32*PRODUCAO_ORDEM_COR.O32)+ (PRODUTOS_FICHA.C33*PRODUCAO_ORDEM_COR.O33 )+(PRODUTOS_FICHA.C34*PRODUCAO_ORDEM_COR.O34)+ (PRODUTOS_FICHA.C35*PRODUCAO_ORDEM_COR.O35 )+(PRODUTOS_FICHA.C36*PRODUCAO_ORDEM_COR.O36)+ (PRODUTOS_FICHA.C37*PRODUCAO_ORDEM_COR.O37 )+(PRODUTOS_FICHA.C38*PRODUCAO_ORDEM_COR.O38)+ (PRODUTOS_FICHA.C39*PRODUCAO_ORDEM_COR.O39 )+(PRODUTOS_FICHA.C40*PRODUCAO_ORDEM_COR.O40)+ (PRODUTOS_FICHA.C41*PRODUCAO_ORDEM_COR.O41 )+(PRODUTOS_FICHA.C42*PRODUCAO_ORDEM_COR.O42)+ (PRODUTOS_FICHA.C43*PRODUCAO_ORDEM_COR.O43 )+(PRODUTOS_FICHA.C44*PRODUCAO_ORDEM_COR.O44)+ (PRODUTOS_FICHA.C45*PRODUCAO_ORDEM_COR.O45 )+(PRODUTOS_FICHA.C46*PRODUCAO_ORDEM_COR.O46)+ (PRODUTOS_FICHA.C47*PRODUCAO_ORDEM_COR.O47 )+(PRODUTOS_FICHA.C48*PRODUCAO_ORDEM_COR.O48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR ENTRADA NO ESTOQUE - ROMANEIO_PRODUTO*/ IF @XXROMANEIO_PRODUTO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*ESTOQUE_PROD1_ENT.EN_1 )+(PRODUTOS_FICHA.C2*ESTOQUE_PROD1_ENT.EN_2 )+ (PRODUTOS_FICHA.C3*ESTOQUE_PROD1_ENT.EN_3 )+(PRODUTOS_FICHA.C4*ESTOQUE_PROD1_ENT.EN_4 )+ (PRODUTOS_FICHA.C5*ESTOQUE_PROD1_ENT.EN_5 )+(PRODUTOS_FICHA.C6*ESTOQUE_PROD1_ENT.EN_6 )+ (PRODUTOS_FICHA.C7*ESTOQUE_PROD1_ENT.EN_7 )+(PRODUTOS_FICHA.C8*ESTOQUE_PROD1_ENT.EN_8 )+ (PRODUTOS_FICHA.C9*ESTOQUE_PROD1_ENT.EN_9 )+(PRODUTOS_FICHA.C10*ESTOQUE_PROD1_ENT.EN_10)+ (PRODUTOS_FICHA.C11*ESTOQUE_PROD1_ENT.EN_11 )+(PRODUTOS_FICHA.C12*ESTOQUE_PROD1_ENT.EN_12)+ (PRODUTOS_FICHA.C13*ESTOQUE_PROD1_ENT.EN_13 )+(PRODUTOS_FICHA.C14*ESTOQUE_PROD1_ENT.EN_14)+ (PRODUTOS_FICHA.C15*ESTOQUE_PROD1_ENT.EN_15 )+(PRODUTOS_FICHA.C16*ESTOQUE_PROD1_ENT.EN_16)+ (PRODUTOS_FICHA.C17*ESTOQUE_PROD1_ENT.EN_17 )+(PRODUTOS_FICHA.C18*ESTOQUE_PROD1_ENT.EN_18)+ (PRODUTOS_FICHA.C19*ESTOQUE_PROD1_ENT.EN_19 )+(PRODUTOS_FICHA.C20*ESTOQUE_PROD1_ENT.EN_20)+ (PRODUTOS_FICHA.C21*ESTOQUE_PROD1_ENT.EN_21 )+(PRODUTOS_FICHA.C22*ESTOQUE_PROD1_ENT.EN_22)+ (PRODUTOS_FICHA.C23*ESTOQUE_PROD1_ENT.EN_23 )+(PRODUTOS_FICHA.C24*ESTOQUE_PROD1_ENT.EN_24)+ (PRODUTOS_FICHA.C25*ESTOQUE_PROD1_ENT.EN_25 )+(PRODUTOS_FICHA.C26*ESTOQUE_PROD1_ENT.EN_26)+ (PRODUTOS_FICHA.C27*ESTOQUE_PROD1_ENT.EN_27 )+(PRODUTOS_FICHA.C28*ESTOQUE_PROD1_ENT.EN_28)+ (PRODUTOS_FICHA.C29*ESTOQUE_PROD1_ENT.EN_29 )+(PRODUTOS_FICHA.C30*ESTOQUE_PROD1_ENT.EN_30)+ (PRODUTOS_FICHA.C31*ESTOQUE_PROD1_ENT.EN_31 )+(PRODUTOS_FICHA.C32*ESTOQUE_PROD1_ENT.EN_32)+ (PRODUTOS_FICHA.C33*ESTOQUE_PROD1_ENT.EN_33 )+(PRODUTOS_FICHA.C34*ESTOQUE_PROD1_ENT.EN_34)+ (PRODUTOS_FICHA.C35*ESTOQUE_PROD1_ENT.EN_35 )+(PRODUTOS_FICHA.C36*ESTOQUE_PROD1_ENT.EN_36)+ (PRODUTOS_FICHA.C37*ESTOQUE_PROD1_ENT.EN_37 )+(PRODUTOS_FICHA.C38*ESTOQUE_PROD1_ENT.EN_38)+ (PRODUTOS_FICHA.C39*ESTOQUE_PROD1_ENT.EN_39 )+(PRODUTOS_FICHA.C40*ESTOQUE_PROD1_ENT.EN_40)+ (PRODUTOS_FICHA.C41*ESTOQUE_PROD1_ENT.EN_41 )+(PRODUTOS_FICHA.C42*ESTOQUE_PROD1_ENT.EN_42)+ (PRODUTOS_FICHA.C43*ESTOQUE_PROD1_ENT.EN_43 )+(PRODUTOS_FICHA.C44*ESTOQUE_PROD1_ENT.EN_44)+ (PRODUTOS_FICHA.C45*ESTOQUE_PROD1_ENT.EN_45 )+(PRODUTOS_FICHA.C46*ESTOQUE_PROD1_ENT.EN_46)+ (PRODUTOS_FICHA.C47*ESTOQUE_PROD1_ENT.EN_47 )+(PRODUTOS_FICHA.C48*ESTOQUE_PROD1_ENT.EN_48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XRESERVA= SUM((((PRODUTOS_FICHA.C1*ESTOQUE_PROD1_ENT.EN_1 )+(PRODUTOS_FICHA.C2*ESTOQUE_PROD1_ENT.EN_2 )+ (PRODUTOS_FICHA.C3*ESTOQUE_PROD1_ENT.EN_3 )+(PRODUTOS_FICHA.C4*ESTOQUE_PROD1_ENT.EN_4 )+ (PRODUTOS_FICHA.C5*ESTOQUE_PROD1_ENT.EN_5 )+(PRODUTOS_FICHA.C6*ESTOQUE_PROD1_ENT.EN_6 )+ (PRODUTOS_FICHA.C7*ESTOQUE_PROD1_ENT.EN_7 )+(PRODUTOS_FICHA.C8*ESTOQUE_PROD1_ENT.EN_8 )+ (PRODUTOS_FICHA.C9*ESTOQUE_PROD1_ENT.EN_9 )+(PRODUTOS_FICHA.C10*ESTOQUE_PROD1_ENT.EN_10)+ (PRODUTOS_FICHA.C11*ESTOQUE_PROD1_ENT.EN_11 )+(PRODUTOS_FICHA.C12*ESTOQUE_PROD1_ENT.EN_12)+ (PRODUTOS_FICHA.C13*ESTOQUE_PROD1_ENT.EN_13 )+(PRODUTOS_FICHA.C14*ESTOQUE_PROD1_ENT.EN_14)+ (PRODUTOS_FICHA.C15*ESTOQUE_PROD1_ENT.EN_15 )+(PRODUTOS_FICHA.C16*ESTOQUE_PROD1_ENT.EN_16)+ (PRODUTOS_FICHA.C17*ESTOQUE_PROD1_ENT.EN_17 )+(PRODUTOS_FICHA.C18*ESTOQUE_PROD1_ENT.EN_18)+ (PRODUTOS_FICHA.C19*ESTOQUE_PROD1_ENT.EN_19 )+(PRODUTOS_FICHA.C20*ESTOQUE_PROD1_ENT.EN_20)+ (PRODUTOS_FICHA.C21*ESTOQUE_PROD1_ENT.EN_21 )+(PRODUTOS_FICHA.C22*ESTOQUE_PROD1_ENT.EN_22)+ (PRODUTOS_FICHA.C23*ESTOQUE_PROD1_ENT.EN_23 )+(PRODUTOS_FICHA.C24*ESTOQUE_PROD1_ENT.EN_24)+ (PRODUTOS_FICHA.C25*ESTOQUE_PROD1_ENT.EN_25 )+(PRODUTOS_FICHA.C26*ESTOQUE_PROD1_ENT.EN_26)+ (PRODUTOS_FICHA.C27*ESTOQUE_PROD1_ENT.EN_27 )+(PRODUTOS_FICHA.C28*ESTOQUE_PROD1_ENT.EN_28)+ (PRODUTOS_FICHA.C29*ESTOQUE_PROD1_ENT.EN_29 )+(PRODUTOS_FICHA.C30*ESTOQUE_PROD1_ENT.EN_30)+ (PRODUTOS_FICHA.C31*ESTOQUE_PROD1_ENT.EN_31 )+(PRODUTOS_FICHA.C32*ESTOQUE_PROD1_ENT.EN_32)+ (PRODUTOS_FICHA.C33*ESTOQUE_PROD1_ENT.EN_33 )+(PRODUTOS_FICHA.C34*ESTOQUE_PROD1_ENT.EN_34)+ (PRODUTOS_FICHA.C35*ESTOQUE_PROD1_ENT.EN_35 )+(PRODUTOS_FICHA.C36*ESTOQUE_PROD1_ENT.EN_36)+ (PRODUTOS_FICHA.C37*ESTOQUE_PROD1_ENT.EN_37 )+(PRODUTOS_FICHA.C38*ESTOQUE_PROD1_ENT.EN_38)+ (PRODUTOS_FICHA.C39*ESTOQUE_PROD1_ENT.EN_39 )+(PRODUTOS_FICHA.C40*ESTOQUE_PROD1_ENT.EN_40)+ (PRODUTOS_FICHA.C41*ESTOQUE_PROD1_ENT.EN_41 )+(PRODUTOS_FICHA.C42*ESTOQUE_PROD1_ENT.EN_42)+ (PRODUTOS_FICHA.C43*ESTOQUE_PROD1_ENT.EN_43 )+(PRODUTOS_FICHA.C44*ESTOQUE_PROD1_ENT.EN_44)+ (PRODUTOS_FICHA.C45*ESTOQUE_PROD1_ENT.EN_45 )+(PRODUTOS_FICHA.C46*ESTOQUE_PROD1_ENT.EN_46)+ (PRODUTOS_FICHA.C47*ESTOQUE_PROD1_ENT.EN_47 )+(PRODUTOS_FICHA.C48*ESTOQUE_PROD1_ENT.EN_48 ) ) * (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) FROM PRODUCAO_RESERVA INNER JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /* VERIFICO SE EXISTE ALTERACAO E TEM CLIENTE*/ SELECT @XALTERACAO_CONSUMO=ALTERACAO_CONSUMO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES WHERE SUBSTITUICOES_MATERIAL.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND MATERIAL_SUBSTITUIDO=@XMATERIAL_SUBSTITUIDO AND COR_MATERIAL_SUBSTITUIDO=@XCOR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.MATERIAL = @XMATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=@XCOR_MATERIAL /* VERIFICO SE EXISTE CLIENTE PARA OS MATERIAIS SUBSTITUTOS*/ /***********************************************************************************************************************/ DECLARE TMPCLIENTES SCROLL CURSOR FOR SELECT CLIENTE_ATACADO FROM SUBSTITUICOES_MATERIAL,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.MATERIAL = SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL = SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = @XMATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = @XCOR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.MATERIAL = @XMATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL = @XCOR_MATERIAL AND TIPO_SUBSTITUICAO = ''I'' OPEN TMPCLIENTES FETCH NEXT FROM TMPCLIENTES INTO @XCLIENTE_ATACADO WHILE @@FETCH_STATUS = 0 BEGIN /*PEGO O VALOR CONSUMIDO NO ROMANEIO*/ /*É UMA GERAÇÃO POR OS*/ IF @XORDEM_SERVICO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*PRODUCAO_OS_TAREFAS.O48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_OS_TAREFAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = @XORDEM_SERVICO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OS ANTERIOR*/ IF @XORDEM_SERVICO_ANTERIOR IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*PRODUCAO_OS_ANTERIOR.A48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_OS_ANTERIOR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OP*/ IF @XXORDEM_PRODUCAO IS NOT NULL AND @LISTA_CLIENTE = 0 BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1)), @XO2 = SUM((PRODUTOS_FICHA.C2* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2)), @XO3 = SUM((PRODUTOS_FICHA.C3* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3)), @XO4 = SUM((PRODUTOS_FICHA.C4* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4)), @XO5 = SUM((PRODUTOS_FICHA.C5* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5)), @XO6 = SUM((PRODUTOS_FICHA.C6* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6)), @XO7 = SUM((PRODUTOS_FICHA.C7* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7)), @XO8 = SUM((PRODUTOS_FICHA.C8* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8)), @XO9 = SUM((PRODUTOS_FICHA.C9* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9)), @XO10 = SUM((PRODUTOS_FICHA.C10*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10)), @XO11 = SUM((PRODUTOS_FICHA.C11*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11)), @XO12 = SUM((PRODUTOS_FICHA.C12*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12)), @XO13 = SUM((PRODUTOS_FICHA.C13*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13)), @XO14 = SUM((PRODUTOS_FICHA.C14*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14)), @XO15 = SUM((PRODUTOS_FICHA.C15*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15)), @XO16 = SUM((PRODUTOS_FICHA.C16*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16)), @XO17 = SUM((PRODUTOS_FICHA.C17*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17)), @XO18 = SUM((PRODUTOS_FICHA.C18*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18)), @XO19 = SUM((PRODUTOS_FICHA.C19*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19)), @XO20 = SUM((PRODUTOS_FICHA.C20*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20)), @XO21 = SUM((PRODUTOS_FICHA.C21*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21)), @XO22 = SUM((PRODUTOS_FICHA.C22*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22)), @XO23 = SUM((PRODUTOS_FICHA.C23*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23)), @XO24 = SUM((PRODUTOS_FICHA.C24*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24)), @XO25 = SUM((PRODUTOS_FICHA.C25*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25)), @XO26 = SUM((PRODUTOS_FICHA.C26*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26)), @XO27 = SUM((PRODUTOS_FICHA.C27*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27)), @XO28 = SUM((PRODUTOS_FICHA.C28*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28)), @XO29 = SUM((PRODUTOS_FICHA.C29*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29)), @XO30 = SUM((PRODUTOS_FICHA.C30*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30)), @XO31 = SUM((PRODUTOS_FICHA.C31*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31)), @XO32 = SUM((PRODUTOS_FICHA.C32*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32)), @XO33 = SUM((PRODUTOS_FICHA.C33*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33)), @XO34 = SUM((PRODUTOS_FICHA.C34*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34)), @XO35 = SUM((PRODUTOS_FICHA.C35*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35)), @XO36 = SUM((PRODUTOS_FICHA.C36*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36)), @XO37 = SUM((PRODUTOS_FICHA.C37*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37)), @XO38 = SUM((PRODUTOS_FICHA.C38*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38)), @XO39 = SUM((PRODUTOS_FICHA.C39*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39)), @XO40 = SUM((PRODUTOS_FICHA.C40*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40)), @XO41 = SUM((PRODUTOS_FICHA.C41*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41)), @XO42 = SUM((PRODUTOS_FICHA.C42*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42)), @XO43 = SUM((PRODUTOS_FICHA.C43*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43)), @XO44 = SUM((PRODUTOS_FICHA.C44*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44)), @XO45 = SUM((PRODUTOS_FICHA.C45*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45)), @XO46 = SUM((PRODUTOS_FICHA.C46*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46)), @XO47 = SUM((PRODUTOS_FICHA.C47*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47)), @XO48 = SUM((PRODUTOS_FICHA.C48*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48)) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1)), @XO2 = SUM((PRODUTOS_FICHA.C2* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2)), @XO3 = SUM((PRODUTOS_FICHA.C3* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3)), @XO4 = SUM((PRODUTOS_FICHA.C4* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4)), @XO5 = SUM((PRODUTOS_FICHA.C5* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5)), @XO6 = SUM((PRODUTOS_FICHA.C6* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6)), @XO7 = SUM((PRODUTOS_FICHA.C7* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7)), @XO8 = SUM((PRODUTOS_FICHA.C8* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8)), @XO9 = SUM((PRODUTOS_FICHA.C9* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9)), @XO10 = SUM((PRODUTOS_FICHA.C10*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10)), @XO11 = SUM((PRODUTOS_FICHA.C11*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11)), @XO12 = SUM((PRODUTOS_FICHA.C12*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12)), @XO13 = SUM((PRODUTOS_FICHA.C13*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13)), @XO14 = SUM((PRODUTOS_FICHA.C14*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14)), @XO15 = SUM((PRODUTOS_FICHA.C15*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15)), @XO16 = SUM((PRODUTOS_FICHA.C16*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16)), @XO17 = SUM((PRODUTOS_FICHA.C17*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17)), @XO18 = SUM((PRODUTOS_FICHA.C18*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18)), @XO19 = SUM((PRODUTOS_FICHA.C19*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19)), @XO20 = SUM((PRODUTOS_FICHA.C20*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20)), @XO21 = SUM((PRODUTOS_FICHA.C21*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21)), @XO22 = SUM((PRODUTOS_FICHA.C22*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22)), @XO23 = SUM((PRODUTOS_FICHA.C23*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23)), @XO24 = SUM((PRODUTOS_FICHA.C24*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24)), @XO25 = SUM((PRODUTOS_FICHA.C25*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25)), @XO26 = SUM((PRODUTOS_FICHA.C26*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26)), @XO27 = SUM((PRODUTOS_FICHA.C27*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27)), @XO28 = SUM((PRODUTOS_FICHA.C28*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28)), @XO29 = SUM((PRODUTOS_FICHA.C29*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29)), @XO30 = SUM((PRODUTOS_FICHA.C30*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30)), @XO31 = SUM((PRODUTOS_FICHA.C31*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31)), @XO32 = SUM((PRODUTOS_FICHA.C32*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32)), @XO33 = SUM((PRODUTOS_FICHA.C33*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33)), @XO34 = SUM((PRODUTOS_FICHA.C34*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34)), @XO35 = SUM((PRODUTOS_FICHA.C35*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35)), @XO36 = SUM((PRODUTOS_FICHA.C36*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36)), @XO37 = SUM((PRODUTOS_FICHA.C37*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37)), @XO38 = SUM((PRODUTOS_FICHA.C38*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38)), @XO39 = SUM((PRODUTOS_FICHA.C39*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39)), @XO40 = SUM((PRODUTOS_FICHA.C40*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40)), @XO41 = SUM((PRODUTOS_FICHA.C41*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41)), @XO42 = SUM((PRODUTOS_FICHA.C42*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42)), @XO43 = SUM((PRODUTOS_FICHA.C43*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43)), @XO44 = SUM((PRODUTOS_FICHA.C44*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44)), @XO45 = SUM((PRODUTOS_FICHA.C45*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45)), @XO46 = SUM((PRODUTOS_FICHA.C46*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46)), @XO47 = SUM((PRODUTOS_FICHA.C47*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47)), @XO48 = SUM((PRODUTOS_FICHA.C48*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48)) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR ENTRADA NO ESTOQUE - ROMANEIO_PRODUTO*/ IF @XXROMANEIO_PRODUTO IS NOT NULL BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1*(CASE WHEN PRODUCAO_ORDEM_COR.O1=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_1/PRODUCAO_ORDEM_COR.O1 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1), @XO2 = SUM((PRODUTOS_FICHA.C2*(CASE WHEN PRODUCAO_ORDEM_COR.O2=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_2/PRODUCAO_ORDEM_COR.O2 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2), @XO3 = SUM((PRODUTOS_FICHA.C3*(CASE WHEN PRODUCAO_ORDEM_COR.O3=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_3/PRODUCAO_ORDEM_COR.O3 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3), @XO4 = SUM((PRODUTOS_FICHA.C4*(CASE WHEN PRODUCAO_ORDEM_COR.O4=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_4/PRODUCAO_ORDEM_COR.O4 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4), @XO5 = SUM((PRODUTOS_FICHA.C5*(CASE WHEN PRODUCAO_ORDEM_COR.O5=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_5/PRODUCAO_ORDEM_COR.O5 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5), @XO6 = SUM((PRODUTOS_FICHA.C6*(CASE WHEN PRODUCAO_ORDEM_COR.O6=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_6/PRODUCAO_ORDEM_COR.O6 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6), @XO7 = SUM((PRODUTOS_FICHA.C7*(CASE WHEN PRODUCAO_ORDEM_COR.O7=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_7/PRODUCAO_ORDEM_COR.O7 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7), @XO8 = SUM((PRODUTOS_FICHA.C8*(CASE WHEN PRODUCAO_ORDEM_COR.O8=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_8/PRODUCAO_ORDEM_COR.O8 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8), @XO9 = SUM((PRODUTOS_FICHA.C9*(CASE WHEN PRODUCAO_ORDEM_COR.O9=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_9/PRODUCAO_ORDEM_COR.O9 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9), @XO10 = SUM((PRODUTOS_FICHA.C10*(CASE WHEN PRODUCAO_ORDEM_COR.O10=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_10/PRODUCAO_ORDEM_COR.O10 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10), @XO11 = SUM((PRODUTOS_FICHA.C11*(CASE WHEN PRODUCAO_ORDEM_COR.O11=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_11/PRODUCAO_ORDEM_COR.O11 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11), @XO12 = SUM((PRODUTOS_FICHA.C12*(CASE WHEN PRODUCAO_ORDEM_COR.O12=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_12/PRODUCAO_ORDEM_COR.O12 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12), @XO13 = SUM((PRODUTOS_FICHA.C13*(CASE WHEN PRODUCAO_ORDEM_COR.O13=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_13/PRODUCAO_ORDEM_COR.O13 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13), @XO14 = SUM((PRODUTOS_FICHA.C14*(CASE WHEN PRODUCAO_ORDEM_COR.O14=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_14/PRODUCAO_ORDEM_COR.O14 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14), @XO15 = SUM((PRODUTOS_FICHA.C15*(CASE WHEN PRODUCAO_ORDEM_COR.O15=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_15/PRODUCAO_ORDEM_COR.O15 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15), @XO16 = SUM((PRODUTOS_FICHA.C16*(CASE WHEN PRODUCAO_ORDEM_COR.O16=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_16/PRODUCAO_ORDEM_COR.O16 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16), @XO17 = SUM((PRODUTOS_FICHA.C17*(CASE WHEN PRODUCAO_ORDEM_COR.O17=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_17/PRODUCAO_ORDEM_COR.O17 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17), @XO18 = SUM((PRODUTOS_FICHA.C18*(CASE WHEN PRODUCAO_ORDEM_COR.O18=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_18/PRODUCAO_ORDEM_COR.O18 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18), @XO19 = SUM((PRODUTOS_FICHA.C19*(CASE WHEN PRODUCAO_ORDEM_COR.O19=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_19/PRODUCAO_ORDEM_COR.O19 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19), @XO20 = SUM((PRODUTOS_FICHA.C20*(CASE WHEN PRODUCAO_ORDEM_COR.O20=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_20/PRODUCAO_ORDEM_COR.O20 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20), @XO21 = SUM((PRODUTOS_FICHA.C21*(CASE WHEN PRODUCAO_ORDEM_COR.O21=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_21/PRODUCAO_ORDEM_COR.O21 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21), @XO22 = SUM((PRODUTOS_FICHA.C22*(CASE WHEN PRODUCAO_ORDEM_COR.O22=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_22/PRODUCAO_ORDEM_COR.O22 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22), @XO23 = SUM((PRODUTOS_FICHA.C23*(CASE WHEN PRODUCAO_ORDEM_COR.O23=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_23/PRODUCAO_ORDEM_COR.O23 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23), @XO24 = SUM((PRODUTOS_FICHA.C24*(CASE WHEN PRODUCAO_ORDEM_COR.O24=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_24/PRODUCAO_ORDEM_COR.O24 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24), @XO25 = SUM((PRODUTOS_FICHA.C25*(CASE WHEN PRODUCAO_ORDEM_COR.O25=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_25/PRODUCAO_ORDEM_COR.O25 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25), @XO26 = SUM((PRODUTOS_FICHA.C26*(CASE WHEN PRODUCAO_ORDEM_COR.O26=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_26/PRODUCAO_ORDEM_COR.O26 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26), @XO27 = SUM((PRODUTOS_FICHA.C27*(CASE WHEN PRODUCAO_ORDEM_COR.O27=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_27/PRODUCAO_ORDEM_COR.O27 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27), @XO28 = SUM((PRODUTOS_FICHA.C28*(CASE WHEN PRODUCAO_ORDEM_COR.O28=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_28/PRODUCAO_ORDEM_COR.O28 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28), @XO29 = SUM((PRODUTOS_FICHA.C29*(CASE WHEN PRODUCAO_ORDEM_COR.O29=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_29/PRODUCAO_ORDEM_COR.O29 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29), @XO30 = SUM((PRODUTOS_FICHA.C30*(CASE WHEN PRODUCAO_ORDEM_COR.O30=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_30/PRODUCAO_ORDEM_COR.O30 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30), @XO31 = SUM((PRODUTOS_FICHA.C31*(CASE WHEN PRODUCAO_ORDEM_COR.O31=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_31/PRODUCAO_ORDEM_COR.O31 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31), @XO32 = SUM((PRODUTOS_FICHA.C32*(CASE WHEN PRODUCAO_ORDEM_COR.O32=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_32/PRODUCAO_ORDEM_COR.O32 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32), @XO33 = SUM((PRODUTOS_FICHA.C33*(CASE WHEN PRODUCAO_ORDEM_COR.O33=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_33/PRODUCAO_ORDEM_COR.O33 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33), @XO34 = SUM((PRODUTOS_FICHA.C34*(CASE WHEN PRODUCAO_ORDEM_COR.O34=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_34/PRODUCAO_ORDEM_COR.O34 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34), @XO35 = SUM((PRODUTOS_FICHA.C35*(CASE WHEN PRODUCAO_ORDEM_COR.O35=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_35/PRODUCAO_ORDEM_COR.O35 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35), @XO36 = SUM((PRODUTOS_FICHA.C36*(CASE WHEN PRODUCAO_ORDEM_COR.O36=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_36/PRODUCAO_ORDEM_COR.O36 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36), @XO37 = SUM((PRODUTOS_FICHA.C37*(CASE WHEN PRODUCAO_ORDEM_COR.O37=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_37/PRODUCAO_ORDEM_COR.O37 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37), @XO38 = SUM((PRODUTOS_FICHA.C38*(CASE WHEN PRODUCAO_ORDEM_COR.O38=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_38/PRODUCAO_ORDEM_COR.O38 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38), @XO39 = SUM((PRODUTOS_FICHA.C39*(CASE WHEN PRODUCAO_ORDEM_COR.O39=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_39/PRODUCAO_ORDEM_COR.O39 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39), @XO40 = SUM((PRODUTOS_FICHA.C40*(CASE WHEN PRODUCAO_ORDEM_COR.O40=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_40/PRODUCAO_ORDEM_COR.O40 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40), @XO41 = SUM((PRODUTOS_FICHA.C41*(CASE WHEN PRODUCAO_ORDEM_COR.O41=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_41/PRODUCAO_ORDEM_COR.O41 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41), @XO42 = SUM((PRODUTOS_FICHA.C42*(CASE WHEN PRODUCAO_ORDEM_COR.O42=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_42/PRODUCAO_ORDEM_COR.O42 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42), @XO43 = SUM((PRODUTOS_FICHA.C43*(CASE WHEN PRODUCAO_ORDEM_COR.O43=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_43/PRODUCAO_ORDEM_COR.O43 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43), @XO44 = SUM((PRODUTOS_FICHA.C44*(CASE WHEN PRODUCAO_ORDEM_COR.O44=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_44/PRODUCAO_ORDEM_COR.O44 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44), @XO45 = SUM((PRODUTOS_FICHA.C45*(CASE WHEN PRODUCAO_ORDEM_COR.O45=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_45/PRODUCAO_ORDEM_COR.O45 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45), @XO46 = SUM((PRODUTOS_FICHA.C46*(CASE WHEN PRODUCAO_ORDEM_COR.O46=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_46/PRODUCAO_ORDEM_COR.O46 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46), @XO47 = SUM((PRODUTOS_FICHA.C47*(CASE WHEN PRODUCAO_ORDEM_COR.O47=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_47/PRODUCAO_ORDEM_COR.O47 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47), @XO48 = SUM((PRODUTOS_FICHA.C48*(CASE WHEN PRODUCAO_ORDEM_COR.O48=0 THEN 1 ELSE 1.*ESTOQUE_PROD1_ENT.EN_48/PRODUCAO_ORDEM_COR.O48 END)) * (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48) FROM PRODUCAO_RESERVA LEFT JOIN ESTOQUE_PROD1_ENT ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND ESTOQUE_PROD1_ENT.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND ESTOQUE_PROD1_ENT.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO = @XXROMANEIO_PRODUTO AND PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUCAO_RESERVA.RESERVA_ORIGINAL >0 AND PRODUTOS_FICHA.C1 IS NOT NULL AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL END /*É UMA GERAÇÃO POR OP COM CLIENTE*/ IF @XXORDEM_PRODUCAO IS NOT NULL AND @LISTA_CLIENTE =1 BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1)), @XO2 = SUM((PRODUTOS_FICHA.C2* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2)), @XO3 = SUM((PRODUTOS_FICHA.C3* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3)), @XO4 = SUM((PRODUTOS_FICHA.C4* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4)), @XO5 = SUM((PRODUTOS_FICHA.C5* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5)), @XO6 = SUM((PRODUTOS_FICHA.C6* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6)), @XO7 = SUM((PRODUTOS_FICHA.C7* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7)), @XO8 = SUM((PRODUTOS_FICHA.C8* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8)), @XO9 = SUM((PRODUTOS_FICHA.C9* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9)), @XO10 = SUM((PRODUTOS_FICHA.C10*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10)), @XO11 = SUM((PRODUTOS_FICHA.C11*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11)), @XO12 = SUM((PRODUTOS_FICHA.C12*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12)), @XO13 = SUM((PRODUTOS_FICHA.C13*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13)), @XO14 = SUM((PRODUTOS_FICHA.C14*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14)), @XO15 = SUM((PRODUTOS_FICHA.C15*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15)), @XO16 = SUM((PRODUTOS_FICHA.C16*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16)), @XO17 = SUM((PRODUTOS_FICHA.C17*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17)), @XO18 = SUM((PRODUTOS_FICHA.C18*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18)), @XO19 = SUM((PRODUTOS_FICHA.C19*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19)), @XO20 = SUM((PRODUTOS_FICHA.C20*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20)), @XO21 = SUM((PRODUTOS_FICHA.C21*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21)), @XO22 = SUM((PRODUTOS_FICHA.C22*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22)), @XO23 = SUM((PRODUTOS_FICHA.C23*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23)), @XO24 = SUM((PRODUTOS_FICHA.C24*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24)), @XO25 = SUM((PRODUTOS_FICHA.C25*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25)), @XO26 = SUM((PRODUTOS_FICHA.C26*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26)), @XO27 = SUM((PRODUTOS_FICHA.C27*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27)), @XO28 = SUM((PRODUTOS_FICHA.C28*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28)), @XO29 = SUM((PRODUTOS_FICHA.C29*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29)), @XO30 = SUM((PRODUTOS_FICHA.C30*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30)), @XO31 = SUM((PRODUTOS_FICHA.C31*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31)), @XO32 = SUM((PRODUTOS_FICHA.C32*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32)), @XO33 = SUM((PRODUTOS_FICHA.C33*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33)), @XO34 = SUM((PRODUTOS_FICHA.C34*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34)), @XO35 = SUM((PRODUTOS_FICHA.C35*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35)), @XO36 = SUM((PRODUTOS_FICHA.C36*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36)), @XO37 = SUM((PRODUTOS_FICHA.C37*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37)), @XO38 = SUM((PRODUTOS_FICHA.C38*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38)), @XO39 = SUM((PRODUTOS_FICHA.C39*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39)), @XO40 = SUM((PRODUTOS_FICHA.C40*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40)), @XO41 = SUM((PRODUTOS_FICHA.C41*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41)), @XO42 = SUM((PRODUTOS_FICHA.C42*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42)), @XO43 = SUM((PRODUTOS_FICHA.C43*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43)), @XO44 = SUM((PRODUTOS_FICHA.C44*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44)), @XO45 = SUM((PRODUTOS_FICHA.C45*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45)), @XO46 = SUM((PRODUTOS_FICHA.C46*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46)), @XO47 = SUM((PRODUTOS_FICHA.C47*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47)), @XO48 = SUM((PRODUTOS_FICHA.C48*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48)) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL ELSE SELECT DISTINCT @XO1 = SUM((PRODUTOS_FICHA.C1* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R1)), @XO2 = SUM((PRODUTOS_FICHA.C2* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R2)), @XO3 = SUM((PRODUTOS_FICHA.C3* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R3)), @XO4 = SUM((PRODUTOS_FICHA.C4* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R4)), @XO5 = SUM((PRODUTOS_FICHA.C5* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R5)), @XO6 = SUM((PRODUTOS_FICHA.C6* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R6)), @XO7 = SUM((PRODUTOS_FICHA.C7* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R7)), @XO8 = SUM((PRODUTOS_FICHA.C8* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R8)), @XO9 = SUM((PRODUTOS_FICHA.C9* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R9)), @XO10 = SUM((PRODUTOS_FICHA.C10*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R10)), @XO11 = SUM((PRODUTOS_FICHA.C11*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R11)), @XO12 = SUM((PRODUTOS_FICHA.C12*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R12)), @XO13 = SUM((PRODUTOS_FICHA.C13*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R13)), @XO14 = SUM((PRODUTOS_FICHA.C14*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R14)), @XO15 = SUM((PRODUTOS_FICHA.C15*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R15)), @XO16 = SUM((PRODUTOS_FICHA.C16*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R16)), @XO17 = SUM((PRODUTOS_FICHA.C17*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R17)), @XO18 = SUM((PRODUTOS_FICHA.C18*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R18)), @XO19 = SUM((PRODUTOS_FICHA.C19*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R19)), @XO20 = SUM((PRODUTOS_FICHA.C20*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R20)), @XO21 = SUM((PRODUTOS_FICHA.C21*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R21)), @XO22 = SUM((PRODUTOS_FICHA.C22*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R22)), @XO23 = SUM((PRODUTOS_FICHA.C23*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R23)), @XO24 = SUM((PRODUTOS_FICHA.C24*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R24)), @XO25 = SUM((PRODUTOS_FICHA.C25*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R25)), @XO26 = SUM((PRODUTOS_FICHA.C26*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R26)), @XO27 = SUM((PRODUTOS_FICHA.C27*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R27)), @XO28 = SUM((PRODUTOS_FICHA.C28*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R28)), @XO29 = SUM((PRODUTOS_FICHA.C29*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R29)), @XO30 = SUM((PRODUTOS_FICHA.C30*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R30)), @XO31 = SUM((PRODUTOS_FICHA.C31*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R31)), @XO32 = SUM((PRODUTOS_FICHA.C32*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R32)), @XO33 = SUM((PRODUTOS_FICHA.C33*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R33)), @XO34 = SUM((PRODUTOS_FICHA.C34*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R34)), @XO35 = SUM((PRODUTOS_FICHA.C35*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R35)), @XO36 = SUM((PRODUTOS_FICHA.C36*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R36)), @XO37 = SUM((PRODUTOS_FICHA.C37*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R37)), @XO38 = SUM((PRODUTOS_FICHA.C38*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R38)), @XO39 = SUM((PRODUTOS_FICHA.C39*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R39)), @XO40 = SUM((PRODUTOS_FICHA.C40*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R40)), @XO41 = SUM((PRODUTOS_FICHA.C41*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R41)), @XO42 = SUM((PRODUTOS_FICHA.C42*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R42)), @XO43 = SUM((PRODUTOS_FICHA.C43*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R43)), @XO44 = SUM((PRODUTOS_FICHA.C44*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R44)), @XO45 = SUM((PRODUTOS_FICHA.C45*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R45)), @XO46 = SUM((PRODUTOS_FICHA.C46*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R46)), @XO47 = SUM((PRODUTOS_FICHA.C47*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R47)), @XO48 = SUM((PRODUTOS_FICHA.C48*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100))/MATERIAIS.FATOR_CONVERSAO ) * ROMANEIOS_RESERVAS.R48)) FROM PRODUCAO_RESERVA LEFT JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_PRODUTO ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = ROMANEIOS_PRODUTO.ORDEM_PRODUCAO LEFT JOIN ROMANEIOS_RESERVAS ON ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND PRODUCAO_ORDEM_COR.PRODUTO = ROMANEIOS_RESERVAS.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = ROMANEIOS_RESERVAS.COR_PRODUTO INNER JOIN VENDAS ON ROMANEIOS_RESERVAS.PEDIDO = VENDAS.PEDIDO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_RESERVA.MATERIAL = @XMATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL = @XCOR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = @XORDEM_PRODUCAO AND VENDAS.CLIENTE_ATACADO = @XCLIENTE_ATACADO AND PRODUTOS_FICHA.ITEM = @XITEM AND PRODUTOS_FICHA.PARTE_APLICADO_MATERIAL= @XPARTE_APLICADO_MATERIAL AND PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUCAO_RESERVA.ORDEM_PRODUCAO,PRODUCAO_RESERVA.MATERIAL,PRODUCAO_RESERVA.COR_MATERIAL /*TOTALIZA OS CONSUMOS DO ROMANEIO*/ SELECT @XOC1=ISNULL(@XO1 ,0)+ISNULL(@XO2 ,0)+ISNULL(@XO3 ,0)+ISNULL(@XO4 ,0)+ISNULL(@XO5 ,0)+ISNULL(@XO6 ,0)+ ISNULL(@XO7 ,0)+ISNULL(@XO8 ,0)+ISNULL(@XO9 ,0)+ISNULL(@XO10,0)+ISNULL(@XO11,0)+ISNULL(@XO12,0)+ ISNULL(@XO13,0)+ISNULL(@XO14,0)+ISNULL(@XO15,0)+ISNULL(@XO16,0)+ISNULL(@XO17,0)+ISNULL(@XO18,0)+ ISNULL(@XO19,0)+ISNULL(@XO20,0)+ISNULL(@XO21,0)+ISNULL(@XO22,0)+ISNULL(@XO23,0)+ISNULL(@XO24,0)+ ISNULL(@XO25,0)+ISNULL(@XO26,0)+ISNULL(@XO27,0)+ISNULL(@XO28,0)+ISNULL(@XO29,0)+ISNULL(@XO30,0)+ ISNULL(@XO31,0)+ISNULL(@XO32,0)+ISNULL(@XO33,0)+ISNULL(@XO34,0)+ISNULL(@XO35,0)+ISNULL(@XO36,0)+ ISNULL(@XO37,0)+ISNULL(@XO38,0)+ISNULL(@XO39,0)+ISNULL(@XO40,0)+ISNULL(@XO41,0)+ISNULL(@XO42,0)+ ISNULL(@XO43,0)+ISNULL(@XO44,0)+ISNULL(@XO45,0)+ISNULL(@XO46,0)+ISNULL(@XO47,0)+ISNULL(@XO48,0) IF (SELECT COUNT(*) FROM ##TMP_RESERVA_MATERIAIS_CLIENTE WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND CLIENTE_ATACADO=@XCLIENTE_ATACADO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO )>0 UPDATE ##TMP_RESERVA_MATERIAIS_CLIENTE SET QTDE_NECESSARIA = @XCONSUMO , --(CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END), QTDE_ORIGINAL = @XRESERVA_ORIGINAL WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO ELSE INSERT ##TMP_RESERVA_MATERIAIS_CLIENTE (CLIENTE_ATACADO,ORDEM_SERVICO,MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,QTDE_NECESSARIA,ITEM) VALUES (@XCLIENTE_ATACADO,@XORDEM_SERVICO,@XMATERIAL,@XCOR_MATERIAL,@XORDEM_PRODUCAO,@XOC1 --(CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END) ,'''') END /*TOTALIZA OS CONSUMOS DO ROMANEIO*/ SELECT @XTO1 =@XTO1 + ISNULL(@XO1 ,0),@XTO2 =@XTO2 + ISNULL(@XO2 ,0),@XTO3 =@XTO3 + ISNULL(@XO3 ,0), @XTO4 =@XTO4 + ISNULL(@XO4 ,0),@XTO5 =@XTO5 + ISNULL(@XO5 ,0),@XTO6 =@XTO6 + ISNULL(@XO6 ,0), @XTO7 =@XTO7 + ISNULL(@XO7 ,0),@XTO8 =@XTO8 + ISNULL(@XO8 ,0),@XTO9 =@XTO9 + ISNULL(@XO9 ,0), @XTO10=@XTO10 + ISNULL(@XO10,0),@XTO11=@XTO11 + ISNULL(@XO11,0),@XTO12=@XTO12 + ISNULL(@XO12,0), @XTO13=@XTO13 + ISNULL(@XO13,0),@XTO14=@XTO14 + ISNULL(@XO14,0),@XTO15=@XTO15 + ISNULL(@XO15,0), @XTO16=@XTO16 + ISNULL(@XO16,0),@XTO17=@XTO17 + ISNULL(@XO17,0),@XTO18=@XTO18 + ISNULL(@XO18,0), @XTO19=@XTO19 + ISNULL(@XO19,0),@XTO20=@XTO20 + ISNULL(@XO20,0),@XTO21=@XTO21 + ISNULL(@XO21,0), @XTO22=@XTO22 + ISNULL(@XO22,0),@XTO23=@XTO23 + ISNULL(@XO23,0),@XTO24=@XTO24 + ISNULL(@XO24,0), @XTO25=@XTO25 + ISNULL(@XO25,0),@XTO26=@XTO26 + ISNULL(@XO26,0),@XTO27=@XTO27 + ISNULL(@XO27,0), @XTO28=@XTO28 + ISNULL(@XO28,0),@XTO29=@XTO29 + ISNULL(@XO29,0),@XTO30=@XTO30 + ISNULL(@XO30,0), @XTO31=@XTO31 + ISNULL(@XO31,0),@XTO32=@XTO32 + ISNULL(@XO32,0),@XTO33=@XTO33 + ISNULL(@XO33,0), @XTO34=@XTO34 + ISNULL(@XO34,0),@XTO35=@XTO35 + ISNULL(@XO35,0),@XTO36=@XTO36 + ISNULL(@XO36,0), @XTO37=@XTO37 + ISNULL(@XO37,0),@XTO38=@XTO38 + ISNULL(@XO38,0),@XTO39=@XTO39 + ISNULL(@XO39,0), @XTO40=@XTO40 + ISNULL(@XO40,0),@XTO41=@XTO41 + ISNULL(@XO41,0),@XTO42=@XTO42 + ISNULL(@XO42,0), @XTO43=@XTO43 + ISNULL(@XO43,0),@XTO44=@XTO44 + ISNULL(@XO44,0),@XTO45=@XTO45 + ISNULL(@XO45,0), @XTO46=@XTO46 + ISNULL(@XO46,0),@XTO47=@XTO47 + ISNULL(@XO47,0),@XTO48=@XTO48 + ISNULL(@XO48,0) FETCH NEXT FROM TMPCLIENTES INTO @XCLIENTE_ATACADO END CLOSE TMPCLIENTES DEALLOCATE TMPCLIENTES /*FIM DO PROCESSO DE CALCULO DOS CONSUMOS DO ROMANEIO*/ /**********************************************************************************************************************/ /*TOTALIZA OS CONSUMOS DO ROMANEIO*/ SELECT @XO1=ISNULL(@XTO1 ,0)+ISNULL(@XTO2 ,0)+ISNULL(@XTO3 ,0)+ISNULL(@XTO4 ,0)+ISNULL(@XTO5 ,0)+ISNULL(@XTO6 ,0)+ ISNULL(@XTO7 ,0)+ISNULL(@XTO8 ,0)+ISNULL(@XTO9 ,0)+ISNULL(@XTO10,0)+ISNULL(@XTO11,0)+ISNULL(@XTO12,0)+ ISNULL(@XTO13,0)+ISNULL(@XTO14,0)+ISNULL(@XTO15,0)+ISNULL(@XTO16,0)+ISNULL(@XTO17,0)+ISNULL(@XTO18,0)+ ISNULL(@XTO19,0)+ISNULL(@XTO20,0)+ISNULL(@XTO21,0)+ISNULL(@XTO22,0)+ISNULL(@XTO23,0)+ISNULL(@XTO24,0)+ ISNULL(@XTO25,0)+ISNULL(@XTO26,0)+ISNULL(@XTO27,0)+ISNULL(@XTO28,0)+ISNULL(@XTO29,0)+ISNULL(@XTO30,0)+ ISNULL(@XTO31,0)+ISNULL(@XTO32,0)+ISNULL(@XTO33,0)+ISNULL(@XTO34,0)+ISNULL(@XTO35,0)+ISNULL(@XTO36,0)+ ISNULL(@XTO37,0)+ISNULL(@XTO38,0)+ISNULL(@XTO39,0)+ISNULL(@XTO40,0)+ISNULL(@XTO41,0)+ISNULL(@XTO42,0)+ ISNULL(@XTO43,0)+ISNULL(@XTO44,0)+ISNULL(@XTO45,0)+ISNULL(@XTO46,0)+ISNULL(@XTO47,0)+ISNULL(@XTO48,0) /* SELECT @XORDEM_PRODUCAO AS OP,@XMATERIAL AS MATERIAL,@XMATERIAL_SUBSTITUIDO AS MATERIAL_SUB,@XCOR_MATERIAL AS COR_MATERIAL, @XCONSUMO AS CONSUMO,@XRESERVA AS RESERVA,@XRESERVA_ORIGINAL AS RESE_ORI,@XO1 AS XO1,@XO2 AS XO2, @XALTERACAO_CONSUMO AS ALT_CONS,@XITEM AS ITEM,@XPARTE_APLICADO_MATERIAL AS PARTE_APLI */ /* SE TIVER CLIENTE E NAO ACHOU ROMANEIO NAO DEVE TER ALTERACAO DE CONSUMO */ IF @XCLIENTE_ATACADO IS NOT NULL AND @XO1 = 0 SELECT @XALTERACAO_CONSUMO=0 /*SE O CONSUMO DO MATERIAL SUBSTITUTO FOR MAIOR OU IGUAL A ZERO*/ IF @XALTERACAO_CONSUMO>=0 IF @XTIPO_RESERVA = 1 BEGIN /*O MATERIAL FOI GERADO A PARTIR DA FT. NESTE CASO O MATERIAL É SUBSTITUTO MAS TAMBEM FAZ PARTE DA FT. A RESERVA DO MATERIAL DA FT DEVE SER SOMADA COM A DO MATERIAL SUSBTITUTO*/ SELECT @XRESERVA = (CASE WHEN @XCLIENTE_ATACADO IS NOT NULL AND @XO1 = 0 THEN 0 ELSE @XRESERVA END ) + (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XCONSUMO END) +(CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XCONSUMO END)*(@XALTERACAO_CONSUMO/100) SELECT @XCONSUMO = @XRESERVA END ELSE BEGIN /*O MATERIAL FOI GERADO COMO SUBSTITUTO. NESTE CASO O MATERIAL É SUBSTITUTO.*/ SELECT @XRESERVA = (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XRESERVA END) + (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XRESERVA END)*(@XALTERACAO_CONSUMO/100) SELECT @XCONSUMO = @XRESERVA END /*SE O CONSUMO DO MATERIAL SUBSTITUTO FOR MENOR QUE ZERO*/ ELSE IF @XTIPO_RESERVA = 1 BEGIN /*O MATERIAL FOI GERADO A PARTIR DA FT. NESTE CASO O MATERIAL É SUBSTITUTO MAS TAMBEM FAZ PARTE DA FT. A RESERVA DO MATERIAL DA FT DEVE SER SOMADA COM A DO MATERIAL SUSBTITUTO*/ SELECT @XRESERVA = (CASE WHEN @XCLIENTE_ATACADO IS NOT NULL AND @XO1 = 0 THEN 0 ELSE @XRESERVA END ) + (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XCONSUMO END) - (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XCONSUMO END) *(@XALTERACAO_CONSUMO/100)*-1 SELECT @XCONSUMO = @XRESERVA END ELSE BEGIN /*O MATERIAL FOI GERADO COMO SUBSTITUTO. NESTE CASO O MATERIAL É SUBSTITUTO.*/ SELECT @XRESERVA = (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XRESERVA END) - (CASE WHEN @XO1 <>0 THEN @XO1 ELSE @XRESERVA END)*(@XALTERACAO_CONSUMO/100)*-1 SELECT @XCONSUMO = @XRESERVA END /*SELECT @XORDEM_PRODUCAO AS OP,@XMATERIAL AS MATERIAL,@XMATERIAL_SUBSTITUIDO AS MATERIAL_SUB,@XCOR_MATERIAL AS COR_MATERIAL, @XCONSUMO AS CONSUMO,@XRESERVA AS RESERVA,@XRESERVA_ORIGINAL AS RESE_ORI,@XO1 AS XO1,@XO2 AS XO2, @XALTERACAO_CONSUMO AS ALT_CONS,@XITEM AS ITEM,@XPARTE_APLICADO_MATERIAL AS PARTE_APLI */ END IF @XITEM IS NULL SELECT @XITEM = '''' IF @XORDEM_SERVICO_ANTERIOR IS NOT NULL SELECT @XORDEM_SERVICO = @XORDEM_SERVICO_ANTERIOR /*DEVO GUARDAR A QTDE DO MATERIAL SUBSTITUTO PARA ABATER DO MATERIAL SUBSTITUIDO NO CASO DO MATERIAL SUBSTITUIDO VIER DA FT E COM QTDE A MAIS DO PEDIDO*/ IF @XMATERIAL_SUBSTITUIDO IS NOT NULL IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 IF (SELECT COUNT(*) FROM ##TMP_RESERVA_MATERIAIS WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL_SUBSTITUIDO AND COR_MATERIAL =@XCOR_MATERIAL_SUBSTITUIDO AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO )>0 UPDATE ##TMP_RESERVA_MATERIAIS SET QTDE_ABATER = @XCONSUMO WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL_SUBSTITUIDO AND COR_MATERIAL =@XCOR_MATERIAL_SUBSTITUIDO AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO ELSE INSERT ##TMP_RESERVA_MATERIAIS (ORDEM_SERVICO,MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,QTDE_ABATER,ITEM) VALUES (@XORDEM_SERVICO,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO,@XORDEM_PRODUCAO,@XCONSUMO,'''') ELSE IF (SELECT COUNT(*) FROM ##TMP_RESERVA_MATERIAIS WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL_SUBSTITUIDO AND COR_MATERIAL =@XCOR_MATERIAL_SUBSTITUIDO AND ITEM =@XITEM AND PARTE_APLICADO_MATERIAL = @XPARTE_APLICADO_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO )>0 UPDATE ##TMP_RESERVA_MATERIAIS SET QTDE_ABATER = (CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END)--@XCONSUMO WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL_SUBSTITUIDO AND COR_MATERIAL =@XCOR_MATERIAL_SUBSTITUIDO AND ITEM =@XITEM AND PARTE_APLICADO_MATERIAL = @XPARTE_APLICADO_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO ELSE INSERT ##TMP_RESERVA_MATERIAIS (ORDEM_SERVICO,MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,QTDE_ABATER,ITEM,PARTE_APLICADO_MATERIAL) VALUES (@XORDEM_SERVICO,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO,@XORDEM_PRODUCAO,(CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END),@XITEM,@XPARTE_APLICADO_MATERIAL) /*GRAVO AS INFORMAÇÕES NA TABELA TEMPORARIA*/ -- SELECT ''3.75)ANTES DO INSERT/UPDATE SEM MATERIAL SUBSTITUTO PASSOU AQUI AS '',GETUTCDATE() IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 IF (SELECT COUNT(*) FROM ##TMP_RESERVA_MATERIAIS WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO )>0 UPDATE ##TMP_RESERVA_MATERIAIS SET QTDE_NECESSARIA = /*@XCONSUMO ,*/ (CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END), QTDE_ORIGINAL = @XRESERVA_ORIGINAL WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO ELSE INSERT ##TMP_RESERVA_MATERIAIS (ORDEM_SERVICO,MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,QTDE_NECESSARIA,ITEM) VALUES (@XORDEM_SERVICO,@XMATERIAL,@XCOR_MATERIAL,@XORDEM_PRODUCAO,--@XCONSUMO (CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END) ,'''') ELSE IF (SELECT COUNT(*) FROM ##TMP_RESERVA_MATERIAIS WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO AND ITEM = @XITEM AND PARTE_APLICADO_MATERIAL = @XPARTE_APLICADO_MATERIAL )>0 UPDATE ##TMP_RESERVA_MATERIAIS SET QTDE_NECESSARIA = /*@XCONSUMO,*/(CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END), QTDE_ORIGINAL = @XRESERVA_ORIGINAL WHERE ORDEM_SERVICO =@XORDEM_SERVICO AND MATERIAL =@XMATERIAL AND COR_MATERIAL =@XCOR_MATERIAL AND ORDEM_PRODUCAO=@XORDEM_PRODUCAO AND ITEM = @XITEM AND PARTE_APLICADO_MATERIAL = @XPARTE_APLICADO_MATERIAL ELSE INSERT ##TMP_RESERVA_MATERIAIS (ORDEM_SERVICO,MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,QTDE_NECESSARIA,ITEM,PARTE_APLICADO_MATERIAL) VALUES (@XORDEM_SERVICO,@XMATERIAL,@XCOR_MATERIAL,@XORDEM_PRODUCAO,--@XCONSUMO, (CASE WHEN @XRESERVA <>0 THEN @XRESERVA ELSE @XCONSUMO END), @XITEM,@XPARTE_APLICADO_MATERIAL) -- SELECT ''3.75)DEPOIS DO INSERT/UPDATE SEM MATERIAL SUBSTITUTO PASSOU AQUI AS '',GETUTCDATE() /*MOVO O CURSOR PARA O PRÓXIMO MATERIAL*/ IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 FETCH NEXT FROM TMPMATERIAIS INTO @XORDEM_PRODUCAO,@XMATERIAL,@XCOR_MATERIAL,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO,@XTIPO_RESERVA,@XCONSUMO ELSE FETCH NEXT FROM TMPMATERIAIS INTO @XORDEM_PRODUCAO,@XMATERIAL,@XCOR_MATERIAL,@XMATERIAL_SUBSTITUIDO,@XCOR_MATERIAL_SUBSTITUIDO,@XTIPO_RESERVA, @XITEM,@XPARTE_APLICADO_MATERIAL,@XCONSUMO END CLOSE TMPMATERIAIS DEALLOCATE TMPMATERIAIS IF @INDICA_BAIXA_AUTOMATICA = 1 BEGIN IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT A.ORDEM_SERVICO, A.MATERIAL, A.COR_MATERIAL, A.ITEM, A.ORDEM_PRODUCAO, A.QTDE_ORIGINAL, A.QTDE_ABATER, A.PARTE_APLICADO_MATERIAL, ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0) AS QTDE_NECESSARIA, (CASE WHEN ((ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0)) - B.CONSUMIDA > 0 AND B.MATAR_SALDO_RESERVA=0) THEN (ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0)) - B.CONSUMIDA ELSE 0 END) AS RESERVA, C.ALTERACAO_CONSUMO, C.PRIORIDADE_SUBSTITUICAO , C.SUBSTITUICAO_POR_PRODUTO, B.DATA_RESERVA FROM ##TMP_RESERVA_MATERIAIS A JOIN PRODUCAO_RESERVA B ON B.MATERIAL = A.MATERIAL AND B.COR_MATERIAL = A.COR_MATERIAL AND B.ORDEM_PRODUCAO = A.ORDEM_PRODUCAO LEFT JOIN SUBSTITUICOES_MATERIAL C ON C.MATERIAL = B.MATERIAL AND C.COR_MATERIAL = B.COR_MATERIAL AND C.MATERIAL_SUBSTITUIDO = B.MATERIAL_SUBSTITUIDO AND C.COR_MATERIAL_SUBSTITUIDO = B.COR_MATERIAL_SUBSTITUIDO WHERE ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0) >0 ELSE SELECT A.ORDEM_SERVICO, A.MATERIAL, A.COR_MATERIAL, A.ITEM, A.ORDEM_PRODUCAO, A.QTDE_ORIGINAL, A.QTDE_ABATER, A.PARTE_APLICADO_MATERIAL, ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0) AS QTDE_NECESSARIA, (CASE WHEN ((ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0)) - ISNULL(D.QTDE,0) > 0 AND B.MATAR_SALDO_RESERVA=0) THEN (ISNULL(A.QTDE_NECESSARIA,0)-ISNULL(A.QTDE_ABATER,0)) - ISNULL(D.QTDE,0) ELSE 0 END) AS RESERVA, C.ALTERACAO_CONSUMO, C.PRIORIDADE_SUBSTITUICAO , C.SUBSTITUICAO_POR_PRODUTO, B.DATA_RESERVA FROM ##TMP_RESERVA_MATERIAIS A JOIN PRODUCAO_RESERVA B ON B.MATERIAL = A.MATERIAL AND B.COR_MATERIAL = A.COR_MATERIAL AND B.ORDEM_PRODUCAO = A.ORDEM_PRODUCAO LEFT JOIN SUBSTITUICOES_MATERIAL C ON C.MATERIAL = B.MATERIAL AND C.COR_MATERIAL = B.COR_MATERIAL AND C.MATERIAL_SUBSTITUIDO = B.MATERIAL_SUBSTITUIDO AND C.COR_MATERIAL_SUBSTITUIDO = B.COR_MATERIAL_SUBSTITUIDO LEFT JOIN (SELECT MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,SUM(QTDE) AS QTDE FROM ESTOQUE_SAI1_MAT GROUP BY MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO) AS D ON D.MATERIAL =A.MATERIAL AND D.COR_MATERIAL =A.COR_MATERIAL AND D.ORDEM_PRODUCAO =A.ORDEM_PRODUCAO AND D.ITEM =A.ITEM WHERE ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0) >0 END ELSE IF @LISTA_CLIENTE = 0 IF @XXORDEM_PRODUCAO IS NOT NULL --MOSTRA LISTAGEM PELA OP SELECT A.MATERIAL, A.COR_MATERIAL, A.ORDEM_PRODUCAO, (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) AS RESERVA_ORIGINAL, (CASE WHEN ((ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA > 0 AND MATAR_SALDO_RESERVA=0) THEN (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA ELSE 0 END) AS RESERVA, (CASE WHEN ((ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA < 0 OR MATAR_SALDO_RESERVA=1) THEN (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA ELSE 0 END) AS DIFERENCA_PREVISAO FROM ##TMP_RESERVA_MATERIAIS A INNER JOIN PRODUCAO_RESERVA B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO AND A.MATERIAL=B.MATERIAL AND A.COR_MATERIAL=B.COR_MATERIAL ELSE -- MOSTRA LISTAGEM PELA OS IF @XMOSTRA_PARTE IS NULL OR @XMOSTRA_PARTE=0 SELECT (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) AS QTDE_NECESSARIA, (CASE WHEN ((ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA > 0 AND MATAR_SALDO_RESERVA=0) THEN (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - CONSUMIDA ELSE 0 END) AS RESERVA, TMP.*,DESC_MATERIAL,DESC_COR_MATERIAL,ALTERACAO_CONSUMO, PRIORIDADE_SUBSTITUICAO ,SUBSTITUICAO_POR_PRODUTO, UNID_ESTOQUE,UNID_FICHA_TEC,FATOR_CONVERSAO ,DATA_RESERVA,PRODUCAO_RESERVA.* , CTRL_PARTIDAS,CTRL_PECAS, CTRL_PECAS_PARCIAL,CTRL_UNID_AUX,UNID_AUXILIAR,FASE_PRODUCAO,SETOR_PRODUCAO FROM ##TMP_RESERVA_MATERIAIS TMP INNER JOIN MATERIAIS ON TMP.MATERIAL=MATERIAIS.MATERIAL INNER JOIN MATERIAIS_CORES ON TMP.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND MATERIAIS.MATERIAL=MATERIAIS_CORES.MATERIAL INNER JOIN PRODUCAO_RESERVA ON PRODUCAO_RESERVA.MATERIAL = TMP.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = TMP.COR_MATERIAL AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = TMP.ORDEM_PRODUCAO LEFT JOIN SUBSTITUICOES_MATERIAL ON SUBSTITUICOES_MATERIAL.MATERIAL=PRODUCAO_RESERVA.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=PRODUCAO_RESERVA.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO WHERE ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0) >0 ELSE SELECT (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) AS QTDE_NECESSARIA, (CASE WHEN ((ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - ISNULL(EST_MAT.QTDE,0) > 0 AND MATAR_SALDO_RESERVA=0) THEN (ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0)) - ISNULL(EST_MAT.QTDE,0) ELSE 0 END) AS RESERVA, TMP.*,DESC_MATERIAL,DESC_COR_MATERIAL,ALTERACAO_CONSUMO, PRIORIDADE_SUBSTITUICAO ,SUBSTITUICAO_POR_PRODUTO, UNID_ESTOQUE,UNID_FICHA_TEC,FATOR_CONVERSAO ,DATA_RESERVA,PRODUCAO_RESERVA.* , CTRL_PARTIDAS,CTRL_PECAS, CTRL_PECAS_PARCIAL,CTRL_UNID_AUX,UNID_AUXILIAR,FASE_PRODUCAO,SETOR_PRODUCAO FROM ##TMP_RESERVA_MATERIAIS TMP, MATERIAIS, MATERIAIS_CORES, PRODUCAO_RESERVA, SUBSTITUICOES_MATERIAL, (SELECT MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,SUM(QTDE) AS QTDE FROM ESTOQUE_SAI1_MAT GROUP BY MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO) AS EST_MAT WHERE TMP.MATERIAL=MATERIAIS.MATERIAL AND TMP.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND MATERIAIS.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=*PRODUCAO_RESERVA.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=*PRODUCAO_RESERVA.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=*PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=*PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.MATERIAL = TMP.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = TMP.COR_MATERIAL AND PRODUCAO_RESERVA.ORDEM_PRODUCAO = TMP.ORDEM_PRODUCAO AND ISNULL(QTDE_NECESSARIA,0)-ISNULL(QTDE_ABATER,0) >0 AND EST_MAT.MATERIAL =* TMP.MATERIAL AND EST_MAT.COR_MATERIAL =* TMP.COR_MATERIAL AND EST_MAT.ORDEM_PRODUCAO =* TMP.ORDEM_PRODUCAO AND EST_MAT.ITEM =* TMP.ITEM ELSE SELECT * FROM ##TMP_RESERVA_MATERIAIS_CLIENTE SET NOCOUNT OFF EXEC(''DROP INDEX ##TMP_RESERVA_MATERIAIS.XAK1##TMP_RESERVA_MATERIAIS'') EXEC(''DROP TABLE ##TMP_RESERVA_MATERIAIS'') EXEC(''DROP TABLE ##TMP_RESERVA_MATERIAIS_CLIENTE'')' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_PRODUTO_03]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_PRODUTO_03] (PRODUTO, COR_PRODUTO, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vo1, SUM_vo2, SUM_vo3, SUM_vo4, SUM_vo5, SUM_vo6, SUM_vo7, SUM_vo8, SUM_vo9, SUM_vo10, SUM_vo11, SUM_vo12, SUM_vo13, SUM_vo14, SUM_vo15, SUM_vo16, SUM_vo17, SUM_vo18, SUM_vo19, SUM_vo20, SUM_vo21, SUM_vo22, SUM_vo23, SUM_vo24, SUM_vo25, SUM_vo26, SUM_vo27, SUM_vo28, SUM_vo29, SUM_vo30, SUM_vo31, SUM_vo32, SUM_vo33, SUM_vo34, SUM_vo35, SUM_vo36, SUM_vo37, SUM_vo38, SUM_vo39, SUM_vo40, SUM_vo41, SUM_vo42, SUM_vo43, SUM_vo44, SUM_vo45, SUM_vo46, SUM_vo47, SUM_vo48, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48, EMPRESA) AS SELECT Vendas_produto.PRODUTO, Vendas_produto.COR_PRODUTO, SUM(Vendas_produto.qtde_original), SUM(Vendas_produto.qtde_entregar), SUM(Vendas_produto.qtde_entregue), SUM(Vendas_produto.qtde_cancelada), SUM(Vendas_produto.qtde_embalada), SUM(Vendas_produto.qtde_devolvida), SUM(Vendas_produto.valor_original), SUM(Vendas_produto.valor_entregar), SUM(Vendas_produto.valor_entregue), SUM(Vendas_produto.valor_cancelado), SUM(Vendas_produto.valor_devolvido), SUM(Vendas_produto.vo1), SUM(Vendas_produto.vo2), SUM(Vendas_produto.vo3), SUM(Vendas_produto.vo4), SUM(Vendas_produto.vo5), SUM(Vendas_produto.vo6), SUM(Vendas_produto.vo7), SUM(Vendas_produto.vo8), SUM(Vendas_produto.vo9), SUM(Vendas_produto.vo10), SUM(Vendas_produto.vo11), SUM(Vendas_produto.vo12), SUM(Vendas_produto.vo13), SUM(Vendas_produto.vo14), SUM(Vendas_produto.vo15), SUM(Vendas_produto.vo16), SUM(Vendas_produto.vo17), SUM(Vendas_produto.vo18), SUM(Vendas_produto.vo19), SUM(Vendas_produto.vo20), SUM(Vendas_produto.vo21), SUM(Vendas_produto.vo22), SUM(Vendas_produto.vo23), SUM(Vendas_produto.vo24), SUM(Vendas_produto.vo25), SUM(Vendas_produto.vo26), SUM(Vendas_produto.vo27), SUM(Vendas_produto.vo28), SUM(Vendas_produto.vo29), SUM(Vendas_produto.vo30), SUM(Vendas_produto.vo31), SUM(Vendas_produto.vo32), SUM(Vendas_produto.vo33), SUM(Vendas_produto.vo34), SUM(Vendas_produto.vo35), SUM(Vendas_produto.vo36), SUM(Vendas_produto.vo37), SUM(Vendas_produto.vo38), SUM(Vendas_produto.vo39), SUM(Vendas_produto.vo40), SUM(Vendas_produto.vo41), SUM(Vendas_produto.vo42), SUM(Vendas_produto.vo43), SUM(Vendas_produto.vo44), SUM(Vendas_produto.vo45), SUM(Vendas_produto.vo46), SUM(Vendas_produto.vo47), SUM(Vendas_produto.vo48), SUM(Vendas_produto.ve1), SUM(Vendas_produto.ve2), SUM(Vendas_produto.ve3), SUM(Vendas_produto.ve4), SUM(Vendas_produto.ve5), SUM(Vendas_produto.ve6), SUM(Vendas_produto.ve7), SUM(Vendas_produto.ve8), SUM(Vendas_produto.ve9), SUM(Vendas_produto.ve10), SUM(Vendas_produto.ve11), SUM(Vendas_produto.ve12), SUM(Vendas_produto.ve13), SUM(Vendas_produto.ve14), SUM(Vendas_produto.ve15), SUM(Vendas_produto.ve16), SUM(Vendas_produto.ve17), SUM(Vendas_produto.ve18), SUM(Vendas_produto.ve19), SUM(Vendas_produto.ve20), SUM(Vendas_produto.ve21), SUM(Vendas_produto.ve22), SUM(Vendas_produto.ve23), SUM(Vendas_produto.ve24), SUM(Vendas_produto.ve25), SUM(Vendas_produto.ve26), SUM(Vendas_produto.ve27), SUM(Vendas_produto.ve28), SUM(Vendas_produto.ve29), SUM(Vendas_produto.ve30), SUM(Vendas_produto.ve31), SUM(Vendas_produto.ve32), SUM(Vendas_produto.ve33), SUM(Vendas_produto.ve34), SUM(Vendas_produto.ve35), SUM(Vendas_produto.ve36), SUM(Vendas_produto.ve37), SUM(Vendas_produto.ve38), SUM(Vendas_produto.ve39), SUM(Vendas_produto.ve40), SUM(Vendas_produto.ve41), SUM(Vendas_produto.ve42), SUM(Vendas_produto.ve43), SUM(Vendas_produto.ve44), SUM(Vendas_produto.ve45), SUM(Vendas_produto.ve46), SUM(Vendas_produto.ve47), SUM(Vendas_produto.ve48), FILIAIS.EMPRESA FROM VENDAS_PRODUTO JOIN VENDAS ON VENDAS_PRODUTO.PEDIDO = VENDAS.PEDIDO JOIN FILIAIS ON VENDAS.FILIAL=FILIAIS.FILIAL WHERE ENTREGA >= (SELECT valor_atual FROM parametros WHERE parametro = ''PCP_ENTREGA_INICIAL'') AND ENTREGA <= (SELECT valor_atual FROM parametros WHERE parametro = ''PCP_ENTREGA_FINAL'') GROUP BY PRODUTO, COR_PRODUTO, FILIAIS.EMPRESA' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_PRODUTO_02]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_PRODUTO_02] (PRODUTO, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, EMPRESA) AS SELECT Vendas_produto.PRODUTO, SUM(Vendas_produto.qtde_original), SUM(Vendas_produto.qtde_entregar), SUM(Vendas_produto.qtde_entregue), SUM(Vendas_produto.qtde_cancelada), SUM(Vendas_produto.qtde_embalada), SUM(Vendas_produto.qtde_devolvida), SUM(Vendas_produto.valor_original), SUM(Vendas_produto.valor_entregar), SUM(Vendas_produto.valor_entregue), SUM(Vendas_produto.valor_cancelado), SUM(Vendas_produto.valor_devolvido), FILIAIS.EMPRESA FROM VENDAS_PRODUTO JOIN VENDAS ON VENDAS_PRODUTO.PEDIDO = VENDAS.PEDIDO JOIN FILIAIS ON VENDAS.FILIAL = FILIAIS.FILIAL GROUP BY PRODUTO, EMPRESA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_PRODUTO_01]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_PRODUTO_01] (PRODUTO, COR_PRODUTO, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vo1, SUM_vo2, SUM_vo3, SUM_vo4, SUM_vo5, SUM_vo6, SUM_vo7, SUM_vo8, SUM_vo9, SUM_vo10, SUM_vo11, SUM_vo12, SUM_vo13, SUM_vo14, SUM_vo15, SUM_vo16, SUM_vo17, SUM_vo18, SUM_vo19, SUM_vo20, SUM_vo21, SUM_vo22, SUM_vo23, SUM_vo24, SUM_vo25, SUM_vo26, SUM_vo27, SUM_vo28, SUM_vo29, SUM_vo30, SUM_vo31, SUM_vo32, SUM_vo33, SUM_vo34, SUM_vo35, SUM_vo36, SUM_vo37, SUM_vo38, SUM_vo39, SUM_vo40, SUM_vo41, SUM_vo42, SUM_vo43, SUM_vo44, SUM_vo45, SUM_vo46, SUM_vo47, SUM_vo48, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48, empresa) AS SELECT Vendas_produto.PRODUTO, Vendas_produto.COR_PRODUTO, SUM(Vendas_produto.qtde_original), SUM(Vendas_produto.qtde_entregar), SUM(Vendas_produto.qtde_entregue), SUM(Vendas_produto.qtde_cancelada), SUM(Vendas_produto.qtde_embalada), SUM(Vendas_produto.qtde_devolvida), convert(numeric(14, 2), SUM(Vendas_produto.valor_original * valor_multiplicar)), convert(numeric(14, 2), SUM(Vendas_produto.valor_entregar * valor_multiplicar)), sum(isnull(vendas_produto.entregue_moeda_padrao, 0)), convert(numeric(14, 2), SUM(Vendas_produto.valor_cancelado * valor_multiplicar)), SUM(Vendas_produto.valor_devolvido), SUM(Vendas_produto.vo1), SUM(Vendas_produto.vo2), SUM(Vendas_produto.vo3), SUM(Vendas_produto.vo4), SUM(Vendas_produto.vo5), SUM(Vendas_produto.vo6), SUM(Vendas_produto.vo7), SUM(Vendas_produto.vo8), SUM(Vendas_produto.vo9), SUM(Vendas_produto.vo10), SUM(Vendas_produto.vo11), SUM(Vendas_produto.vo12), SUM(Vendas_produto.vo13), SUM(Vendas_produto.vo14), SUM(Vendas_produto.vo15), SUM(Vendas_produto.vo16), SUM(Vendas_produto.vo17), SUM(Vendas_produto.vo18), SUM(Vendas_produto.vo19), SUM(Vendas_produto.vo20), SUM(Vendas_produto.vo21), SUM(Vendas_produto.vo22), SUM(Vendas_produto.vo23), SUM(Vendas_produto.vo24), SUM(Vendas_produto.vo25), SUM(Vendas_produto.vo26), SUM(Vendas_produto.vo27), SUM(Vendas_produto.vo28), SUM(Vendas_produto.vo29), SUM(Vendas_produto.vo30), SUM(Vendas_produto.vo31), SUM(Vendas_produto.vo32), SUM(Vendas_produto.vo33), SUM(Vendas_produto.vo34), SUM(Vendas_produto.vo35), SUM(Vendas_produto.vo36), SUM(Vendas_produto.vo37), SUM(Vendas_produto.vo38), SUM(Vendas_produto.vo39), SUM(Vendas_produto.vo40), SUM(Vendas_produto.vo41), SUM(Vendas_produto.vo42), SUM(Vendas_produto.vo43), SUM(Vendas_produto.vo44), SUM(Vendas_produto.vo45), SUM(Vendas_produto.vo46), SUM(Vendas_produto.vo47), SUM(Vendas_produto.vo48), SUM(Vendas_produto.ve1), SUM(Vendas_produto.ve2), SUM(Vendas_produto.ve3), SUM(Vendas_produto.ve4), SUM(Vendas_produto.ve5), SUM(Vendas_produto.ve6), SUM(Vendas_produto.ve7), SUM(Vendas_produto.ve8), SUM(Vendas_produto.ve9), SUM(Vendas_produto.ve10), SUM(Vendas_produto.ve11), SUM(Vendas_produto.ve12), SUM(Vendas_produto.ve13), SUM(Vendas_produto.ve14), SUM(Vendas_produto.ve15), SUM(Vendas_produto.ve16), SUM(Vendas_produto.ve17), SUM(Vendas_produto.ve18), SUM(Vendas_produto.ve19), SUM(Vendas_produto.ve20), SUM(Vendas_produto.ve21), SUM(Vendas_produto.ve22), SUM(Vendas_produto.ve23), SUM(Vendas_produto.ve24), SUM(Vendas_produto.ve25), SUM(Vendas_produto.ve26), SUM(Vendas_produto.ve27), SUM(Vendas_produto.ve28), SUM(Vendas_produto.ve29), SUM(Vendas_produto.ve30), SUM(Vendas_produto.ve31), SUM(Vendas_produto.ve32), SUM(Vendas_produto.ve33), SUM(Vendas_produto.ve34), SUM(Vendas_produto.ve35), SUM(Vendas_produto.ve36), SUM(Vendas_produto.ve37), SUM(Vendas_produto.ve38), SUM(Vendas_produto.ve39), SUM(Vendas_produto.ve40), SUM(Vendas_produto.ve41), SUM(Vendas_produto.ve42), SUM(Vendas_produto.ve43), SUM(Vendas_produto.ve44), SUM(Vendas_produto.ve45), SUM(Vendas_produto.ve46), SUM(Vendas_produto.ve47), SUM(Vendas_produto.ve48), filiais.empresa FROM Vendas_produto join vendas on vendas_produto.pedido = vendas.pedido join w_moedas_conversao on vendas.moeda = w_moedas_conversao.moeda join FILIAIS on vendas.filial = FILIAIS.filial GROUP BY PRODUTO, COR_PRODUTO, EMPRESA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_UNIDADES_EN_DEPOSITO_VARELA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' CREATE VIEW [W_UNIDADES_EN_DEPOSITO_VARELA] AS select vendas.nome_clifor_entrega as lugar, vendas_prod_embalado.produto, vendas_prod_embalado.cor_produto, sum ( isnull(vendas_prod_embalado.e1,0) ) as vo_1, sum ( isnull(vendas_prod_embalado.e2,0) ) as vo_2, sum ( isnull(vendas_prod_embalado.e3,0) ) as vo_3, sum ( isnull(vendas_prod_embalado.e4,0) ) as vo_4, sum ( isnull(vendas_prod_embalado.e5,0) ) as vo_5, sum ( isnull(vendas_prod_embalado.e6,0) ) as vo_6, sum ( isnull(vendas_prod_embalado.e7,0) ) as vo_7, sum ( isnull(vendas_prod_embalado.e8,0) ) as vo_8, sum ( isnull(vendas_prod_embalado.e9,0) ) as vo_9, sum ( isnull(vendas_prod_embalado.e10,0) ) as vo_10, produtos.grade,produtos.desc_produto, produtos_tamanhos.tamanho_1, produtos_tamanhos.tamanho_2, produtos_tamanhos.tamanho_3, produtos_tamanhos.tamanho_4, produtos_tamanhos.tamanho_5, produtos_tamanhos.tamanho_6, produtos_tamanhos.tamanho_7,produtos_tamanhos.tamanho_8, produtos_tamanhos.tamanho_9, produtos_tamanhos.tamanho_10 from vendas_prod_embalado left join vendas on vendas_prod_embalado.pedido=vendas.pedido left join produtos on vendas_prod_embalado.produto = produtos.produto left join produtos_tamanhos on produtos_tamanhos.grade = produtos.grade where ( vendas.cliente_atacado like ''EL CORTE INGLES%'' or vendas.cliente_atacado like ''c.%'' ) group by vendas.nome_clifor_entrega, vendas_prod_embalado.produto, vendas_prod_embalado.cor_produto, produtos.grade,produtos.desc_produto, produtos_tamanhos.tamanho_1, produtos_tamanhos.tamanho_2, produtos_tamanhos.tamanho_3, produtos_tamanhos.tamanho_4, produtos_tamanhos.tamanho_5, produtos_tamanhos.tamanho_6, produtos_tamanhos.tamanho_7,produtos_tamanhos.tamanho_8, produtos_tamanhos.tamanho_9, produtos_tamanhos.tamanho_10 union all select vendas.nome_clifor_entrega as lugar, faturamento_prod.produto, faturamento_prod.cor_produto, sum ( isnull(faturamento_prod.f1,0)) as vo_1, sum ( isnull(faturamento_prod.f2,0)) as vo_2, sum ( isnull(faturamento_prod.f3,0)) as vo_3, sum ( isnull(faturamento_prod.f4,0)) as vo_4, sum ( isnull(faturamento_prod.f5,0)) as vo_5, sum ( isnull(faturamento_prod.f6,0)) as vo_6, sum ( isnull(faturamento_prod.f7,0)) as vo_7, sum ( isnull(faturamento_prod.f8,0)) as vo_8, sum ( isnull(faturamento_prod.f9,0)) as vo_9, sum ( isnull(faturamento_prod.f10,0)) as vo_10, produtos.grade,produtos.desc_produto, produtos_tamanhos.tamanho_1, produtos_tamanhos.tamanho_2, produtos_tamanhos.tamanho_3, produtos_tamanhos.tamanho_4, produtos_tamanhos.tamanho_5, produtos_tamanhos.tamanho_6, produtos_tamanhos.tamanho_7,produtos_tamanhos.tamanho_8, produtos_tamanhos.tamanho_9, produtos_tamanhos.tamanho_10 from faturamento_prod left join vendas on faturamento_prod.pedido = vendas.pedido left join produtos on faturamento_prod.produto = produtos.produto left join produtos_tamanhos on produtos_tamanhos.grade = produtos.grade where ( vendas.cliente_atacado like ''EL CORTE INGLES%'' or vendas.cliente_atacado like ''c.%'' ) and ISNULL(faturamento_prod.caixa,'''') <> '''' group by vendas.nome_clifor_entrega, faturamento_prod.produto, faturamento_prod.cor_produto, produtos.grade,produtos.desc_produto, produtos_tamanhos.tamanho_1, produtos_tamanhos.tamanho_2, produtos_tamanhos.tamanho_3, produtos_tamanhos.tamanho_4, produtos_tamanhos.tamanho_5, produtos_tamanhos.tamanho_6, produtos_tamanhos.tamanho_7,produtos_tamanhos.tamanho_8, produtos_tamanhos.tamanho_9, produtos_tamanhos.tamanho_10 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_VENDAS_MESES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_VENDAS_MESES] AS SELECT MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL, SUM(QTDE_ENTREGAR) AS VENDA_ENTREGAR, SUM(QTDE_ENTREGUE) AS VENDA_ENTREGUE, SUM(QTDE_ORIGINAL) AS VENDA_ORIGINAL, SUM(QTDE_CANCELADA) AS VENDA_CANCELADA, SUM(QTDE_RESERVADA) AS VENDA_RESERVADA, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2)<=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_MESES_ATRAS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_UM_MES_ATRAS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM, 0,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM, 0,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_MES_ATUAL, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_UM_MES_APOS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_DOIS_MESES_APOS, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2)>=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+3,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+3,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS VENDAS_TRES_MESES_APOS FROM MATERIAIS , MATERIAIS_CORES ,VENDAS_MATERIAL,VENDAS WHERE MATERIAIS.MATERIAL = MATERIAIS_CORES.MATERIAL AND MATERIAIS.MATERIAL = VENDAS_MATERIAL.MATERIAL AND MATERIAIS_CORES.COR_MATERIAL = VENDAS_MATERIAL.COR_MATERIAL AND VENDAS_MATERIAL.PEDIDO=VENDAS.PEDIDO AND FILIAL LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_VENDAS_MAT'' ) GROUP BY MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CLIENTES_VENDAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CLIENTES_VENDAS] (CLIENTE_ATACADO, REPRESENTANTE, QTDE_ORIGINAL, QTDE_ENTREGUE, QTDE_ENTREGAR, QTDE_EMBALADA, QTDE_DEVOLVIDA, QTDE_CANCELADA, VALOR_ORIGINAL, VALOR_ENTREGAR) AS SELECT Vendas.CLIENTE_ATACADO, Vendas.REPRESENTANTE, SUM(Vendas.TOT_QTDE_ORIGINAL), SUM(Vendas.TOT_QTDE_ENTREGUE), SUM(Vendas.TOT_QTDE_ENTREGAR), SUM(Vendas.TOT_QTDE_EMBALADA), SUM(Vendas.TOT_QTDE_DEVOLVIDA), SUM(Vendas.TOT_QTDE_CANCELADA), SUM(Vendas.TOT_VALOR_ORIGINAL), SUM(Vendas.TOT_VALOR_ENTREGAR) FROM VENDAS Vendas GROUP BY VENDAS.CLIENTE_ATACADO, VENDAS.REPRESENTANTE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_Producao_Corte_Grade]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_Producao_Corte_Grade] AS SELECT a.Ordem_Corte, Produto, Cor_Produto, Programacao, Qtde_Grade AS Qtde_A, C1 AS A1, C2 AS A2, C3 AS A3, C4 AS A4, C5 AS A5, C6 AS A6, C7 AS A7, C8 AS A8, C9 AS A9, C10 AS A10, C11 AS A11, C12 AS A12, C13 AS A13, C14 AS A14, C15 AS A15, C16 AS A16, C17 AS A17, C18 AS A18, C19 AS A19, C20 AS A20, C21 AS A21, C22 AS A22, C23 AS A23, C24 AS A24, C25 AS A25, C26 AS A26, C27 AS A27, C28 AS A28, C29 AS A29, C30 AS A30, C31 AS A31, C32 AS A32, C33 AS A33, C34 AS A34, C35 AS A35, C36 AS A36, C37 AS A37, C38 AS A38, C39 AS A39, C40 AS A40, C41 AS A41, C42 AS A42, C43 AS A43, C44 AS A44, C45 AS A45, C46 AS A46, C47 AS A47, C48 AS A48 FROM Producao_Corte_Grade a INNER JOIN Producao_corte b ON a.ordem_corte = b.ordem_corte WHERE a.Ordem_Corte NOT IN ( SELECT Ordem_Producao FROM Producao_Ordem ) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_Producao_Corte_Enfesto_02]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create VIEW [w_Producao_Corte_Enfesto_02] AS SELECT a.Filial, a.Material, a.Cor_Material, SUM(a.Qtde) as Qtde_Saida FROM ESTOQUE_SAI1_MAT a INNER JOIN Producao_Corte b ON a.Ordem_Producao = b.Ordem_Corte AND a.Filial = b.Filial INNER JOIN Producao_Corte_Enfesto c ON b.Ordem_Corte = c.Ordem_Corte AND a.Material = c.Material AND a.Cor_Material = c.Cor_Material GROUP BY a.Filial, a.Material, a.Cor_Material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_Producao_Corte_Enfesto_01]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create VIEW [w_Producao_Corte_Enfesto_01] AS SELECT Filial, Material, Cor_Material, SUM(Qtde_Material) as Qtde_Utilizada FROM Producao_Corte_Enfesto a INNER JOIN Producao_Corte b ON a.Ordem_Corte = b.Ordem_Corte GROUP BY Filial, Material, Cor_Material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_RESERVA_MESES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_RESERVA_MESES] AS SELECT MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL, SUM(RESERVA) AS RESERVA, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2)<=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_MESES_ATRAS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_UM_MES_ATRAS, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM, 0,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM, 0,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_MES_ATUAL, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_UM_MES_APOS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_DOIS_MESES_APOS, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,DATA_RESERVA))+SUBSTRING( STR(DATEPART(MONTH,DATA_RESERVA)+100,3),2,2)>=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+3,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+3,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20,3),RESERVA) ELSE 0 END) AS RESERVA_TRES_MESES_APOS FROM MATERIAIS INNER JOIN MATERIAIS_CORES ON MATERIAIS.MATERIAL = MATERIAIS_CORES.MATERIAL INNER JOIN PRODUCAO_RESERVA ON MATERIAIS.MATERIAL = PRODUCAO_RESERVA.MATERIAL AND MATERIAIS_CORES.COR_MATERIAL = PRODUCAO_RESERVA.COR_MATERIAL LEFT JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=PRODUCAO_ORDEM.ORDEM_PRODUCAO LEFT JOIN COMPRAS ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=COMPRAS.PEDIDO LEFT JOIN (M_ORDEM_FABRICACAO_ITEM INNER JOIN M_ORDEM_FABRICACAO ON M_ORDEM_FABRICACAO.ORDEM_FABRICACAO=M_ORDEM_FABRICACAO_ITEM.ORDEM_FABRICACAO ) ON PRODUCAO_RESERVA.ORDEM_PRODUCAO=M_ORDEM_FABRICACAO_ITEM.ORDEM_PRODUCAO WHERE RESERVA > 0 AND (PRODUCAO_ORDEM.FILIAL LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_RESERVA_MAT'' ) OR COMPRAS.FILIAL_A_ENTREGAR LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_COMPRAS_MAT'' ) OR M_ORDEM_FABRICACAO.FILIAL LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_OF_MAT'' )) GROUP BY MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_ORDEM_FABRICACAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_ORDEM_FABRICACAO] AS select m_ordem_fabricacao_item.material,m_ordem_fabricacao_item.cor_material,sum(qtde_a_produzir) as qtde_a_produzir,sum(qtde_em_processo) as qtde_em_producao, sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2)<=convert(char(4),DATEPART(year,dateadd(mm,-2,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,-2,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_MESES_ATRAS , sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,-1,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,-1,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_UM_MES_ATRAS, sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm, 0,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm, 0,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_MES_ATUAL, sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,+1,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+1,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_UM_MES_APOS , sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,+2,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+2,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_DOIS_MESES_APOS, sum(case when convert(char(4),DATEPART(year,m_ordem_fabricacao_item.inicio_previsto))+SUBSTRING( str(DATEPART(month,m_ordem_fabricacao_item.inicio_previsto)+100,3),2,2)>=convert(char(4),DATEPART(year,dateadd(mm,+3,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+3,getdate()))+100,3),2,2) then convert(numeric(20,3),(qtde_a_produzir+qtde_em_processo)) else 0 end) as PRODUCAO_TRES_MESES_APOS from m_ordem_fabricacao,m_ordem_fabricacao_item where m_ordem_fabricacao.ordem_fabricacao=m_ordem_fabricacao_item.ordem_fabricacao and filial LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_OF_MAT'' ) group by m_ordem_fabricacao_item.material,m_ordem_fabricacao_item.cor_material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_RECALCULA_NIVEL_SUPERIOR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_RECALCULA_NIVEL_SUPERIOR] /*--[VERSAO: 2.0]--*/ @ORDEM_PRODUCAO CHAR(8) AS DECLARE @EXEC VARCHAR(5000) SELECT @EXEC='''' BEGIN TRANSACTION UPDATE A SET QTDE_ALT_OUTRAS_OF = B.NOVA_QTDE-A.QTDE_PREVISTA-A.QTDE_ALTERACAO_OF, QTDE_A_PRODUZIR = B.NOVA_QTDE-QTDE_EM_PROCESSO-QTDE_FINALIZADA-QTDE_PERDAS FROM M_ORDEM_FABRICACAO_ITEM A JOIN ( SELECT ORDEM_PRODUCAO_SUPERIOR,MIN(NOVA_QTDE) AS NOVA_QTDE FROM ( SELECT ORDEM_PRODUCAO_SUPERIOR=B.ORDEM_PRODUCAO,C.MATERIAL,C.COR_MATERIAL, NOVA_QTDE = CONVERT(NUMERIC(10,3),(1.*C.RESERVA_ORIGINAL/D.TOTAL_RESERVA)* (A.QTDE_PREVISTA+A.QTDE_ALTERACAO_OF+A.QTDE_ALT_OUTRAS_OF) / C.CONSUMO_UNITARIO) FROM M_ORDEM_FABRICACAO_ITEM A JOIN M_ORDEM_FABRICACAO_ANTERIOR B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO_ANTERIOR JOIN M_ORDEM_FABRICACAO_ANTERIOR E ON B.ORDEM_PRODUCAO=E.ORDEM_PRODUCAO JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO AND C.MATERIAL=A.MATERIAL AND C.COR_MATERIAL=A.COR_MATERIAL JOIN M_ORDEM_FABRICACAO_ITEM F ON F.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO JOIN ( SELECT A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL, QTDE_DISP = 0, TOTAL_RESERVA = SUM(RESERVA_ORIGINAL) FROM M_ORDEM_FABRICACAO_ITEM A JOIN M_ORDEM_FABRICACAO_ANTERIOR B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO_ANTERIOR JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO AND C.MATERIAL=A.MATERIAL AND C.COR_MATERIAL=A.COR_MATERIAL GROUP BY A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL ) D ON A.ORDEM_PRODUCAO=D.ORDEM_PRODUCAO AND A.MATERIAL=D.MATERIAL AND A.COR_MATERIAL=D.COR_MATERIAL WHERE E.ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO UNION ALL SELECT ORDEM_PRODUCAO_SUPERIOR=B.ORDEM_PRODUCAO,C.MATERIAL,C.COR_MATERIAL, NOVA_QTDE = CONVERT(NUMERIC(10,3),(1.*C.RESERVA_ORIGINAL/D.TOTAL_RESERVA)* (A.QTDE_PREVISTA+A.QTDE_ALTERACAO_OF+A.QTDE_ALT_OUTRAS_OF) / C.CONSUMO_UNITARIO) FROM M_ORDEM_FABRICACAO_ITEM A JOIN M_ORDEM_FABRICACAO_ANTERIOR B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO_ANTERIOR JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO AND C.MATERIAL=A.MATERIAL AND C.COR_MATERIAL=A.COR_MATERIAL JOIN M_ORDEM_FABRICACAO_ITEM F ON F.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO JOIN ( SELECT A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL, QTDE_DISP = 0, TOTAL_RESERVA = SUM(RESERVA_ORIGINAL) FROM M_ORDEM_FABRICACAO_ITEM A JOIN M_ORDEM_FABRICACAO_ANTERIOR B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO_ANTERIOR JOIN PRODUCAO_RESERVA C ON C.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO AND C.MATERIAL=A.MATERIAL AND C.COR_MATERIAL=A.COR_MATERIAL GROUP BY A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL ) D ON A.ORDEM_PRODUCAO=D.ORDEM_PRODUCAO AND A.MATERIAL=D.MATERIAL AND A.COR_MATERIAL=D.COR_MATERIAL WHERE A.ORDEM_PRODUCAO=@ORDEM_PRODUCAO ) A GROUP BY ORDEM_PRODUCAO_SUPERIOR ) B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO_SUPERIOR WHERE QTDE_ALT_OUTRAS_OF<> B.NOVA_QTDE-A.QTDE_PREVISTA-A.QTDE_ALTERACAO_OF IF @@ERROR=0 UPDATE A SET RESERVA_ORIGINAL = (B.QTDE_PREVISTA+B.QTDE_ALTERACAO_OF+B.QTDE_ALT_OUTRAS_OF)*A.CONSUMO_UNITARIO, RESERVA = CASE WHEN ((B.QTDE_PREVISTA+B.QTDE_ALTERACAO_OF+B.QTDE_ALT_OUTRAS_OF)*A.CONSUMO_UNITARIO)-CONSUMIDA-DIFERENCA_PREVISAO<=0 THEN 0 ELSE (((B.QTDE_PREVISTA+B.QTDE_ALTERACAO_OF+B.QTDE_ALT_OUTRAS_OF)*A.CONSUMO_UNITARIO)-CONSUMIDA-DIFERENCA_PREVISAO)* CASE WHEN MATAR_SALDO_RESERVA=1 THEN 0 ELSE 1 END END FROM PRODUCAO_RESERVA A JOIN M_ORDEM_FABRICACAO_ITEM B ON A.ORDEM_PRODUCAO=B.ORDEM_PRODUCAO JOIN M_ORDEM_FABRICACAO_ANTERIOR C ON A.ORDEM_PRODUCAO=C.ORDEM_PRODUCAO_ANTERIOR OR A.ORDEM_PRODUCAO=C.ORDEM_PRODUCAO WHERE C.ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO AND RESERVA_ORIGINAL<>(B.QTDE_PREVISTA+B.QTDE_ALTERACAO_OF+B.QTDE_ALT_OUTRAS_OF)*A.CONSUMO_UNITARIO IF @@ERROR=0 SELECT @EXEC=''EXEC LX_RECALCULA_NIVEL_SUPERIOR ''''''+ORDEM_PRODUCAO+'''''' '' FROM M_ORDEM_FABRICACAO_ANTERIOR WHERE ORDEM_PRODUCAO_ANTERIOR=@ORDEM_PRODUCAO IF @@ERROR=0 EXECUTE(@EXEC) IF @@ERROR=0 COMMIT TRANSACTION ELSE ROLLBACK TRANSACTION ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_vendas_embalado]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_vendas_embalado] (FILIAL, PRODUTO, COR_PRODUTO, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, qtde_embalada) AS SELECT DISTINCT VENDAS_PROD_EMBALADO.FILIAL, VENDAS_PROD_EMBALADO.PRODUTO, VENDAS_PROD_EMBALADO.COR_PRODUTO, SUM(e1), SUM(e2), SUM(e3), SUM(e4), SUM(e5), SUM(e6), SUM(e7), SUM(e8), SUM(e9), SUM(e10), SUM(e11), SUM(e12), SUM(e13), SUM(e14), SUM(e15), SUM(e16), SUM(e17), SUM(e18), SUM(e19), SUM(e20), SUM(e21), SUM(e22), SUM(e23), SUM(e24), SUM(e25), SUM(e26), SUM(e27), SUM(e28), SUM(e29), SUM(e30), SUM(e31), SUM(e32), SUM(e33), SUM(e34), SUM(e35), SUM(e36), SUM(e37), SUM(e38), SUM(e39), SUM(e40), SUM(e41), SUM(e42), SUM(e43), SUM(e44), SUM(e45), SUM(e46), SUM(e47), SUM(e48), SUM(QTDE_embalada) FROM VENDAS_PROD_EMBALADO GROUP BY PRODUTO, COR_PRODUTO, FILIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_vendas_prod_embalado]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_vendas_prod_embalado] (PEDIDO, PEDIDO_PRODUTO, PEDIDO_COR_PRODUTO, ENTREGA, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24, e25, e26, e27, e28, e29, e30, e31, e32, e33, e34, e35, e36, e37, e38, e39, e40, e41, e42, e43, e44, e45, e46, e47, e48, qtde_embalada) AS SELECT DISTINCT VENDAS_PROD_EMBALADO.PEDIDO, VENDAS_PROD_EMBALADO.PEDIDO_PRODUTO, VENDAS_PROD_EMBALADO.PEDIDO_COR_PRODUTO, VENDAS_PROD_EMBALADO.ENTREGA, SUM(e1), SUM(e2), SUM(e3), SUM(e4), SUM(e5), SUM(e6), SUM(e7), SUM(e8), SUM(e9), SUM(e10), SUM(e11), SUM(e12), SUM(e13), SUM(e14), SUM(e15), SUM(e16), SUM(e17), SUM(e18), SUM(e19), SUM(e20), SUM(e21), SUM(e22), SUM(e23), SUM(e24), SUM(e25), SUM(e26), SUM(e27), SUM(e28), SUM(e29), SUM(e30), SUM(e31), SUM(e32), SUM(e33), SUM(e34), SUM(e35), SUM(e36), SUM(e37), SUM(e38), SUM(e39), SUM(e40), SUM(e41), SUM(e42), SUM(e43), SUM(e44), SUM(e45), SUM(e46), SUM(e47), SUM(e48), SUM(QTDE_embalada) FROM VENDAS_PROD_EMBALADO GROUP BY pedido, pedido_produto, pedido_cor_produto, entrega ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_DISPONIVEL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_ESTOQUE_DISPONIVEL] AS select produto_cores.produto, produto_cores.cor_produto, estoque_produtos.filial, case when (case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) ) < 0 then 0 else case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) end d1, case when (case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) ) < 0 then 0 else case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) end d2, case when (case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) ) < 0 then 0 else case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) end d3, case when (case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) ) < 0 then 0 else case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) end d4, case when (case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) ) < 0 then 0 else case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) end d5, case when (case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) ) < 0 then 0 else case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) end d6, case when (case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) ) < 0 then 0 else case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) end d7, case when (case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) ) < 0 then 0 else case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) end d8, case when (case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) ) < 0 then 0 else case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) end d9, case when (case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) ) < 0 then 0 else case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) end d10, case when (case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) ) < 0 then 0 else case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) end d11, case when (case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) ) < 0 then 0 else case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) end d12, case when (case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) ) < 0 then 0 else case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) end d13, case when (case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) ) < 0 then 0 else case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) end d14, case when (case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) ) < 0 then 0 else case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) end d15, case when (case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) ) < 0 then 0 else case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) end d16, case when (case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) ) < 0 then 0 else case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) end d17, case when (case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) ) < 0 then 0 else case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) end d18, case when (case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) ) < 0 then 0 else case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) end d19, case when (case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) ) < 0 then 0 else case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) end d20, case when (case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) ) < 0 then 0 else case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) end d21, case when (case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) ) < 0 then 0 else case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) end d22, case when (case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) ) < 0 then 0 else case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) end d23, case when (case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) ) < 0 then 0 else case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) end d24, case when (case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) ) < 0 then 0 else case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) end d25, case when (case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) ) < 0 then 0 else case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) end d26, case when (case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) ) < 0 then 0 else case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) end d27, case when (case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) ) < 0 then 0 else case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) end d28, case when (case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) ) < 0 then 0 else case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) end d29, case when (case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) ) < 0 then 0 else case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) end d30, case when (case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) ) < 0 then 0 else case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) end d31, case when (case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) ) < 0 then 0 else case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) end d32, case when (case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) ) < 0 then 0 else case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) end d33, case when (case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) ) < 0 then 0 else case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) end d34, case when (case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) ) < 0 then 0 else case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) end d35, case when (case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) ) < 0 then 0 else case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) end d36, case when (case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) ) < 0 then 0 else case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) end d37, case when (case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) ) < 0 then 0 else case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) end d38, case when (case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) ) < 0 then 0 else case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) end d39, case when (case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) ) < 0 then 0 else case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) end d40, case when (case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) ) < 0 then 0 else case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) end d41, case when (case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) ) < 0 then 0 else case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) end d42, case when (case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) ) < 0 then 0 else case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) end d43, case when (case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) ) < 0 then 0 else case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) end d44, case when (case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) ) < 0 then 0 else case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) end d45, case when (case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) ) < 0 then 0 else case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) end d46, case when (case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) ) < 0 then 0 else case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) end d47, case when (case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) ) < 0 then 0 else case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) end d48, (case when (case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) ) < 0 then 0 else case when isnull(avg(es1), 0) < 0 then 0 else isnull(avg(es1), 0) end - isnull(sum(e1), 0) end + case when (case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) ) < 0 then 0 else case when isnull(avg(es2), 0) < 0 then 0 else isnull(avg(es2), 0) end - isnull(sum(e2), 0) end + case when (case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) ) < 0 then 0 else case when isnull(avg(es3), 0) < 0 then 0 else isnull(avg(es3), 0) end - isnull(sum(e3), 0) end + case when (case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) ) < 0 then 0 else case when isnull(avg(es4), 0) < 0 then 0 else isnull(avg(es4), 0) end - isnull(sum(e4), 0) end + case when (case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) ) < 0 then 0 else case when isnull(avg(es5), 0) < 0 then 0 else isnull(avg(es5), 0) end - isnull(sum(e5), 0) end + case when (case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) ) < 0 then 0 else case when isnull(avg(es6), 0) < 0 then 0 else isnull(avg(es6), 0) end - isnull(sum(e6), 0) end + case when (case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) ) < 0 then 0 else case when isnull(avg(es7), 0) < 0 then 0 else isnull(avg(es7), 0) end - isnull(sum(e7), 0) end + case when (case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) ) < 0 then 0 else case when isnull(avg(es8), 0) < 0 then 0 else isnull(avg(es8), 0) end - isnull(sum(e8), 0) end + case when (case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) ) < 0 then 0 else case when isnull(avg(es9), 0) < 0 then 0 else isnull(avg(es9), 0) end - isnull(sum(e9), 0) end + case when (case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) ) < 0 then 0 else case when isnull(avg(es10), 0) < 0 then 0 else isnull(avg(es10), 0) end - isnull(sum(e10), 0) end + case when (case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) ) < 0 then 0 else case when isnull(avg(es11), 0) < 0 then 0 else isnull(avg(es11), 0) end - isnull(sum(e11), 0) end + case when (case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) ) < 0 then 0 else case when isnull(avg(es12), 0) < 0 then 0 else isnull(avg(es12), 0) end - isnull(sum(e12), 0) end + case when (case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) ) < 0 then 0 else case when isnull(avg(es13), 0) < 0 then 0 else isnull(avg(es13), 0) end - isnull(sum(e13), 0) end + case when (case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) ) < 0 then 0 else case when isnull(avg(es14), 0) < 0 then 0 else isnull(avg(es14), 0) end - isnull(sum(e14), 0) end + case when (case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) ) < 0 then 0 else case when isnull(avg(es15), 0) < 0 then 0 else isnull(avg(es15), 0) end - isnull(sum(e15), 0) end + case when (case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) ) < 0 then 0 else case when isnull(avg(es16), 0) < 0 then 0 else isnull(avg(es16), 0) end - isnull(sum(e16), 0) end + case when (case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) ) < 0 then 0 else case when isnull(avg(es17), 0) < 0 then 0 else isnull(avg(es17), 0) end - isnull(sum(e17), 0) end + case when (case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) ) < 0 then 0 else case when isnull(avg(es18), 0) < 0 then 0 else isnull(avg(es18), 0) end - isnull(sum(e18), 0) end + case when (case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) ) < 0 then 0 else case when isnull(avg(es19), 0) < 0 then 0 else isnull(avg(es19), 0) end - isnull(sum(e19), 0) end + case when (case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) ) < 0 then 0 else case when isnull(avg(es20), 0) < 0 then 0 else isnull(avg(es20), 0) end - isnull(sum(e20), 0) end + case when (case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) ) < 0 then 0 else case when isnull(avg(es21), 0) < 0 then 0 else isnull(avg(es21), 0) end - isnull(sum(e21), 0) end + case when (case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) ) < 0 then 0 else case when isnull(avg(es22), 0) < 0 then 0 else isnull(avg(es22), 0) end - isnull(sum(e22), 0) end + case when (case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) ) < 0 then 0 else case when isnull(avg(es23), 0) < 0 then 0 else isnull(avg(es23), 0) end - isnull(sum(e23), 0) end + case when (case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) ) < 0 then 0 else case when isnull(avg(es24), 0) < 0 then 0 else isnull(avg(es24), 0) end - isnull(sum(e24), 0) end + case when (case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) ) < 0 then 0 else case when isnull(avg(es25), 0) < 0 then 0 else isnull(avg(es25), 0) end - isnull(sum(e25), 0) end + case when (case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) ) < 0 then 0 else case when isnull(avg(es26), 0) < 0 then 0 else isnull(avg(es26), 0) end - isnull(sum(e26), 0) end + case when (case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) ) < 0 then 0 else case when isnull(avg(es27), 0) < 0 then 0 else isnull(avg(es27), 0) end - isnull(sum(e27), 0) end + case when (case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) ) < 0 then 0 else case when isnull(avg(es28), 0) < 0 then 0 else isnull(avg(es28), 0) end - isnull(sum(e28), 0) end + case when (case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) ) < 0 then 0 else case when isnull(avg(es29), 0) < 0 then 0 else isnull(avg(es29), 0) end - isnull(sum(e29), 0) end + case when (case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) ) < 0 then 0 else case when isnull(avg(es30), 0) < 0 then 0 else isnull(avg(es30), 0) end - isnull(sum(e30), 0) end + case when (case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) ) < 0 then 0 else case when isnull(avg(es31), 0) < 0 then 0 else isnull(avg(es31), 0) end - isnull(sum(e31), 0) end + case when (case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) ) < 0 then 0 else case when isnull(avg(es32), 0) < 0 then 0 else isnull(avg(es32), 0) end - isnull(sum(e32), 0) end + case when (case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) ) < 0 then 0 else case when isnull(avg(es33), 0) < 0 then 0 else isnull(avg(es33), 0) end - isnull(sum(e33), 0) end + case when (case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) ) < 0 then 0 else case when isnull(avg(es34), 0) < 0 then 0 else isnull(avg(es34), 0) end - isnull(sum(e34), 0) end + case when (case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) ) < 0 then 0 else case when isnull(avg(es35), 0) < 0 then 0 else isnull(avg(es35), 0) end - isnull(sum(e35), 0) end + case when (case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) ) < 0 then 0 else case when isnull(avg(es36), 0) < 0 then 0 else isnull(avg(es36), 0) end - isnull(sum(e36), 0) end + case when (case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) ) < 0 then 0 else case when isnull(avg(es37), 0) < 0 then 0 else isnull(avg(es37), 0) end - isnull(sum(e37), 0) end + case when (case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) ) < 0 then 0 else case when isnull(avg(es38), 0) < 0 then 0 else isnull(avg(es38), 0) end - isnull(sum(e38), 0) end + case when (case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) ) < 0 then 0 else case when isnull(avg(es39), 0) < 0 then 0 else isnull(avg(es39), 0) end - isnull(sum(e39), 0) end + case when (case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) ) < 0 then 0 else case when isnull(avg(es40), 0) < 0 then 0 else isnull(avg(es40), 0) end - isnull(sum(e40), 0) end + case when (case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) ) < 0 then 0 else case when isnull(avg(es41), 0) < 0 then 0 else isnull(avg(es41), 0) end - isnull(sum(e41), 0) end + case when (case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) ) < 0 then 0 else case when isnull(avg(es42), 0) < 0 then 0 else isnull(avg(es42), 0) end - isnull(sum(e42), 0) end + case when (case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) ) < 0 then 0 else case when isnull(avg(es43), 0) < 0 then 0 else isnull(avg(es43), 0) end - isnull(sum(e43), 0) end + case when (case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) ) < 0 then 0 else case when isnull(avg(es44), 0) < 0 then 0 else isnull(avg(es44), 0) end - isnull(sum(e44), 0) end + case when (case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) ) < 0 then 0 else case when isnull(avg(es45), 0) < 0 then 0 else isnull(avg(es45), 0) end - isnull(sum(e45), 0) end + case when (case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) ) < 0 then 0 else case when isnull(avg(es46), 0) < 0 then 0 else isnull(avg(es46), 0) end - isnull(sum(e46), 0) end + case when (case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) ) < 0 then 0 else case when isnull(avg(es47), 0) < 0 then 0 else isnull(avg(es47), 0) end - isnull(sum(e47), 0) end + case when (case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) ) < 0 then 0 else case when isnull(avg(es48), 0) < 0 then 0 else isnull(avg(es48), 0) end - isnull(sum(e48), 0) end) as qtde_d from produto_cores join estoque_produtos on produto_cores.produto = estoque_produtos.produto and produto_cores.cor_produto = estoque_produtos.cor_produto left join vendas_prod_embalado on produto_cores.produto = vendas_prod_embalado.produto and produto_cores.cor_produto = vendas_prod_embalado.cor_produto and estoque_produtos.filial = vendas_prod_embalado.filial group by produto_cores.produto, produto_cores.cor_produto, estoque_produtos.filial ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CLIENTES_RESERVADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CLIENTES_RESERVADO] AS select distinct nome_clifor, sum(qtde_embalada) as qtde_embalada, sum(valor_embalado) as valor_embalado, sum(case when caixa_fechada=1 then 0 else qtde_embalada end) as qtde_aberta, sum(case when caixa_fechada=0 then 0 else qtde_embalada end) as qtde_fechada, sum(case when caixa_fechada=1 then 0 else valor_embalado end) as valor_aberto, sum(case when caixa_fechada=0 then 0 else valor_embalado end) as valor_fechado from vendas_prod_embalado group by nome_clifor ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_DISPONIVEL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_VENDAS_DISPONIVEL] AS SELECT A.PEDIDO, A.PRODUTO, A.COR_PRODUTO, A.ENTREGA, ISNULL(QTDE_R, 0) + ISNULL(QTDE_EMBALADA, 0) AS QTDE_T, ISNULL(R1, 0) + ISNULL(E1, 0) T1, ISNULL(R2, 0) + ISNULL(E2, 0) T2, ISNULL(R3, 0) + ISNULL(E3, 0) T3, ISNULL(R4, 0) + ISNULL(E4, 0) T4, ISNULL(R5, 0) + ISNULL(E5, 0) T5, ISNULL(R6, 0) + ISNULL(E6, 0) T6, ISNULL(R7, 0) + ISNULL(E7, 0) T7, ISNULL(R8, 0) + ISNULL(E8, 0) T8, ISNULL(R9, 0) + ISNULL(E9, 0) T9, ISNULL(R10, 0) + ISNULL(E10, 0) T10, ISNULL(R11, 0) + ISNULL(E11, 0) T11, ISNULL(R12, 0) + ISNULL(E12, 0) T12, ISNULL(R13, 0) + ISNULL(E13, 0) T13, ISNULL(R14, 0) + ISNULL(E14, 0) T14, ISNULL(R15, 0) + ISNULL(E15, 0) T15, ISNULL(R16, 0) + ISNULL(E16, 0) T16, ISNULL(R17, 0) + ISNULL(E17, 0) T17, ISNULL(R18, 0) + ISNULL(E18, 0) T18, ISNULL(R19, 0) + ISNULL(E19, 0) T19, ISNULL(R20, 0) + ISNULL(E20, 0) T20, ISNULL(R21, 0) + ISNULL(E21, 0) T21, ISNULL(R22, 0) + ISNULL(E22, 0) T22, ISNULL(R23, 0) + ISNULL(E23, 0) T23, ISNULL(R24, 0) + ISNULL(E24, 0) T24, ISNULL(R25, 0) + ISNULL(E25, 0) T25, ISNULL(R26, 0) + ISNULL(E26, 0) T26, ISNULL(R27, 0) + ISNULL(E27, 0) T27, ISNULL(R28, 0) + ISNULL(E28, 0) T28, ISNULL(R29, 0) + ISNULL(E29, 0) T29, ISNULL(R30, 0) + ISNULL(E30, 0) T30, ISNULL(R31, 0) + ISNULL(E31, 0) T31, ISNULL(R32, 0) + ISNULL(E32, 0) T32, ISNULL(R33, 0) + ISNULL(E33, 0) T33, ISNULL(R34, 0) + ISNULL(E34, 0) T34, ISNULL(R35, 0) + ISNULL(E35, 0) T35, ISNULL(R36, 0) + ISNULL(E36, 0) T36, ISNULL(R37, 0) + ISNULL(E37, 0) T37, ISNULL(R38, 0) + ISNULL(E38, 0) T38, ISNULL(R39, 0) + ISNULL(E39, 0) T39, ISNULL(R40, 0) + ISNULL(E40, 0) T40, ISNULL(R41, 0) + ISNULL(E41, 0) T41, ISNULL(R42, 0) + ISNULL(E42, 0) T42, ISNULL(R43, 0) + ISNULL(E43, 0) T43, ISNULL(R44, 0) + ISNULL(E44, 0) T44, ISNULL(R45, 0) + ISNULL(E45, 0) T45, ISNULL(R46, 0) + ISNULL(E46, 0) T46, ISNULL(R47, 0) + ISNULL(E47, 0) T47, ISNULL(R48, 0) + ISNULL(E48, 0) T48 FROM (SELECT PEDIDO, PRODUTO, COR_PRODUTO, ENTREGA FROM VENDAS_PRODUTO) A LEFT JOIN (SELECT PEDIDO, PRODUTO, COR_PEDIDO AS COR_PRODUTO, ENTREGA, ISNULL(SUM(QTDE_R), 0) QTDE_R, isnull(sum(r1), 0) r1, isnull(sum(r2), 0) r2, isnull(sum(r3), 0) r3, isnull(sum(r4), 0) r4, isnull(sum(r5), 0) r5, isnull(sum(r6), 0) r6, isnull(sum(r7), 0) r7, isnull(sum(r8), 0) r8, isnull(sum(r9), 0) r9, isnull(sum(r10), 0) r10, isnull(sum(r11), 0) r11, isnull(sum(r12), 0) r12, isnull(sum(r13), 0) r13, isnull(sum(r14), 0) r14, isnull(sum(r15), 0) r15, isnull(sum(r16), 0) r16, isnull(sum(r17), 0) r17, isnull(sum(r18), 0) r18, isnull(sum(r19), 0) r19, isnull(sum(r20), 0) r20, isnull(sum(r21), 0) r21, isnull(sum(r22), 0) r22, isnull(sum(r23), 0) r23, isnull(sum(r24), 0) r24, isnull(sum(r25), 0) r25, isnull(sum(r26), 0) r26, isnull(sum(r27), 0) r27, isnull(sum(r28), 0) r28, isnull(sum(r29), 0) r29, isnull(sum(r30), 0) r30, isnull(sum(r31), 0) r31, isnull(sum(r32), 0) r32, isnull(sum(r33), 0) r33, isnull(sum(r34), 0) r34, isnull(sum(r35), 0) r35, isnull(sum(r36), 0) r36, isnull(sum(r37), 0) r37, isnull(sum(r38), 0) r38, isnull(sum(r39), 0) r39, isnull(sum(r40), 0) r40, isnull(sum(r41), 0) r41, isnull(sum(r42), 0) r42, isnull(sum(r43), 0) r43, isnull(sum(r44), 0) r44, isnull(sum(r45), 0) r45, isnull(sum(r46), 0) r46, isnull(sum(r47), 0) r47, isnull(sum(r48), 0) r48 FROM ROMANEIOS_RESERVAS GROUP BY PEDIDO, PRODUTO, COR_PEDIDO, ENTREGA) b ON A.PEDIDO = B.PEDIDO AND A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO AND A.ENTREGA = B.ENTREGA LEFT JOIN (SELECT PEDIDO, PEDIDO_PRODUTO AS PRODUTO, PEDIDO_COR_PRODUTO AS COR_PRODUTO, ENTREGA, ISNULL(SUM(QTDE_EMBALADA), 0) QTDE_EMBALADA, isnull(sum(e1), 0) e1, isnull(sum(e2), 0) e2, isnull(sum(e3), 0) e3, isnull(sum(e4), 0) e4, isnull(sum(e5), 0) e5, isnull(sum(e6), 0) e6, isnull(sum(e7), 0) e7, isnull(sum(e8), 0) e8, isnull(sum(e9), 0) e9, isnull(sum(e10), 0) e10, isnull(sum(e11), 0) e11, isnull(sum(e12), 0) e12, isnull(sum(e13), 0) e13, isnull(sum(e14), 0) e14, isnull(sum(e15), 0) e15, isnull(sum(e16), 0) e16, isnull(sum(e17), 0) e17, isnull(sum(e18), 0) e18, isnull(sum(e19), 0) e19, isnull(sum(e20), 0) e20, isnull(sum(e21), 0) e21, isnull(sum(e22), 0) e22, isnull(sum(e23), 0) e23, isnull(sum(e24), 0) e24, isnull(sum(e25), 0) e25, isnull(sum(e26), 0) e26, isnull(sum(e27), 0) e27, isnull(sum(e28), 0) e28, isnull(sum(e29), 0) e29, isnull(sum(e30), 0) e30, isnull(sum(e31), 0) e31, isnull(sum(e32), 0) e32, isnull(sum(e33), 0) e33, isnull(sum(e34), 0) e34, isnull(sum(e35), 0) e35, isnull(sum(e36), 0) e36, isnull(sum(e37), 0) e37, isnull(sum(e38), 0) e38, isnull(sum(e39), 0) e39, isnull(sum(e40), 0) e40, isnull(sum(e41), 0) e41, isnull(sum(e42), 0) e42, isnull(sum(e43), 0) e43, isnull(sum(e44), 0) e44, isnull(sum(e45), 0) e45, isnull(sum(e46), 0) e46, isnull(sum(e47), 0) e47, isnull(sum(e48), 0) e48 FROM VENDAS_PROD_EMBALADO GROUP BY PEDIDO, PEDIDO_PRODUTO, PEDIDO_COR_PRODUTO, ENTREGA) c ON A.PEDIDO=c.PEDIDO AND A.PRODUTO=c.PRODUTO AND A.COR_PRODUTO=c.COR_PRODUTO AND A.ENTREGA=c.ENTREGA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_TRANSFER_MATERIALES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_TRANSFER_MATERIALES] @n_ID_MATERIAL INTEGER AS -- Procedimiento para transferir materiales a LINX -- Realizado por: Bernardo Castellanos -- Fecha: 11-11-02 -- Actualizado para que transfiera también los valores de "GF_MATERIAIS_FOR" -- Modificado por: Jorge Rodero --> 23/01/2003 DECLARE @s_GF_MATERIAL VARCHAR(80), @n_TRANSFER SMALLINT, @n_Num_Tallas SMALLINT, @s_Valores_Medidas VARCHAR(255), @s_Cod_Meds VARCHAR(255), @s_Cod_Med VARCHAR(25), @f_GF_MEDIDA FLOAT, @s_Valor_Medida VARCHAR(50), @n_Cont_Tallas SMALLINT, @n_Pos SMALLINT, @s_Desc_Material VARCHAR(80), @b_Varia_Medida BIT, @s_Cod_Med_Base VARCHAR(25), @n_ID_ETEJI_COLOR INTEGER, @n_ID_COR_MATERIAL SMALLINT, @s_COR_MATERIAL VARCHAR(80) SELECT @n_TRANSFER = TRANSFER, @s_GF_MATERIAL = GF_MATERIAL FROM ETEJI_RAIZ WHERE ID = @n_ID_MATERIAL -- Buscamos todas las medidas en el detalle de medidas del material actual SELECT @n_Num_Tallas = 0 SELECT @s_Valores_Medidas = '''' SELECT @s_Cod_Meds = '''' DECLARE LISTA_MEDIDAS CURSOR FOR SELECT GF_MEDIDA, GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA, @s_Cod_Med WHILE @@FETCH_STATUS = 0 BEGIN -- En LINX los materiales están normalizados por color (tabla MATERIAIS_CORES) -- pero no están normalizados por medida, por lo que cada medida nueva supone -- crear un material nuevo en ETEJI (y en MATERIAIS) -- El código del material será en ETEJI: GF_COD_MAT_TAM (campo calculado con secuencial) -- Y su descripción: GF_DESC_MATERIAL (Valor_Medida) SELECT @s_Valor_Medida = CONVERT( VARCHAR(10), @f_GF_MEDIDA ) IF ( @s_Cod_Meds != '''' ) BEGIN SELECT @s_Cod_Meds = @s_Cod_Meds + ''*'' SELECT @s_Valores_Medidas = @s_Valores_Medidas + ''*'' END SELECT @s_Cod_Meds = @s_Cod_Meds + @s_Cod_Med SELECT @s_Valores_Medidas = @s_Valores_Medidas + @s_Valor_Medida SELECT @n_Num_Tallas = @n_Num_Tallas + 1 --SELECT @s_GF_DESC_MATERIAL_MEDIDA = COALESCE(@s_GF_DESC_MATERIAL,'''')+''(''+@s_Valor_Medida+'')'' FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA, @s_Cod_Med END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS IF ( @n_Num_Tallas = 0 ) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @s_Valores_Medidas = ''NULL'' SELECT @b_Varia_Medida = 0 SELECT @n_Num_Tallas = 1 END ELSE BEGIN SELECT @b_Varia_Medida = 1 END -- Se recorren todas las medidas del material actual SELECT @n_Cont_Tallas = 1 WHILE ( @n_Cont_Tallas <= @n_Num_Tallas ) BEGIN -- Parsing de los códigos de Material y de las medidas IF ( @n_Cont_Tallas < @n_Num_Tallas ) BEGIN SELECT @n_Pos = PATINDEX( ''%*%'', @s_Cod_Meds ) SELECT @s_Cod_Med = SUBSTRING( @s_Cod_Meds, 1, @n_Pos - 1 ) SELECT @s_Cod_Meds = RIGHT( @s_Cod_Meds, LEN( @s_Cod_Meds ) - @n_Pos ) SELECT @n_Pos = PATINDEX( ''%*%'', @s_Valores_Medidas ) SELECT @s_Valor_Medida = SUBSTRING( @s_Valores_Medidas, 1, @n_Pos - 1 ) SELECT @s_Valores_Medidas = RIGHT( @s_Valores_Medidas, LEN( @s_Valores_Medidas ) - @n_Pos ) END ELSE BEGIN SELECT @s_Cod_Med = @s_Cod_Meds SELECT @s_Valor_Medida = @s_Valores_Medidas END IF ( @n_Cont_Tallas = 1 ) IF ( @b_Varia_Medida = 1 ) SELECT @s_Cod_Med_Base = @s_Cod_Med ELSE SELECT @s_Cod_Med_Base = ''NULL'' -- Si TRANSFER = 50.Liberar, se insertan en MATERIAIS los materiales IF ( @n_TRANSFER >= 50 ) BEGIN -- Comprobar si el material ya existe en LINX IF NOT EXISTS( SELECT MATERIAL FROM MATERIAIS WHERE MATERIAL = @s_Cod_Med ) BEGIN SELECT @s_Desc_Material = GF_DESC_MATERIAL FROM ETEJI_RAIZ WHERE ID = @n_ID_MATERIAL IF ( @s_Valor_Medida != ''NULL'' ) SELECT @s_Desc_Material = @s_Desc_Material + '' ('' + @s_Valor_Medida + '')'' INSERT INTO MATERIAIS (MATERIAL,SETOR_PRODUCAO,FASE_PRODUCAO,TIPO,TRIBUT_ICMS,TRIBUT_ORIGEM,CLASSIF_FISCAL,FABRICANTE,GRUPO,COLECAO,SUBGRUPO, DESC_MATERIAL,FATOR_CONVERSAO,UNID_ESTOQUE,DIAS_ENTREGA,UNID_FICHA_TEC,CONDICAO_PGTO,UNID_AUXILIAR,CTRL_UNID_AUX, REVENDA,COMPRIMENTO, COD_MATERIAL_TAMANHO, VARIA_MATERIAL_TAMANHO,CTRL_PARTIDAS, LARGURA, VARIA_CUSTO_COR, CTRL_PECAS,VARIA_PRECO_COR,CTRL_PECAS_PARCIAL,DATA_REPOSICAO,CUSTO_REPOSICAO,REF_FABRICANTE, ICMS_CUSTOS,CUSTO_A_VISTA,TAXA_JUROS_CUSTO,MATERIAL_INDIRETO,RESERVA_MATERIAL_OP,ABATER_RESERVA_QTDE,COMPOSICAO, DESC_COMPOSICAO,DESC_NF,CODIGO_ETIQUETA_GRIFFE,CONTA_CONTABIL,INATIVO,SEMI_ACABADO, --DATA_PARA_TRANSFERENCIA, COMPRA_MINIMA,LOTE_ECONOMICO_COMPRAS,TEC_SIMPLES_TUBULAR_ABERTO,TEC_LISO_ESTAMPA_LISTRA_XADREX, TEC_TORNASOL,OBS,RESTRICAO_LAVAGEM,REFERENCIA_BASE) SELECT @s_Cod_Med,(SELECT GF_SETOR_PRODUCA FROM GF_PRODUCAO_SETO WHERE ID=A.GF_SECTOR_PRODUC), (SELECT GF_FASE_PRODUCAO FROM GF_PRODUCAO_FASE WHERE ID=A.GF_FASE_PRODUCC), (SELECT GF_TIPO FROM GF_MATERIAIS_TIP WHERE ID=A.GF_TIPO), (SELECT GF_TRIBUT_ICMS FROM GF_TRIBUT_ICMS WHERE ID=A.GF_TRIBUT_ICMS), (SELECT GF_TRIBUT_ORIGEM FROM GF_TRIBUT_ORIGEM WHERE ID=A.GF_TRIBUT_ORIGEM), (SELECT GF_CLASSIF_FISCA FROM GF_CLASSIF_FISCA WHERE ID=A.GF_CLASSIF_FISCA), (SELECT GF_FORNECEDOR FROM GF_FORNECEDORES WHERE ID=A.GF_FABRICANTE), (SELECT GF_GRUPO FROM GF_MATERIAIS_GRU WHERE ID=A.GF_GRUPO), (SELECT GF_COLECAO FROM GF_COLECOES WHERE ID=A.GF_COLECCION), (SELECT GF_SUBGRUPO FROM GF_MATERIAIS_SUB WHERE ID=A.GF_SUBGRUPO), @s_Desc_Material,A.GF_FACTOR_CONVER, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_STOCK), A.GF_DIAS_ENTREGA, (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_FICHA_TE), (SELECT GF_CONDICAO_PGTO FROM GF_COND_ENT_PGTO WHERE ID=A.GF_CONDICIO_PAGO), (SELECT GF_UNIDADE FROM GF_UNIDADES WHERE ID=A.GF_UNID_AUXILIAR), (CASE WHEN GF_CTRL_UNID_AUX=1 THEN 0 ELSE 1 END), A.GF_REVENDA,A.GF_COMPRIMENTO, @s_Cod_Med_Base, @b_Varia_Medida,(CASE WHEN GF_CTRL_PARTIDAS=1 THEN 0 ELSE 1 END), @s_Valor_Medida, A.GF_VARIA_CUSTO_C, (CASE WHEN GF_CTRL_PECAS=1 THEN 0 ELSE 1 END), A.GF_VARIA_PRECO_C, (CASE WHEN GF_CTRL_PECAS_PA=1 THEN 0 ELSE 1 END), A.GF_DATA_REPOSICA, ''CUSTO_REPOSICAO''=CASE WHEN A.GF_SEMI_ACABADO=0 THEN A.GF_CUSTO_REPOSIC ELSE 0 END, A.GF_REF_FABRICANT,A.GF_ICMS_CUSTOS, ''CUSTO_A_VISTA''=CASE WHEN A.GF_SEMI_ACABADO=0 THEN A.GF_CUSTO_REPOSIC ELSE 0 END, A.GF_TAXA_JUROS_CO, (CASE WHEN GF_MATERIAL_INDI=1 THEN 0 ELSE 1 END), (CASE WHEN GF_RESERVA_MATER=1 THEN 1 ELSE 0 END), (CASE WHEN GF_ABATER_RESERV=1 THEN 0 ELSE 1 END), (SELECT GF_COMPOSICAO FROM GF_MATERIAIS_COM WHERE ID=A.GF_DESC_COMPOSIC), (SELECT GF_DESC_COMPOSIC FROM GF_MATERIAIS_COM WHERE ID=A.GF_DESC_COMPOSIC),A.GF_DESC_NF,A.GF_CODIGO_ETIQUE, (SELECT GF_CONTA_CONTABI FROM GF_CONTAS_PLANO WHERE ID=A.GF_CONTA_CONTABI), A.GF_INATIVO, A.GF_SEMI_ACABADO, --A.DATA_PARA_TRANSFERENCIA, A.GF_COMPRA_MININA,GF_LOTE_ECONOMIC,A.GF_TEC_SIMPLES_T, A.GF_TEC_LISO_ESTA,A.GF_TEC_TORNASOL,A.GF_OBS, (SELECT GF_RESTRICAO_LAV FROM GF_MATERIAIS_LAV WHERE ID=A.GF_RESTRICAO_LAV), (SELECT GF_MATERIAL FROM ETEJI WHERE ID=A.GF_REFERENCIA_BA) FROM ETEJI_RAIZ A WHERE A.ID = @n_ID_MATERIAL END ELSE BEGIN IF ( @n_Num_Tallas > 1 ) AND ( @s_Cod_Med = @s_GF_MATERIAL ) BEGIN SELECT @s_Desc_Material = GF_DESC_MATERIAL FROM ETEJI_RAIZ WHERE ID = @n_ID_MATERIAL IF ( @s_Valor_Medida != ''NULL'' ) SELECT @s_Desc_Material = @s_Desc_Material + '' ('' + @s_Valor_Medida + '')'' UPDATE MATERIAIS SET DESC_MATERIAL = @s_Desc_Material, VARIA_MATERIAL_TAMANHO = 1, LARGURA = @s_Valor_Medida, COD_MATERIAL_TAMANHO = @s_Cod_Med_Base WHERE MATERIAL = @s_Cod_Med END END -- Se añaden a MATERIAIS_CORES los colores del material ya liberados DECLARE LISTA_COLORES CURSOR FOR SELECT ID, GF_COR_MATERIAL FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL AND TRANSFER = 1 ORDER BY ORDENPM OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_COLOR, @n_ID_COR_MATERIAL WHILE @@FETCH_STATUS = 0 BEGIN SELECT @s_COR_MATERIAL = RTRIM( GF_COR ) FROM GF_CORES_BASICAS WHERE ID = @n_ID_COR_MATERIAL -- Comprobar si el color del material ya existe en LINX IF NOT EXISTS( SELECT * FROM MATERIAIS_CORES WHERE MATERIAL = @s_Cod_Med AND COR_MATERIAL = @s_COR_MATERIAL ) BEGIN INSERT INTO MATERIAIS_CORES ( MATERIAL, COR_MATERIAL, DESC_COR_MATERIAL, REFER_FABRICANTE, CUSTO_REPOSICAO, CUSTO_A_VISTA, CODIGO_EXPORTACAO, LOCALIZACAO, INICIO_VENDAS, FIM_VENDAS, PROCESSO_FABRICACAO, TEC_ENCOLHIMENTO_CORTE_X, TEC_ENCOLHIMENTO_CORTE_Y, TEC_ENCOLHIMENTO_ACABAMENTO_X, TEC_ENCOLHIMENTO_ACABAMENTO_Y, TEC_ENCOLHIMENTO_LAVAGEM_X, TEC_ENCOLHIMENTO_LAVAGEM_Y, FIO_TORSAO, FIO_CABOS, FIO_FILAMENTOS, FIO_ESPESSURA, TEC_COM_FALHA_AGULHA, GRAMATURA ) SELECT @s_Cod_Med, @s_COR_MATERIAL, A.GF_DESC_COR_MAT, A.GF_REF_COR_FABRI, ''CUSTO_REPOSICAO'' = CASE WHEN B.GF_SEMI_ACABADO = 0 THEN B.GF_CUSTO_REPOSIC ELSE 0 END, -- PASAR COSTO A VISTA COMO COSTO DE REPOSICON ''CUSTO_A_VISTA'' = CASE WHEN B.GF_SEMI_ACABADO = 0 THEN B.GF_CUSTO_REPOSIC ELSE 0 END, A.GF_CODIGO_EXPORT, ''GF_LOCALIZACAO'' = ( SELECT GF_LOCALIZACAO FROM GF_MATERIAIS_LOC WHERE ID = A.GF_LOCALIZACAO ), A.GF_INICIO_VENDAS, A.GF_FIM_VENDAS, A.GF_PROCESSO_FABR, A.GF_TEC_ENC_COR_X, A.GF_TEC_ENC_COR_Y, A.GF_TEC_ENC_ACA_X, A.GF_TEC_ENC_ACA_Y, A.GF_TEC_ENC_LAV_X, A.GF_TEC_ENC_LAV_Y, A.GF_FIO_TORSAO, A.GF_FIO_CABOS, A.GF_FIO_FILAMENTO, A.GF_FIO_ESPESSURA, COALESCE(A.GF_TEC_COM_FALHA,0), A.GF_GRAMATURA FROM ETEJI_COLOR A, ETEJI_RAIZ B WHERE A.ID_ETEJI_RAIZ = B.ID AND A.ID = @n_ID_ETEJI_COLOR END FETCH NEXT FROM LISTA_COLORES INTO @n_ID_ETEJI_COLOR, @n_ID_COR_MATERIAL END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES -- Llamada al Procedimiento Almacenado "GF_TRANSFER_MATERIAIS_FORNECEDORES", para -- transferir los datos de Proveedores Habitual y Alternativos. BEGIN EXEC GF_TRANSFER_MATERIAIS_FORNECEDORES @n_ID_MATERIAL END END SELECT @n_Cont_Tallas = @n_Cont_Tallas + 1 END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_Producao_Corte_Peca_01]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_Producao_Corte_Peca_01] AS SELECT Material, Cor_Material, Peca, Partida, Filial, SUM(Qtde_Peca) AS Qtde_Peca FROM Producao_Corte_Peca GROUP BY Material, Cor_Material, Peca, Partida, Filial ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_Producao_Corte_Peca_02]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_Producao_Corte_Peca_02] AS SELECT a.Material, a.Cor_Material, b.Peca, b.Partida, b.Filial, SUM(b.Qtde) AS QTDE_SAIDA FROM Estoque_Sai1_Mat a INNER JOIN Estoque_Sai_Peca b ON a.Req_Material = b.Req_Material AND a.Filial = b.Filial AND a.Material = b.Material AND a.Cor_Material = b.Cor_Material AND a.Item = b.Item INNER JOIN Producao_Corte_Peca c ON a.Ordem_Producao = c.Ordem_CORTE AND b.Material = c.Material AND b.Cor_Material = c.Cor_Material AND b.Peca = c.Peca AND b.Partida = c.Partida GROUP BY a.Material, a.Cor_Material, b.Peca, b.Partida, b.Filial ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUCAO_CORTE_ORDEM_01_QTDE_TECIDO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUCAO_CORTE_ORDEM_01_QTDE_TECIDO] AS SELECT DISTINCT Producao_ordem.ORDEM_CORTE, Producao_ordem_cor.ORDEM_PRODUCAO, producao_reserva.MATERIAL, Materiais.DESC_MATERIAL, producao_reserva.COR_MATERIAL, Materiais_cores.DESC_COR_MATERIAL, case when Produtos_ficha_cor.ITEM is null then b.ITEM else Produtos_ficha_cor.ITEM end AS ITEM , case when Produtos_ficha_cor.PRODUTO is null then b.PRODUTO else Produtos_ficha_cor.PRODUTO end AS PRODUTO, case when Produtos_ficha_cor.COR_PRODUTO is null then b.cor_PRODUTO else Produtos_ficha_cor.COR_PRODUTO end AS COR_PRODUTO, case when Produtos_ficha.DESC_USO_MATERIAL is null then a.DESC_USO_MATERIAL else Produtos_ficha.DESC_USO_MATERIAL end AS DESC_USO_MATERIAL, Producao_ordem_cor.QTDE_O*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as QTDE_O, Producao_ordem_cor.O1*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O1, Producao_ordem_cor.O2*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O2, Producao_ordem_cor.O3*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O3, Producao_ordem_cor.O4*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O4, Producao_ordem_cor.O5*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O5, Producao_ordem_cor.O6*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O6, Producao_ordem_cor.O7*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O7, Producao_ordem_cor.O8*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O8, Producao_ordem_cor.O9*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O9, Producao_ordem_cor.O10*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O10, Producao_ordem_cor.O11*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O11, Producao_ordem_cor.O12*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O12, Producao_ordem_cor.O13*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O13, Producao_ordem_cor.O14*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O14, Producao_ordem_cor.O15*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O15, Producao_ordem_cor.O16*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O16, Producao_ordem_cor.O17*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O17, Producao_ordem_cor.O18*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O18, Producao_ordem_cor.O19*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O19, Producao_ordem_cor.O20*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O20, Producao_ordem_cor.O21*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O21, Producao_ordem_cor.O22*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O22, Producao_ordem_cor.O23*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O23, Producao_ordem_cor.O24*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O24, Producao_ordem_cor.O25*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O25, Producao_ordem_cor.O26*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O26, Producao_ordem_cor.O27*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O27, Producao_ordem_cor.O28*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O28, Producao_ordem_cor.O29*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O29, Producao_ordem_cor.O30*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O30, Producao_ordem_cor.O31*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O31, Producao_ordem_cor.O32*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O32, Producao_ordem_cor.O33*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O33, Producao_ordem_cor.O34*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O34, Producao_ordem_cor.O35*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O35, Producao_ordem_cor.O36*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O36, Producao_ordem_cor.O37*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O37, Producao_ordem_cor.O38*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O38, Producao_ordem_cor.O39*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O39, Producao_ordem_cor.O40*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O40, Producao_ordem_cor.O41*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O41, Producao_ordem_cor.O42*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O42, Producao_ordem_cor.O43*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O43, Producao_ordem_cor.O44*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O44, Producao_ordem_cor.O45*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O45, Producao_ordem_cor.O46*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O46, Producao_ordem_cor.O47*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O47, Producao_ordem_cor.O48*convert(numeric(3,0),((case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end)/100)) as O48, Producao_ordem_cor.PERDAS_NO_PROCESSO, Producao_ordem_cor.ALTERACAO_DE_PROGRAMACAO, Materiais.UNID_ESTOQUE, Materiais.FABRICANTE, Materiais.TIPO, Materiais.LARGURA, Materiais.CTRL_PARTIDAS, Materiais.CTRL_UNID_AUX, Materiais.FATOR_CONVERSAO, Materiais.UNID_FICHA_TEC, Materiais.REF_FABRICANTE, Materiais_cores.REFER_FABRICANTE, Materiais.GRUPO, Materiais.SUBGRUPO, Materiais.UNID_AUXILIAR, Materiais.CTRL_PECAS, Materiais.CTRL_PECAS_PARCIAL, Materiais.FASE_PRODUCAO, Materiais.SETOR_PRODUCAO, (case WHEN substituicoes_material.MATERIAL IS NULL then Produtos_ficha.MATERIAL_PRINCIPAL else a.MATERIAL_PRINCIPAL end) as MATERIAL_PRINCIPAL, (case WHEN substituicoes_material.MATERIAL IS NULL then Produtos_ficha.CONSUMO_P_TAMANHO else a.CONSUMO_P_TAMANHO end) as CONSUMO_P_TAMANHO, (case WHEN substituicoes_material.MATERIAL IS NULL then Produtos_ficha.C1 else a.c1 end) as c1, Produtos.MODELAGEM, Produtos.TABELA_MEDIDAS, Produtos.DESC_PRODUTO, Produtos.GRUPO_PRODUTO, Produtos.SUBGRUPO_PRODUTO, Produtos.GRADE, Produtos.LINHA, Produtos.GRIFFE, Produtos.COLECAO, Produtos.TIPO_PRODUTO, Produtos.TABELA_OPERACOES from producao_reserva inner join producao_ordem on producao_reserva.ORDEM_PRODUCAO = Producao_ordem.ORDEM_PRODUCAO inner join Producao_ordem_cor on Producao_ordem.ORDEM_PRODUCAO = Producao_ordem_cor.ORDEM_PRODUCAO inner join Materiais on producao_reserva.MATERIAL = Materiais.MATERIAL inner join Materiais_cores on producao_reserva.MATERIAL = Materiais_cores.MATERIAL AND producao_reserva.COR_MATERIAL = Materiais_cores.COR_MATERIAL inner join Materiais_subgrupo on Materiais.GRUPO = Materiais_subgrupo.GRUPO AND Materiais.SUBGRUPO = Materiais_subgrupo.SUBGRUPO left join Produtos_ficha_cor on Produtos_ficha_cor.MATERIAL = producao_reserva.MATERIAL and Produtos_ficha_cor.COR_MATERIAL = producao_reserva.COR_MATERIAL AND Produtos_ficha_cor.PRODUTO = Producao_ordem_cor.PRODUTO AND Produtos_ficha_cor.COR_PRODUTO = Producao_ordem_cor.COR_PRODUTO inner join produtos on Produtos.PRODUTO = Producao_ordem.PRODUTO left join Produtos_ficha on Produtos_ficha_cor.PRODUTO = Produtos_ficha.PRODUTO AND producao_reserva.MATERIAL = Produtos_ficha.MATERIAL and Produtos_ficha_cor.material = Produtos_ficha.material and Produtos_ficha_cor.item = Produtos_ficha.item left join substituicoes_material on substituicoes_material.COR_MATERIAL = producao_reserva.COR_MATERIAL AND substituicoes_material.MATERIAL = producao_reserva.MATERIAL and substituicoes_material.COR_MATERIAL_SUBSTITUIDO = producao_reserva.COR_MATERIAL_SUBSTITUIDO AND substituicoes_material.MATERIAL_SUBSTITUIDO = producao_reserva.MATERIAL_SUBSTITUIDO left join substituicoes_material_produto on substituicoes_material_produto.COR_MATERIAL = substituicoes_material.COR_MATERIAL AND substituicoes_material_produto.MATERIAL = substituicoes_material.MATERIAL and substituicoes_material_produto.COR_MATERIAL_SUBSTITUIDO = substituicoes_material.COR_MATERIAL_SUBSTITUIDO AND substituicoes_material_produto.MATERIAL_SUBSTITUIDO = substituicoes_material.MATERIAL_SUBSTITUIDO left join Produtos_ficha as a on substituicoes_material.MATERIAL_SUBSTITUIDO = a.MATERIAL and a.produto = Producao_ordem.PRODUTO left join Produtos_ficha_cor as b on substituicoes_material.cor_MATERIAL_SUBSTITUIDO = b.cor_MATERIAL and substituicoes_material.MATERIAL_SUBSTITUIDO = b.MATERIAL and substituicoes_material.MATERIAL_SUBSTITUIDO = a.MATERIAL and a.produto = b.produto and a.material = b.material and a.item = b.item and b.produto = Producao_ordem_cor.PRODUTO and b.cor_produto = Producao_ordem_cor.cor_PRODUTO and Producao_ordem_cor.ordem_producao = producao_reserva.ordem_producao WHERE ( Materiais_subgrupo.INDICA_CORTE >= 1 AND RESERVA_ORIGINAL>0 and (case when Produtos_ficha_cor.porcentagem_consumo is null then b.porcentagem_consumo else Produtos_ficha_cor.porcentagem_consumo end) >0 and (case WHEN substituicoes_material.MATERIAL IS NULL then Produtos_ficha.C1 else a.c1 end) is not null) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_RECALCULO_RESERVA_MATERIAIS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [LX_RECALCULO_RESERVA_MATERIAIS] @PRODUTO CHAR(12) AS SET NOCOUNT ON DECLARE @COR_PRODUTO CHAR(10), @ORDEM_PRODUCAO CHAR(8), @CONSUMIDO NUMERIC(12,5), @CONSUMIDO_NEW NUMERIC(12,5), @CONSUMIDO_ABS NUMERIC(12,5), @CONSUMIDO_ALT NUMERIC(12,5), @FATOR_CONVERSAO_NA_RESERVA NUMERIC(12,5), @CLIENTE_ATACADO VARCHAR(25), @MATERIAL CHAR(11), @COR_MATERIAL CHAR(10), @MATERIAL_SUBSTITUIDO CHAR(11), @COR_MATERIAL_SUBSTITUIDO CHAR(10), @PORCENTAGEM_CONSUMO NUMERIC(12,5), @ALTERACAO_CONSUMO REAL, @RESERVA NUMERIC(12,5), @RESERVA_ORIGINAL NUMERIC(12,5), @O1 INT, @O2 INT, @O3 INT, @O4 INT, @O5 INT, @O6 INT, @O7 INT, @O8 INT, @O9 INT, @O10 INT, @O11 INT, @O12 INT, @O13 INT, @O14 INT, @O15 INT, @O16 INT, @O17 INT, @O18 INT, @O19 INT, @O20 INT, @O21 INT, @O22 INT, @O23 INT, @O24 INT, @O25 INT, @O26 INT, @O27 INT, @O28 INT, @O29 INT, @O30 INT, @O31 INT, @O32 INT, @O33 INT, @O34 INT, @O35 INT, @O36 INT, @O37 INT, @O38 INT, @O39 INT, @O40 INT, @O41 INT, @O42 INT, @O43 INT, @O44 INT, @O45 INT, @O46 INT, @O47 INT, @O48 INT CREATE TABLE #CURSOR_RESERVA(MATERIAL CHAR(11) , COR_MATERIAL CHAR(10),ORDEM_PRODUCAO CHAR(8), RESERVA_ORIGINAL NUMERIC(12,5) DEFAULT 0.00000, CONSUMIDA NUMERIC(12,5) DEFAULT 0.00000,RESERVA NUMERIC(12,5) DEFAULT 0.00000, DATA_RESERVA DATETIME, ULTIMA_SAIDA DATETIME ,DIFERENCA_PREVISAO NUMERIC(12,5) DEFAULT 0.00000 , FATOR_CONVERSAO_NA_RESERVA NUMERIC(12,5), MATAR_SALDO_RESERVA BIT, DESC_COR_MATERIAL VARCHAR(25),REFER_FABRICANTE VARCHAR(15),FASE_PRODUCAO VARCHAR(25), DESC_FASE_PRODUCAO VARCHAR(40), SETOR_PRODUCAO VARCHAR(25), DESC_SETOR_PRODUCAO VARCHAR(40), DESC_MATERIAL VARCHAR(40), FATOR_CONVERSAO NUMERIC(12,5),UNID_ESTOQUE CHAR(5),UNID_FICHA_TEC CHAR(5), RESERVA_MATERIAL_OP BIT,MATERIAL_INDIRETO BIT, ABATER_RESERVA_QTDE BIT,PROXIMA_ENTREGA DATETIME, MATERIAL_SUBSTITUIDO CHAR(11), COR_MATERIAL_SUBSTITUIDO CHAR(10), PRIORIDADE_SUBSTITUICAO INT,ALTERACAO_CONSUMO NUMERIC(12,5), SUBSTITUICAO_POR_PRODUTO BIT,GRUPO VARCHAR(25), SUBGRUPO VARCHAR(25), SUBSTITUICAO_POR_CLIENTE BIT,TIPO_RESERVA INT) DECLARE CUR_PRODUCAO_ORDEM CURSOR FOR SELECT ORDEM_PRODUCAO FROM PRODUCAO_ORDEM WHERE PRODUTO = @PRODUTO AND STATUS = ''S'' OPEN CUR_PRODUCAO_ORDEM FETCH NEXT FROM CUR_PRODUCAO_ORDEM INTO @ORDEM_PRODUCAO WHILE @@FETCH_STATUS = 0 -- CUR_PRODUCAO_ORDEM BEGIN TRUNCATE TABLE #CURSOR_RESERVA INSERT INTO #CURSOR_RESERVA EXECUTE(''SELECT PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL,PRODUCAO_RESERVA.ORDEM_PRODUCAO, PRODUCAO_RESERVA.RESERVA_ORIGINAL, PRODUCAO_RESERVA.CONSUMIDA,PRODUCAO_RESERVA.RESERVA, PRODUCAO_RESERVA.DATA_RESERVA, PRODUCAO_RESERVA.ULTIMA_SAIDA,PRODUCAO_RESERVA.DIFERENCA_PREVISAO, PRODUCAO_RESERVA.FATOR_CONVERSAO_NA_RESERVA, PRODUCAO_RESERVA.MATAR_SALDO_RESERVA, MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS_CORES.REFER_FABRICANTE,MATERIAIS.FASE_PRODUCAO, PRODUCAO_FASE.DESC_FASE_PRODUCAO, MATERIAIS.SETOR_PRODUCAO, PRODUCAO_SETOR.DESC_SETOR_PRODUCAO, MATERIAIS.DESC_MATERIAL, MATERIAIS.FATOR_CONVERSAO,MATERIAIS.UNID_ESTOQUE, MATERIAIS.UNID_FICHA_TEC, MATERIAIS.RESERVA_MATERIAL_OP, MATERIAIS.MATERIAL_INDIRETO, MATERIAIS.ABATER_RESERVA_QTDE,GETDATE() , PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO, PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO, SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO, MATERIAIS.GRUPO, MATERIAIS.SUBGRUPO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_CLIENTE,PRODUCAO_RESERVA.TIPO_RESERVA FROM PRODUCAO_RESERVA, MATERIAIS,MATERIAIS_CORES, SUBSTITUICOES_MATERIAL, PRODUCAO_FASE, PRODUCAO_SETOR WHERE MATERIAIS.MATERIAL = PRODUCAO_RESERVA.MATERIAL AND PRODUCAO_RESERVA.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL AND PRODUCAO_RESERVA.MATERIAL *= SUBSTITUICOES_MATERIAL.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL *= SUBSTITUICOES_MATERIAL.COR_MATERIAL AND PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO *= SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO AND PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO *= SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO AND PRODUCAO_FASE.FASE_PRODUCAO = MATERIAIS.FASE_PRODUCAO AND PRODUCAO_SETOR.FASE_PRODUCAO = MATERIAIS.FASE_PRODUCAO AND PRODUCAO_SETOR.SETOR_PRODUCAO = MATERIAIS.SETOR_PRODUCAO AND PRODUCAO_RESERVA.ORDEM_PRODUCAO =''''''+@ORDEM_PRODUCAO+'''''' AND TIPO_RESERVA = 3 ORDER BY PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL'') /* SELECT EM PRODUCAO_ORDEM_COR */ DECLARE CUR_PRODUCAO_ORDEM_COR CURSOR FOR SELECT COR_PRODUTO,O1 , O2 , O3 , O4 , O5 , O6 , O7 , O8 , O9 , O10 , O11 , O12 , O13 , O14 , O15 , O16 , O17 , O18 , O19 , O20 , O21 , O22 , O23 , O24 , O25 , O26 , O27 , O28 , O29 , O30 , O31 , O32 , O33 , O34 , O35 , O36 , O37 , O38 , O39 , O40 , O41 , O42 , O43 , O44 , O45 , O46 , O47 , O48 FROM PRODUCAO_ORDEM_COR WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO OPEN CUR_PRODUCAO_ORDEM_COR FETCH NEXT FROM CUR_PRODUCAO_ORDEM_COR INTO @COR_PRODUTO,@O1 , @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10 , @O11 , @O12 , @O13 , @O14 , @O15 , @O16 , @O17 , @O18 , @O19 , @O20 , @O21 , @O22 , @O23 , @O24 , @O25 , @O26 , @O27 , @O28 , @O29 , @O30 , @O31 , @O32 , @O33 , @O34 , @O35 , @O36 , @O37 , @O38 , @O39 , @O40 , @O41 , @O42 , @O43 , @O44 , @O45 , @O46 , @O47 , @O48 WHILE @@FETCH_STATUS = 0 -- CUR_PRODUCAO_ORDEM_COR BEGIN DECLARE CUR_MATERIAIS CURSOR FOR SELECT PRODUTOS_FICHA.MATERIAL, PRODUTOS_FICHA_COR.COR_MATERIAL,MATERIAIS.FATOR_CONVERSAO, PRODUTOS_FICHA.C1 *@O1 +PRODUTOS_FICHA.C2 *@O2 +PRODUTOS_FICHA.C3 *@O3 +PRODUTOS_FICHA.C4 *@O4+ PRODUTOS_FICHA.C5 *@O5 +PRODUTOS_FICHA.C6 *@O6 +PRODUTOS_FICHA.C7 *@O7 +PRODUTOS_FICHA.C8 *@O8+ PRODUTOS_FICHA.C9 *@O9 +PRODUTOS_FICHA.C10*@O10+PRODUTOS_FICHA.C11*@O11+PRODUTOS_FICHA.C12*@O12+ PRODUTOS_FICHA.C13*@O13+PRODUTOS_FICHA.C14*@O14+PRODUTOS_FICHA.C15*@O15+PRODUTOS_FICHA.C16*@O16+ PRODUTOS_FICHA.C17*@O17+PRODUTOS_FICHA.C18*@O18+PRODUTOS_FICHA.C19*@O19+PRODUTOS_FICHA.C20*@O20+ PRODUTOS_FICHA.C21*@O21+PRODUTOS_FICHA.C22*@O22+PRODUTOS_FICHA.C23*@O23+PRODUTOS_FICHA.C24*@O24+ PRODUTOS_FICHA.C25*@O25+PRODUTOS_FICHA.C26*@O26+PRODUTOS_FICHA.C27*@O27+PRODUTOS_FICHA.C28*@O28+ PRODUTOS_FICHA.C29*@O29+PRODUTOS_FICHA.C30*@O30+PRODUTOS_FICHA.C31*@O31+PRODUTOS_FICHA.C32*@O32+ PRODUTOS_FICHA.C33*@O33+PRODUTOS_FICHA.C34*@O34+PRODUTOS_FICHA.C35*@O35+PRODUTOS_FICHA.C36*@O36+ PRODUTOS_FICHA.C37*@O37+PRODUTOS_FICHA.C38*@O38+PRODUTOS_FICHA.C39*@O39+PRODUTOS_FICHA.C40*@O40+ PRODUTOS_FICHA.C41*@O41+PRODUTOS_FICHA.C42*@O42+PRODUTOS_FICHA.C43*@O43+PRODUTOS_FICHA.C44*@O44+ PRODUTOS_FICHA.C45*@O45+PRODUTOS_FICHA.C46*@O46+PRODUTOS_FICHA.C47*@O47+PRODUTOS_FICHA.C48*@O48, PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO FROM PRODUTOS_FICHA, PRODUTOS_FICHA_COR, MATERIAIS, MATERIAIS_CORES WHERE PRODUTOS_FICHA.PRODUTO=PRODUTOS_FICHA_COR.PRODUTO AND PRODUTOS_FICHA.MATERIAL = PRODUTOS_FICHA_COR.MATERIAL AND PRODUTOS_FICHA.ITEM = PRODUTOS_FICHA_COR.ITEM AND MATERIAIS.MATERIAL = PRODUTOS_FICHA.MATERIAL AND MATERIAIS.RESERVA_MATERIAL_OP = 0 AND MATERIAIS_CORES.MATERIAL = MATERIAIS.MATERIAL AND MATERIAIS_CORES.COR_MATERIAL = PRODUTOS_FICHA_COR.COR_MATERIAL AND PRODUTOS_FICHA.PRODUTO = @PRODUTO AND PRODUTOS_FICHA_COR.COR_PRODUTO = @COR_PRODUTO ORDER BY PRODUTOS_FICHA_COR.PRODUTO,PRODUTOS_FICHA_COR.COR_PRODUTO OPEN CUR_MATERIAIS FETCH NEXT FROM CUR_MATERIAIS INTO @MATERIAL, @COR_MATERIAL, @FATOR_CONVERSAO_NA_RESERVA, @CONSUMIDO, @PORCENTAGEM_CONSUMO WHILE @@FETCH_STATUS = 0 -- CUR_PRODUCAO_ORDEM_COR BEGIN IF (SELECT COUNT(*) FROM #CURSOR_RESERVA WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND MATERIAL = @MATERIAL AND COR_MATERIAL = @COR_MATERIAL)= 0 BEGIN INSERT INTO #CURSOR_RESERVA (ORDEM_PRODUCAO,MATERIAL,COR_MATERIAL,DATA_RESERVA, FATOR_CONVERSAO_NA_RESERVA, TIPO_RESERVA,MATAR_SALDO_RESERVA) VALUES (@ORDEM_PRODUCAO,@MATERIAL,@COR_MATERIAL,GETDATE(), @FATOR_CONVERSAO_NA_RESERVA ,1,0 ) SELECT @CONSUMIDO_ALT = 0, @MATERIAL_SUBSTITUIDO = '''' END ELSE BEGIN SELECT @CONSUMIDO_ALT = ALTERACAO_CONSUMO, @MATERIAL_SUBSTITUIDO = MATERIAL_SUBSTITUIDO FROM #CURSOR_RESERVA WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND MATERIAL = @MATERIAL AND COR_MATERIAL = @COR_MATERIAL END SELECT @CONSUMIDO_ABS = CONVERT(NUMERIC(12,5),ABS(@CONSUMIDO_ALT)) SELECT @CONSUMIDO_NEW = CONVERT(NUMERIC(12,5),(@CONSUMIDO_ABS/100)*((@CONSUMIDO)/@FATOR_CONVERSAO_NA_RESERVA)) IF @MATERIAL_SUBSTITUIDO IS NULL OR RTRIM(LTRIM(@MATERIAL_SUBSTITUIDO)) = '''' UPDATE #CURSOR_RESERVA SET RESERVA_ORIGINAL = RESERVA_ORIGINAL + CONVERT(NUMERIC(12,5),((( @CONSUMIDO* @PORCENTAGEM_CONSUMO) / 100 )/ @FATOR_CONVERSAO_NA_RESERVA)), DATA_RESERVA = GETDATE() WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND MATERIAL = @MATERIAL AND COR_MATERIAL = @COR_MATERIAL ELSE BEGIN UPDATE #CURSOR_RESERVA SET RESERVA_ORIGINAL = RESERVA_ORIGINAL + CONVERT(NUMERIC(12,5),((( @CONSUMIDO* @PORCENTAGEM_CONSUMO) / 100 )/ @FATOR_CONVERSAO_NA_RESERVA)), DATA_RESERVA = GETDATE() WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND MATERIAL = MATERIAL_SUBSTITUIDO AND COR_MATERIAL = COR_MATERIAL_SUBSTITUIDO UPDATE #CURSOR_RESERVA SET RESERVA_ORIGINAL = RESERVA_ORIGINAL + @CONSUMIDO_NEW*(CASE WHEN @CONSUMIDO_ABS = 0 THEN 1 ELSE @CONSUMIDO_ALT/@CONSUMIDO_ABS END) WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND MATERIAL = MATERIAL_SUBSTITUIDO AND COR_MATERIAL = COR_MATERIAL_SUBSTITUIDO END FETCH NEXT FROM CUR_MATERIAIS INTO @MATERIAL, @COR_MATERIAL, @FATOR_CONVERSAO_NA_RESERVA, @CONSUMIDO, @PORCENTAGEM_CONSUMO END CLOSE CUR_MATERIAIS DEALLOCATE CUR_MATERIAIS FETCH NEXT FROM CUR_PRODUCAO_ORDEM_COR INTO @COR_PRODUTO,@O1 , @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10 , @O11 , @O12 , @O13 , @O14 , @O15 , @O16 , @O17 , @O18 , @O19 , @O20 , @O21 , @O22 , @O23 , @O24 , @O25 , @O26 , @O27 , @O28 , @O29 , @O30 , @O31 , @O32 , @O33 , @O34 , @O35 , @O36 , @O37 , @O38 , @O39 , @O40 , @O41 , @O42 , @O43 , @O44 , @O45 , @O46 , @O47 , @O48 END -- @@FETCH_STATUS = 0 -- CUR_PRODUCAO_ORDEM_COR CLOSE CUR_PRODUCAO_ORDEM_COR DEALLOCATE CUR_PRODUCAO_ORDEM_COR /* SUBSTITUICAO DE MATERIAIS POR PRODUTO*/ DECLARE CUR_RESERVA CURSOR FOR SELECT MATERIAL,COR_MATERIAL,MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO FROM #CURSOR_RESERVA WHERE MATERIAL_SUBSTITUIDO IS NOT NULL OR RTRIM(LTRIM(MATERIAL_SUBSTITUIDO)) <> '''' ORDER BY MATERIAL,COR_MATERIAL OPEN CUR_RESERVA FETCH NEXT FROM CUR_RESERVA INTO @MATERIAL, @COR_MATERIAL, @MATERIAL_SUBSTITUIDO, @COR_MATERIAL_SUBSTITUIDO WHILE @@FETCH_STATUS = 0 -- CUR_RESERVA BEGIN SELECT @ALTERACAO_CONSUMO = SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES WHERE SUBSTITUICOES_MATERIAL.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND MATERIAL_SUBSTITUIDO = @MATERIAL_SUBSTITUIDO AND COR_MATERIAL_SUBSTITUIDO = @COR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.MATERIAL = @MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL = @COR_MATERIAL SELECT @RESERVA_ORIGINAL = RESERVA_ORIGINAL+RESERVA_ORIGINAL*(@ALTERACAO_CONSUMO/100) FROM #CURSOR_RESERVA WHERE MATERIAL = @MATERIAL_SUBSTITUIDO AND COR_MATERIAL = @COR_MATERIAL_SUBSTITUIDO SELECT @RESERVA = CASE WHEN @RESERVA_ORIGINAL - CONSUMIDA > 0 AND MATAR_SALDO_RESERVA<>0 THEN @RESERVA_ORIGINAL - CONSUMIDA ELSE 0 END FROM #CURSOR_RESERVA WHERE MATERIAL = @MATERIAL_SUBSTITUIDO AND COR_MATERIAL = @COR_MATERIAL_SUBSTITUIDO UPDATE #CURSOR_RESERVA SET RESERVA = 0,RESERVA_ORIGINAL = 0 , DIFERENCA_PREVISAO = 0 WHERE MATERIAL = @MATERIAL_SUBSTITUIDO AND COR_MATERIAL = @COR_MATERIAL_SUBSTITUIDO UPDATE #CURSOR_RESERVA SET RESERVA = @RESERVA,RESERVA_ORIGINAL = @RESERVA_ORIGINAL , TIPO_RESERVA= 3 WHERE MATERIAL = @MATERIAL AND COR_MATERIAL = @COR_MATERIAL FETCH NEXT FROM CUR_RESERVA INTO @MATERIAL, @COR_MATERIAL, @MATERIAL_SUBSTITUIDO, @COR_MATERIAL_SUBSTITUIDO END -- @@FETCH_STATUS = 0 -- CUR_RESERVA CLOSE CUR_RESERVA DEALLOCATE CUR_RESERVA /* SUBSTITUICAO DE MATERIAIS POR PRODUTO*/ DECLARE CUR_CLIENTE CURSOR FOR SELECT DISTINCT CLIENTE_ATACADO,PRODUTOS_FICHA_COR.MATERIAL,PRODUTOS_FICHA_COR.COR_MATERIAL, PRODUTOS_FICHA_COR.COR_PRODUTO, RESERVA_ORIGINAL= (SUM((( (PRODUTOS_FICHA.C1*A.O1 )+(PRODUTOS_FICHA.C2*A.O2 )+ (PRODUTOS_FICHA.C3*A.O3 )+(PRODUTOS_FICHA.C4*A.O4 )+ (PRODUTOS_FICHA.C5*A.O5 )+(PRODUTOS_FICHA.C6*A.O6 )+ (PRODUTOS_FICHA.C7*A.O7 )+(PRODUTOS_FICHA.C8*A.O8 )+ (PRODUTOS_FICHA.C9*A.O9 )+(PRODUTOS_FICHA.C10*A.O10)+ (PRODUTOS_FICHA.C11*A.O11 )+(PRODUTOS_FICHA.C12*A.O12)+ (PRODUTOS_FICHA.C13*A.O13 )+(PRODUTOS_FICHA.C14*A.O14)+ (PRODUTOS_FICHA.C15*A.O15 )+(PRODUTOS_FICHA.C16*A.O16)+ (PRODUTOS_FICHA.C17*A.O17 )+(PRODUTOS_FICHA.C18*A.O18)+ (PRODUTOS_FICHA.C19*A.O19 )+(PRODUTOS_FICHA.C20*A.O20)+ (PRODUTOS_FICHA.C21*A.O21 )+(PRODUTOS_FICHA.C22*A.O22)+ (PRODUTOS_FICHA.C23*A.O23 )+(PRODUTOS_FICHA.C24*A.O24)+ (PRODUTOS_FICHA.C25*A.O25 )+(PRODUTOS_FICHA.C26*A.O26)+ (PRODUTOS_FICHA.C27*A.O27 )+(PRODUTOS_FICHA.C28*A.O28)+ (PRODUTOS_FICHA.C29*A.O29 )+(PRODUTOS_FICHA.C30*A.O30)+ (PRODUTOS_FICHA.C31*A.O31 )+(PRODUTOS_FICHA.C32*A.O32)+ (PRODUTOS_FICHA.C33*A.O33 )+(PRODUTOS_FICHA.C34*A.O34)+ (PRODUTOS_FICHA.C35*A.O35 )+(PRODUTOS_FICHA.C36*A.O36)+ (PRODUTOS_FICHA.C37*A.O37 )+(PRODUTOS_FICHA.C38*A.O38)+ (PRODUTOS_FICHA.C39*A.O39 )+(PRODUTOS_FICHA.C40*A.O40)+ (PRODUTOS_FICHA.C41*A.O41 )+(PRODUTOS_FICHA.C42*A.O42)+ (PRODUTOS_FICHA.C43*A.O43 )+(PRODUTOS_FICHA.C44*A.O44)+ (PRODUTOS_FICHA.C45*A.O45 )+(PRODUTOS_FICHA.C46*A.O46)+ (PRODUTOS_FICHA.C47*A.O47 )+(PRODUTOS_FICHA.C48*A.O48))* (PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)))) FROM PRODUTOS_FICHA LEFT JOIN PRODUTOS_FICHA_COR ON PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM AND PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL JOIN( SELECT B.CLIENTE_ATACADO,PRODUCAO_ORDEM_COR.* FROM PRODUCAO_ORDEM_COR JOIN ( SELECT DISTINCT VENDAS.CLIENTE_ATACADO,ROMANEIOS_PRODUTO.ORDEM_PRODUCAO, ROMANEIOS_RESERVAS.PRODUTO,ROMANEIOS_RESERVAS.COR_PRODUTO FROM VENDAS, ROMANEIOS_RESERVAS, ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO, PRODUTOS PRODUTOS, PRODUTO_CORES PRODUTO_CORES, VENDAS_PRODUTO VENDAS_PRODUTO WHERE VENDAS.PEDIDO = ROMANEIOS_RESERVAS.PEDIDO AND ROMANEIOS_RESERVAS.PEDIDO = VENDAS_PRODUTO.PEDIDO AND ROMANEIOS_RESERVAS.PRODUTO = VENDAS_PRODUTO.PRODUTO AND ROMANEIOS_RESERVAS.COR_PEDIDO = VENDAS_PRODUTO.COR_PRODUTO AND ROMANEIOS_RESERVAS.ENTREGA = VENDAS_PRODUTO.ENTREGA AND ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND ROMANEIOS_RESERVAS.COR_PRODUTO = ROMANEIOS_PRODUTO.COR_PRODUTO AND ROMANEIOS_RESERVAS.PRODUTO = PRODUTOS.PRODUTO AND ROMANEIOS_RESERVAS.PRODUTO = PRODUTO_CORES.PRODUTO AND ROMANEIOS_RESERVAS.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO AND (ROMANEIOS_RESERVAS.FILIAL = ROMANEIOS_RESERVAS.FILIAL AND ROMANEIOS_PRODUTO.ORDEM_PRODUCAO = @ORDEM_PRODUCAO)) AS B ON B.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO AND B.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO AND B.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO)AS A ON A.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND A.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO GROUP BY CLIENTE_ATACADO,PRODUTOS_FICHA_COR.MATERIAL,PRODUTOS_FICHA_COR.COR_MATERIAL,PRODUTOS_FICHA_COR.COR_PRODUTO, MATERIAIS.UNID_ESTOQUE,MATERIAIS.DESC_MATERIAL,MATERIAIS_CORES.DESC_COR_MATERIAL,MATERIAIS.FASE_PRODUCAO, MATERIAIS.SETOR_PRODUCAO,MATERIAIS.FATOR_CONVERSAO,MATERIAIS.UNID_FICHA_TEC OPEN CUR_CLIENTE FETCH NEXT FROM CUR_CLIENTE INTO @CLIENTE_ATACADO,@MATERIAL,@COR_MATERIAL,@COR_PRODUTO,@RESERVA_ORIGINAL WHILE @@FETCH_STATUS = 0 -- CUR_CLIENTE BEGIN IF (SELECT COUNT(*) FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO AND TIPO_SUBSTITUICAO <> ''E'')>0 BEGIN IF (SELECT COUNT(*) FROM #CURSOR_RESERVA JOIN ( SELECT DISTINCT SUBSTITUICOES_MATERIAL.*,SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO, SUBSTITUICOES_MATERIAL_CLIENTE.TIPO_SUBSTITUICAO, MATERIAIS.UNID_ESTOQUE, MATERIAIS.DESC_MATERIAL, MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS.FATOR_CONVERSAO, MATERIAIS.UNID_FICHA_TEC,MATERIAIS.FASE_PRODUCAO,MATERIAIS.SETOR_PRODUCAO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO ) AS A ON #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL)=0 BEGIN INSERT INTO #CURSOR_RESERVA (ORDEM_PRODUCAO,MATERIAL,COR_MATERIAL,DESC_MATERIAL,DESC_COR_MATERIAL, UNID_ESTOQUE,UNID_FICHA_TEC,FATOR_CONVERSAO,FASE_PRODUCAO,SETOR_PRODUCAO, FATOR_CONVERSAO_NA_RESERVA,DATA_RESERVA,TIPO_RESERVA,MATAR_SALDO_RESERVA) SELECT DISTINCT @ORDEM_PRODUCAO, SUBSTITUICOES_MATERIAL.MATERIAL, SUBSTITUICOES_MATERIAL.COR_MATERIAL,MATERIAIS.DESC_MATERIAL,MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS.UNID_ESTOQUE,MATERIAIS.UNID_FICHA_TEC,MATERIAIS.FATOR_CONVERSAO,MATERIAIS.FASE_PRODUCAO, MATERIAIS.SETOR_PRODUCAO,MATERIAIS.FATOR_CONVERSAO,GETDATE(),4,0 FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO END ELSE BEGIN IF (SELECT COUNT(*) FROM #CURSOR_RESERVA JOIN ( SELECT DISTINCT SUBSTITUICOES_MATERIAL.*,SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO, SUBSTITUICOES_MATERIAL_CLIENTE.TIPO_SUBSTITUICAO, MATERIAIS.UNID_ESTOQUE, MATERIAIS.DESC_MATERIAL, MATERIAIS_CORES.DESC_COR_MATERIAL, MATERIAIS.FATOR_CONVERSAO, MATERIAIS.UNID_FICHA_TEC,MATERIAIS.FASE_PRODUCAO,MATERIAIS.SETOR_PRODUCAO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO ) AS A ON #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL WHERE #CURSOR_RESERVA.TIPO_RESERVA = 3)>0 BEGIN UPDATE #CURSOR_RESERVA SET PROXIMA_ENTREGA = NULL,RESERVA_ORIGINAL = 0, DATA_RESERVA = GETDATE(),RESERVA = 0, DIFERENCA_PREVISAO = 0,TIPO_RESERVA = 4 FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A WHERE #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL END END UPDATE #CURSOR_RESERVA SET MATERIAL_SUBSTITUIDO = A.MATERIAL_SUBSTITUIDO, COR_MATERIAL_SUBSTITUIDO = A.COR_MATERIAL_SUBSTITUIDO, PRIORIDADE_SUBSTITUICAO = A.PRIORIDADE_SUBSTITUICAO, ALTERACAO_CONSUMO = A.ALTERACAO_CONSUMO, SUBSTITUICAO_POR_PRODUTO = A.SUBSTITUICAO_POR_PRODUTO FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A WHERE #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL SELECT DISTINCT @CONSUMIDO = SUM((PRODUTOS_FICHA.C1* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R1)) + SUM((PRODUTOS_FICHA.C2* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R2))+ SUM((PRODUTOS_FICHA.C3* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R3))+ SUM((PRODUTOS_FICHA.C4* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R4))+ SUM((PRODUTOS_FICHA.C5* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R5))+ SUM((PRODUTOS_FICHA.C6* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R6))+ SUM((PRODUTOS_FICHA.C7* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R7))+ SUM((PRODUTOS_FICHA.C8* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R8))+ SUM((PRODUTOS_FICHA.C9* (((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R9))+ SUM((PRODUTOS_FICHA.C10*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R10))+ SUM((PRODUTOS_FICHA.C11*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R11))+ SUM((PRODUTOS_FICHA.C12*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R12))+ SUM((PRODUTOS_FICHA.C13*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R13))+ SUM((PRODUTOS_FICHA.C14*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R14))+ SUM((PRODUTOS_FICHA.C15*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R15))+ SUM((PRODUTOS_FICHA.C16*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R16))+ SUM((PRODUTOS_FICHA.C17*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R17))+ SUM((PRODUTOS_FICHA.C18*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R18))+ SUM((PRODUTOS_FICHA.C19*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R19))+ SUM((PRODUTOS_FICHA.C20*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R20))+ SUM((PRODUTOS_FICHA.C21*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R21))+ SUM((PRODUTOS_FICHA.C22*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R22))+ SUM((PRODUTOS_FICHA.C23*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R23))+ SUM((PRODUTOS_FICHA.C24*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R24))+ SUM((PRODUTOS_FICHA.C25*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R25))+ SUM((PRODUTOS_FICHA.C26*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R26))+ SUM((PRODUTOS_FICHA.C27*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R27))+ SUM((PRODUTOS_FICHA.C28*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R28))+ SUM((PRODUTOS_FICHA.C29*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R29))+ SUM((PRODUTOS_FICHA.C30*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R30))+ SUM((PRODUTOS_FICHA.C31*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R31))+ SUM((PRODUTOS_FICHA.C32*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R32))+ SUM((PRODUTOS_FICHA.C33*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R33))+ SUM((PRODUTOS_FICHA.C34*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R34))+ SUM((PRODUTOS_FICHA.C35*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R35))+ SUM((PRODUTOS_FICHA.C36*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R36))+ SUM((PRODUTOS_FICHA.C37*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R37))+ SUM((PRODUTOS_FICHA.C38*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R38))+ SUM((PRODUTOS_FICHA.C39*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R39))+ SUM((PRODUTOS_FICHA.C40*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R40))+ SUM((PRODUTOS_FICHA.C41*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R41))+ SUM((PRODUTOS_FICHA.C42*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R42))+ SUM((PRODUTOS_FICHA.C43*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R43))+ SUM((PRODUTOS_FICHA.C44*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R44))+ SUM((PRODUTOS_FICHA.C45*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R45))+ SUM((PRODUTOS_FICHA.C46*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R46))+ SUM((PRODUTOS_FICHA.C47*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R47))+ SUM((PRODUTOS_FICHA.C48*(((PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO/100)) ) *A.R48)) FROM PRODUTOS_FICHA_COR LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL JOIN ( SELECT DISTINCT ROMANEIOS_RESERVAS.* FROM VENDAS, ROMANEIOS_RESERVAS, ROMANEIOS_PRODUTO ROMANEIOS_PRODUTO, PRODUTOS PRODUTOS, PRODUTO_CORES PRODUTO_CORES, VENDAS_PRODUTO VENDAS_PRODUTO WHERE VENDAS.PEDIDO = ROMANEIOS_RESERVAS.PEDIDO AND ROMANEIOS_RESERVAS.PEDIDO = VENDAS_PRODUTO.PEDIDO AND ROMANEIOS_RESERVAS.PRODUTO = VENDAS_PRODUTO.PRODUTO AND ROMANEIOS_RESERVAS.COR_PEDIDO = VENDAS_PRODUTO.COR_PRODUTO AND ROMANEIOS_RESERVAS.ENTREGA = VENDAS_PRODUTO.ENTREGA AND ROMANEIOS_RESERVAS.ROMANEIO = ROMANEIOS_PRODUTO.ROMANEIO AND ROMANEIOS_RESERVAS.PRODUTO = ROMANEIOS_PRODUTO.PRODUTO AND ROMANEIOS_RESERVAS.COR_PRODUTO = ROMANEIOS_PRODUTO.COR_PRODUTO AND ROMANEIOS_RESERVAS.PRODUTO = PRODUTOS.PRODUTO AND ROMANEIOS_RESERVAS.PRODUTO = PRODUTO_CORES.PRODUTO AND ROMANEIOS_RESERVAS.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO AND (ROMANEIOS_RESERVAS.FILIAL = ROMANEIOS_RESERVAS.FILIAL AND ROMANEIOS_PRODUTO.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND ROMANEIOS_RESERVAS.COR_PRODUTO=@COR_PRODUTO)) AS A ON PRODUTOS_FICHA_COR.PRODUTO = A.PRODUTO AND PRODUTOS_FICHA_COR.COR_PRODUTO = A.COR_PRODUTO JOIN (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS B ON PRODUTOS_FICHA_COR.MATERIAL = B.MATERIAL_SUBSTITUIDO AND PRODUTOS_FICHA_COR.COR_MATERIAL = B.COR_MATERIAL_SUBSTITUIDO WHERE PRODUTOS_FICHA.C1 IS NOT NULL GROUP BY PRODUTOS_FICHA_COR.MATERIAL,PRODUTOS_FICHA_COR.COR_MATERIAL IF @CONSUMIDO> @RESERVA_ORIGINAL SELECT @RESERVA_ORIGINAL = @RESERVA_ORIGINAL ELSE SELECT @RESERVA_ORIGINAL = @CONSUMIDO SELECT @RESERVA_ORIGINAL = @RESERVA_ORIGINAL + (@RESERVA_ORIGINAL*A.ALTERACAO_CONSUMO/100) FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO,MATERIAIS.FATOR_CONVERSAO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A SELECT @RESERVA_ORIGINAL = @RESERVA_ORIGINAL /(CASE WHEN A.FATOR_CONVERSAO=0 THEN 1 ELSE A.FATOR_CONVERSAO END ) FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO,MATERIAIS.FATOR_CONVERSAO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A SELECT @RESERVA = CASE WHEN @RESERVA_ORIGINAL- CONSUMIDA>0 AND MATAR_SALDO_RESERVA = 0 THEN @RESERVA_ORIGINAL- CONSUMIDA ELSE 0 END FROM #CURSOR_RESERVA JOIN (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A ON #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL UPDATE #CURSOR_RESERVA SET RESERVA_ORIGINAL = RESERVA_ORIGINAL + @RESERVA_ORIGINAL, RESERVA = RESERVA + @RESERVA, DIFERENCA_PREVISAO = CASE WHEN RESERVA_ORIGINAL - CONSUMIDA < 0 OR MATAR_SALDO_RESERVA =1 THEN RESERVA_ORIGINAL - CONSUMIDA ELSE 0 END FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A WHERE #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL UPDATE #CURSOR_RESERVA SET RESERVA_ORIGINAL = RESERVA_ORIGINAL-@RESERVA_ORIGINAL, RESERVA = RESERVA-@RESERVA FROM (SELECT DISTINCT SUBSTITUICOES_MATERIAL.MATERIAL,SUBSTITUICOES_MATERIAL.COR_MATERIAL, SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO,SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO, SUBSTITUICOES_MATERIAL.PRIORIDADE_SUBSTITUICAO,SUBSTITUICOES_MATERIAL.ALTERACAO_CONSUMO, SUBSTITUICOES_MATERIAL.SUBSTITUICAO_POR_PRODUTO FROM SUBSTITUICOES_MATERIAL,MATERIAIS , MATERIAIS_CORES,SUBSTITUICOES_MATERIAL_CLIENTE WHERE SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO=@MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO=@COR_MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.CLIENTE_ATACADO=@CLIENTE_ATACADO AND SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL=MATERIAIS_CORES.MATERIAL AND SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL=MATERIAIS_CORES.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO=SUBSTITUICOES_MATERIAL_CLIENTE.COR_MATERIAL_SUBSTITUIDO) AS A WHERE #CURSOR_RESERVA.MATERIAL = A.MATERIAL_SUBSTITUIDO AND #CURSOR_RESERVA.COR_MATERIAL= A.COR_MATERIAL_SUBSTITUIDO END FETCH NEXT FROM CUR_CLIENTE INTO @CLIENTE_ATACADO,@MATERIAL,@COR_MATERIAL,@COR_PRODUTO,@RESERVA_ORIGINAL END --@@FETCH_STATUS = 0 -- CUR_CLIENTE CLOSE CUR_CLIENTE DEALLOCATE CUR_CLIENTE UPDATE #CURSOR_RESERVA SET CONSUMIDA= A.CONSUMIDA FROM PRODUCAO_RESERVA A WHERE #CURSOR_RESERVA.MATERIAL = A.MATERIAL AND #CURSOR_RESERVA.COR_MATERIAL = A.COR_MATERIAL AND A.ORDEM_PRODUCAO = @ORDEM_PRODUCAO UPDATE #CURSOR_RESERVA SET RESERVA = CASE WHEN RESERVA_ORIGINAL - CONSUMIDA > 0 AND MATAR_SALDO_RESERVA = 0 THEN RESERVA_ORIGINAL - CONSUMIDA ELSE 0 END, DIFERENCA_PREVISAO = CASE WHEN RESERVA_ORIGINAL - CONSUMIDA < 0 OR MATAR_SALDO_RESERVA = 1 THEN RESERVA_ORIGINAL - CONSUMIDA ELSE 0 END IF (SELECT COUNT(*) FROM #CURSOR_RESERVA) >0 BEGIN DELETE PRODUCAO_RESERVA WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TIPO_RESERVA <> ''2'' INSERT INTO PRODUCAO_RESERVA (MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,RESERVA,CONSUMIDA, DATA_RESERVA,RESERVA_ORIGINAL,ULTIMA_SAIDA,DIFERENCA_PREVISAO, FATOR_CONVERSAO_NA_RESERVA,MATAR_SALDO_RESERVA, MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,TIPO_RESERVA) SELECT MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO,RESERVA,CONSUMIDA, DATA_RESERVA,RESERVA_ORIGINAL,ULTIMA_SAIDA,DIFERENCA_PREVISAO, FATOR_CONVERSAO_NA_RESERVA,MATAR_SALDO_RESERVA, MATERIAL_SUBSTITUIDO,COR_MATERIAL_SUBSTITUIDO,TIPO_RESERVA FROM #CURSOR_RESERVA END FETCH NEXT FROM CUR_PRODUCAO_ORDEM INTO @ORDEM_PRODUCAO END -- @@FETCH_STATUS = 0 -- CUR_PRODUCAO_ORDEM CLOSE CUR_PRODUCAO_ORDEM DEALLOCATE CUR_PRODUCAO_ORDEM DROP TABLE #CURSOR_RESERVA SET NOCOUNT OFF ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAIS_CORES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAIS_CORES] AS select MATERIAIS.MATERIAL, MATERIAIS.SETOR_PRODUCAO, MATERIAIS.FASE_PRODUCAO, MATERIAIS.TIPO, MATERIAIS.TRIBUT_ICMS, MATERIAIS.TRIBUT_ORIGEM, MATERIAIS.CLASSIF_FISCAL, MATERIAIS.FABRICANTE, MATERIAIS.GRUPO, MATERIAIS.COLECAO, MATERIAIS.SUBGRUPO, MATERIAIS.DESC_MATERIAL, MATERIAIS.FATOR_CONVERSAO, MATERIAIS.UNID_ESTOQUE, MATERIAIS.DIAS_ENTREGA, MATERIAIS.UNID_FICHA_TEC, MATERIAIS.CONDICAO_PGTO, MATERIAIS.UNID_AUXILIAR, MATERIAIS.CTRL_UNID_AUX, MATERIAIS.REVENDA, MATERIAIS.COMPRIMENTO, MATERIAIS.COD_MATERIAL_TAMANHO, MATERIAIS.VARIA_MATERIAL_TAMANHO, MATERIAIS.CTRL_PARTIDAS, MATERIAIS.LARGURA, MATERIAIS.VARIA_CUSTO_COR, MATERIAIS.CTRL_PECAS, MATERIAIS.VARIA_PRECO_COR, MATERIAIS.CTRL_PECAS_PARCIAL, MATERIAIS.DATA_REPOSICAO, MATERIAIS.CUSTO_REPOSICAO, MATERIAIS.REF_FABRICANTE, MATERIAIS.ICMS_CUSTOS, MATERIAIS.CUSTO_A_VISTA, MATERIAIS.TAXA_JUROS_CUSTO, MATERIAIS.MATERIAL_INDIRETO, MATERIAIS.RESERVA_MATERIAL_OP, MATERIAIS.ABATER_RESERVA_QTDE, MATERIAIS.DESC_NF, MATERIAIS.CODIGO_ETIQUETA_GRIFFE, MATERIAIS.CONTA_CONTABIL, MATERIAIS.INATIVO, MATERIAIS.SEMI_ACABADO, MATERIAIS.COMPRA_MINIMA, MATERIAIS.LOTE_ECONOMICO_COMPRAS, MATERIAIS.TEC_SIMPLES_TUBULAR_ABERTO, MATERIAIS.TEC_LISO_ESTAMPA_LISTRA_XADREX, MATERIAIS.TEC_TORNASOL, MATERIAIS.OBS, MATERIAIS.DATA_CADASTRAMENTO, MATERIAIS.COMPOSICAO, MATERIAIS.RESTRICAO_LAVAGEM, MATERIAIS.REFERENCIA_BASE, MATERIAIS.DATA_PARA_TRANSFERENCIA, materiais_cores.COR_MATERIAL, DESC_COR_MATERIAL, materiais_cores.REFER_FABRICANTE, materiais_cores.CUSTO_A_VISTA as CUSTO_A_VISTA_COR, materiais_cores.CUSTO_REPOSICAO as CUSTO_REPOSICAO_COR from materiais,materiais_cores where materiais.material= materiais_cores.material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_COMPRAS_MESES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_COMPRAS_MESES] AS SELECT MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL,SUM(QTDE_ENTREGAR)AS COMPRAS, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2)<=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_MESES_ATRAS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,-1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,-1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_UM_MES_ATRAS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM, 0,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM, 0,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_MES_ATUAL, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+1,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+1,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_UM_MES_APOS , SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2) =CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+2,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+2,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_DOIS_MESES_APOS, SUM(CASE WHEN CONVERT(CHAR(4),DATEPART(YEAR,ENTREGA))+SUBSTRING( STR(DATEPART(MONTH,ENTREGA)+100,3),2,2)>=CONVERT(CHAR(4),DATEPART(YEAR,DATEADD(MM,+3,GETDATE())))+ SUBSTRING(STR(DATEPART(MONTH,DATEADD(MM,+3,GETDATE()))+100,3),2,2) THEN CONVERT(NUMERIC(20, 3),QTDE_ENTREGAR) ELSE 0 END) AS COMPRAS_TRES_MESES_APOS FROM MATERIAIS , MATERIAIS_CORES ,COMPRAS_MATERIAL,COMPRAS WHERE MATERIAIS.MATERIAL = MATERIAIS_CORES.MATERIAL AND MATERIAIS.MATERIAL = COMPRAS_MATERIAL.MATERIAL AND MATERIAIS_CORES.COR_MATERIAL = COMPRAS_MATERIAL.COR_MATERIAL AND QTDE_ENTREGAR > 0 AND COMPRAS.PEDIDO = COMPRAS_MATERIAL.PEDIDO AND FILIAL_A_ENTREGAR LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_COMPRAS_MAT'' ) GROUP BY MATERIAIS.MATERIAL,MATERIAIS_CORES.COR_MATERIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_OP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_OP] @RETORNO CHAR(2) OUTPUT, @MENSAGEM_RETORNO VARCHAR(100) OUTPUT, @TIPO_GERACAO CHAR(1) --================================================ --SCRIPT PARA CRIAR O CURSOR TEMPORARIO ##CUR_OP --================================================ /* CREATE TABLE ##CUR_OP ( ORDEM_CORTE CHAR(8), PRODUTO CHAR(12), COR_PRODUTO CHAR(10), EMISSAO DATETIME, INICIO DATETIME, AGRUPA BIT, MATERIAL CHAR(11), COR_MATERIAL CHAR(10), O1 INT, O2 INT, O3 INT, O4 INT, O5 INT, O6 INT, O7 INT, O8 INT, O9 INT, O10 INT, O11 INT, O12 INT, O13 INT, O14 INT, O15 INT, O16 INT, O17 INT, O18 INT, O19 INT, O20 INT, O21 INT, O22 INT, O23 INT, O24 INT, O25 INT, O26 INT, O27 INT, O28 INT, O29 INT, O30 INT, O31 INT, O32 INT, O33 INT, O34 INT, O35 INT, O36 INT, O37 INT, O38 INT, O39 INT, O40 INT, O41 INT, O42 INT, O43 INT, O44 INT, O45 INT, O46 INT, O47 INT, O48 INT, PROGRAMACAO VARCHAR(25) ) */ -- =========================================== -- TIPOS DE GERAÇÃO -- =========================================== -- 1)GERA OP NORMAL COM NUMERO DE OP SEQUENCIAL -- 2)GERA OP POR ENCAIXE COM NUMERO DE OP SEQUENCIAL -- 3)GERA OP NORMAL COM NUMERO DE OP IGUAL A OC -- 4)GERA OP POR ENCAIXE COM NUMERO DE OP IGUAL A OC AS SET NOCOUNT ON SELECT @RETORNO = ''0'' SELECT @MENSAGEM_RETORNO = ''OP GERADA COM SUCESSO!'' -- VERIFICA SE O CURSOR ##CUR_OP ESTA COM REGISTROS IF (SELECT COUNT(*) FROM ##CUR_OP)=0 BEGIN SELECT @RETORNO = ''1'' SELECT @MENSAGEM_RETORNO = ''O CURSOR ##CUR_OP ESTA VAZIO'' RETURN END DECLARE @PRODUTO CHAR(12),@COR_PRODUTO CHAR(10),@ORDEM_CORTE CHAR(10),@ORDEM_PRODUCAO CHAR(10),@EMISSAO DATETIME,@INICIO DATETIME,@AUXILIAR VARCHAR(40), @EMPRESA TINYINT, @FILIAL VARCHAR(25),@XCONTA INT,@QTDE INT,@DATA_INICIAL DATETIME,@DATA_FINAL DATETIME,@TAREFA CHAR(10), @INICIO_LIBERADO DATETIME, @INICIO_PREVISTO DATETIME,@FIM_LIBERADO DATETIME, @FIM_ATUALIZADO DATETIME,@PRIMEIRA_VEZ BIT, @TABELA_OPERACOES VARCHAR(25),@ROTA_PRODUCAO CHAR(4),@FASE_PRODUCAO VARCHAR(25),@SETOR_PRODUCAO VARCHAR(25),@TEMPO_OPERACAO NUMERIC(7,2), @COMPARA VARCHAR(12),@AGRUPA BIT,@CUSTO NUMERIC(14,2),@MATERIAL CHAR(11),@COR_MATERIAL CHAR(10),@RESERVA_ORIGINAL NUMERIC(9,3), @FATOR_CONVERSAO_NA_RESERVA NUMERIC(9,4), @MATERIAL_OP CHAR(11), @COR_MATERIAL_OP CHAR(10),@PROGRAMACAO VARCHAR(25), @O1 INT, @O2 INT, @O3 INT, @O4 INT, @O5 INT, @O6 INT, @O7 INT, @O8 INT, @O9 INT, @O10 INT, @O11 INT, @O12 INT, @O13 INT, @O14 INT, @O15 INT, @O16 INT, @O17 INT , @O18 INT, @O19 INT, @O20 INT, @O21 INT, @O22 INT, @O23 INT, @O24 INT, @O25 INT, @O26 INT, @O27 INT, @O28 INT, @O29 INT, @O30 INT, @O31 INT, @O32 INT, @O33 INT, @O34 INT, @O35 INT, @O36 INT, @O37 INT, @O38 INT, @O39 INT, @O40 INT, @O41 INT, @O42 INT, @O43 INT, @O44 INT, @O45 INT, @O46 INT, @O47 INT, @O48 INT, @P1 INT, @P2 INT, @P3 INT, @P4 INT, @P5 INT, @P6 INT, @P7 INT, @P8 INT, @P9 INT, @P10 INT, @P11 INT, @P12 INT, @P13 INT, @P14 INT, @P15 INT, @P16 INT, @P17 INT, @P18 INT, @P19 INT, @P20 INT, @P21 INT, @P22 INT, @P23 INT, @P24 INT, @P25 INT, @P26 INT, @P27 INT, @P28 INT, @P29 INT, @P30 INT, @P31 INT, @P32 INT, @P33 INT, @P34 INT, @P35 INT, @P36 INT, @P37 INT, @P38 INT, @P39 INT, @P40 INT, @P41 INT, @P42 INT, @P43 INT, @P44 INT, @P45 INT, @P46 INT, @P47 INT, @P48 INT DECLARE CUR_OP CURSOR FOR SELECT DISTINCT ORDEM_CORTE,PRODUTO,CASE WHEN AGRUPA = 1 THEN PRODUTO ELSE COR_PRODUTO END AS COMPARA,AGRUPA FROM ##CUR_OP OPEN CUR_OP FETCH NEXT FROM CUR_OP INTO @ORDEM_CORTE,@PRODUTO,@COMPARA,@AGRUPA WHILE @@FETCH_STATUS = 0 BEGIN -- VERIFICAR SE O PRODUTO É DE REVENDA OU FABRICAÇÃO IF (SELECT COUNT(*) FROM PRODUTOS WHERE PRODUTO = @PRODUTO AND REVENDA = 1)>0 BEGIN SELECT @RETORNO = ''1'' SELECT @MENSAGEM_RETORNO = ''NÃO POSSO GERAR OP PARA O PRODUTO ''+LTRIM(RTRIM(@PRODUTO))+'' DE REVENDA '' GOTO ERRO1 END -- VERIFICA O STATUS DO PRODUTO IF (SELECT COUNT(*) FROM PARAMETROS WHERE PARAMETRO = ''CONTROLA_STATUS_PRODUTO'' AND VALOR_ATUAL = ''.T.'' )>0 BEGIN IF (SELECT COUNT(*) FROM PRODUTOS, PRODUTOS_STATUS WHERE PRODUTOS.STATUS_PRODUTO=PRODUTOS_STATUS.STATUS_PRODUTO AND PRODUTO=@PRODUTO AND PRODUTOS.TIPO_STATUS_PRODUTO<>3)>0 BEGIN SELECT @AUXILIAR = LTRIM(RTRIM(DESC_STATUS_PRODUTO)) FROM PRODUTOS, PRODUTOS_STATUS WHERE PRODUTOS.STATUS_PRODUTO=PRODUTOS_STATUS.STATUS_PRODUTO AND PRODUTO = @PRODUTO AND PRODUTOS.TIPO_STATUS_PRODUTO<>3 SELECT @RETORNO = ''1'' SELECT @MENSAGEM_RETORNO = ''NÃO É PERMITIDO GERAR OP DO PRODUTO ''+LTRIM(RTRIM(@PRODUTO))+''. O STATUS DO PRODUTO É ''+LTRIM(RTRIM(@AUXILIAR)) GOTO ERRO1 END END IF (@TIPO_GERACAO = 3 OR @TIPO_GERACAO = 4) IF (SELECT COUNT(*) FROM PRODUCAO_RESERVA WHERE ORDEM_PRODUCAO = @ORDEM_CORTE )<>0 OR (SELECT COUNT(*) FROM COMPRAS_PRODUTO WHERE PEDIDO = @ORDEM_CORTE )<>0 BEGIN SELECT @RETORNO = ''1'' SELECT @MENSAGEM_RETORNO = ''EXISTE UM PEDIDO DE COMPRA COM O MESMO NUMERO DA ORDEM DE PRODUCAO. GERACAO ABORTADA!'' GOTO ERRO1 END -- INICIO A GRAVAÇÃO NA TABELA PAI PRODUCAO_ORDEM BEGIN TRANSACTION LEITURA IF @AGRUPA = 0 BEGIN SELECT @QTDE = SUM( ISNULL(O1,0) +ISNULL(O2,0) +ISNULL(O3,0) +ISNULL(O4,0) +ISNULL(O5,0) +ISNULL(O6,0) + ISNULL(O7,0) +ISNULL(O8,0) +ISNULL(O9,0) +ISNULL(O10,0)+ISNULL(O11,0)+ISNULL(O12,0)+ ISNULL(O13,0)+ISNULL(O14,0)+ISNULL(O15,0)+ISNULL(O16,0)+ISNULL(O17,0)+ISNULL(O18,0)+ ISNULL(O19,0)+ISNULL(O20,0)+ISNULL(O21,0)+ISNULL(O22,0)+ISNULL(O23,0)+ISNULL(O24,0)+ ISNULL(O25,0)+ISNULL(O26,0)+ISNULL(O27,0)+ISNULL(O28,0)+ISNULL(O29,0)+ISNULL(O30,0)+ ISNULL(O31,0)+ISNULL(O32,0)+ISNULL(O33,0)+ISNULL(O34,0)+ISNULL(O35,0)+ISNULL(O36,0)+ ISNULL(O37,0)+ISNULL(O38,0)+ISNULL(O39,0)+ISNULL(O40,0)+ISNULL(O41,0)+ISNULL(O42,0)+ ISNULL(O43,0)+ISNULL(O44,0)+ISNULL(O45,0)+ISNULL(O46,0)+ISNULL(O47,0)+ISNULL(O48,0)) FROM ##CUR_OP WHERE PRODUTO = @PRODUTO AND COR_PRODUTO =@COMPARA SELECT @EMISSAO = EMISSAO FROM ##CUR_OP WHERE PRODUTO = @PRODUTO AND COR_PRODUTO =@COMPARA SELECT @INICIO = INICIO FROM ##CUR_OP WHERE PRODUTO = @PRODUTO AND COR_PRODUTO =@COMPARA END ELSE BEGIN SELECT @QTDE = SUM( ISNULL(O1,0) +ISNULL(O2,0) +ISNULL(O3,0) +ISNULL(O4,0) +ISNULL(O5,0) +ISNULL(O6,0) + ISNULL(O7,0) +ISNULL(O8,0) +ISNULL(O9,0) +ISNULL(O10,0)+ISNULL(O11,0)+ISNULL(O12,0)+ ISNULL(O13,0)+ISNULL(O14,0)+ISNULL(O15,0)+ISNULL(O16,0)+ISNULL(O17,0)+ISNULL(O18,0)+ ISNULL(O19,0)+ISNULL(O20,0)+ISNULL(O21,0)+ISNULL(O22,0)+ISNULL(O23,0)+ISNULL(O24,0)+ ISNULL(O25,0)+ISNULL(O26,0)+ISNULL(O27,0)+ISNULL(O28,0)+ISNULL(O29,0)+ISNULL(O30,0)+ ISNULL(O31,0)+ISNULL(O32,0)+ISNULL(O33,0)+ISNULL(O34,0)+ISNULL(O35,0)+ISNULL(O36,0)+ ISNULL(O37,0)+ISNULL(O38,0)+ISNULL(O39,0)+ISNULL(O40,0)+ISNULL(O41,0)+ISNULL(O42,0)+ ISNULL(O43,0)+ISNULL(O44,0)+ISNULL(O45,0)+ISNULL(O46,0)+ISNULL(O47,0)+ISNULL(O48,0)) FROM ##CUR_OP WHERE PRODUTO = @PRODUTO SELECT @EMISSAO = EMISSAO FROM ##CUR_OP WHERE PRODUTO = @PRODUTO SELECT @INICIO = INICIO FROM ##CUR_OP WHERE PRODUTO = @PRODUTO END -- PEGO A PROGRAMACAO SELECT @PROGRAMACAO = PROGRAMACAO FROM ##CUR_OP -- PEGO O NUMERO DA OP SELECT @FILIAL = (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILIAL_PADRAO'') SELECT @EMPRESA = EMPRESA FROM FILIAIS WHERE FILIAL=@FILIAL SELECT @XCONTA = 0 IF (@TIPO_GERACAO = 1 OR @TIPO_GERACAO = 2) BEGIN WHILE @XCONTA = 0 BEGIN -- VERIFICO SE NÃO EXISTE UM NUMERO DE OP JÁ CADASTRADA EM COMPRAS. SE EXISTIR PEGO PRÓXIMO EXEC LX_SEQUENCIAL @TABELA_COLUNA=''PRODUCAO_ORDEM.ORDEM_PRODUCAO'', @EMPRESA=@EMPRESA, @SEQUENCIA = @ORDEM_PRODUCAO OUTPUT IF (SELECT COUNT(*) FROM PRODUCAO_RESERVA WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO )=0 AND (SELECT COUNT(*) FROM COMPRAS_PRODUTO WHERE PEDIDO = @ORDEM_PRODUCAO )=0 SELECT @XCONTA = 1 END END ELSE BEGIN SELECT @ORDEM_PRODUCAO = @ORDEM_CORTE END -- GERO O REGISTRO NA TABELA PAI INSERT INTO PRODUCAO_ORDEM(PRODUTO,ORDEM_PRODUCAO,ORDEM_CORTE,FILIAL,EMISSAO,PREVISAO_FIM_NA_EMISSAO,PREVISAO_FIM, INICIO_LIBERADO,INICIO_PREVISTO,QTDE_TOTAL,STATUS,MP_RESERVADA,QTDE_EM_PRODUCAO,PROGRAMACAO) VALUES (@PRODUTO,@ORDEM_PRODUCAO,@ORDEM_CORTE,@FILIAL,convert(varchar(10),@EMISSAO,112),convert(varchar(10),@INICIO,112),convert(varchar(10),@INICIO,112),convert(varchar(10),@INICIO,112),convert(varchar(10),@INICIO,112),@QTDE,''S'',0,@QTDE,@PROGRAMACAO) -- PEGO A TABELA DE OPERAÇÕES IF (SELECT COUNT(*) FROM PRODUTOS WHERE PRODUTO = @PRODUTO AND TABELA_OPERACOES IS NOT NULL)>0 BEGIN IF (SELECT COUNT(*) FROM PRODUTOS_TAB_OPERACOES, PRODUTOS WHERE PRODUTOS.GRUPO_PRODUTO=PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO AND PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES = PRODUTOS.TABELA_OPERACOES AND PRODUTOS.PRODUTO = @PRODUTO)>0 SELECT @TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES FROM PRODUTOS_TAB_OPERACOES, PRODUTOS WHERE PRODUTOS.GRUPO_PRODUTO=PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO AND PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES = PRODUTOS.TABELA_OPERACOES AND PRODUTOS.PRODUTO = @PRODUTO ELSE SELECT @TABELA_OPERACOES = VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''MODELO_PADRAO'' END ELSE BEGIN IF (SELECT COUNT(PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES) FROM PRODUTOS_TAB_OPERACOES, PRODUTOS WHERE PRODUTOS.GRUPO_PRODUTO=PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO AND PRODUTOS.PRODUTO = @PRODUTO)>0 SELECT @TABELA_OPERACOES = PRODUTOS_TAB_OPERACOES.TABELA_OPERACOES FROM PRODUTOS_TAB_OPERACOES, PRODUTOS WHERE PRODUTOS.GRUPO_PRODUTO=PRODUTOS_TAB_OPERACOES.GRUPO_PRODUTO AND PRODUTOS.PRODUTO = @PRODUTO ELSE SELECT @TABELA_OPERACOES = VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO = ''MODELO_PADRAO'' END -- GRAVA O DROP CASO EXISTA SOMENTE 1 IF (SELECT COUNT(*)FROM PRODUTOS,PRODUTOS_DROPS WHERE PRODUTOS.GRADE = PRODUTOS_DROPS.GRADE AND PRODUTO = @PRODUTO )=1 UPDATE PRODUCAO_ORDEM SET DROP_DE_TAMANHOS = B.DROP_DE_TAMANHOS FROM (SELECT PRODUTOS_DROPS.DROP_DE_TAMANHOS FROM PRODUTOS,PRODUTOS_DROPS WHERE PRODUTOS.GRADE = PRODUTOS_DROPS.GRADE AND PRODUTO = @PRODUTO) B -- ================================================ -- 1ª FILHA -- GERO OS DADOS NA TABELA FILHA PRODUCAO_TAREFAS -- ================================================ -- PEGO A TABELA DE ROTAS DECLARE CUR_ROTA CURSOR FOR SELECT TABELA_OPERACOES,ROTA_PRODUCAO,PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO, PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO,TEMPO_OPERACAO FROM PRODUTO_OPERACOES_ROTAS,PRODUCAO_FASE,PRODUCAO_SETOR,PRODUCAO_RECURSOS WHERE PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO AND PRODUTO_OPERACOES_ROTAS.TABELA_OPERACOES = @TABELA_OPERACOES ORDER BY PRODUTO_OPERACOES_ROTAS.SEQUENCIA_PRODUTIVA, PRODUTO_OPERACOES_ROTAS.SETOR_PARALELO_NUMERO, PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO, PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO, PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO OPEN CUR_ROTA FETCH NEXT FROM CUR_ROTA INTO @TABELA_OPERACOES,@ROTA_PRODUCAO,@FASE_PRODUCAO,@SETOR_PRODUCAO,@TEMPO_OPERACAO SELECT @PRIMEIRA_VEZ = 1 SELECT @DATA_INICIAL = INICIO_LIBERADO, @DATA_FINAL = INICIO_LIBERADO, @INICIO_LIBERADO= INICIO_LIBERADO, @INICIO_PREVISTO = INICIO_PREVISTO, @FIM_LIBERADO = INICIO_LIBERADO, @FIM_ATUALIZADO = INICIO_PREVISTO FROM PRODUCAO_ORDEM WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO WHILE @@FETCH_STATUS = 0 BEGIN SELECT @DATA_FINAL = DATEADD(DAY,@TEMPO_OPERACAO,@DATA_FINAL) SELECT @FIM_LIBERADO = DATEADD(DAY,@TEMPO_OPERACAO,@FIM_LIBERADO) SELECT @FIM_ATUALIZADO = DATEADD(DAY,@TEMPO_OPERACAO,@FIM_ATUALIZADO) EXEC LX_SEQUENCIAL @TABELA_COLUNA=''PRODUCAO_TAREFAS.TAREFA'', @EMPRESA=@EMPRESA, @SEQUENCIA = @TAREFA OUTPUT INSERT INTO PRODUCAO_TAREFAS (TAREFA,STATUS,INICIO_LIBERADO,ORDEM_PRODUCAO,SEQUENCIA_PRODUTIVA, SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO, TEMPO_OPERACAO,UNIDADE_TEMPO,TIPO_TEMPO_PROCESSO,METODO_LOTE,METODO_LOTE_QTDE,INICIO_PREVISTO, TEMPO_PREPARACAO,FIM_ATUALIZADO,QTDE_PREVISTA,QTDE_A_PRODUZIR,CONTROLE,PARTE_PRODUTO, BAIXA_AUTOMATICA_MATERIAL,FIM_PREVISTO,INICIO_REAL) SELECT @TAREFA,1,@INICIO,@ORDEM_PRODUCAO,PRODUTO_OPERACOES_ROTAS.SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO, SEQUENCIA_ANTERIOR,PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO,PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO, PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO,TEMPO_OPERACAO,PRODUTO_OPERACOES_ROTAS.UNIDADE_TEMPO,TIPO_TEMPO_PROCESSO, METODO_LOTE,METODO_LOTE_QTDE,@INICIO_PREVISTO,TEMPO_PREPARACAO,@FIM_ATUALIZADO,@QTDE,@QTDE,CONTROLE,ISNULL(PARTE_PRODUTO,''''), BAIXA_AUTOMATICA_MATERIAL,@FIM_LIBERADO,@DATA_INICIAL FROM PRODUTO_OPERACOES_ROTAS,PRODUCAO_FASE,PRODUCAO_SETOR,PRODUCAO_RECURSOS WHERE PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = PRODUCAO_FASE.FASE_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO = PRODUCAO_SETOR.FASE_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO = PRODUCAO_SETOR.SETOR_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.RECURSO_PRODUTIVO = PRODUCAO_RECURSOS.RECURSO_PRODUTIVO AND TABELA_OPERACOES = @TABELA_OPERACOES AND ROTA_PRODUCAO = @ROTA_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.FASE_PRODUCAO =@FASE_PRODUCAO AND PRODUTO_OPERACOES_ROTAS.SETOR_PRODUCAO = @SETOR_PRODUCAO IF @PRIMEIRA_VEZ = 1 BEGIN UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = @QTDE, QTDE_A_PRODUZIR = 0,STATUS = ''0'' WHERE TAREFA = @TAREFA SELECT @PRIMEIRA_VEZ = 0 END SELECT @DATA_INICIAL = @DATA_FINAL, @INICIO_LIBERADO = @FIM_LIBERADO, @INICIO_PREVISTO = @FIM_ATUALIZADO FETCH NEXT FROM CUR_ROTA INTO @TABELA_OPERACOES,@ROTA_PRODUCAO,@FASE_PRODUCAO,@SETOR_PRODUCAO,@TEMPO_OPERACAO END UPDATE PRODUCAO_ORDEM SET PREVISAO_FIM_NA_EMISSAO = @FIM_LIBERADO,PREVISAO_FIM = @FIM_LIBERADO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO CLOSE CUR_ROTA DEALLOCATE CUR_ROTA --CRIO CURSOR COM AS CORES E QTDE DAS PEÇAS IF @AGRUPA = 0 DECLARE CUR_OP_COR CURSOR FOR SELECT COR_PRODUTO, ISNULL(O1,0) ,ISNULL(O2,0) ,ISNULL(O3,0) ,ISNULL(O4,0) ,ISNULL(O5,0) ,ISNULL(O6,0) ,ISNULL(O7,0) ,ISNULL(O8,0) ,ISNULL(O9,0) ,ISNULL(O10,0),ISNULL(O11,0),ISNULL(O12,0), ISNULL(O13,0),ISNULL(O14,0),ISNULL(O15,0),ISNULL(O16,0),ISNULL(O17,0),ISNULL(O18,0),ISNULL(O19,0),ISNULL(O20,0),ISNULL(O21,0),ISNULL(O22,0),ISNULL(O23,0),ISNULL(O24,0), ISNULL(O25,0),ISNULL(O26,0),ISNULL(O27,0),ISNULL(O28,0),ISNULL(O29,0),ISNULL(O30,0),ISNULL(O31,0),ISNULL(O32,0),ISNULL(O33,0),ISNULL(O34,0),ISNULL(O35,0),ISNULL(O36,0), ISNULL(O37,0),ISNULL(O38,0),ISNULL(O39,0),ISNULL(O40,0),ISNULL(O41,0),ISNULL(O42,0),ISNULL(O43,0),ISNULL(O44,0),ISNULL(O45,0),ISNULL(O46,0),ISNULL(O47,0),ISNULL(O48,0) FROM ##CUR_OP WHERE PRODUTO = @PRODUTO AND COR_PRODUTO =@COMPARA ELSE DECLARE CUR_OP_COR CURSOR FOR SELECT COR_PRODUTO, ISNULL(O1,0) ,ISNULL(O2,0) ,ISNULL(O3,0) ,ISNULL(O4,0) ,ISNULL(O5,0) ,ISNULL(O6,0) ,ISNULL(O7,0) ,ISNULL(O8,0) ,ISNULL(O9,0) ,ISNULL(O10,0),ISNULL(O11,0),ISNULL(O12,0), ISNULL(O13,0),ISNULL(O14,0),ISNULL(O15,0),ISNULL(O16,0),ISNULL(O17,0),ISNULL(O18,0),ISNULL(O19,0),ISNULL(O20,0),ISNULL(O21,0),ISNULL(O22,0),ISNULL(O23,0),ISNULL(O24,0), ISNULL(O25,0),ISNULL(O26,0),ISNULL(O27,0),ISNULL(O28,0),ISNULL(O29,0),ISNULL(O30,0),ISNULL(O31,0),ISNULL(O32,0),ISNULL(O33,0),ISNULL(O34,0),ISNULL(O35,0),ISNULL(O36,0), ISNULL(O37,0),ISNULL(O38,0),ISNULL(O39,0),ISNULL(O40,0),ISNULL(O41,0),ISNULL(O42,0),ISNULL(O43,0),ISNULL(O44,0),ISNULL(O45,0),ISNULL(O46,0),ISNULL(O47,0),ISNULL(O48,0) FROM ##CUR_OP WHERE PRODUTO = @PRODUTO OPEN CUR_OP_COR FETCH NEXT FROM CUR_OP_COR INTO @COR_PRODUTO,@O1, @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10 , @O11 , @O12 , @O13 , @O14 , @O15 , @O16 , @O17 , @O18 , @O19 , @O20 , @O21 , @O22 , @O23 , @O24 , @O25 , @O26 , @O27 , @O28 , @O29 , @O30 , @O31 , @O32 , @O33 , @O34 , @O35 , @O36 , @O37 , @O38 , @O39 , @O40 , @O41 , @O42 , @O43 , @O44 , @O45 , @O46 , @O47 , @O48 WHILE @@FETCH_STATUS = 0 BEGIN -- ================================================ -- 2ª FILHA -- GERO OS DADOS NA TABELA FILHA PRODUCAO_ORDEM_COR -- ================================================ -- VERIFICA SE A COR DO PRODUTO ESTA CADASTRADA IF (SELECT COUNT(*) FROM PRODUTO_CORES WHERE PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO)=0 BEGIN SELECT @RETORNO = ''1'' SELECT @MENSAGEM_RETORNO = ''A COR ''+RTRIM(LTRIM(@COR_PRODUTO))+'' NÃO ESTA CADASTRADA EM PRODUTO_CORES'' GOTO ERRO2 END SELECT @QTDE = @O1 + @O2 + @O3 + @O4 + @O5 + @O6 + @O7 + @O8 + @O9 + @O10+ @O11+ @O12+ @O13+ @O14+ @O15+ @O16+ @O17+ @O18+ @O19+ @O20+ @O21+ @O22+ @O23+ @O24+ @O25+ @O26+ @O27+ @O28+ @O29+ @O30+ @O31+ @O32+ @O33+ @O34+ @O35+ @O36+ @O37+ @O38+ @O39+ @O40+ @O41+ @O42+ @O43+ @O44+ @O45+ @O46+ @O47+ @O48 INSERT INTO PRODUCAO_ORDEM_COR ( ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_O,QTDE_P, O1 ,O2 ,O3 ,O4 ,O5 ,O6 ,O7 ,O8 ,O9 ,O10,O11,O12,O13,O14,O15,O16, O17,O18,O19,O20,O21,O22,O23,O24,O25,O26,O27,O28,O29,O30,O31,O32, O33,O34,O35,O36,O37,O38,O39,O40,O41,O42,O43,O44,O45,O46,O47,O48, P1 ,P2 ,P3 ,P4 ,P5 ,P6 ,P7 ,P8 ,P9 ,P10,P11,P12,P13,P14,P15,P16, P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32, P33,P34,P35,P36,P37,P38,P39,P40,P41,P42,P43,P44,P45,P46,P47,P48) VALUES (@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE,@QTDE, @O1 , @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10, @O11, @O12, @O13, @O14, @O15, @O16, @O17, @O18, @O19, @O20, @O21, @O22, @O23, @O24, @O25, @O26, @O27, @O28, @O29, @O30, @O31, @O32, @O33, @O34, @O35, @O36, @O37, @O38, @O39, @O40, @O41, @O42, @O43, @O44, @O45, @O46, @O47, @O48, @O1 , @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10, @O11, @O12, @O13, @O14, @O15, @O16, @O17, @O18, @O19, @O20, @O21, @O22, @O23, @O24, @O25, @O26, @O27, @O28, @O29, @O30, @O31, @O32, @O33, @O34, @O35, @O36, @O37, @O38, @O39, @O40, @O41, @O42, @O43, @O44, @O45, @O46, @O47, @O48) -- ==================================================== -- 3ª FILHA -- GERO OS DADOS NA TABELA FILHA PRODUCAO_TAREFAS_SALDO -- ==================================================== SELECT @TAREFA = TAREFA, @CUSTO = CUSTO_TAREFA FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO ORDER BY SEQUENCIA_PRODUTIVA DESC INSERT INTO PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO, COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48, ULTIMO_CUSTO_PREVISTO) VALUES (@TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE, @O1 , @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10, @O11, @O12, @O13, @O14, @O15, @O16, @O17, @O18, @O19, @O20, @O21, @O22, @O23, @O24, @O25, @O26, @O27, @O28, @O29, @O30, @O31, @O32, @O33, @O34, @O35, @O36, @O37, @O38, @O39, @O40, @O41, @O42, @O43, @O44, @O45, @O46, @O47, @O48, @CUSTO) FETCH NEXT FROM CUR_OP_COR INTO @COR_PRODUTO,@O1, @O2 , @O3 , @O4 , @O5 , @O6 , @O7 , @O8 , @O9 , @O10 , @O11 , @O12 , @O13 , @O14 , @O15 , @O16 , @O17 , @O18 , @O19 , @O20 , @O21 , @O22 , @O23 , @O24 , @O25 , @O26 , @O27 , @O28 , @O29 , @O30 , @O31 , @O32 , @O33 , @O34 , @O35 , @O36 , @O37 , @O38 , @O39 , @O40 , @O41 , @O42 , @O43 , @O44 , @O45 , @O46 , @O47 , @O48 END CLOSE CUR_OP_COR DEALLOCATE CUR_OP_COR -- ================================================ -- 4ª FILHA -- GERO OS DADOS MA TABELA FILHA PRODUCAO_RESERVA -- ================================================ --GERO CURSOR COM OS CONSUMOS DOS MATERIAIS DECLARE CUR_OP_RESERVA_MATERIAL CURSOR FOR SELECT DISTINCT PRODUTOS_FICHA_COR.MATERIAL,PRODUTOS_FICHA_COR.COR_MATERIAL, FATOR_CONVERSAO, (CASE WHEN 1 <> 1 THEN 0 ELSE(SUM((( (ISNULL(PRODUTOS_FICHA.C1,0)*PRODUCAO_ORDEM_COR.O1 )+(ISNULL(PRODUTOS_FICHA.C2,0)*PRODUCAO_ORDEM_COR.O2 )+ (ISNULL(PRODUTOS_FICHA.C3,0)*PRODUCAO_ORDEM_COR.O3 )+(ISNULL(PRODUTOS_FICHA.C4,0)*PRODUCAO_ORDEM_COR.O4 )+ (ISNULL(PRODUTOS_FICHA.C5,0)*PRODUCAO_ORDEM_COR.O5 )+(ISNULL(PRODUTOS_FICHA.C6,0)*PRODUCAO_ORDEM_COR.O6 )+ (ISNULL(PRODUTOS_FICHA.C7,0)*PRODUCAO_ORDEM_COR.O7 )+(ISNULL(PRODUTOS_FICHA.C8,0)*PRODUCAO_ORDEM_COR.O8 )+ (ISNULL(PRODUTOS_FICHA.C9,0)*PRODUCAO_ORDEM_COR.O9 )+(ISNULL(PRODUTOS_FICHA.C10,0)*PRODUCAO_ORDEM_COR.O10)+ (ISNULL(PRODUTOS_FICHA.C11,0)*PRODUCAO_ORDEM_COR.O11 )+(ISNULL(PRODUTOS_FICHA.C12,0)*PRODUCAO_ORDEM_COR.O12)+ (ISNULL(PRODUTOS_FICHA.C13,0)*PRODUCAO_ORDEM_COR.O13 )+(ISNULL(PRODUTOS_FICHA.C14,0)*PRODUCAO_ORDEM_COR.O14)+ (ISNULL(PRODUTOS_FICHA.C15,0)*PRODUCAO_ORDEM_COR.O15 )+(ISNULL(PRODUTOS_FICHA.C16,0)*PRODUCAO_ORDEM_COR.O16)+ (ISNULL(PRODUTOS_FICHA.C17,0)*PRODUCAO_ORDEM_COR.O17 )+(ISNULL(PRODUTOS_FICHA.C18,0)*PRODUCAO_ORDEM_COR.O18)+ (ISNULL(PRODUTOS_FICHA.C19,0)*PRODUCAO_ORDEM_COR.O19 )+(ISNULL(PRODUTOS_FICHA.C20,0)*PRODUCAO_ORDEM_COR.O20)+ (ISNULL(PRODUTOS_FICHA.C21,0)*PRODUCAO_ORDEM_COR.O21 )+(ISNULL(PRODUTOS_FICHA.C22,0)*PRODUCAO_ORDEM_COR.O22)+ (ISNULL(PRODUTOS_FICHA.C23,0)*PRODUCAO_ORDEM_COR.O23 )+(ISNULL(PRODUTOS_FICHA.C24,0)*PRODUCAO_ORDEM_COR.O24)+ (ISNULL(PRODUTOS_FICHA.C25,0)*PRODUCAO_ORDEM_COR.O25 )+(ISNULL(PRODUTOS_FICHA.C26,0)*PRODUCAO_ORDEM_COR.O26)+ (ISNULL(PRODUTOS_FICHA.C27,0)*PRODUCAO_ORDEM_COR.O27 )+(ISNULL(PRODUTOS_FICHA.C28,0)*PRODUCAO_ORDEM_COR.O28)+ (ISNULL(PRODUTOS_FICHA.C29,0)*PRODUCAO_ORDEM_COR.O29 )+(ISNULL(PRODUTOS_FICHA.C30,0)*PRODUCAO_ORDEM_COR.O30)+ (ISNULL(PRODUTOS_FICHA.C31,0)*PRODUCAO_ORDEM_COR.O31 )+(ISNULL(PRODUTOS_FICHA.C32,0)*PRODUCAO_ORDEM_COR.O32)+ (ISNULL(PRODUTOS_FICHA.C33,0)*PRODUCAO_ORDEM_COR.O33 )+(ISNULL(PRODUTOS_FICHA.C34,0)*PRODUCAO_ORDEM_COR.O34)+ (ISNULL(PRODUTOS_FICHA.C35,0)*PRODUCAO_ORDEM_COR.O35 )+(ISNULL(PRODUTOS_FICHA.C36,0)*PRODUCAO_ORDEM_COR.O36)+ (ISNULL(PRODUTOS_FICHA.C37,0)*PRODUCAO_ORDEM_COR.O37 )+(ISNULL(PRODUTOS_FICHA.C38,0)*PRODUCAO_ORDEM_COR.O38)+ (ISNULL(PRODUTOS_FICHA.C39,0)*PRODUCAO_ORDEM_COR.O39 )+(ISNULL(PRODUTOS_FICHA.C40,0)*PRODUCAO_ORDEM_COR.O40)+ (ISNULL(PRODUTOS_FICHA.C41,0)*PRODUCAO_ORDEM_COR.O41 )+(ISNULL(PRODUTOS_FICHA.C42,0)*PRODUCAO_ORDEM_COR.O42)+ (ISNULL(PRODUTOS_FICHA.C43,0)*PRODUCAO_ORDEM_COR.O43 )+(ISNULL(PRODUTOS_FICHA.C44,0)*PRODUCAO_ORDEM_COR.O44)+ (ISNULL(PRODUTOS_FICHA.C45,0)*PRODUCAO_ORDEM_COR.O45 )+(ISNULL(PRODUTOS_FICHA.C46,0)*PRODUCAO_ORDEM_COR.O46)+ (ISNULL(PRODUTOS_FICHA.C47,0)*PRODUCAO_ORDEM_COR.O47 )+(ISNULL(PRODUTOS_FICHA.C48,0)*PRODUCAO_ORDEM_COR.O48)) *(ISNULL(PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO,0)/100))/ISNULL(MATERIAIS.FATOR_CONVERSAO,1))) END) AS RESERVA_ORIGINAL FROM PRODUCAO_ORDEM_COR LEFT JOIN PRODUTOS_FICHA_COR ON PRODUCAO_ORDEM_COR.PRODUTO = PRODUTOS_FICHA_COR.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO = PRODUTOS_FICHA_COR.COR_PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN PRODUTOS ON PRODUTOS_FICHA.PRODUTO = PRODUTOS.PRODUTO LEFT JOIN MATERIAIS ON PRODUTOS_FICHA.MATERIAL = MATERIAIS.MATERIAL LEFT JOIN MATERIAIS_CORES ON PRODUTOS_FICHA_COR.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL WHERE PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO,PRODUTOS_FICHA_COR.MATERIAL,PRODUTOS_FICHA_COR.COR_MATERIAL,FATOR_CONVERSAO OPEN CUR_OP_RESERVA_MATERIAL FETCH NEXT FROM CUR_OP_RESERVA_MATERIAL INTO @MATERIAL,@COR_MATERIAL,@FATOR_CONVERSAO_NA_RESERVA,@RESERVA_ORIGINAL WHILE @@FETCH_STATUS = 0 BEGIN IF @RESERVA_ORIGINAL >0 BEGIN SELECT @DATA_FINAL = ISNULL(MAX(EMISSAO),GETDATE()) FROM ESTOQUE_SAI1_MAT, ESTOQUE_SAI_MAT WHERE ESTOQUE_SAI_MAT.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND MATERIAL = @MATERIAL AND COR_MATERIAL = @COR_MATERIAL INSERT INTO PRODUCAO_RESERVA (MATERIAL,COR_MATERIAL,ORDEM_PRODUCAO, RESERVA,DATA_RESERVA,RESERVA_ORIGINAL, ULTIMA_SAIDA,FATOR_CONVERSAO_NA_RESERVA, TIPO_RESERVA) VALUES(@MATERIAL,@COR_MATERIAL,@ORDEM_PRODUCAO,@RESERVA_ORIGINAL,@EMISSAO, @RESERVA_ORIGINAL,@DATA_FINAL,@FATOR_CONVERSAO_NA_RESERVA,1) END FETCH NEXT FROM CUR_OP_RESERVA_MATERIAL INTO @MATERIAL,@COR_MATERIAL,@FATOR_CONVERSAO_NA_RESERVA,@RESERVA_ORIGINAL END CLOSE CUR_OP_RESERVA_MATERIAL DEALLOCATE CUR_OP_RESERVA_MATERIAL IF (@TIPO_GERACAO = 2 OR @TIPO_GERACAO = 4) BEGIN UPDATE PRODUCAO_CORTE_ENFESTO SET ORDEM_PRODUCAO = @ORDEM_PRODUCAO FROM ##CUR_OP b WHERE PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE = b.ORDEM_CORTE AND PRODUCAO_CORTE_ENFESTO.PRODUTO = b.PRODUTO AND PRODUCAO_CORTE_ENFESTO.MATERIAL = b.MATERIAL AND PRODUCAO_CORTE_ENFESTO.COR_MATERIAL = b.COR_MATERIAL END IF @TIPO_GERACAO = 3 BEGIN UPDATE PRODUCAO_CORTE_ENFESTO SET ORDEM_PRODUCAO = @ORDEM_PRODUCAO FROM ##CUR_OP b WHERE PRODUCAO_CORTE_ENFESTO.ORDEM_CORTE = b.ORDEM_CORTE END COMMIT TRANSACTION LEITURA FETCH NEXT FROM CUR_OP INTO @ORDEM_CORTE,@PRODUTO,@COMPARA,@AGRUPA END CLOSE CUR_OP DEALLOCATE CUR_OP DROP TABLE ##CUR_OP SET NOCOUNT OFF RETURN ERRO: CLOSE CUR_OP DEALLOCATE CUR_OP WHILE @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN ERRO1: CLOSE CUR_OP DEALLOCATE CUR_OP RETURN ERRO2: CLOSE CUR_OP DEALLOCATE CUR_OP CLOSE CUR_OP_COR DEALLOCATE CUR_OP_COR WHILE @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FICHA_MATERIAL_SEM_COR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FICHA_MATERIAL_SEM_COR] AS select distinct A.PRODUTO ,a.material,a.cor_material,PORCENTAGEM_CONSUMO,item,DESC_COR_MATERIAL,REFER_FABRICANTE, count(*) AS N_CORES from produtos_ficha_cor a ,materiais_cores b where a.material=b.material and a.cor_material=b.cor_material group by a.cor_material,a.material,item,REFER_FABRICANTE,DESC_COR_MATERIAL,A.PRODUTO,PORCENTAGEM_CONSUMO having count(*) = (select count(*) from produto_cores C where C.produto=A.PRODUTO ) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ACTUALIZA_PRECIOS_MATERIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_ACTUALIZA_PRECIOS_MATERIAL] @ID_MATERIAL INTEGER AS -- Procedimiento para actualizar los precios del material que se pasa como parámetro de -- la clase Materiales con Colores y Tallas(ETEJI_RAIZ) en la clase Materias Primas(ETEJI) -- Se tiene en cuenta a) El precio del material no varía por color ni talla -- b) El precio del material varía por color, no por talla -- c) El precio del material varía por color y talla -- Realizado por: Bernardo Castellanos -- Fecha: 22-01-03 DECLARE @b_VariaxColor BIT, @b_VariaxMedida BIT, @n_VariaxMedida SMALLINT, @s_GF_MATERIAL VARCHAR(80), @f_GF_CUSTO_REPOSIC FLOAT, @n_GF_COR_MATERIAL SMALLINT, @n_TRANSFER SMALLINT, @n_NUM_TALLAS SMALLINT, @n_Cont_Talla SMALLINT, @s_Select_Med_Cols VARCHAR(2000), @s_Cod_Meds VARCHAR(255), @s_ID_MATERIAL VARCHAR(10), @s_Select_Med_Row VARCHAR(2000), @s_Prec_Meds VARCHAR(255), @s_Cod_Med VARCHAR(80), @n_Pos SMALLINT, @s_Cod_Material VARCHAR(10), @s_Prec_Med VARCHAR(80), @s_Copia_Cod_Meds VARCHAR(255), @s_COR_MATERIAL VARCHAR(80), @n_TRANSFER_COLOR SMALLINT, @f_GF_CUSTO_A_VISTA FLOAT BEGIN -- Determinar qué grado de variación tiene el precio del material. Además identificamos el NOMBRE del material y el precio por defecto SELECT @b_VariaxColor = GF_VARIA_PRECO_C, @n_VariaxMedida =GF_VARIA_MATERIA, @s_GF_MATERIAL = GF_MATERIAL, @f_GF_CUSTO_REPOSIC = ISNULL(GF_CUSTO_REPOSIC,0), @f_GF_CUSTO_A_VISTA = ISNULL(GF_CUSTO_A_VISTA,0), @n_TRANSFER = TRANSFER FROM ETEJI_RAIZ WHERE ID = @ID_MATERIAL -- GF_VARIA_MATERIA es de tipo Validacion con la tabla SINO, donde 1=No; 2=Si IF (@n_VariaxMedida = 2) SELECT @b_VariaxMedida = 1 ELSE SELECT @b_VariaxMedida = 0 -- Se lee el número de tallas definidas para este material. SELECT @n_NUM_TALLAS = COUNT(*) FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ=@ID_MATERIAL -- A continuación se lee el código de material asociado a cada medida y se aprovecha para ir construyendo -- el comando Select que se usará para leer las columnas de medidas del detalle "Materiales Precios Color/Talla" para el caso c) -- El código de material queda almacenado como, por ejemplo, "80153*80154*80154". Luego se hará el parsing adecuado SELECT @n_Cont_Talla = 1 SELECT @s_Select_Med_Cols = '''' SELECT @s_Cod_Meds = '''' DECLARE CODIGO_MEDIDAS CURSOR FOR SELECT GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ=@ID_MATERIAL ORDER BY ORDENPM OPEN CODIGO_MEDIDAS FETCH NEXT FROM CODIGO_MEDIDAS INTO @s_Cod_Med WHILE @@FETCH_STATUS=0 BEGIN IF (@s_Cod_Meds != '''') BEGIN SELECT @s_Cod_Meds = @s_Cod_Meds + ''*'' SELECT @s_Select_Med_Cols = @s_Select_Med_Cols + ''+'' + '''''''' + ''*''+ '''''''' + ''+'' END SELECT @s_Cod_Meds = @s_Cod_Meds + @s_Cod_Med SELECT @s_Select_Med_Cols = @s_Select_Med_Cols + ''CONVERT(VARCHAR(10),COALESCE(GF_PREC_MEDIDA'' + CONVERT(VARCHAR(3),@n_Cont_Talla) + '',0))'' SELECT @n_Cont_Talla = @n_Cont_Talla + 1 FETCH NEXT FROM CODIGO_MEDIDAS INTO @s_Cod_Med END CLOSE CODIGO_MEDIDAS DEALLOCATE CODIGO_MEDIDAS IF (@b_VariaxColor = 0) BEGIN -- Caso a) El precio del material no varía por color ni talla. -- Se toma como precio único el campo GF_CUSTO_REPOSIC de ETEJI_RAIZ IF (@b_VariaxMedida = 0) BEGIN UPDATE ETEJI SET GF_CUSTO_REPOSIC=@f_GF_CUSTO_REPOSIC, GF_CUSTO_A_VISTA = @f_GF_CUSTO_A_VISTA WHERE NOMBRE=@s_GF_MATERIAL -- Actualizar precios en LINX IF (@n_TRANSFER>=50) BEGIN IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @n_Num_Tallas = 1 END SELECT @n_Cont_Talla = 1 SELECT @s_Copia_Cod_Meds = @s_Cod_Meds WHILE (@n_Cont_Talla <= @n_NUM_TALLAS) BEGIN -- Parsing de los códigos de Material IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Material = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE SELECT @s_Cod_Material = @s_Copia_Cod_Meds IF EXISTS(SELECT * FROM MATERIAIS WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS SET CUSTO_REPOSICAO=@f_GF_CUSTO_REPOSIC, CUSTO_A_VISTA=@f_GF_CUSTO_A_VISTA WHERE MATERIAL=@s_Cod_Material IF EXISTS(SELECT * FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS_CORES SET CUSTO_REPOSICAO=@f_GF_CUSTO_REPOSIC,CUSTO_A_VISTA=@f_GF_CUSTO_A_VISTA WHERE MATERIAL=@s_Cod_Material SELECT @n_Cont_Talla = @n_Cont_Talla + 1 END END END ELSE BEGIN -- Caso b) El precio del material varía por talla, no por color. -- Se lee el detalle "Materiales Precios Color/Talla" (540) y sus columnas GF_PREC_MEDIDA1, GF_PREC_MEDIDA2, ... -- El detalle deberá tener sólo una fila para el color genérico. IF (@n_NUM_TALLAS > 0) BEGIN SELECT @s_ID_MATERIAL = CONVERT(VARCHAR(10),@ID_MATERIAL) -- Se recorren las filas del detalle "Materiales Precios Color/Talla" SELECT @s_Select_Med_Row = ''DECLARE MEDIDAS_CURSOR CURSOR FOR SELECT GF_COR_MATERIAL,''+ @s_Select_Med_Cols + '' FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ=''+ @s_ID_MATERIAL +'' ORDER BY ORDENPM'' EXECUTE(@s_Select_Med_Row) OPEN MEDIDAS_CURSOR FETCH NEXT FROM MEDIDAS_CURSOR INTO @n_GF_COR_MATERIAL,@s_Prec_Meds SELECT @n_Cont_Talla = 1 SELECT @s_Copia_Cod_Meds = @s_Cod_Meds WHILE (@n_Cont_Talla <= @n_NUM_TALLAS) BEGIN -- Parsing de los códigos de Material y de los precios por talla IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Material = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE SELECT @s_Cod_Material = @s_Copia_Cod_Meds IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Prec_Meds) SELECT @s_Prec_Med = SUBSTRING(@s_Prec_Meds,1,@n_Pos-1) SELECT @s_Prec_Meds = RIGHT(@s_Prec_Meds,LEN(@s_Prec_Meds)-@n_Pos) END ELSE SELECT @s_Prec_Med = @s_Prec_Meds --PRINT ''Código: '' + @s_Cod_Material + '';'' + '' Precio: '' + @s_Prec_Med UPDATE ETEJI SET GF_CUSTO_REPOSIC=@s_Prec_Med, GF_CUSTO_A_VISTA = @s_Prec_Med WHERE GF_MATERIAL=@s_Cod_Material IF (@n_TRANSFER>=50) BEGIN IF EXISTS(SELECT * FROM MATERIAIS WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS SET CUSTO_REPOSICAO=CONVERT(FLOAT,@s_Prec_Med),CUSTO_A_VISTA=CONVERT(FLOAT,@s_Prec_Med) WHERE MATERIAL=@s_Cod_Material IF EXISTS(SELECT * FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS_CORES SET CUSTO_REPOSICAO=CONVERT(FLOAT,@s_Prec_Med),CUSTO_A_VISTA=CONVERT(FLOAT,@s_Prec_Med) WHERE MATERIAL=@s_Cod_Material END SELECT @n_Cont_Talla = @n_Cont_Talla + 1 END CLOSE MEDIDAS_CURSOR DEALLOCATE MEDIDAS_CURSOR END END END ELSE -- Caso c) El precio del material varía por color, no por talla. -- Se lee la primera columna de precios del detalle "Materiales Precios Color/Talla" (540): GF_PREC_MEDIDA1 -- Para cada fila(color) se actualizarán en ETEJI los materiales con el mismo NOMBRE+COLOR IF (@b_VariaxMedida = 0) BEGIN DECLARE PRECIOS_COLOR CURSOR FOR SELECT GF_COR_MATERIAL,ISNULL(GF_PREC_MEDIDA1,0) FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ=@ID_MATERIAL OPEN PRECIOS_COLOR FETCH NEXT FROM PRECIOS_COLOR INTO @n_GF_COR_MATERIAL,@f_GF_CUSTO_REPOSIC WHILE @@FETCH_STATUS=0 BEGIN UPDATE ETEJI SET GF_CUSTO_REPOSIC=@f_GF_CUSTO_REPOSIC, GF_CUSTO_A_VISTA = @f_GF_CUSTO_REPOSIC WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL -- Actualizar precios en LINX IF (@n_TRANSFER>=50) BEGIN IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @n_Num_Tallas = 1 END SELECT @n_Cont_Talla = 1 SELECT @s_Copia_Cod_Meds = @s_Cod_Meds WHILE (@n_Cont_Talla <= @n_NUM_TALLAS) BEGIN -- Parsing de los códigos de Material IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Material = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE SELECT @s_Cod_Material = @s_Copia_Cod_Meds IF EXISTS(SELECT * FROM MATERIAIS WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS SET CUSTO_REPOSICAO=0,CUSTO_A_VISTA=0 WHERE MATERIAL=@s_Cod_Material SELECT @s_COR_MATERIAL = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_MATERIAL IF EXISTS(SELECT * FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Material AND COR_MATERIAL=@s_COR_MATERIAL) UPDATE MATERIAIS_CORES SET CUSTO_REPOSICAO=@f_GF_CUSTO_REPOSIC,CUSTO_A_VISTA=@f_GF_CUSTO_REPOSIC WHERE MATERIAL=@s_Cod_Material AND COR_MATERIAL=@s_COR_MATERIAL SELECT @n_Cont_Talla = @n_Cont_Talla + 1 END END FETCH NEXT FROM PRECIOS_COLOR INTO @n_GF_COR_MATERIAL,@f_GF_CUSTO_REPOSIC END CLOSE PRECIOS_COLOR DEALLOCATE PRECIOS_COLOR END -- Caso d) El precio del material varía por color y por talla. -- Se lee el detalle "Materiales Precios Color/Talla" (540) y sus columnas GF_PREC_MEDIDA1, GF_PREC_MEDIDA2, ... ELSE BEGIN IF (@n_NUM_TALLAS > 0) BEGIN SELECT @s_ID_MATERIAL = CONVERT(VARCHAR(10),@ID_MATERIAL) -- Se recorren las filas del detalle "Materiales Precios Color/Talla" SELECT @s_Select_Med_Row = ''DECLARE MEDIDAS_CURSOR CURSOR FOR SELECT GF_COR_MATERIAL,''+ @s_Select_Med_Cols + '' FROM ETEJI_PREC_C_T WHERE ID_ETEJI_RAIZ=''+ @s_ID_MATERIAL +'' ORDER BY ORDENPM'' EXECUTE(@s_Select_Med_Row) OPEN MEDIDAS_CURSOR FETCH NEXT FROM MEDIDAS_CURSOR INTO @n_GF_COR_MATERIAL,@s_Prec_Meds WHILE (@@FETCH_STATUS=0) BEGIN SELECT @n_Cont_Talla = 1 SELECT @s_Copia_Cod_Meds = @s_Cod_Meds WHILE (@n_Cont_Talla <= @n_NUM_TALLAS) BEGIN -- Parsing de los códigos de Material y de los precios por talla IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Material = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE SELECT @s_Cod_Material = @s_Copia_Cod_Meds IF (@n_Cont_Talla < @n_NUM_TALLAS) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Prec_Meds) SELECT @s_Prec_Med = SUBSTRING(@s_Prec_Meds,1,@n_Pos-1) SELECT @s_Prec_Meds = RIGHT(@s_Prec_Meds,LEN(@s_Prec_Meds)-@n_Pos) END ELSE SELECT @s_Prec_Med = @s_Prec_Meds --PRINT ''Código: '' + @s_Cod_Material + '';'' + '' Precio: '' + @s_Prec_Med UPDATE ETEJI SET GF_CUSTO_REPOSIC=@s_Prec_Med, GF_CUSTO_A_VISTA = @s_Prec_Med WHERE GF_MATERIAL=@s_Cod_Material AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL IF (@n_TRANSFER>=50) BEGIN IF EXISTS(SELECT * FROM MATERIAIS WHERE MATERIAL=@s_Cod_Material) UPDATE MATERIAIS SET CUSTO_REPOSICAO=0,CUSTO_A_VISTA=0 WHERE MATERIAL=@s_Cod_Material SELECT @s_COR_MATERIAL = RTRIM(GF_COR) FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_MATERIAL IF EXISTS(SELECT * FROM MATERIAIS_CORES WHERE MATERIAL=@s_Cod_Material AND COR_MATERIAL=@s_COR_MATERIAL) UPDATE MATERIAIS_CORES SET CUSTO_REPOSICAO=CONVERT(FLOAT,@s_Prec_Med),CUSTO_A_VISTA=CONVERT(FLOAT,@s_Prec_Med) WHERE MATERIAL=@s_Cod_Material AND COR_MATERIAL=@s_COR_MATERIAL END SELECT @n_Cont_Talla = @n_Cont_Talla + 1 END FETCH NEXT FROM MEDIDAS_CURSOR INTO @n_GF_COR_MATERIAL,@s_Prec_Meds END CLOSE MEDIDAS_CURSOR DEALLOCATE MEDIDAS_CURSOR END END END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_OC_QTDE_TECIDO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_OC_QTDE_TECIDO] AS SELECT DISTINCT PRODUCAO_ORDEM.ORDEM_CORTE, PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO, PRODUCAO_RESERVA.MATERIAL, MATERIAIS.DESC_MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, MATERIAIS_CORES.DESC_COR_MATERIAL, CASE WHEN PRODUTOS_FICHA_COR.ITEM IS NULL THEN B.ITEM ELSE PRODUTOS_FICHA_COR.ITEM END AS ITEM , CASE WHEN PRODUTOS_FICHA_COR.PRODUTO IS NULL THEN B.PRODUTO ELSE PRODUTOS_FICHA_COR.PRODUTO END AS PRODUTO, CASE WHEN PRODUTOS_FICHA_COR.COR_PRODUTO IS NULL THEN B.COR_PRODUTO ELSE PRODUTOS_FICHA_COR.COR_PRODUTO END AS COR_PRODUTO, CASE WHEN PRODUTOS_FICHA.DESC_USO_MATERIAL IS NULL THEN A.DESC_USO_MATERIAL ELSE PRODUTOS_FICHA.DESC_USO_MATERIAL END AS DESC_USO_MATERIAL, PRODUCAO_ORDEM_COR.QTDE_O*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS QTDE_O, PRODUCAO_ORDEM_COR.O1*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O1, PRODUCAO_ORDEM_COR.O2*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O2, PRODUCAO_ORDEM_COR.O3*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O3, PRODUCAO_ORDEM_COR.O4*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O4, PRODUCAO_ORDEM_COR.O5*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O5, PRODUCAO_ORDEM_COR.O6*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O6, PRODUCAO_ORDEM_COR.O7*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O7, PRODUCAO_ORDEM_COR.O8*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O8, PRODUCAO_ORDEM_COR.O9*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O9, PRODUCAO_ORDEM_COR.O10*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O10, PRODUCAO_ORDEM_COR.O11*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O11, PRODUCAO_ORDEM_COR.O12*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O12, PRODUCAO_ORDEM_COR.O13*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O13, PRODUCAO_ORDEM_COR.O14*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O14, PRODUCAO_ORDEM_COR.O15*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O15, PRODUCAO_ORDEM_COR.O16*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O16, PRODUCAO_ORDEM_COR.O17*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O17, PRODUCAO_ORDEM_COR.O18*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O18, PRODUCAO_ORDEM_COR.O19*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O19, PRODUCAO_ORDEM_COR.O20*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O20, PRODUCAO_ORDEM_COR.O21*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O21, PRODUCAO_ORDEM_COR.O22*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O22, PRODUCAO_ORDEM_COR.O23*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O23, PRODUCAO_ORDEM_COR.O24*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O24, PRODUCAO_ORDEM_COR.O25*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O25, PRODUCAO_ORDEM_COR.O26*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O26, PRODUCAO_ORDEM_COR.O27*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O27, PRODUCAO_ORDEM_COR.O28*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O28, PRODUCAO_ORDEM_COR.O29*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O29, PRODUCAO_ORDEM_COR.O30*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O30, PRODUCAO_ORDEM_COR.O31*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O31, PRODUCAO_ORDEM_COR.O32*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O32, PRODUCAO_ORDEM_COR.O33*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O33, PRODUCAO_ORDEM_COR.O34*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O34, PRODUCAO_ORDEM_COR.O35*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O35, PRODUCAO_ORDEM_COR.O36*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O36, PRODUCAO_ORDEM_COR.O37*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O37, PRODUCAO_ORDEM_COR.O38*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O38, PRODUCAO_ORDEM_COR.O39*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O39, PRODUCAO_ORDEM_COR.O40*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O40, PRODUCAO_ORDEM_COR.O41*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O41, PRODUCAO_ORDEM_COR.O42*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O42, PRODUCAO_ORDEM_COR.O43*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O43, PRODUCAO_ORDEM_COR.O44*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O44, PRODUCAO_ORDEM_COR.O45*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O45, PRODUCAO_ORDEM_COR.O46*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O46, PRODUCAO_ORDEM_COR.O47*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O47, PRODUCAO_ORDEM_COR.O48*CONVERT(NUMERIC(3,0),((CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END)/100)) AS O48, PRODUCAO_ORDEM_COR.PERDAS_NO_PROCESSO, PRODUCAO_ORDEM_COR.ALTERACAO_DE_PROGRAMACAO, MATERIAIS.UNID_ESTOQUE, MATERIAIS.FABRICANTE, MATERIAIS.TIPO, MATERIAIS.LARGURA, MATERIAIS.CTRL_PARTIDAS, MATERIAIS.CTRL_UNID_AUX, MATERIAIS.FATOR_CONVERSAO, MATERIAIS.UNID_FICHA_TEC, MATERIAIS.REF_FABRICANTE, MATERIAIS_CORES.REFER_FABRICANTE, MATERIAIS.GRUPO, MATERIAIS.SUBGRUPO, MATERIAIS.UNID_AUXILIAR, MATERIAIS.CTRL_PECAS, MATERIAIS.CTRL_PECAS_PARCIAL, MATERIAIS.FASE_PRODUCAO, MATERIAIS.SETOR_PRODUCAO, (CASE WHEN SUBSTITUICOES_MATERIAL.MATERIAL IS NULL THEN PRODUTOS_FICHA.MATERIAL_PRINCIPAL ELSE A.MATERIAL_PRINCIPAL END) AS MATERIAL_PRINCIPAL, (CASE WHEN SUBSTITUICOES_MATERIAL.MATERIAL IS NULL THEN PRODUTOS_FICHA.CONSUMO_P_TAMANHO ELSE A.CONSUMO_P_TAMANHO END) AS CONSUMO_P_TAMANHO, (CASE WHEN SUBSTITUICOES_MATERIAL.MATERIAL IS NULL THEN PRODUTOS_FICHA.C1 ELSE A.C1 END) AS C1, PRODUTOS.MODELAGEM, PRODUTOS.TABELA_MEDIDAS, PRODUTOS.DESC_PRODUTO, PRODUTOS.GRUPO_PRODUTO, PRODUTOS.SUBGRUPO_PRODUTO, PRODUTOS.GRADE, PRODUTOS.LINHA, PRODUTOS.GRIFFE, PRODUTOS.COLECAO, PRODUTOS.TIPO_PRODUTO, PRODUTOS.TABELA_OPERACOES FROM PRODUCAO_RESERVA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_RESERVA.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO INNER JOIN PRODUCAO_ORDEM_COR ON PRODUCAO_ORDEM.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO INNER JOIN MATERIAIS ON PRODUCAO_RESERVA.MATERIAL = MATERIAIS.MATERIAL INNER JOIN MATERIAIS_CORES ON PRODUCAO_RESERVA.MATERIAL = MATERIAIS_CORES.MATERIAL AND PRODUCAO_RESERVA.COR_MATERIAL = MATERIAIS_CORES.COR_MATERIAL INNER JOIN MATERIAIS_SUBGRUPO ON MATERIAIS.GRUPO = MATERIAIS_SUBGRUPO.GRUPO AND MATERIAIS.SUBGRUPO = MATERIAIS_SUBGRUPO.SUBGRUPO LEFT JOIN PRODUTOS_FICHA_COR ON PRODUTOS_FICHA_COR.MATERIAL = PRODUCAO_RESERVA.MATERIAL AND PRODUTOS_FICHA_COR.COR_MATERIAL = PRODUCAO_RESERVA.COR_MATERIAL AND PRODUTOS_FICHA_COR.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO AND PRODUTOS_FICHA_COR.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO INNER JOIN PRODUTOS ON PRODUTOS.PRODUTO = PRODUCAO_ORDEM.PRODUTO LEFT JOIN PRODUTOS_FICHA ON PRODUTOS_FICHA_COR.PRODUTO = PRODUTOS_FICHA.PRODUTO AND PRODUCAO_RESERVA.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.MATERIAL = PRODUTOS_FICHA.MATERIAL AND PRODUTOS_FICHA_COR.ITEM = PRODUTOS_FICHA.ITEM LEFT JOIN SUBSTITUICOES_MATERIAL ON SUBSTITUICOES_MATERIAL.COR_MATERIAL = PRODUCAO_RESERVA.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL = PRODUCAO_RESERVA.MATERIAL AND SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = PRODUCAO_RESERVA.COR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = PRODUCAO_RESERVA.MATERIAL_SUBSTITUIDO LEFT JOIN SUBSTITUICOES_MATERIAL_PRODUTO ON SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL = SUBSTITUICOES_MATERIAL.COR_MATERIAL AND SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL = SUBSTITUICOES_MATERIAL.MATERIAL AND SUBSTITUICOES_MATERIAL_PRODUTO.COR_MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO AND SUBSTITUICOES_MATERIAL_PRODUTO.MATERIAL_SUBSTITUIDO = SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO LEFT JOIN PRODUTOS_FICHA AS A ON SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = A.MATERIAL AND A.PRODUTO = PRODUCAO_ORDEM.PRODUTO LEFT JOIN PRODUTOS_FICHA_COR AS B ON SUBSTITUICOES_MATERIAL.COR_MATERIAL_SUBSTITUIDO = B.COR_MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = B.MATERIAL AND SUBSTITUICOES_MATERIAL.MATERIAL_SUBSTITUIDO = A.MATERIAL AND A.PRODUTO = B.PRODUTO AND A.MATERIAL = B.MATERIAL AND A.ITEM = B.ITEM AND B.PRODUTO = PRODUCAO_ORDEM_COR.PRODUTO AND B.COR_PRODUTO = PRODUCAO_ORDEM_COR.COR_PRODUTO AND PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_RESERVA.ORDEM_PRODUCAO WHERE ( MATERIAIS_SUBGRUPO.INDICA_CORTE >= 1 AND RESERVA_ORIGINAL>0 AND (CASE WHEN PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO IS NULL THEN B.PORCENTAGEM_CONSUMO ELSE PRODUTOS_FICHA_COR.PORCENTAGEM_CONSUMO END) >0 AND (CASE WHEN SUBSTITUICOES_MATERIAL.MATERIAL IS NULL THEN PRODUTOS_FICHA.C1 ELSE A.C1 END) IS NOT NULL) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_ALBARANES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_ALBARANES] AS SELECT FATURAMENTO.NF_SAIDA AS ALBARAN, FATURAMENTO.EMISSAO AS FECHA, RDX_FILIALES.CODBARRA AS CENTRO, FATURAMENTO.NOME_CLIFOR AS FILIAL, PRODUTOS_BARRA.CODIGO_BARRA, FATURAMENTO_PROD.PRODUTO AS CODIGO, PRODUCTO = PRODUTOS.DESC_PRODUTO, PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.GRADE AS TALLA, CANTIDAD = CASE PRODUTOS_BARRA.GRADE WHEN ''38'' THEN F1 WHEN ''40'' THEN F2 WHEN ''42'' THEN F3 WHEN ''44'' THEN F4 WHEN ''46'' THEN F5 WHEN ''48'' THEN F6 END, RDX_AJUSTES_ALBARAN.ESTADO, RDX_AJUSTES_ALBARAN.OBSERVACIONES, CONTABILIZAR = ISNULL(RDX_AJUSTES_ALBARAN.CONTABILIZAR, ''S'') FROM FATURAMENTO_PROD INNER JOIN FATURAMENTO ON ((FATURAMENTO.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA) AND (FATURAMENTO.SERIE_NF = FATURAMENTO_PROD.SERIE_NF)) INNER JOIN FATURAMENTO_TIPO ON (LTRIM(RTRIM(FATURAMENTO.TIPO_FATURAMENTO)) = FATURAMENTO_TIPO.TIPO_FATURAMENTO) LEFT OUTER JOIN FILIAIS ON (FILIAIS.FILIAL = FATURAMENTO.NOME_CLIFOR) LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODFILIAL = FILIAIS.COD_FILIAL) LEFT OUTER JOIN PRODUTOS_BARRA ON (((PRODUTOS_BARRA.PRODUTO = FATURAMENTO_PROD.PRODUTO) AND (PRODUTOS_BARRA.COR_PRODUTO = FATURAMENTO_PROD.COR_PRODUTO)) AND ((PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F1 <> 0) THEN ''38'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F2 <> 0) THEN ''40'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F3 <> 0) THEN ''42'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F4 <> 0) THEN ''44'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F5 <> 0) THEN ''46'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (FATURAMENTO_PROD.F6 <> 0) THEN ''48'' END))) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO) LEFT OUTER JOIN RDX_AJUSTES_ALBARAN ON (RDX_AJUSTES_ALBARAN.ALBARAN = FATURAMENTO.NF_SAIDA) WHERE FATURAMENTO_TIPO.INDICADOR_TIPO = ''VTPT'' /* ALBARANES DE PRODUCTOS TERMINADOS */ AND FATURAMENTO.NOME_CLIFOR LIKE ''%INGLES%'' /* ALBARANES PARA CENTROS DEL CORTE INGLES */ AND FATURAMENTO.EMISSAO >= convert(datetime, ''20060601'', 112) /* PARA NO COGER AÑOS ANTERIORES */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_CUSTO_MATERIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_CUSTO_MATERIAL] @DATA_CUSTO_MEDIO DATETIME, @DATA_PROCESSADO DATETIME, @RESPONSAVEL CHAR(25), @XFILIAL VARCHAR(25)=NULL, @XMATERIAL VARCHAR(11)=NULL, @XCOR_MATERIAL VARCHAR(10)=NULL, @PROCESSA NUMERIC(1)=NULL, @DATA_INI DATETIME = NULL, @UTILIZA_FRETE_SEGURO TINYINT = 1 AS DECLARE @DATA DATETIME, @CUSTO NUMERIC(15,5), @ordem char(1), @QTDE Numeric(10,3), @xCusto_Med NUMERIC(15,5), @xSaldo NUMERIC(15,5), @xSaldo_Ant NUMERIC(15,5), @xPri Numeric(1), @xValor_Med NUMERIC(15,5), @Ultimo_custo NUMERIC(15,5), @Ult_Saida DATETIME, @Data_Ult_Custo DATETIME, @Ult_Entrada DATETIME, @MES VARCHAR(255), @FILIAL VARCHAR(25), @MATERIAL VARCHAR(11), @COR_MATERIAL VARCHAR(10), @QTDE_ENTRADA Numeric(10,3), @QTDE_SAIDA Numeric(10,3), @QTDE_RETORNO Numeric(10,3), @QTDE_RETORNO_OF Numeric(10,3), @QTDE_AJUSTE Numeric(10,3), @ULTIMO_RETORNO DATETIME, @ULTIMO_RETORNO_OF DATETIME, @ULTIMO_AJUSTE DATETIME, @TIPO_MOVIMENTACAO CHAR(1), @XVALOR_TOT NUMERIC(15,5), @QTDE_TOT NUMERIC(10,3), @CUSTO_A_VISTA NUMERIC(15,5), @CUSTO_REPOSICAO NUMERIC(15,5), @MOEDA CHAR(6), @FATOR TINYINT SELECT @MOEDA = MOEDA FROM MOEDAS WHERE INDICA_PADRAO=1 --CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(CAMBIO_NA_DATA,1)),@FATOR))) SELECT @FATOR = ISNULL(CASE WHEN VALOR_ATUAL=''.T.'' THEN 1 ELSE -1 END,1) FROM PARAMETROS WHERE PARAMETRO=''CAMBIO_NA_MOEDA_PADRAO'' IF NOT EXISTS (SELECT * FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_ESTOQUE_MATERIAIS_HISTORICO'') AND SYSSTAT & 0XF = 3) BEGIN CREATE TABLE DBO.TMP_ESTOQUE_MATERIAIS_HISTORICO ( MATERIAL CHAR (11) NOT NULL , COR_MATERIAL CHAR (10) NOT NULL , DATA_CUSTO_MEDIO DATETIME NOT NULL , FILIAL VARCHAR (25) NOT NULL , RESPONSAVEL VARCHAR (25) NULL , DATA_PROCESSADO DATETIME NOT NULL , QTDE_ESTOQUE DECIMAL (10, 3) NULL , DATA_ULT_CUSTO DATETIME NULL , ULTIMO_CUSTO NUMERIC (15, 5) NULL , ULTIMO_CALCULADO NUMERIC (15, 5) NULL , MEDIO_CALCULADO NUMERIC (15, 5) NULL , CUSTO_MEDIO NUMERIC (15, 5) NULL , ULTIMA_SAIDA DATETIME NULL , ULTIMA_ENTRADA DATETIME NULL , INDICA_SAIDA_RETORNO BIT NOT NULL , QTDE_ENTRADA NUMERIC (9, 3) NULL , QTDE_SAIDA NUMERIC (9, 3) NULL , QTDE_RETORNO NUMERIC (9, 3) NULL , QTDE_RETORNO_OF NUMERIC (9, 3) NULL , QTDE_AJUSTE NUMERIC (9, 3) NULL , FECHAMENTO BIT NOT NULL , ULTIMO_RETORNO DATETIME NULL , ULTIMO_RETORNO_OF DATETIME NULL , ULTIMO_AJUSTE DATETIME NULL , CUSTO_APLICADO BIT NOT NULL , CUSTO_REPOSICAO NUMERIC (15, 5) NULL , CUSTO_A_VISTA NUMERIC (15, 5) NULL ) EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[CUSTO_A_VISTA]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[CUSTO_APLICADO]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[CUSTO_MEDIO]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[CUSTO_REPOSICAO]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[FECHAMENTO]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[INDICA_SAIDA_RETORNO]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[QTDE_ESTOQUE]'' EXEC SP_BINDEFAULT N''[DBO].[DEF_CHAR_1]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[RESPONSAVEL]'' EXEC SP_BINDEFAULT N''[DBO].[DEFAULT_0]'', N''[TMP_ESTOQUE_MATERIAIS_HISTORICO ].[ULTIMO_CUSTO]'' END If @XFILIAL is Null Begin Select @XFILIAL=''%'' End If @XMATERIAL is Null Begin Select @XMATERIAL=''%'' End If @XCOR_MATERIAL is Null Begin Select @XCOR_MATERIAL=''%'' End DECLARE TmpMaterial SCROLL CURSOR FOR SELECT Estoque_materiais.FILIAL, Estoque_materiais.MATERIAL, Estoque_materiais.COR_MATERIAL, (CASE WHEN VARIA_CUSTO_COR = 1 THEN CUSTO_REPOSICAO_COR ELSE W_materiais_cores.CUSTO_REPOSICAO END) AS CUSTO_REPOSICAO, W_materiais_cores.CUSTO_A_VISTA FROM ESTOQUE_MATERIAIS,W_materiais_cores where W_materiais_cores.MATERIAL = Estoque_materiais.MATERIAL AND Estoque_materiais.COR_MATERIAL = W_materiais_cores.COR_MATERIAL and Estoque_materiais.material like @xMaterial and Estoque_materiais.cor_material like @xCor_Material and filial like @xFilial ORDER BY Estoque_materiais.FILIAL,Estoque_materiais.MATERIAL,Estoque_materiais.COR_MATERIAL DELETE FROM tmp_Estoque_Materiais_Historico open TmpMaterial fetch next from TmpMaterial INTO @Filial,@Material,@Cor_Material,@CUSTO_REPOSICAO,@CUSTO_A_VISTA while @@fetch_status = 0 begin If @Processa = 0 DECLARE TmpCusto SCROLL CURSOR FOR SELECT ENTRADAS.RECEBIMENTO AS EMISSAO, ((ENTRADAS_MATERIAL.CUSTO-DESCONTO_ITEM)- (CASE WHEN ABATER_ICMS_NO_MEDIO = 1 THEN ((CUSTO-DESCONTO_ITEM)*((CASE WHEN ICMS_BASE<>0 THEN (ENTRADAS.ICMS_VALOR/(ICMS_BASE) )ELSE 0 END))) ELSE 0 END)+ (CASE WHEN ABATER_IPI_NO_MEDIO= 1 THEN 0.0000 ELSE ((CUSTO-DESCONTO_ITEM)*(ENTRADAS_MATERIAL.IPI/100.0000)) END)+ (CUSTO*((CASE WHEN @UTILIZA_FRETE_SEGURO = 1 AND VALOR_TOTAL <>0 THEN ((FRETE+SEGURO+ISNULL(VALOR_FRETE_TRANSPORTADORA,0))/VALOR_TOTAL) ELSE 0 END)))+ (CUSTO*((CASE WHEN VALOR_TOTAL-ENCARGO<>0 THEN (ENCARGO/(VALOR_TOTAL-ENCARGO)) ELSE 0 END )))- (CUSTO*((CASE WHEN VALOR_TOTAL-ENCARGO+DESCONTO <>0 THEN (DESCONTO/(VALOR_TOTAL-ENCARGO+DESCONTO)) ELSE 0 END )))) * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(ENTRADAS_MATERIAL.CAMBIO_NA_DATA,1)),@FATOR)) AS CUSTO, ''1'' AS ORDEM, ENTRADAS_MATERIAL.QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ENTRADAS, ENTRADAS_MATERIAL,MATERIAIS,CLASSIF_FISCAL WHERE ENTRADAS_MATERIAL.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND ENTRADAS_MATERIAL.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS_MATERIAL.MATERIAL = MATERIAIS.MATERIAL AND MATERIAIS.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL AND ENTRADAS_MATERIAL.MATERIAL = @MATERIAL AND ENTRADAS_MATERIAL.COR_MATERIAL = @COR_MATERIAL AND ENTRADAS.FILIAL = @FILIAL AND ENTRADAS.RECEBIMENTO <= @DATA_CUSTO_MEDIO UNION ALL -- SAIDAS SELECT ESTOQUE_SAI_MAT.EMISSAO, ESTOQUE_SAI1_MAT.CUSTO * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(CAMBIO_NA_DATA,1)),@FATOR)) AS CUSTO, ''3'' AS ORDEM,(-ESTOQUE_SAI1_MAT.QTDE) AS QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ESTOQUE_SAI1_MAT, ESTOQUE_SAI_MAT WHERE ESTOQUE_SAI_MAT.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND ESTOQUE_SAI_MAT.FILIAL = ESTOQUE_SAI1_MAT.FILIAL AND ESTOQUE_SAI1_MAT.MATERIAL = @MATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL = @COR_MATERIAL AND ESTOQUE_SAI1_MAT.FILIAL = @FILIAL AND ESTOQUE_SAI_MAT.EMISSAO <= @DATA_CUSTO_MEDIO UNION ALL --RETORNOS SELECT Estoque_RET_mat.EMISSAO, (CASE WHEN ISNULL(TIPO_MOVIMENTACAO,'' '') = ''C'' or ISNULL(TIPO_MOVIMENTACAO,'' '')='' '' THEN Estoque_RET1_mat.CUSTO_ULT_SAIDA ELSE CUSTO_SERVICO+CUSTO_MATERIAL_TERCEIRO+CUSTO_MATERIA_PRIMA END ) as custo, ''2'' as ordem, (Estoque_RET1_mat.QTDE) AS QTDE, ISNULL(TIPO_MOVIMENTACAO,'' '') FROM Estoque_RET1_mat, Estoque_RET_mat WHERE Estoque_RET_mat.REQ_MATERIAL = Estoque_RET1_mat.REQ_MATERIAL AND Estoque_RET_mat.FILIAL = Estoque_RET1_mat.FILIAL AND Estoque_RET1_mat.MATERIAL = @MATERIAL AND Estoque_RET1_mat.COR_MATERIAL = @COR_MATERIAL AND Estoque_RET1_mat.FILIAL = @FILIAL and Estoque_RET_mat.emissao <= @DATA_CUSTO_MEDIO UNION ALL --AJUSTES SELECT ESTOQUE_MAT_CONTAGEM.emissao, CONVERT(NUMERIC(20,3),0) AS CUSTO, ''5'' AS ORDEM,(ESTOQUE_MAT_CTG_ITENS.AJUSTE_ESTOQUE) AS QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ESTOQUE_MAT_CTG_ITENS ESTOQUE_MAT_CTG_ITENS, ESTOQUE_MAT_CONTAGEM ESTOQUE_MAT_CONTAGEM WHERE ESTOQUE_MAT_CONTAGEM.NOME_CONTAGEM = ESTOQUE_MAT_CTG_ITENS.NOME_CONTAGEM AND ESTOQUE_MAT_CTG_ITENS.MATERIAL = @MATERIAL AND ESTOQUE_MAT_CTG_ITENS.COR_MATERIAL = @COR_MATERIAL AND ESTOQUE_MAT_CONTAGEM.FILIAL = @FILIAL AND (AJUSTE_ESTOQUE <>0 OR AJUSTE_ESTOQUE_AUX<>0) AND ESTOQUE_MAT_CONTAGEM.EMISSAO <= @DATA_CUSTO_MEDIO UNION ALL --DEVOLUCOES SELECT FATURAMENTO.EMISSAO, FATURAM_DEV_MAT.CUSTO * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(CAMBIO_NA_DATA,1)),@FATOR)) AS CUSTO, ''4'' AS ORDEM, -(FATURAM_DEV_MAT.QTDE) AS QTDE, '' '' AS TIPO_MOVIMENTACAO FROM FATURAM_DEV_MAT, FATURAMENTO WHERE FATURAM_DEV_MAT.NF_SAIDA = FATURAMENTO.NF_SAIDA AND FATURAM_DEV_MAT.FILIAL = FATURAMENTO.FILIAL AND FATURAM_DEV_MAT.MATERIAL = @MATERIAL AND FATURAM_DEV_MAT.COR_MATERIAL = @COR_MATERIAL AND FATURAM_DEV_MAT.FILIAL = @FILIAL AND FATURAMENTO.EMISSAO <= @DATA_CUSTO_MEDIO ORDER BY EMISSAO,ordem ELSE DECLARE TmpCusto SCROLL CURSOR FOR SELECT ENTRADAS.RECEBIMENTO AS EMISSAO, (ENTRADAS_MATERIAL.CUSTO- (CASE WHEN ABATER_ICMS_NO_MEDIO = 1 THEN (CUSTO*((CASE WHEN ICMS_BASE<>0 THEN (ENTRADAS.ICMS_VALOR/(ICMS_BASE) )ELSE 0 END))) ELSE 0 END)+ (CASE WHEN ABATER_IPI_NO_MEDIO= 1 THEN 0.0000 ELSE (CUSTO*(ENTRADAS_MATERIAL.IPI/100.0000)) END)+ (CUSTO*((CASE WHEN @UTILIZA_FRETE_SEGURO = 1 AND VALOR_TOTAL <>0 THEN ((FRETE+SEGURO+ISNULL(VALOR_FRETE_TRANSPORTADORA,0))/VALOR_TOTAL) ELSE 0 END)))+ (CUSTO*((CASE WHEN VALOR_TOTAL-ENCARGO<>0 THEN (ENCARGO/(VALOR_TOTAL-ENCARGO)) ELSE 0 END )))- (CUSTO*((CASE WHEN VALOR_TOTAL-ENCARGO+DESCONTO <>0 THEN (DESCONTO/(VALOR_TOTAL-ENCARGO+DESCONTO)) ELSE 0 END )))) * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(ENTRADAS_MATERIAL.CAMBIO_NA_DATA,1)),@FATOR)) AS CUSTO, ''1'' AS ORDEM, ENTRADAS_MATERIAL.QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ENTRADAS, ENTRADAS_MATERIAL,MATERIAIS,CLASSIF_FISCAL WHERE ENTRADAS_MATERIAL.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND ENTRADAS_MATERIAL.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS_MATERIAL.MATERIAL = MATERIAIS.MATERIAL AND MATERIAIS.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL AND ENTRADAS_MATERIAL.MATERIAL = @MATERIAL AND ENTRADAS_MATERIAL.COR_MATERIAL = @COR_MATERIAL AND ENTRADAS.FILIAL = @FILIAL AND ENTRADAS.RECEBIMENTO > @DATA_INI AND ENTRADAS.RECEBIMENTO <= @DATA_CUSTO_MEDIO UNION ALL -- SAIDAS SELECT ESTOQUE_SAI_MAT.EMISSAO, ESTOQUE_SAI1_MAT.CUSTO * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(CAMBIO_NA_DATA,1)),@FATOR)) AS CUSTO, ''3'' AS ORDEM,(-ESTOQUE_SAI1_MAT.QTDE) AS QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ESTOQUE_SAI1_MAT, ESTOQUE_SAI_MAT WHERE ESTOQUE_SAI_MAT.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND ESTOQUE_SAI_MAT.FILIAL = ESTOQUE_SAI1_MAT.FILIAL AND ESTOQUE_SAI1_MAT.MATERIAL = @MATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL = @COR_MATERIAL AND ESTOQUE_SAI1_MAT.FILIAL = @FILIAL AND ESTOQUE_SAI_MAT.EMISSAO > @DATA_INI AND ESTOQUE_SAI_MAT.EMISSAO <= @DATA_CUSTO_MEDIO UNION ALL --RETORNOS SELECT Estoque_RET_mat.EMISSAO, (CASE WHEN ISNULL(TIPO_MOVIMENTACAO,'' '') = ''C'' or ISNULL(TIPO_MOVIMENTACAO,'' '')='' '' THEN Estoque_RET1_mat.CUSTO_ULT_SAIDA ELSE (CUSTO_SERVICO+CUSTO_MATERIAL_TERCEIRO+CUSTO_MATERIA_PRIMA) END ) as custo, ''2'' as ordem, (Estoque_RET1_mat.QTDE) AS QTDE, ISNULL(TIPO_MOVIMENTACAO,'' '') FROM Estoque_RET1_mat, Estoque_RET_mat WHERE Estoque_RET_mat.REQ_MATERIAL = Estoque_RET1_mat.REQ_MATERIAL AND Estoque_RET_mat.FILIAL = Estoque_RET1_mat.FILIAL AND Estoque_RET1_mat.MATERIAL = @MATERIAL AND Estoque_RET1_mat.COR_MATERIAL = @COR_MATERIAL AND Estoque_RET1_mat.FILIAL = @FILIAL and Estoque_RET_mat.emissao > @DATA_Ini and Estoque_RET_mat.emissao <= @DATA_CUSTO_MEDIO UNION ALL --AJUSTES SELECT Estoque_mat_contagem.data_ajuste, convert(numeric(20,3),0) as custo, ''5'' as ordem,(Estoque_mat_ctg_itens.ajuste_estoque) AS QTDE, '' '' AS TIPO_MOVIMENTACAO FROM ESTOQUE_MAT_CTG_ITENS Estoque_mat_ctg_itens, Estoque_mat_contagem Estoque_mat_contagem WHERE Estoque_mat_contagem.nome_contagem = Estoque_mat_ctg_itens.nome_contagem AND Estoque_mat_ctg_itens.MATERIAL = @MATERIAL AND Estoque_mat_ctg_itens.COR_MATERIAL = @COR_MATERIAL AND Estoque_mat_contagem.FILIAL = @FILIAL and (ajuste_estoque <>0 or ajuste_estoque_aUX<>0) and Estoque_mat_contagem.emissao > @DATA_Ini and Estoque_mat_contagem.emissao <= @DATA_CUSTO_MEDIO UNION ALL --DEVOLUCOES SELECT faturamento.emissao, faturam_dev_mat.CUSTO * CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,ISNULL(CAMBIO_NA_DATA,1)),@FATOR)) as custo, ''4'' as ordem, -(faturam_dev_mat.qtde) as qtde, '' '' AS TIPO_MOVIMENTACAO from faturam_dev_mat, faturamento where faturam_dev_mat.nf_saida = faturamento.nf_saida and faturam_dev_mat.filial = faturamento.filial and faturam_dev_mat.material = @MATERIAL and faturam_dev_mat.cor_material = @COR_MATERIAL and faturam_dev_mat.filial = @FILIAL and faturamento.emissao > @DATA_Ini and faturamento.emissao <= @DATA_CUSTO_MEDIO ORDER BY EMISSAO,ordem OPEN TMPCUSTO SET NOCOUNT ON FETCH NEXT FROM TMPCUSTO INTO @DATA,@CUSTO,@ORDEM,@QTDE,@TIPO_MOVIMENTACAO SELECT @XSALDO = 0, @XSALDO_ANT = 0,@XPRI = 0,@ULTIMO_CUSTO = 0,@ULT_ENTRADA =0, @DATA_ULT_CUSTO=0,@ULT_SAIDA =0,@QTDE_ENTRADA = 0,@QTDE_RETORNO = 0,@ULTIMO_RETORNO=0, @QTDE_SAIDA = 0,@QTDE_RETORNO_OF = 0,@ULTIMO_RETORNO_OF=0,@QTDE_AJUSTE = 0,@ULTIMO_AJUSTE=0, @QTDE_TOT = 0, @XVALOR_TOT=0 IF @PROCESSA = 1 BEGIN SELECT @XCUSTO_MED = CUSTO_MEDIO ,@XSALDO = QTDE_ESTOQUE, @XSALDO_ANT = CUSTO_MEDIO*QTDE_ESTOQUE, @XPRI = 1,@ULTIMO_CUSTO = ULTIMO_CUSTO,@ULT_ENTRADA =ULTIMA_ENTRADA, @DATA_ULT_CUSTO=DATA_ULT_CUSTO,@ULT_SAIDA =ULTIMA_SAIDA, @QTDE_TOT = QTDE_ESTOQUE , @XVALOR_TOT=CUSTO_MEDIO*QTDE_ESTOQUE FROM ESTOQUE_MATERIAIS_HISTORICO WHERE FILIAL LIKE @FILIAL AND MATERIAL LIKE @MATERIAL AND COR_MATERIAL LIKE @COR_MATERIAL AND DATA_CUSTO_MEDIO =@DATA_INI END SELECT @ULT_ENTRADA = ENTRADAS.RECEBIMENTO, @ULTIMO_CUSTO = ENTRADAS_MATERIAL.CUSTO FROM ENTRADAS, ENTRADAS_MATERIAL,MATERIAIS,CLASSIF_FISCAL WHERE ENTRADAS_MATERIAL.NOME_CLIFOR = ENTRADAS.NOME_CLIFOR AND ENTRADAS_MATERIAL.NF_ENTRADA = ENTRADAS.NF_ENTRADA AND ENTRADAS_MATERIAL.MATERIAL = MATERIAIS.MATERIAL AND MATERIAIS.CLASSIF_FISCAL = CLASSIF_FISCAL.CLASSIF_FISCAL AND ENTRADAS_MATERIAL.MATERIAL = @MATERIAL AND ENTRADAS_MATERIAL.COR_MATERIAL = @COR_MATERIAL AND ENTRADAS.FILIAL = @FILIAL ORDER BY ENTRADAS.RECEBIMENTO ASC SELECT @ULT_SAIDA = ESTOQUE_SAI_MAT.EMISSAO FROM ESTOQUE_SAI1_MAT, ESTOQUE_SAI_MAT WHERE ESTOQUE_SAI_MAT.REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND ESTOQUE_SAI_MAT.FILIAL = ESTOQUE_SAI1_MAT.FILIAL AND ESTOQUE_SAI1_MAT.MATERIAL = @MATERIAL AND ESTOQUE_SAI1_MAT.COR_MATERIAL = @COR_MATERIAL AND ESTOQUE_SAI1_MAT.FILIAL = @FILIAL ORDER BY ESTOQUE_SAI_MAT.EMISSAO ASC WHILE @@FETCH_STATUS = 0 BEGIN SELECT @XSALDO = @XSALDO+ISNULL(@QTDE,0) IF @ORDEM = ''1'' BEGIN SELECT @XVALOR_TOT= @XVALOR_TOT+ (ISNULL(@QTDE,0)*ISNULL(@CUSTO,0)) SELECT @QTDE_TOT= @QTDE_TOT+ ISNULL(@QTDE,0) END IF @ORDEM = ''3'' BEGIN SELECT @ULT_SAIDA = @DATA END SELECT @XSALDO_ANT= @XVALOR_MED SELECT @QTDE_ENTRADA = @QTDE WHERE @ORDEM = ''1'' SELECT @QTDE_RETORNO = @QTDE,@ULTIMO_RETORNO=@DATA WHERE @ORDEM = ''2''AND @TIPO_MOVIMENTACAO <> ''C'' SELECT @QTDE_SAIDA = @QTDE WHERE @ORDEM = ''3'' SELECT @QTDE_RETORNO_OF = @QTDE,@ULTIMO_RETORNO_OF=@DATA WHERE @ORDEM = ''2'' AND @TIPO_MOVIMENTACAO = ''C'' SELECT @QTDE_AJUSTE = @QTDE,@ULTIMO_AJUSTE=@DATA WHERE @ORDEM = ''5'' FETCH NEXT FROM TMPCUSTO INTO @DATA,@CUSTO,@ORDEM,@QTDE,@TIPO_MOVIMENTACAO END SELECT @XCUSTO_MED= CASE WHEN @QTDE_TOT= 0 THEN 0 ELSE @XVALOR_TOT/@QTDE_TOT END SET NOCOUNT OFF CLOSE TMPCUSTO DEALLOCATE TMPCUSTO IF (SELECT COUNT(*) FROM TMP_ESTOQUE_MATERIAIS_HISTORICO WHERE MATERIAL=@MATERIAL AND COR_MATERIAL=@COR_MATERIAL AND DATA_CUSTO_MEDIO= @DATA_CUSTO_MEDIO AND FILIAL=@FILIAL)>0 UPDATE TMP_ESTOQUE_MATERIAIS_HISTORICO SET MATERIAL = @MATERIAL , COR_MATERIAL = @COR_MATERIAL, DATA_CUSTO_MEDIO = @DATA_CUSTO_MEDIO , FILIAL = @FILIAL , QTDE_ESTOQUE = @XSALDO, DATA_ULT_CUSTO = @DATA, ULTIMO_CUSTO = @ULTIMO_CUSTO, ULTIMO_CALCULADO = @ULTIMO_CUSTO, MEDIO_CALCULADO = @XCUSTO_MED, CUSTO_MEDIO = @XCUSTO_MED, ULTIMA_SAIDA = @ULT_SAIDA, ULTIMA_ENTRADA = @ULT_ENTRADA, DATA_PROCESSADO = @DATA_PROCESSADO, RESPONSAVEL = @RESPONSAVEL, QTDE_ENTRADA = @QTDE_ENTRADA, QTDE_SAIDA = @QTDE_SAIDA, QTDE_RETORNO = @QTDE_RETORNO, QTDE_RETORNO_OF = @QTDE_RETORNO_OF, QTDE_AJUSTE = @QTDE_AJUSTE, ULTIMO_RETORNO = @ULTIMO_RETORNO, ULTIMO_RETORNO_OF = @ULTIMO_RETORNO_OF, ULTIMO_AJUSTE = @ULTIMO_AJUSTE, CUSTO_REPOSICAO = @CUSTO_REPOSICAO, CUSTO_A_VISTA = @CUSTO_A_VISTA WHERE MATERIAL=@MATERIAL AND COR_MATERIAL=@COR_MATERIAL AND DATA_CUSTO_MEDIO= @DATA_CUSTO_MEDIO AND FILIAL=@FILIAL ELSE INSERT TMP_ESTOQUE_MATERIAIS_HISTORICO (MATERIAL,COR_MATERIAL,DATA_CUSTO_MEDIO,FILIAL,QTDE_ESTOQUE, DATA_ULT_CUSTO,ULTIMO_CUSTO,ULTIMO_CALCULADO,MEDIO_CALCULADO, CUSTO_MEDIO,ULTIMA_SAIDA,ULTIMA_ENTRADA,INDICA_SAIDA_RETORNO,DATA_PROCESSADO,RESPONSAVEL, QTDE_ENTRADA,QTDE_SAIDA,QTDE_RETORNO,QTDE_RETORNO_OF, QTDE_AJUSTE,ULTIMO_RETORNO,ULTIMO_RETORNO_OF,ULTIMO_AJUSTE,CUSTO_REPOSICAO,CUSTO_A_VISTA) VALUES (@MATERIAL,@COR_MATERIAL,@DATA_CUSTO_MEDIO,@FILIAL, @XSALDO,@DATA,@ULTIMO_CUSTO,@ULTIMO_CUSTO,@XCUSTO_MED,@XCUSTO_MED, @ULT_SAIDA,@ULT_ENTRADA,0,@DATA_PROCESSADO,@RESPONSAVEL, @QTDE_ENTRADA,@QTDE_SAIDA,@QTDE_RETORNO,@QTDE_RETORNO_OF, @QTDE_AJUSTE,@ULTIMO_RETORNO,@ULTIMO_RETORNO_OF,@ULTIMO_AJUSTE,@CUSTO_REPOSICAO,@CUSTO_A_VISTA) FETCH NEXT FROM TMPMATERIAL INTO @FILIAL,@MATERIAL,@COR_MATERIAL,@CUSTO_REPOSICAO,@CUSTO_A_VISTA end close TmpMaterial deallocate TmpMaterial ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[WCB_DATAS_FILIAIS_PORCENTAGEM]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [WCB_DATAS_FILIAIS_PORCENTAGEM] AS SELECT A.DATA,B.FILIAL, PORCENTAGEM_MES454 = ISNULL(C.PORCENTAGEM_MES454, 1.*(100-ISNULL(D.PORCENTAGEM,0))*ISNULL(A.PORCENTAGEM_MES454,0) /100), PORCENTAGEM_SEMANA454 = ISNULL(C.PORCENTAGEM_SEMANA454, 1.*(100-ISNULL(E.PORCENTAGEM,0))*ISNULL(A.PORCENTAGEM_SEMANA454,0) /100), PORCENTAGEM_MES = ISNULL(C.PORCENTAGEM_MES, 1.*(100-ISNULL(F.PORCENTAGEM,0))*ISNULL(A.PORCENTAGEM_MES,0) /100), PORCENTAGEM_SEMANA = ISNULL(C.PORCENTAGEM_SEMANA, 1.*(100-ISNULL(G.PORCENTAGEM,0))*ISNULL(A.PORCENTAGEM_SEMANA,0) /100) FROM DATAS A CROSS JOIN LOJAS_VAREJO B LEFT JOIN DATAS_FILIAIS C ON C.DATA=A.DATA AND C.FILIAL=B.FILIAL LEFT JOIN (SELECT X.FILIAL,Y.ANO454,Y.MES454,SUM(X.PORCENTAGEM_MES454-Y.PORCENTAGEM_MES454) AS PORCENTAGEM FROM DATAS_FILIAIS X JOIN DATAS Y ON X.DATA=Y.DATA GROUP BY X.FILIAL,Y.ANO454,Y.MES454 ) D ON D.FILIAL=B.FILIAL AND D.ANO454=A.ANO454 AND D.MES454=A.MES454 LEFT JOIN (SELECT X.FILIAL,Y.ANO454,Y.SEMANA454,SUM(X.PORCENTAGEM_SEMANA454-Y.PORCENTAGEM_SEMANA454) AS PORCENTAGEM FROM DATAS_FILIAIS X JOIN DATAS Y ON X.DATA=Y.DATA GROUP BY X.FILIAL,Y.ANO454,Y.SEMANA454 ) E ON E.FILIAL=B.FILIAL AND E.ANO454=A.ANO454 AND E.SEMANA454=A.SEMANA454 LEFT JOIN (SELECT X.FILIAL,Y.ANO454,DATEPART(MONTH,Y.DATA) AS MES,SUM(X.PORCENTAGEM_MES-Y.PORCENTAGEM_MES) AS PORCENTAGEM FROM DATAS_FILIAIS X JOIN DATAS Y ON X.DATA=Y.DATA GROUP BY X.FILIAL,Y.ANO454,DATEPART(MONTH,Y.DATA) ) F ON F.FILIAL=B.FILIAL AND F.ANO454=A.ANO454 AND F.MES=DATEPART(MONTH,A.DATA) LEFT JOIN (SELECT X.FILIAL,Y.ANO454,DATEPART(WEEK,Y.DATA) AS SEMANA,SUM(X.PORCENTAGEM_SEMANA-Y.PORCENTAGEM_SEMANA) AS PORCENTAGEM FROM DATAS_FILIAIS X JOIN DATAS Y ON X.DATA=Y.DATA GROUP BY X.FILIAL,Y.ANO454,DATEPART(WEEK,Y.DATA) ) G ON G.FILIAL=B.FILIAL AND G.ANO454=A.ANO454 AND G.SEMANA=DATEPART(WEEK,A.DATA)' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_CONTROL_RECEPCION] AS SELECT APROBADO = ISNULL(RDX_RECEPCION_AJUSTES.APROBADO, ''N''), RDX_RECEPCION_AJUSTES.FECHACAMBIO, RDX_V_RECEPCION.CENTRO, RDX_V_RECEPCION.FILIAL, RDX_V_RECEPCION.CODIGO, RDX_V_RECEPCION.PRODUCTO, RDX_V_RECEPCION.COLOR, RDX_V_RECEPCION.FECHA, /* ALBARAN Y ESTADO */ RDX_V_RECEPCION.ALBARAN, RDX_V_RECEPCION.ESTADO_ALBARAN, RDX_V_RECEPCION.OBSERVACIONES_ALBARAN, RDX_V_RECEPCION.CONTABILIZAR_ALBARAN, /* CANTIDADES ENVIADAS DESDE VARELA */ E38, E40, E42, E44, E46, E48, RDX_V_RECEPCION.ENVIADO, /* CANTIDADES RECIBIDAS EN EL CENTRO*/ R38, R40, R42, R44, R46, R48, RDX_V_RECEPCION.RECIBIDO, /* CANTIDADES RECIBIDAS RECTIFICADAS */ RR38 = ISNULL(RDX_RECEPCION_AJUSTES.CANT38, R38), RR40 = ISNULL(RDX_RECEPCION_AJUSTES.CANT40, R40), RR42 = ISNULL(RDX_RECEPCION_AJUSTES.CANT42, R42), RR44 = ISNULL(RDX_RECEPCION_AJUSTES.CANT44, R44), RR46 = ISNULL(RDX_RECEPCION_AJUSTES.CANT46, R46), RR48 = ISNULL(RDX_RECEPCION_AJUSTES.CANT48, R48), RECIBIDO_RECT = ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(R38, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT40, ISNULL(R40, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(R42, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT44, ISNULL(R44, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT46, ISNULL(R46, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT48, ISNULL(R48, 0)), DIFERENCIA = ( ISNULL(RDX_RECEPCION_AJUSTES.CANT38, ISNULL(R38, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT40, ISNULL(R40, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT42, ISNULL(R42, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT44, ISNULL(R44, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT46, ISNULL(R46, 0)) + ISNULL(RDX_RECEPCION_AJUSTES.CANT48, ISNULL(R48, 0)) ) - ENVIADO FROM RDX_V_RECEPCION LEFT OUTER JOIN RDX_RECEPCION_AJUSTES ON ((RDX_RECEPCION_AJUSTES.FECHA = RDX_V_RECEPCION.FECHA) AND (RDX_RECEPCION_AJUSTES.CENTRO = RDX_V_RECEPCION.CENTRO) AND (RDX_RECEPCION_AJUSTES.CODIGO = RDX_V_RECEPCION.CODIGO) AND (RDX_RECEPCION_AJUSTES.COLOR = RDX_V_RECEPCION.COLOR)) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_GUIA_PROD_IMP]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE view [FATURAMENTO_GUIA_PROD_IMP] AS select a.nf_saida, a.filial, a.serie_nf, a.item_impressao, a.codigo_item, a.descricao_item, a.qtde_item, a.preco_unitario, a.valor_item, a.desconto_item, a.classif_fiscal, c.produto, c.cor_produto, d.desc_produto, d.grade, d.composicao,e.desc_cor_produto, f.desc_composicao, SUM(F1) as F1,SUM(F2) as F2,SUM(F3) as F3,SUM(F4) as F4,SUM(F5) as F5,SUM(F6) as F6, SUM(F7) as F7,SUM(F8) as F8,SUM(F9) as F9,SUM(F10) as F10,SUM(F11) as F11,SUM(F12) as F12, SUM(F13) as F13,SUM(F14) as F14,SUM(F15) as F15,SUM(F16) as F16,SUM(F17) as F17,SUM(F18) as F18, SUM(F19) as F19,SUM(F20) as F20,SUM(F21) as F21,SUM(F22) as F22,SUM(F23) as F23,SUM(F24) as F24, SUM(F25) as F25,SUM(F26) as F26,SUM(F27) as F27,SUM(F28) as F28,SUM(F29) as F29,SUM(F30) as F30, SUM(F31) as F31,SUM(F32) as F32,SUM(F33) as F33,SUM(F34) as F34,SUM(F35) as F35,SUM(F36) as F36, SUM(F37) as F37,SUM(F38) as F38,SUM(F39) as F39,SUM(F40) as F40,SUM(F41) as F41,SUM(F42) as F42, SUM(F43) as F43,SUM(F44) as F44,SUM(F45) as F45,SUM(F46) as F46,SUM(F47) as F47,SUM(F48) as F48 from faturamento_item a join faturamento b on a.nf_saida=b.fatura_numero and a.filial=b.fatura_filial and a.serie_nf=b.fatura_serie join faturamento_prod c on b.nf_saida=c.nf_saida and b.filial=c.filial and b.serie_nf=c.serie_nf join produtos d on c.produto=d.produto join produto_cores e on c.produto=e.produto and c.cor_produto=e.cor_produto left join materiais_composicao f on d.composicao=f.composicao where a.item_impressao=c.item_impressao_fatura group by a.nf_saida, a.filial, a.serie_nf, a.item_impressao, a.codigo_item, a.descricao_item, a.qtde_item, a.preco_unitario, a.valor_item, a.desconto_item, a.classif_fiscal, c.produto, c.cor_produto, d.desc_produto, d.grade, d.composicao, e.desc_cor_produto, f.desc_composicao ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_Estoque_Similares]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_Estoque_Similares] (FILIAL, SIMILAR, ST, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23, S24, S25, S26, S27, S28, S29, S30, S31, S32, S33, S34, S35, S36, S37, S38, S39, S40, S41, S42, S43, S44, S45, S46, S47, S48) AS SELECT ESTOQUE_PRODUTOS.FILIAL, PRODUTO_CORES.SIMILAR, SUM(Estoque), SUM(ES1), SUM(ES2), SUM(ES3), SUM(ES4), SUM(ES5), SUM(ES6), SUM(ES7), SUM(ES8), SUM(ES9), SUM(ES10), SUM(ES11), SUM(ES12), SUM(ES13), SUM(ES14), SUM(ES15), SUM(ES16), SUM(ES17), SUM(ES18), SUM(ES19), SUM(ES20), SUM(ES21), SUM(ES22), SUM(ES23), SUM(ES24), SUM(ES25), SUM(ES26), SUM(ES27), SUM(ES28), SUM(ES29), SUM(ES30), SUM(ES31), SUM(ES32), SUM(ES33), SUM(ES34), SUM(ES35), SUM(ES36), SUM(ES37), SUM(ES38), SUM(ES39), SUM(ES40), SUM(ES41), SUM(ES42), SUM(ES43), SUM(ES44), SUM(ES45), SUM(ES46), SUM(ES47), SUM(ES48) FROM ESTOQUE_PRODUTOS, PRODUTO_CORES WHERE Estoque_Produtos.Produto = Produto_Cores.Produto AND Estoque_Produtos.Cor_Produto = Produto_Cores.Cor_Produto GROUP BY Filial, Similar ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_LOJA_ESTOQUE_GIRO_COR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_LOJA_ESTOQUE_GIRO_COR] AS SELECT ESTOQUE_PRODUTOS.FILIAL, ESTOQUE_PRODUTOS.PRODUTO, ESTOQUE_PRODUTOS.COR_PRODUTO, ESTOQUE_PRODUTOS.ESTOQUE, ESTOQUE_PRODUTOS.ULTIMA_ENTRADA, ESTOQUE_PRODUTOS.ULTIMA_SAIDA, PRODUTOS.DESC_PRODUTO, PRODUTOS.GRUPO_PRODUTO, PRODUTOS.SUBGRUPO_PRODUTO, PRODUTOS.COLECAO, PRODUTOS.GRIFFE, PRODUTOS.FABRICANTE, PRODUTOS.TIPO_PRODUTO, PRODUTO_CORES.DESC_COR_PRODUTO, PRODUTOS.LINHA, PRODUTOS.PERIODO_PCP, PRODUTOS.GRADE, CONVERT(NUMERIC(8),0) AS QTDE_ENTRADA, CONVERT(NUMERIC(8),0) AS QTDE_SAIDA, CONVERT(NUMERIC(14,2),0) AS VALOR_CUSTO_TROCA, CONVERT(NUMERIC(14,2),0) AS VALOR_TROCA, CONVERT(NUMERIC(8),0) AS QTDE_TROCA, CONVERT(NUMERIC(14,2),0) AS VALOR_MEDIO_DIA, CONVERT(NUMERIC(14,2),0) AS LUCRO_BRUTO, CONVERT(NUMERIC(14,2),0) AS PRECO_MEDIO, CONVERT(NUMERIC(8,2),0) AS PORC_MARGEM_BRUTA, CONVERT(NUMERIC(8,2),0) AS PORC_VALOR_TOTAL, CONVERT(NUMERIC(8,2),0) AS PORC_QTDE_TOTAL, CONVERT(NUMERIC(8),0) AS TEMPO_ESTOQUE, CONVERT(NUMERIC(9,2),0) AS QTDE_MEDIA_DIA, CONVERT(NUMERIC(9,2),0) AS META_DIARIA_GIRO, CONVERT(NUMERIC(8,2),0) AS PORC_META_MEDIA, CONVERT(NUMERIC(9,0),0) AS QTDE_LIQUIDA, CONVERT(NUMERIC(11,2),0) AS VALOR_DESC_TROCA, LOJA_VENDA_PRODUTO.DATA_VENDA, ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0) AS QTDE_VENDA, ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0)* ISNULL(LOJA_VENDA_PRODUTO.CUSTO, 0) AS VALOR_CUSTO, ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0)* ISNULL(LOJA_VENDA_PRODUTO.PRECO_LIQUIDO, 0) AS VALOR_VENDA, ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0)* ISNULL(LOJA_VENDA_PRODUTO.PRECO_LIQUIDO, 0) * ISNULL(LOJA_VENDA_PRODUTO.FATOR_DESCONTO_VENDA, 0) AS TOTAL_DESCONTO, (ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0)* ISNULL(LOJA_VENDA_PRODUTO.PRECO_LIQUIDO, 0))-(ISNULL(LOJA_VENDA_PRODUTO.QTDE, 0)*ISNULL(LOJA_VENDA_PRODUTO.PRECO_LIQUIDO, 0) * ISNULL(LOJA_VENDA_PRODUTO.FATOR_DESCONTO_VENDA, 0)) AS PRECO_LIQUIDO, C.NUMERO_CUPOM_FISCAL FROM ESTOQUE_PRODUTOS ESTOQUE_PRODUTOS INNER JOIN PRODUTOS PRODUTOS ON ESTOQUE_PRODUTOS.PRODUTO = PRODUTOS.PRODUTO INNER JOIN PRODUTO_CORES PRODUTO_CORES ON ESTOQUE_PRODUTOS.PRODUTO = PRODUTO_CORES.PRODUTO AND ESTOQUE_PRODUTOS.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO INNER JOIN LOJAS_VAREJO LOJAS_VAREJO ON LOJAS_VAREJO.FILIAL = ESTOQUE_PRODUTOS.FILIAL LEFT JOIN LOJA_VENDA_PRODUTO LOJA_VENDA_PRODUTO ON LOJA_VENDA_PRODUTO.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO AND LOJA_VENDA_PRODUTO.COR_PRODUTO = ESTOQUE_PRODUTOS.COR_PRODUTO and lojas_varejo.codigo_filial = loja_venda_produto.codigo_filial LEFT JOIN LOJA_VENDA B ON LOJA_VENDA_PRODUTO.CODIGO_FILIAL = B.CODIGO_FILIAL AND LOJA_VENDA_PRODUTO.TICKET = B.TICKET AND LOJA_VENDA_PRODUTO.DATA_VENDA = B.DATA_VENDA LEFT JOIN LOJA_VENDA_PGTO C ON B.CODIGO_FILIAL_PGTO = C.CODIGO_FILIAL AND B.TERMINAL_PGTO = C.TERMINAL AND B.LANCAMENTO_CAIXA = C.LANCAMENTO_CAIXA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PRODUTO_VALORIZADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PRODUTO_VALORIZADO] (PRODUTO, FILIAL, ESTOQUE, ESTOQUE_VALORIZADO) AS SELECT ESTOQUE_PRODUTOS.PRODUTO, ESTOQUE_PRODUTOS.FILIAL, sum(estoque), isnull(sum(estoque*custo_reposicao1), 0) FROM ESTOQUE_PRODUTOS, PRODUTO_CORES WHERE estoque_produtos.produto = produto_cores.produto AND estoque_produtos.COR_produto = produto_cores.COR_produto GROUP BY filial, estoque_produtos.produto, produto_cores.produto ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_COPIA_PRODUTO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_COPIA_PRODUTO] @prod_origem CHAR(12), @prod_destino CHAR(12), @XRESULT BIT OUTPUT AS declare @griffe char(25) set @griffe = ( select top 1 griffe from produtos_griffes where left(griffe,2) = substring(@prod_destino,3,2) ) set @XRESULT = 1 IF (select count(*) from produtos where produto=@prod_origem)<>1 or (select count(*) from produtos where produto=@prod_destino)<> 0 return insert into produtos (PRODUTO,CODIGO_PRECO,MATERIAL,PERIODO_PCP,TABELA_OPERACOES,FATOR_OPERACOES,CLASSIF_FISCAL, TIPO_PRODUTO,TABELA_MEDIDAS,DESC_PRODUTO,GRUPO_PRODUTO,SUBGRUPO_PRODUTO,COLECAO,GRADE,DESC_PROD_NF,LINHA, GRIFFE,CARTELA,UNIDADE,PESO,REVENDA,REFER_FABRICANTE,MODELAGEM,SORTIMENTO_COR,FABRICANTE,SORTIMENTO_TAMANHO, VARIA_PRECO_COR,VARIA_PRECO_TAM,PONTEIRO_PRECO_TAM,VARIA_CUSTO_COR,PERTENCE_A_CONJUNTO,TRIBUT_ICMS, TRIBUT_ORIGEM,VARIA_CUSTO_TAM,CUSTO_REPOSICAO1,CUSTO_REPOSICAO2,CUSTO_REPOSICAO3,CUSTO_REPOSICAO4, DATA_REPOSICAO,ESTILISTA,MODELISTA,TAMANHO_BASE,GIRO_ENTREGA,INATIVO,ENVIA_LOJA_VAREJO,ENVIA_LOJA_ATACADO, ENVIA_REPRESENTANTE,ENVIA_VAREJO_INTERNET,ENVIA_ATACADO_INTERNET,MODELO,REDE_LOJAS,DATA_PARA_TRANSFERENCIA, FABRICANTE_ICMS_ABATER,FABRICANTE_PRAZO_PGTO,TAXA_JUROS_DEFLACIONAR,TAXAS_IMPOSTOS_APLICAR,PRECO_REPOSICAO_1, PRECO_REPOSICAO_2,PRECO_REPOSICAO_3,PRECO_REPOSICAO_4,PRECO_A_VISTA_REPOSICAO_1,PRECO_A_VISTA_REPOSICAO_2, PRECO_A_VISTA_REPOSICAO_3,PRECO_A_VISTA_REPOSICAO_4,FABRICANTE_FRETE,DROP_DE_TAMANHOS,DATA_CADASTRAMENTO, STATUS_PRODUTO,TIPO_STATUS_PRODUTO,OBS,CONTA_CONTABIL,CLIENTE_DO_PRODUTO,RESTRICAO_LAVAGEM,COMPOSICAO, EMPRESA,ESPESSURA,ALTURA,LARGURA,COMPRIMENTO,EMPILHAMENTO_MAXIMO,SEXO_TIPO,PARTE_TIPO,ORCAMENTO) select @prod_destino,CODIGO_PRECO,MATERIAL,PERIODO_PCP,TABELA_OPERACOES,FATOR_OPERACOES,CLASSIF_FISCAL, TIPO_PRODUTO,TABELA_MEDIDAS,DESC_PRODUTO,GRUPO_PRODUTO,SUBGRUPO_PRODUTO,COLECAO,GRADE,DESC_PROD_NF,LINHA, @griffe ,CARTELA,UNIDADE,PESO,REVENDA,REFER_FABRICANTE,MODELAGEM,SORTIMENTO_COR,FABRICANTE, SORTIMENTO_TAMANHO,VARIA_PRECO_COR,VARIA_PRECO_TAM,PONTEIRO_PRECO_TAM,VARIA_CUSTO_COR,PERTENCE_A_CONJUNTO, TRIBUT_ICMS,TRIBUT_ORIGEM,VARIA_CUSTO_TAM,CUSTO_REPOSICAO1,CUSTO_REPOSICAO2,CUSTO_REPOSICAO3, CUSTO_REPOSICAO4,DATA_REPOSICAO,ESTILISTA,MODELISTA,TAMANHO_BASE,GIRO_ENTREGA,INATIVO,ENVIA_LOJA_VAREJO, ENVIA_LOJA_ATACADO,ENVIA_REPRESENTANTE,ENVIA_VAREJO_INTERNET,ENVIA_ATACADO_INTERNET,MODELO,REDE_LOJAS, DATA_PARA_TRANSFERENCIA,FABRICANTE_ICMS_ABATER,FABRICANTE_PRAZO_PGTO,TAXA_JUROS_DEFLACIONAR, TAXAS_IMPOSTOS_APLICAR,PRECO_REPOSICAO_1,PRECO_REPOSICAO_2,PRECO_REPOSICAO_3,PRECO_REPOSICAO_4, PRECO_A_VISTA_REPOSICAO_1,PRECO_A_VISTA_REPOSICAO_2,PRECO_A_VISTA_REPOSICAO_3,PRECO_A_VISTA_REPOSICAO_4, FABRICANTE_FRETE,DROP_DE_TAMANHOS,DATA_CADASTRAMENTO,STATUS_PRODUTO,TIPO_STATUS_PRODUTO,OBS,CONTA_CONTABIL, CLIENTE_DO_PRODUTO,RESTRICAO_LAVAGEM,COMPOSICAO,EMPRESA,ESPESSURA,ALTURA,LARGURA,COMPRIMENTO, EMPILHAMENTO_MAXIMO,SEXO_TIPO,PARTE_TIPO,ORCAMENTO from produtos where produto = @prod_origem insert into produto_cores (PRODUTO,COR_PRODUTO,SIMILAR,DESC_COR_PRODUTO,SORTIMENTO_COR,COR_SORTIDA, STATUS_VENDA_ATUAL,INICIO_VENDAS,FIM_VENDAS,COR_FABRICANTE,TIPO_LAVAGEM_TINTURARIA,TINTURARIA_LAVAGEM, COR,MATERIAL,COR_MATERIAL,ETIQUETA,CUSTO_REPOSICAO1,CUSTO_REPOSICAO2,CUSTO_REPOSICAO3,CUSTO_REPOSICAO4, VARIANTE_TAMANHO,DATA_PARA_TRANSFERENCIA,PRECO_REPOSICAO_1,PRECO_REPOSICAO_2,PRECO_REPOSICAO_3, PRECO_REPOSICAO_4,PRECO_A_VISTA_REPOSICAO_1,PRECO_A_VISTA_REPOSICAO_2,PRECO_A_VISTA_REPOSICAO_3, PRECO_A_VISTA_REPOSICAO_4) select @prod_destino,COR_PRODUTO,SIMILAR,DESC_COR_PRODUTO,SORTIMENTO_COR,COR_SORTIDA,STATUS_VENDA_ATUAL, INICIO_VENDAS,FIM_VENDAS,COR_FABRICANTE,TIPO_LAVAGEM_TINTURARIA,TINTURARIA_LAVAGEM,COR,MATERIAL, COR_MATERIAL,ETIQUETA,CUSTO_REPOSICAO1,CUSTO_REPOSICAO2,CUSTO_REPOSICAO3,CUSTO_REPOSICAO4,VARIANTE_TAMANHO, DATA_PARA_TRANSFERENCIA,PRECO_REPOSICAO_1,PRECO_REPOSICAO_2,PRECO_REPOSICAO_3,PRECO_REPOSICAO_4, PRECO_A_VISTA_REPOSICAO_1,PRECO_A_VISTA_REPOSICAO_2,PRECO_A_VISTA_REPOSICAO_3,PRECO_A_VISTA_REPOSICAO_4 from produto_cores where produto = @prod_origem insert into produtos_precos (PRODUTO,CODIGO_TAB_PRECO,PRECO1,PRECO2,PRECO3,PRECO4,LIMITE_DESCONTO, PROMOCAO_DESCONTO,ULT_ATUALIZACAO,INICIO_PROMOCAO,FIM_PROMOCAO,DATA_PARA_TRANSFERENCIA) select @prod_destino,CODIGO_TAB_PRECO,PRECO1,PRECO2,PRECO3,PRECO4,LIMITE_DESCONTO,PROMOCAO_DESCONTO, ULT_ATUALIZACAO,INICIO_PROMOCAO,FIM_PROMOCAO,DATA_PARA_TRANSFERENCIA from produtos_precos where produto = @prod_origem insert into PRODUTOS_FICHA (PRODUTO,ITEM,MATERIAL,FASE_PRODUCAO,SETOR_PRODUCAO,DESC_USO_MATERIAL, CONSUMO_P_TAMANHO,MATERIAL_PRINCIPAL,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16, C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39, C40,C41,C42,C43,C44,C45,C46,C47,C48,PARTE_APLICADO_MATERIAL) select @prod_destino,ITEM,MATERIAL,FASE_PRODUCAO,SETOR_PRODUCAO,DESC_USO_MATERIAL,CONSUMO_P_TAMANHO, MATERIAL_PRINCIPAL,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21, C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45, C46,C47,C48,PARTE_APLICADO_MATERIAL from PRODUTOS_FICHA where produto = @prod_origem insert into PRODUTOS_FICHA_COR (PRODUTO,COR_PRODUTO,ITEM,MATERIAL,COR_MATERIAL,MATERIAL_PRINCIPAL,PORCENTAGEM_CONSUMO) select @prod_destino,COR_PRODUTO,ITEM,MATERIAL,COR_MATERIAL,MATERIAL_PRINCIPAL,PORCENTAGEM_CONSUMO from PRODUTOS_FICHA_COR where produto = @prod_origem insert into produtos_peso_tamanho (PRODUTO,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16) select @prod_destino,C1 ,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16 from produtos_peso_tamanho where produto = @prod_origem ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CAPACIDADE_PRODUCAO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CAPACIDADE_PRODUCAO] @XPROGRAMACAO VARCHAR(25), @XFILIAL_ESTOQUE VARCHAR(25) = NULL, @XFILTRO_VENDAS VARCHAR(500) = NULL, @XXDATA_ENTREGA_INICIAL DATETIME = NULL, @XXDATA_ENTREGA_FINAL DATETIME = NULL, @XTIPO_NECESSIDADE INT = NULL, -- 1) Venda Entregar - Estoque - Produzindo + Projeção Venda -- 2) Venda Original- Cancelamentos - Produção Total + Projeção Venda (sem Estoque) @XQTDE_GERAR NUMERIC(15,2) = NULL, @XQTDE_VENDAS_TOTAL INT = NULL, @XPROCESSA_PROGRAMACAO BIT = NULL, @XPROCESSA_LAVAGEM BIT = NULL, @QTDE_MINIMA_OP INT = NULL, @MATAR_SALDO_PROGRAMACAO BIT = NULL, @MOSTRA_ZERADOS BIT = NULL, @ROMANEIO CHAR(8)= NULL, @ATRASO INT = 0 AS SET NOCOUNT ON IF @XFILTRO_VENDAS IS NOT NULL SELECT @XFILTRO_VENDAS = LTRIM(RTRIM(@XFILTRO_VENDAS)) DECLARE @PRODUTO CHAR(12),@COR_PRODUTO CHAR(10),@COR_SORTIDA CHAR(10),@ORDEM_PRODUCAO CHAR(8), @STATUS CHAR(1), @PEDIDO CHAR(12), @ENTREGA DATETIME, @COR CHAR(10), @QTDE_ENTREGAR INT, @QTDE INT, @QTDE_ORIGINAL INT, @SORTIMENTO_COR REAL,@GRADE VARCHAR(25),@DESC_PRODUTO VARCHAR(40),@DESC_COR_PRODUTO VARCHAR(40),@REVENDA BIT,@PERIODO_PCP VARCHAR(25), @GIRO_ENTREGA INT,@INDICA_SORTIMENTO BIT,@DATA_VENDA_INICIAL VARCHAR(10),@DATA_VENDA_FINAL VARCHAR(10), @XENTREGA_INICIAL DATETIME, @XENTREGA_FINAL DATETIME, @QTDE_GERADA NUMERIC(15,2),@QTDE_MINIMA_PRODUZIR INT,@SOBRA_DE_PRODUTO INT,@QTDE_SALDO_EMITIR_OP INT,@QTDE_EM_OP INT, @XDATA_ENTREGA_INICIAL DATETIME,@XDATA_ENTREGA_FINAL DATETIME, @VE1 INT, @VE2 INT, @VE3 INT, @VE4 INT, @VE5 INT, @VE6 INT, @VE7 INT, @VE8 INT, @VE9 INT, @VE10 INT, @VE11 INT, @VE12 INT, @VE13 INT, @VE14 INT, @VE15 INT, @VE16 INT, @VE17 INT, @VE18 INT, @VE19 INT, @VE20 INT, @VE21 INT, @VE22 INT, @VE23 INT, @VE24 INT, @VE25 INT, @VE26 INT, @VE27 INT, @VE28 INT, @VE29 INT, @VE30 INT, @VE31 INT, @VE32 INT, @VE33 INT, @VE34 INT, @VE35 INT, @VE36 INT, @VE37 INT, @VE38 INT, @VE39 INT, @VE40 INT, @VE41 INT, @VE42 INT, @VE43 INT, @VE44 INT, @VE45 INT, @VE46 INT, @VE47 INT, @VE48 INT, @VO1 INT, @VO2 INT, @VO3 INT, @VO4 INT, @VO5 INT, @VO6 INT, @VO7 INT, @VO8 INT, @VO9 INT, @VO10 INT, @VO11 INT, @VO12 INT, @VO13 INT, @VO14 INT, @VO15 INT, @VO16 INT, @VO17 INT, @VO18 INT, @VO19 INT, @VO20 INT, @VO21 INT, @VO22 INT, @VO23 INT, @VO24 INT, @VO25 INT, @VO26 INT, @VO27 INT, @VO28 INT, @VO29 INT, @VO30 INT, @VO31 INT, @VO32 INT, @VO33 INT, @VO34 INT, @VO35 INT, @VO36 INT, @VO37 INT, @VO38 INT, @VO39 INT, @VO40 INT, @VO41 INT, @VO42 INT, @VO43 INT, @VO44 INT, @VO45 INT, @VO46 INT, @VO47 INT, @VO48 INT, @RE1 INT, @RE2 INT, @RE3 INT, @RE4 INT, @RE5 INT, @RE6 INT, @RE7 INT, @RE8 INT, @RE9 INT, @RE10 INT, @RE11 INT, @RE12 INT, @RE13 INT, @RE14 INT, @RE15 INT, @RE16 INT, @RE17 INT, @RE18 INT, @RE19 INT, @RE20 INT, @RE21 INT, @RE22 INT, @RE23 INT, @RE24 INT, @RE25 INT, @RE26 INT, @RE27 INT, @RE28 INT, @RE29 INT, @RE30 INT, @RE31 INT, @RE32 INT, @RE33 INT, @RE34 INT, @RE35 INT, @RE36 INT, @RE37 INT, @RE38 INT, @RE39 INT, @RE40 INT, @RE41 INT, @RE42 INT, @RE43 INT, @RE44 INT, @RE45 INT, @RE46 INT, @RE47 INT, @RE48 INT IF @XPROCESSA_LAVAGEM = 1 CREATE TABLE #PRODUCAO_PROG_PROD_AUX (PROGRAMACAO VARCHAR(25),PRODUTO CHAR(12),COR_PRODUTO CHAR(10), ENTREGA_INICIAL DATETIME, ENTREGA_FINAL DATETIME, QTDE_PROGRAMADA INT, ORDEM_PRODUCAO CHAR(8),QTDE_GERADA INT, QTDE_MINIMA_PRODUZIR INT, AUMENTO_VENDAS REAL, COR_SORTIDA CHAR(10), SOBRA_DE_PRODUTO INT, QTDE_SALDO_EMITIR_OP INT, SORTIMENTO_COR REAL, MATAR_SALDO_PROGRAMACAO BIT, DESC_PRODUTO VARCHAR(40),DESC_COR_PRODUTO VARCHAR(40),REVENDA BIT,PERIODO_PCP VARCHAR(25),COR CHAR(10),GIRO_ENTREGA BIT, QTDE_EM_OP INT, ENTREGA_VENDA_INICIAL DATETIME, ENTREGA_VENDA_FINAL DATETIME,GRADE VARCHAR(25),INDICA_SORTIMENTO BIT, P1 INT, P2 INT, P3 INT, P4 INT, P5 INT, P6 INT, P7 INT, P8 INT, P9 INT, P10 INT, P11 INT, P12 INT, P13 INT, P14 INT, P15 INT, P16 INT, P17 INT, P18 INT, P19 INT, P20 INT, P21 INT, P22 INT, P23 INT, P24 INT, P25 INT, P26 INT, P27 INT, P28 INT, P29 INT, P30 INT, P31 INT, P32 INT, P33 INT, P34 INT, P35 INT, P36 INT, P37 INT, P38 INT, P39 INT, P40 INT, P41 INT, P42 INT, P43 INT, P44 INT, P45 INT, P46 INT, P47 INT, P48 INT, S1 INT, S2 INT, S3 INT, S4 INT, S5 INT, S6 INT, S7 INT, S8 INT, S9 INT, S10 INT, S11 INT, S12 INT, S13 INT, S14 INT, S15 INT, S16 INT, S17 INT, S18 INT, S19 INT, S20 INT, S21 INT, S22 INT, S23 INT, S24 INT, S25 INT, S26 INT, S27 INT, S28 INT, S29 INT, S30 INT, S31 INT, S32 INT, S33 INT, S34 INT, S35 INT, S36 INT, S37 INT, S38 INT, S39 INT, S40 INT, S41 INT, S42 INT, S43 INT, S44 INT, S45 INT, S46 INT, S47 INT, S48 INT) SELECT @QTDE_ENTREGAR = 0 CREATE TABLE #VENDAS (PRODUTO CHAR(12),COR_PRODUTO CHAR(10), VE1 INT, VE2 INT, VE3 INT, VE4 INT, VE5 INT, VE6 INT, VE7 INT, VE8 INT, VE9 INT, VE10 INT, VE11 INT, VE12 INT, VE13 INT, VE14 INT, VE15 INT, VE16 INT, VE17 INT, VE18 INT, VE19 INT, VE20 INT, VE21 INT, VE22 INT, VE23 INT, VE24 INT, VE25 INT, VE26 INT, VE27 INT, VE28 INT, VE29 INT, VE30 INT, VE31 INT, VE32 INT, VE33 INT, VE34 INT, VE35 INT, VE36 INT, VE37 INT, VE38 INT, VE39 INT, VE40 INT, VE41 INT, VE42 INT, VE43 INT, VE44 INT, VE45 INT, VE46 INT, VE47 INT, VE48 INT, VO1 INT, VO2 INT, VO3 INT, VO4 INT, VO5 INT, VO6 INT, VO7 INT, VO8 INT, VO9 INT, VO10 INT, VO11 INT, VO12 INT, VO13 INT, VO14 INT, VO15 INT, VO16 INT, VO17 INT, VO18 INT, VO19 INT, VO20 INT, VO21 INT, VO22 INT, VO23 INT, VO24 INT, VO25 INT, VO26 INT, VO27 INT, VO28 INT, VO29 INT, VO30 INT, VO31 INT, VO32 INT, VO33 INT, VO34 INT, VO35 INT, VO36 INT, VO37 INT, VO38 INT, VO39 INT, VO40 INT, VO41 INT, VO42 INT, VO43 INT, VO44 INT, VO45 INT, VO46 INT, VO47 INT, VO48 INT, VP1 INT, VP2 INT, VP3 INT, VP4 INT, VP5 INT, VP6 INT, VP7 INT, VP8 INT, VP9 INT, VP10 INT, VP11 INT, VP12 INT, VP13 INT, VP14 INT, VP15 INT, VP16 INT, VP17 INT, VP18 INT, VP19 INT, VP20 INT, VP21 INT, VP22 INT, VP23 INT, VP24 INT, VP25 INT, VP26 INT, VP27 INT, VP28 INT, VP29 INT, VP30 INT, VP31 INT, VP32 INT, VP33 INT, VP34 INT, VP35 INT, VP36 INT, VP37 INT, VP38 INT, VP39 INT, VP40 INT, VP41 INT, VP42 INT, VP43 INT, VP44 INT, VP45 INT, VP46 INT, VP47 INT, VP48 INT) IF @XFILTRO_VENDAS IS NULL SELECT @XFILTRO_VENDAS = ''1=1'' INSERT INTO #VENDAS EXECUTE(''SELECT PRODUTO,COR_PRODUTO , SUM(VENDAS_PRODUTO.VE1) AS VE1, SUM(VENDAS_PRODUTO.VE2) AS VE2, SUM(VENDAS_PRODUTO.VE3) AS VE3, SUM(VENDAS_PRODUTO.VE4) AS VE4, SUM(VENDAS_PRODUTO.VE5) AS VE5, SUM(VENDAS_PRODUTO.VE6) AS VE6, SUM(VENDAS_PRODUTO.VE7) AS VE7, SUM(VENDA S_PRODUTO.VE8) AS VE8, SUM(VENDAS_PRODUTO.VE9) AS VE9, SUM(VENDAS_PRODUTO.VE10) AS VE10, SUM(VENDAS_PRODUTO.VE11) AS VE11, SUM(VENDAS_PRODUTO.VE12) AS VE12, SUM(VENDAS_PRODUTO.VE13) AS VE13, SUM(VENDAS_PRODUTO.VE14) AS VE14, SUM(VENDAS_PRODUTO.VE15) AS VE15, SUM(VENDA S_PRODUTO.VE16) AS VE16, SUM(VENDAS_PRODUTO.VE17) AS VE17, SUM(VENDAS_PRODUTO.VE18) AS VE18, SUM(VENDAS_PRODUTO.VE19) AS VE19, SUM(VENDAS_PRODUTO.VE20) AS VE20, SUM(VENDAS_PRODUTO.VE21) AS VE21, SUM(VENDAS_PRODUTO.VE22) AS VE22, SUM(VENDAS_PRODUTO.VE23) AS VE23, SUM(VENDA S_PRODUTO.VE24) AS VE24, SUM(VENDAS_PRODUTO.VE25) AS VE25, SUM(VENDAS_PRODUTO.VE26) AS VE26, SUM(VENDAS_PRODUTO.VE27) AS VE27, SUM(VENDAS_PRODUTO.VE28) AS VE28, SUM(VENDAS_PRODUTO.VE29) AS VE29, SUM(VENDAS_PRODUTO.VE30) AS VE30, SUM(VENDAS_PRODUTO.VE31) AS VE31, SUM(VENDA S_PRODUTO.VE32) AS VE32, SUM(VENDAS_PRODUTO.VE33) AS VE33, SUM(VENDAS_PRODUTO.VE34) AS VE34, SUM(VENDAS_PRODUTO.VE35) AS VE35, SUM(VENDAS_PRODUTO.VE36) AS VE36, SUM(VENDAS_PRODUTO.VE37) AS VE37, SUM(VENDAS_PRODUTO.VE38) AS VE38, SUM(VENDAS_PRODUTO.VE39) AS VE39, SUM(VENDA S_PRODUTO.VE40) AS VE40, SUM(VENDAS_PRODUTO.VE41) AS VE41, SUM(VENDAS_PRODUTO.VE42) AS VE42, SUM(VENDAS_PRODUTO.VE43) AS VE43, SUM(VENDAS_PRODUTO.VE44) AS VE44, SUM(VENDAS_PRODUTO.VE45) AS VE45, SUM(VENDAS_PRODUTO.VE46) AS VE46, SUM(VENDAS_PRODUTO.VE47) AS VE47, SUM(VENDA S_PRODUTO.VE48) AS VE48, SUM(VENDAS_PRODUTO.VO1) AS VO1, SUM(VENDAS_PRODUTO.VO2) AS VO2, SUM(VENDAS_PRODUTO.VO3) AS VO3, SUM(VENDAS_PRODUTO.VO4) AS VO4, SUM(VENDAS_PRODUTO.VO5) AS VO5, SUM(VENDAS_PRODUTO.VO6) AS VO6, SUM(VENDAS_PRODUTO.VO7) AS VO7, SUM(VENDA S_PRODUTO.VO8) AS VO8, SUM(VENDAS_PRODUTO.VO9) AS VO9, SUM(VENDAS_PRODUTO.VO10) AS VO10, SUM(VENDAS_PRODUTO.VO11) AS VO11, SUM(VENDAS_PRODUTO.VO12) AS VO12, SUM(VENDAS_PRODUTO.VO13) AS VO13, SUM(VENDAS_PRODUTO.VO14) AS VO14, SUM(VENDAS_PRODUTO.VO15) AS VO15, SUM(VENDA S_PRODUTO.VO16) AS VO16, SUM(VENDAS_PRODUTO.VO17) AS VO17, SUM(VENDAS_PRODUTO.VO18) AS VO18, SUM(VENDAS_PRODUTO.VO19) AS VO19, SUM(VENDAS_PRODUTO.VO20) AS VO20, SUM(VENDAS_PRODUTO.VO21) AS VO21, SUM(VENDAS_PRODUTO.VO22) AS VO22, SUM(VENDAS_PRODUTO.VO23) AS VO23, SUM(VENDA S_PRODUTO.VO24) AS VO24, SUM(VENDAS_PRODUTO.VO25) AS VO25, SUM(VENDAS_PRODUTO.VO26) AS VO26, SUM(VENDAS_PRODUTO.VO27) AS VO27, SUM(VENDAS_PRODUTO.VO28) AS VO28, SUM(VENDAS_PRODUTO.VO29) AS VO29, SUM(VENDAS_PRODUTO.VO30) AS VO30, SUM(VENDAS_PRODUTO.VO31) AS VO31, SUM(VENDA S_PRODUTO.VO32) AS VO32, SUM(VENDAS_PRODUTO.VO33) AS VO33, SUM(VENDAS_PRODUTO.VO34) AS VO34, SUM(VENDAS_PRODUTO.VO35) AS VO35, SUM(VENDAS_PRODUTO.VO36) AS VO36, SUM(VENDAS_PRODUTO.VO37) AS VO37, SUM(VENDAS_PRODUTO.VO38) AS VO38, SUM(VENDAS_PRODUTO.VO39) AS VO39, SUM(VENDA S_PRODUTO.VO40) AS VO40, SUM(VENDAS_PRODUTO.VO41) AS VO41, SUM(VENDAS_PRODUTO.VO42) AS VO42, SUM(VENDAS_PRODUTO.VO43) AS VO43, SUM(VENDAS_PRODUTO.VO44) AS VO44, SUM(VENDAS_PRODUTO.VO45) AS VO45, SUM(VENDAS_PRODUTO.VO46) AS VO46, SUM(VENDAS_PRODUTO.VO47) AS VO47, SUM(VENDA S_PRODUTO.VO48) AS VO48, SUM(VENDAS_PRODUTO.VO1) AS VP1, SUM(VENDAS_PRODUTO.VO2) AS VP2, SUM(VENDAS_PRODUTO.VO3) AS VP3, SUM(VENDAS_PRODUTO.VO4) AS VP4, SUM(VENDAS_PRODUTO.VO5) AS VP5, SUM(VENDAS_PRODUTO.VO6) AS VP6, SUM(VENDAS_PRODUTO.VO7) AS VP7, SUM(VENDA S_PRODUTO.VO8) AS VP8, SUM(VENDAS_PRODUTO.VO9) AS VP9, SUM(VENDAS_PRODUTO.VO10) AS VP10, SUM(VENDAS_PRODUTO.VO11) AS VP11, SUM(VENDAS_PRODUTO.VO12) AS VP12, SUM(VENDAS_PRODUTO.VO13) AS VP13, SUM(VENDAS_PRODUTO.VO14) AS VP14, SUM(VENDAS_PRODUTO.VO15) AS VP15, SUM(VENDA S_PRODUTO.VO16) AS VP16, SUM(VENDAS_PRODUTO.VO17) AS VP17, SUM(VENDAS_PRODUTO.VO18) AS VP18, SUM(VENDAS_PRODUTO.VO19) AS VP19, SUM(VENDAS_PRODUTO.VO20) AS VP20, SUM(VENDAS_PRODUTO.VO21) AS VP21, SUM(VENDAS_PRODUTO.VO22) AS VP22, SUM(VENDAS_PRODUTO.VO23) AS VP23, SUM(VENDA S_PRODUTO.VO24) AS VP24, SUM(VENDAS_PRODUTO.VO25) AS VP25, SUM(VENDAS_PRODUTO.VO26) AS VP26, SUM(VENDAS_PRODUTO.VO27) AS VP27, SUM(VENDAS_PRODUTO.VO28) AS VP28, SUM(VENDAS_PRODUTO.VO29) AS VP29, SUM(VENDAS_PRODUTO.VO30) AS VP30, SUM(VENDAS_PRODUTO.VO31) AS VP31, SUM(VENDA S_PRODUTO.VO32) AS VP32, SUM(VENDAS_PRODUTO.VO33) AS VP33, SUM(VENDAS_PRODUTO.VO34) AS VP34, SUM(VENDAS_PRODUTO.VO35) AS VP35, SUM(VENDAS_PRODUTO.VO36) AS VP36, SUM(VENDAS_PRODUTO.VO37) AS VP37, SUM(VENDAS_PRODUTO.VO38) AS VP38, SUM(VENDAS_PRODUTO.VO39) AS VP39, SUM(VENDA S_PRODUTO.VO40) AS VP40, SUM(VENDAS_PRODUTO.VO41) AS VP41, SUM(VENDAS_PRODUTO.VO42) AS VP42, SUM(VENDAS_PRODUTO.VO43) AS VP43, SUM(VENDAS_PRODUTO.VO44) AS VP44, SUM(VENDAS_PRODUTO.VO45) AS VP45, SUM(VENDAS_PRODUTO.VO46) AS VP46, SUM(VENDAS_PRODUTO.VO47) AS VP47, SUM(VENDA S_PRODUTO.VO48) AS VP48 FROM VENDAS_PRODUTO,VENDAS WHERE VENDAS.PEDIDO = VENDAS_PRODUTO.PEDIDO AND '' +@XFILTRO_VENDAS +'' GROUP BY PRODUTO,COR_PRODUTO '') DECLARE CUR_CORES CURSOR FOR SELECT PRODUTO_CORES.PRODUTO,PRODUTO_CORES.COR_PRODUTO,PRODUTOS.DESC_PRODUTO,PRODUTO_CORES.DESC_COR_PRODUTO, PRODUTO_CORES.SORTIMENTO_COR,PRODUTOS.SORTIMENTO_COR AS INDICA_SORTIMENTO,PRODUTOS.GRADE,PRODUTOS.GIRO_ENTREGA, PRODUTOS.REVENDA,PRODUTOS.PERIODO_PCP,PRODUTO_CORES.cor, ENTREGA_INICIAL,ENTREGA_FINAL FROM ##CUR_CORES,PRODUTO_CORES,PRODUTOS ,##PRODUCAO_PROG_PROD WHERE ##CUR_CORES.PRODUTO = PRODUTOS.PRODUTO AND ##CUR_CORES.PRODUTO = PRODUTO_CORES.PRODUTO AND ##CUR_CORES.COR_PRODUTO = PRODUTO_CORES.COR_PRODUTO AND ##CUR_CORES.PRODUTO *= ##PRODUCAO_PROG_PROD.PRODUTO AND ##CUR_CORES.COR_PRODUTO *= ##PRODUCAO_PROG_PROD.COR_PRODUTO OPEN CUR_CORES FETCH NEXT FROM CUR_CORES INTO @PRODUTO,@COR_PRODUTO,@DESC_PRODUTO,@DESC_COR_PRODUTO,@SORTIMENTO_COR, @INDICA_SORTIMENTO,@GRADE,@GIRO_ENTREGA,@REVENDA,@PERIODO_PCP,@COR,@XDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL WHILE @@FETCH_STATUS = 0 BEGIN IF @XPROCESSA_LAVAGEM = 1 AND @COR_PRODUTO = @COR BEGIN FETCH NEXT FROM CUR_CORES INTO @PRODUTO,@COR_PRODUTO,@DESC_PRODUTO,@DESC_COR_PRODUTO,@SORTIMENTO_COR,@INDICA_SORTIMENTO,@GRADE,@GIRO_ENTREGA,@REVENDA,@PERIODO_PCP,@COR,@XDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL CONTINUE END IF (SELECT COUNT(*) FROM PRODUTOS WHERE PRODUTO = @PRODUTO AND SORTIMENTO_COR =1 )>0 SELECT @COR_SORTIDA = COR_PRODUTO FROM PRODUTO_CORES WHERE PRODUTO = @PRODUTO AND COR_SORTIDA = 1 ELSE SELECT @COR_SORTIDA = NULL IF @XDATA_ENTREGA_INICIAL IS NULL SELECT @XDATA_ENTREGA_INICIAL = @XXDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL= @XXDATA_ENTREGA_FINAL SELECT @VE1 = 0,@VE2 = 0,@VE3 = 0,@VE4 = 0,@VE5 = 0,@VE6 = 0,@VE7 = 0,@VE8 = 0,@VE9 = 0,@VE10 = 0, @VE11 = 0,@VE12 = 0,@VE13 = 0,@VE14 = 0,@VE15 = 0,@VE16 = 0,@VE17 = 0,@VE18 = 0,@VE19 = 0,@VE20 = 0, @VE21 = 0,@VE22 = 0,@VE23 = 0,@VE24 = 0,@VE25 = 0,@VE26 = 0,@VE27 = 0,@VE28 = 0,@VE29 = 0,@VE30 = 0, @VE31 = 0,@VE32 = 0,@VE33 = 0,@VE34 = 0,@VE35 = 0,@VE36 = 0,@VE37 = 0,@VE38 = 0,@VE39 = 0,@VE40 = 0, @VE41 = 0,@VE42 = 0,@VE43 = 0,@VE44 = 0,@VE45 = 0,@VE46 = 0,@VE47 = 0,@VE48 = 0 SELECT @VO1 = 0,@VO2 = 0,@VO3 = 0,@VO4 = 0,@VO5 = 0,@VO6 = 0,@VO7 = 0,@VO8 = 0,@VO9 = 0,@VO10 = 0, @VO11 = 0,@VO12 = 0,@VO13 = 0,@VO14 = 0,@VO15 = 0,@VO16 = 0,@VO17 = 0,@VO18 = 0,@VO19 = 0,@VO20 = 0, @VO21 = 0,@VO22 = 0,@VO23 = 0,@VO24 = 0,@VO25 = 0,@VO26 = 0,@VO27 = 0,@VO28 = 0,@VO29 = 0,@VO30 = 0, @VO31 = 0,@VO32 = 0,@VO33 = 0,@VO34 = 0,@VO35 = 0,@VO36 = 0,@VO37 = 0,@VO38 = 0,@VO39 = 0,@VO40 = 0, @VO41 = 0,@VO42 = 0,@VO43 = 0,@VO44 = 0,@VO45 = 0,@VO46 = 0,@VO47 = 0,@VO48 = 0 SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 IF @XTIPO_NECESSIDADE = 1 -- VENDAS A ENTREGAR SELECT @VE1 = VE1 , @VE2 = VE2 , @VE3 = VE3 , @VE4 = VE4 , @VE5 = VE5 , @VE6 = VE6 , @VE7 = VE7 , @VE8 = VE8 , @VE9 = VE9 , @VE10 = VE10, @VE11 = VE11, @VE12 = VE12, @VE13 = VE13, @VE14 = VE14, @VE15 = VE15, @VE16 = VE16, @VE17 = VE17, @VE18 = VE18, @VE19 = VE19, @VE20 = VE20, @VE21 = VE21, @VE22 = VE22, @VE23 = VE23, @VE24 = VE24, @VE25 = VE25, @VE26 = VE26, @VE27 = VE27, @VE28 = VE28, @VE29 = VE29, @VE30 = VE30, @VE31 = VE31, @VE32 = VE32, @VE33 = VE33, @VE34 = VE34, @VE35 = VE35, @VE36 = VE36, @VE37 = VE37, @VE38 = VE38, @VE39 = VE39, @VE40 = VE40, @VE41 = VE41, @VE42 = VE42, @VE43 = VE43, @VE44 = VE44, @VE45 = VE45, @VE46 = VE46, @VE47 = VE47, @VE48 = VE48 FROM #VENDAS WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO ELSE -- VENDAS ORIGINAL SELECT @VE1 = VO1 , @VE2 = VO2 , @VE3 = VO3 , @VE4 = VO4 , @VE5 = VO5 , @VE6 = VO6 , @VE7 = VO7 , @VE8 = VO8 , @VE9 = VO9 , @VE10 = VO10, @VE11 = VO11, @VE12 = VO12, @VE13 = VO13, @VE14 = VO14, @VE15 = VO15, @VE16 = VO16, @VE17 = VO17, @VE18 = VO18, @VE19 = VO19, @VE20 = VO20, @VE21 = VO21, @VE22 = VO22, @VE23 = VO23, @VE24 = VO24, @VE25 = VO25, @VE26 = VO26, @VE27 = VO27, @VE28 = VO28, @VE29 = VO29, @VE30 = VO30, @VE31 = VO31, @VE32 = VO32, @VE33 = VO33, @VE34 = VO34, @VE35 = VO35, @VE36 = VO36, @VE37 = VO37, @VE38 = VO38, @VE39 = VO39, @VE40 = VO40, @VE41 = VO41, @VE42 = VO42, @VE43 = VO43, @VE44 = VO44, @VE45 = VO45, @VE46 = VO46, @VE47 = VO47, @VE48 = VO48 FROM #VENDAS WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO -- SELECT ''VENDAS '',@VE1,@VE2 IF @COR_SORTIDA IS NOT NULL BEGIN -- VENDAS ORIGINAL SELECT @VO1 = VO1 , @VO2 = VO2 , @VO3 = VO3 , @VO4 = VO4 , @VO5 = VO5 , @VO6 = VO6 , @VO7 = VO7 , @VO8 = VO8 , @VO9 = VO9 , @VO10 = VO10, @VO11 = VO11, @VO12 = VO12, @VO13 = VO13, @VO14 = VO14, @VO15 = VO15, @VO16 = VO16, @VO17 = VO17, @VO18 = VO18, @VO19 = VO19, @VO20 = VO20, @VO21 = VO21, @VO22 = VO22, @VO23 = VO23, @VO24 = VO24, @VO25 = VO25, @VO26 = VO26, @VO27 = VO27, @VO28 = VO28, @VO29 = VO29, @VO30 = VO30, @VO31 = VO31, @VO32 = VO32, @VO33 = VO33, @VO34 = VO34, @VO35 = VO35, @VO36 = VO36, @VO37 = VO37, @VO38 = VO38, @VO39 = VO39, @VO40 = VO40, @VO41 = VO41, @VO42 = VO42, @VO43 = VO43, @VO44 = VO44, @VO45 = VO45, @VO46 = VO46, @VO47 = VO47, @VO48 = VO48 FROM #VENDAS WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_SORTIDA SELECT @VE1 = @VE1 +ROUND(@VO1*(SORTIMENTO_COR/100),0) ,@VE2 = @VE2 +ROUND(@VO2*(SORTIMENTO_COR/100),0), @VE3 = @VE3 +ROUND(@VO3*(SORTIMENTO_COR/100),0) ,@VE4 = @VE4 +ROUND(@VO4*(SORTIMENTO_COR/100),0), @VE5 = @VE5 +ROUND(@VO5*(SORTIMENTO_COR/100),0) ,@VE6 = @VE6 +ROUND(@VO6*(SORTIMENTO_COR/100),0), @VE7 = @VE7 +ROUND(@VO7*(SORTIMENTO_COR/100),0) ,@VE8 = @VE8 +ROUND(@VO8*(SORTIMENTO_COR/100),0), @VE9 = @VE9 +ROUND(@VO9*(SORTIMENTO_COR/100),0) ,@VE10 = @VE10+ROUND(@VO10*(SORTIMENTO_COR/100),0), @VE11 = @VE11+ROUND(@VO11*(SORTIMENTO_COR/100),0),@VE12 = @VE12+ROUND(@VO12*(SORTIMENTO_COR/100),0), @VE13 = @VE13+ROUND(@VO13*(SORTIMENTO_COR/100),0),@VE14 = @VE14+ROUND(@VO14*(SORTIMENTO_COR/100),0), @VE15 = @VE15+ROUND(@VO15*(SORTIMENTO_COR/100),0),@VE16 = @VE16+ROUND(@VO16*(SORTIMENTO_COR/100),0), @VE17 = @VE17+ROUND(@VO17*(SORTIMENTO_COR/100),0),@VE18 = @VE18+ROUND(@VO18*(SORTIMENTO_COR/100),0), @VE19 = @VE19+ROUND(@VO19*(SORTIMENTO_COR/100),0),@VE20 = @VE20+ROUND(@VO20*(SORTIMENTO_COR/100),0), @VE21 = @VE21+ROUND(@VO21*(SORTIMENTO_COR/100),0),@VE22 = @VE22+ROUND(@VO22*(SORTIMENTO_COR/100),0), @VE23 = @VE23+ROUND(@VO23*(SORTIMENTO_COR/100),0),@VE24 = @VE24+ROUND(@VO24*(SORTIMENTO_COR/100),0), @VE25 = @VE25+ROUND(@VO25*(SORTIMENTO_COR/100),0),@VE26 = @VE26+ROUND(@VO26*(SORTIMENTO_COR/100),0), @VE27 = @VE27+ROUND(@VO27*(SORTIMENTO_COR/100),0),@VE28 = @VE28+ROUND(@VO28*(SORTIMENTO_COR/100),0), @VE29 = @VE29+ROUND(@VO29*(SORTIMENTO_COR/100),0),@VE30 = @VE30+ROUND(@VO30*(SORTIMENTO_COR/100),0), @VE31 = @VE31+ROUND(@VO31*(SORTIMENTO_COR/100),0),@VE32 = @VE32+ROUND(@VO32*(SORTIMENTO_COR/100),0), @VE33 = @VE33+ROUND(@VO33*(SORTIMENTO_COR/100),0),@VE34 = @VE34+ROUND(@VO34*(SORTIMENTO_COR/100),0), @VE35 = @VE35+ROUND(@VO35*(SORTIMENTO_COR/100),0),@VE36 = @VE36+ROUND(@VO36*(SORTIMENTO_COR/100),0), @VE37 = @VE37+ROUND(@VO37*(SORTIMENTO_COR/100),0),@VE38 = @VE38+ROUND(@VO38*(SORTIMENTO_COR/100),0), @VE39 = @VE39+ROUND(@VO39*(SORTIMENTO_COR/100),0),@VE40 = @VE40+ROUND(@VO40*(SORTIMENTO_COR/100),0), @VE41 = @VE41+ROUND(@VO41*(SORTIMENTO_COR/100),0),@VE42 = @VE42+ROUND(@VO42*(SORTIMENTO_COR/100),0), @VE43 = @VE43+ROUND(@VO43*(SORTIMENTO_COR/100),0),@VE44 = @VE44+ROUND(@VO44*(SORTIMENTO_COR/100),0), @VE45 = @VE45+ROUND(@VO45*(SORTIMENTO_COR/100),0),@VE46 = @VE46+ROUND(@VO46*(SORTIMENTO_COR/100),0), @VE47 = @VE47+ROUND(@VO47*(SORTIMENTO_COR/100),0),@VE48 = @VE48+ROUND(@VO48*(SORTIMENTO_COR/100),0), @SORTIMENTO_COR = SORTIMENTO_COR FROM PRODUTO_CORES WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO -- SELECT ''VENDA ORIGINAL'',@VO1 END -- @COR_SORTIDA IS NOT NULL IF @XQTDE_GERAR<>0 AND @XQTDE_VENDAS_TOTAL<>0 SELECT @VE1 = ROUND(@VE1*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) ,@VE2 = ROUND(@VE2*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE3 = ROUND(@VE3*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) ,@VE4 = ROUND(@VE4*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE5 = ROUND(@VE5*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) ,@VE6 = ROUND(@VE6*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE7 = ROUND(@VE7*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) ,@VE8 = ROUND(@VE8*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE9 = ROUND(@VE9*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) ,@VE10 = ROUND(@VE10*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE11 = ROUND(@VE11*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE12 = ROUND(@VE12*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE13 = ROUND(@VE13*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE14 = ROUND(@VE14*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE15 = ROUND(@VE15*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE16 = ROUND(@VE16*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE17 = ROUND(@VE17*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE18 = ROUND(@VE18*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE19 = ROUND(@VE19*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE20 = ROUND(@VE20*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE21 = ROUND(@VE21*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE22 = ROUND(@VE22*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE23 = ROUND(@VE23*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE24 = ROUND(@VE24*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE25 = ROUND(@VE25*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE26 = ROUND(@VE26*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE27 = ROUND(@VE27*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE28 = ROUND(@VE28*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE29 = ROUND(@VE29*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE30 = ROUND(@VE30*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE31 = ROUND(@VE31*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE32 = ROUND(@VE32*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE33 = ROUND(@VE33*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE34 = ROUND(@VE34*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE35 = ROUND(@VE35*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE36 = ROUND(@VE36*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE37 = ROUND(@VE37*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE38 = ROUND(@VE38*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE39 = ROUND(@VE39*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE40 = ROUND(@VE40*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE41 = ROUND(@VE41*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE42 = ROUND(@VE42*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE43 = ROUND(@VE43*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE44 = ROUND(@VE44*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE45 = ROUND(@VE45*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE46 = ROUND(@VE46*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0), @VE47 = ROUND(@VE47*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0),@VE48 = ROUND(@VE48*(CONvert(NUMERIC(4),@XQTDE_GERAR)/CONVERT(NUMERIC(4),@XQTDE_VENDAS_TOTAL)),0) IF @XTIPO_NECESSIDADE = 1 BEGIN -- ESTOQUE SELECT @RE1 = SUM(CASE WHEN ES1<0 THEN 0 ELSE ES1 END), @RE2 = SUM(CASE WHEN ES2<0 THEN 0 ELSE ES2 END), @RE3 = SUM(CASE WHEN ES3<0 THEN 0 ELSE ES3 END), @RE4 = SUM(CASE WHEN ES4<0 THEN 0 ELSE ES4 END), @RE5 = SUM(CASE WHEN ES5<0 THEN 0 ELSE ES5 END), @RE6 = SUM(CASE WHEN ES6<0 THEN 0 ELSE ES6 END), @RE7 = SUM(CASE WHEN ES7<0 THEN 0 ELSE ES7 END), @RE8 = SUM(CASE WHEN ES8<0 THEN 0 ELSE ES8 END), @RE9 = SUM(CASE WHEN ES9<0 THEN 0 ELSE ES9 END), @RE10 = SUM(CASE WHEN ES10<0 THEN 0 ELSE ES10 END), @RE11 = SUM(CASE WHEN ES11<0 THEN 0 ELSE ES11 END), @RE12 = SUM(CASE WHEN ES12<0 THEN 0 ELSE ES12 END), @RE13 = SUM(CASE WHEN ES13<0 THEN 0 ELSE ES13 END), @RE14 = SUM(CASE WHEN ES14<0 THEN 0 ELSE ES14 END), @RE15 = SUM(CASE WHEN ES15<0 THEN 0 ELSE ES15 END), @RE16 = SUM(CASE WHEN ES16<0 THEN 0 ELSE ES16 END), @RE17 = SUM(CASE WHEN ES17<0 THEN 0 ELSE ES17 END), @RE18 = SUM(CASE WHEN ES18<0 THEN 0 ELSE ES18 END), @RE19 = SUM(CASE WHEN ES19<0 THEN 0 ELSE ES19 END), @RE20 = SUM(CASE WHEN ES20<0 THEN 0 ELSE ES20 END), @RE21 = SUM(CASE WHEN ES21<0 THEN 0 ELSE ES21 END), @RE22 = SUM(CASE WHEN ES22<0 THEN 0 ELSE ES22 END), @RE23 = SUM(CASE WHEN ES23<0 THEN 0 ELSE ES23 END), @RE24 = SUM(CASE WHEN ES24<0 THEN 0 ELSE ES24 END), @RE25 = SUM(CASE WHEN ES25<0 THEN 0 ELSE ES25 END), @RE26 = SUM(CASE WHEN ES26<0 THEN 0 ELSE ES26 END), @RE27 = SUM(CASE WHEN ES27<0 THEN 0 ELSE ES27 END), @RE28 = SUM(CASE WHEN ES28<0 THEN 0 ELSE ES28 END), @RE29 = SUM(CASE WHEN ES29<0 THEN 0 ELSE ES29 END), @RE30 = SUM(CASE WHEN ES30<0 THEN 0 ELSE ES30 END), @RE31 = SUM(CASE WHEN ES31<0 THEN 0 ELSE ES31 END), @RE32 = SUM(CASE WHEN ES32<0 THEN 0 ELSE ES32 END), @RE33 = SUM(CASE WHEN ES33<0 THEN 0 ELSE ES33 END), @RE34 = SUM(CASE WHEN ES34<0 THEN 0 ELSE ES34 END), @RE35 = SUM(CASE WHEN ES35<0 THEN 0 ELSE ES35 END), @RE36 = SUM(CASE WHEN ES36<0 THEN 0 ELSE ES36 END), @RE37 = SUM(CASE WHEN ES37<0 THEN 0 ELSE ES37 END), @RE38 = SUM(CASE WHEN ES38<0 THEN 0 ELSE ES38 END), @RE39 = SUM(CASE WHEN ES39<0 THEN 0 ELSE ES39 END), @RE40 = SUM(CASE WHEN ES40<0 THEN 0 ELSE ES40 END), @RE41 = SUM(CASE WHEN ES41<0 THEN 0 ELSE ES41 END), @RE42 = SUM(CASE WHEN ES42<0 THEN 0 ELSE ES42 END), @RE43 = SUM(CASE WHEN ES43<0 THEN 0 ELSE ES43 END), @RE44 = SUM(CASE WHEN ES44<0 THEN 0 ELSE ES44 END), @RE45 = SUM(CASE WHEN ES45<0 THEN 0 ELSE ES45 END), @RE46 = SUM(CASE WHEN ES46<0 THEN 0 ELSE ES46 END), @RE47 = SUM(CASE WHEN ES47<0 THEN 0 ELSE ES47 END), @RE48 = SUM(CASE WHEN ES48<0 THEN 0 ELSE ES48 END) FROM ESTOQUE_PRODUTOS WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO AND FILIAL=@XFILIAL_ESTOQUE GROUP BY PRODUTO,COR_PRODUTO -- SELECT ''ESTOQUE'',@RE1,@RE2 --VENDAS A ENTREGAR - ESTOQUE SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 END -- @XTIPO_NECESSIDADE = 1 -- SELECT ''VENDAS -ESTOQUE'',@VE1,@VE2 IF @XTIPO_NECESSIDADE = 2 BEGIN -- CANCELAMENTO SELECT @RE1 = SUM(VENDAS_CANC_PROD.VO1 ), @RE2 = SUM(VENDAS_CANC_PROD.VO2 ), @RE3 = SUM(VENDAS_CANC_PROD.VO3 ), @RE4 = SUM(VENDAS_CANC_PROD.VO4 ), @RE5 = SUM(VENDAS_CANC_PROD.VO5 ), @RE6 = SUM(VENDAS_CANC_PROD.VO6 ), @RE7 = SUM(VENDAS_CANC_PROD.VO7 ), @RE8 = SUM(VENDAS_CANC_PROD.VO8 ), @RE9 = SUM(VENDAS_CANC_PROD.VO9 ), @RE10 = SUM(VENDAS_CANC_PROD.VO10), @RE11 = SUM(VENDAS_CANC_PROD.VO11), @RE12 = SUM(VENDAS_CANC_PROD.VO12), @RE13 = SUM(VENDAS_CANC_PROD.VO13), @RE14 = SUM(VENDAS_CANC_PROD.VO14), @RE15 = SUM(VENDAS_CANC_PROD.VO15), @RE16 = SUM(VENDAS_CANC_PROD.VO16), @RE17 = SUM(VENDAS_CANC_PROD.VO17), @RE18 = SUM(VENDAS_CANC_PROD.VO18), @RE19 = SUM(VENDAS_CANC_PROD.VO19), @RE20 = SUM(VENDAS_CANC_PROD.VO20), @RE21 = SUM(VENDAS_CANC_PROD.VO21), @RE22 = SUM(VENDAS_CANC_PROD.VO22), @RE23 = SUM(VENDAS_CANC_PROD.VO23), @RE24 = SUM(VENDAS_CANC_PROD.VO24), @RE25 = SUM(VENDAS_CANC_PROD.VO25), @RE26 = SUM(VENDAS_CANC_PROD.VO26), @RE27 = SUM(VENDAS_CANC_PROD.VO27), @RE28 = SUM(VENDAS_CANC_PROD.VO28), @RE29 = SUM(VENDAS_CANC_PROD.VO29), @RE30 = SUM(VENDAS_CANC_PROD.VO30), @RE31 = SUM(VENDAS_CANC_PROD.VO31), @RE32 = SUM(VENDAS_CANC_PROD.VO32), @RE33 = SUM(VENDAS_CANC_PROD.VO33), @RE34 = SUM(VENDAS_CANC_PROD.VO34), @RE35 = SUM(VENDAS_CANC_PROD.VO35), @RE36 = SUM(VENDAS_CANC_PROD.VO36), @RE37 = SUM(VENDAS_CANC_PROD.VO37), @RE38 = SUM(VENDAS_CANC_PROD.VO38), @RE39 = SUM(VENDAS_CANC_PROD.VO39), @RE40 = SUM(VENDAS_CANC_PROD.VO40), @RE41 = SUM(VENDAS_CANC_PROD.VO41), @RE42 = SUM(VENDAS_CANC_PROD.VO42), @RE43 = SUM(VENDAS_CANC_PROD.VO43), @RE44 = SUM(VENDAS_CANC_PROD.VO44), @RE45 = SUM(VENDAS_CANC_PROD.VO45), @RE46 = SUM(VENDAS_CANC_PROD.VO46), @RE47 = SUM(VENDAS_CANC_PROD.VO47), @RE48 = SUM(VENDAS_CANC_PROD.VO48) FROM VENDAS_CANC_PROD WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO GROUP BY PRODUTO,COR_PRODUTO --VENDAS ORIGINAL - CANCELAMENTO SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 -- DEVOLUCAO SELECT @RE1 = SUM(ENTRADAS_PRO_DEVOL.F1 ), @RE2 = SUM(ENTRADAS_PRO_DEVOL.F2 ), @RE3 = SUM(ENTRADAS_PRO_DEVOL.F3 ), @RE4 = SUM(ENTRADAS_PRO_DEVOL.F4 ), @RE5 = SUM(ENTRADAS_PRO_DEVOL.F5 ), @RE6 = SUM(ENTRADAS_PRO_DEVOL.F6 ), @RE7 = SUM(ENTRADAS_PRO_DEVOL.F7 ), @RE8 = SUM(ENTRADAS_PRO_DEVOL.F8 ), @RE9 = SUM(ENTRADAS_PRO_DEVOL.F9 ), @RE10 = SUM(ENTRADAS_PRO_DEVOL.F10), @RE11 = SUM(ENTRADAS_PRO_DEVOL.F11), @RE12 = SUM(ENTRADAS_PRO_DEVOL.F12), @RE13 = SUM(ENTRADAS_PRO_DEVOL.F13), @RE14 = SUM(ENTRADAS_PRO_DEVOL.F14), @RE15 = SUM(ENTRADAS_PRO_DEVOL.F15), @RE16 = SUM(ENTRADAS_PRO_DEVOL.F16), @RE17 = SUM(ENTRADAS_PRO_DEVOL.F17), @RE18 = SUM(ENTRADAS_PRO_DEVOL.F18), @RE19 = SUM(ENTRADAS_PRO_DEVOL.F19), @RE20 = SUM(ENTRADAS_PRO_DEVOL.F20), @RE21 = SUM(ENTRADAS_PRO_DEVOL.F21), @RE22 = SUM(ENTRADAS_PRO_DEVOL.F22), @RE23 = SUM(ENTRADAS_PRO_DEVOL.F23), @RE24 = SUM(ENTRADAS_PRO_DEVOL.F24), @RE25 = SUM(ENTRADAS_PRO_DEVOL.F25), @RE26 = SUM(ENTRADAS_PRO_DEVOL.F26), @RE27 = SUM(ENTRADAS_PRO_DEVOL.F27), @RE28 = SUM(ENTRADAS_PRO_DEVOL.F28), @RE29 = SUM(ENTRADAS_PRO_DEVOL.F29), @RE30 = SUM(ENTRADAS_PRO_DEVOL.F30), @RE31 = SUM(ENTRADAS_PRO_DEVOL.F31), @RE32 = SUM(ENTRADAS_PRO_DEVOL.F32), @RE33 = SUM(ENTRADAS_PRO_DEVOL.F33), @RE34 = SUM(ENTRADAS_PRO_DEVOL.F34), @RE35 = SUM(ENTRADAS_PRO_DEVOL.F35), @RE36 = SUM(ENTRADAS_PRO_DEVOL.F36), @RE37 = SUM(ENTRADAS_PRO_DEVOL.F37), @RE38 = SUM(ENTRADAS_PRO_DEVOL.F38), @RE39 = SUM(ENTRADAS_PRO_DEVOL.F39), @RE40 = SUM(ENTRADAS_PRO_DEVOL.F40), @RE41 = SUM(ENTRADAS_PRO_DEVOL.F41), @RE42 = SUM(ENTRADAS_PRO_DEVOL.F42), @RE43 = SUM(ENTRADAS_PRO_DEVOL.F43), @RE44 = SUM(ENTRADAS_PRO_DEVOL.F44), @RE45 = SUM(ENTRADAS_PRO_DEVOL.F45), @RE46 = SUM(ENTRADAS_PRO_DEVOL.F46), @RE47 = SUM(ENTRADAS_PRO_DEVOL.F47), @RE48 = SUM(ENTRADAS_PRO_DEVOL.F48) FROM ENTRADAS_PRO_DEVOL WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO GROUP BY PRODUTO,COR_PRODUTO --VENDAS ORIGINAL - CANCELAMENTO - DEVOLUCAO SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 END -- @XTIPO_NECESSIDADE = 2 IF @XTIPO_NECESSIDADE = 1 -- PRODUCAO EM PRODUCAO SELECT @RE1 = SUM(P1 ), @RE2 = SUM(P2 ), @RE3 = SUM(P3 ), @RE4 = SUM(P4 ), @RE5 = SUM(P5 ), @RE6 = SUM(P6 ), @RE7 = SUM(P7 ), @RE8 = SUM(P8 ), @RE9 = SUM(P9 ), @RE10 = SUM(P10), @RE11 = SUM(P11), @RE12 = SUM(P12), @RE13 = SUM(P13), @RE14 = SUM(P14), @RE15 = SUM(P15), @RE16 = SUM(P16), @RE17 = SUM(P17), @RE18 = SUM(P18), @RE19 = SUM(P19), @RE20 = SUM(P20), @RE21 = SUM(P21), @RE22 = SUM(P22), @RE23 = SUM(P23), @RE24 = SUM(P24), @RE25 = SUM(P25), @RE26 = SUM(P26), @RE27 = SUM(P27), @RE28 = SUM(P28), @RE29 = SUM(P29), @RE30 = SUM(P30), @RE31 = SUM(P31), @RE32 = SUM(P32), @RE33 = SUM(P33), @RE34 = SUM(P34), @RE35 = SUM(P35), @RE36 = SUM(P36), @RE37 = SUM(P37), @RE38 = SUM(P38), @RE39 = SUM(P39), @RE40 = SUM(P40), @RE41 = SUM(P41), @RE42 = SUM(P42), @RE43 = SUM(P43), @RE44 = SUM(P44), @RE45 = SUM(P45), @RE46 = SUM(P46), @RE47 = SUM(P47), @RE48 = SUM(P48) FROM PRODUCAO_ORDEM_COR,PRODUCAO_ORDEM WHERE PRODUCAO_ORDEM_COR.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO GROUP BY PRODUCAO_ORDEM_COR.PRODUTO,COR_PRODUTO ELSE -- PRODUCAO ORIGINAL SELECT @RE1 = SUM(O1 ), @RE2 = SUM(O2 ), @RE3 = SUM(O3 ), @RE4 = SUM(O4 ), @RE5 = SUM(O5 ), @RE6 = SUM(O6 ), @RE7 = SUM(O7 ), @RE8 = SUM(O8 ), @RE9 = SUM(O9 ), @RE10 = SUM(O10), @RE11 = SUM(O11), @RE12 = SUM(O12), @RE13 = SUM(O13), @RE14 = SUM(O14), @RE15 = SUM(O15), @RE16 = SUM(O16), @RE17 = SUM(O17), @RE18 = SUM(O18), @RE19 = SUM(O19), @RE20 = SUM(O20), @RE21 = SUM(O21), @RE22 = SUM(O22), @RE23 = SUM(O23), @RE24 = SUM(O24), @RE25 = SUM(O25), @RE26 = SUM(O26), @RE27 = SUM(O27), @RE28 = SUM(O28), @RE29 = SUM(O29), @RE30 = SUM(O30), @RE31 = SUM(O31), @RE32 = SUM(O32), @RE33 = SUM(O33), @RE34 = SUM(O34), @RE35 = SUM(O35), @RE36 = SUM(O36), @RE37 = SUM(O37), @RE38 = SUM(O38), @RE39 = SUM(O39), @RE40 = SUM(O40), @RE41 = SUM(O41), @RE42 = SUM(O42), @RE43 = SUM(O43), @RE44 = SUM(O44), @RE45 = SUM(O45), @RE46 = SUM(O46), @RE47 = SUM(O47), @RE48 = SUM(O48) FROM PRODUCAO_ORDEM_COR,PRODUCAO_ORDEM WHERE PRODUCAO_ORDEM_COR.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO GROUP BY PRODUCAO_ORDEM_COR.PRODUTO,COR_PRODUTO -- SELECT ''PRODUCAO'',@RE1 --VENDAS (- ESTOQUE) - PRODUCAO SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 -- SELECT ''VENDAS -ESTOQUE - PRODUCAO'',@VE1,@VE2 --COMPRAS A ENTREGAR SELECT @RE1 = SUM(CE1) ,@RE2 = SUM(CE2) ,@RE3 = SUM(CE3) ,@RE4 = SUM(CE4) ,@RE5 = SUM(CE5) ,@RE6 = SUM(CE6) , @RE7 = SUM(CE7) ,@RE8 = SUM(CE8) ,@RE9 = SUM(CE9) ,@RE10 = SUM(CE10),@RE11 = SUM(CE11),@RE12 = SUM(CE12), @RE13 = SUM(CE13),@RE14 = SUM(CE14),@RE15 = SUM(CE15),@RE16 = SUM(CE16),@RE17 = SUM(CE17),@RE18 = SUM(CE18), @RE19 = SUM(CE19),@RE20 = SUM(CE20),@RE21 = SUM(CE21),@RE22 = SUM(CE22),@RE23 = SUM(CE23),@RE24 = SUM(CE24), @RE25 = SUM(CE25),@RE26 = SUM(CE26),@RE27 = SUM(CE27),@RE28 = SUM(CE28),@RE29 = SUM(CE29),@RE30 = SUM(CE30), @RE31 = SUM(CE31),@RE32 = SUM(CE32),@RE33 = SUM(CE33),@RE34 = SUM(CE34),@RE35 = SUM(CE35),@RE36 = SUM(CE36), @RE37 = SUM(CE37),@RE38 = SUM(CE38),@RE39 = SUM(CE39),@RE40 = SUM(CE40),@RE41 = SUM(CE41),@RE42 = SUM(CE42), @RE43 = SUM(CE43),@RE44 = SUM(CE44),@RE45 = SUM(CE45),@RE46 = SUM(CE46),@RE47 = SUM(CE47),@RE48 = SUM(CE48) FROM COMPRAS_PRODUTO,COMPRAS WHERE COMPRAS_PRODUTO.PRODUTO = @PRODUTO AND COR_PRODUTO = @COR_PRODUTO AND COMPRAS_PRODUTO.PEDIDO = COMPRAS.PEDIDO GROUP BY COMPRAS_PRODUTO.PRODUTO,COR_PRODUTO -- SELECT ''COMPRAS'',@RE1 -- VENDAS A ENTREGAR - ESTOQUE - EM PRODUCAO - COMPRAS A ENTREGAR SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 -- SELECT ''VENDAS -ESTOQUE - PRODUCAO- COMPRAS'',@VE1,@VE2 IF @XPROCESSA_PROGRAMACAO= 1 BEGIN -- PROGRAMACAO A ENTREGAR SELECT @RE1 = SUM(S1) ,@RE2 = SUM(S2) ,@RE3 = SUM(S3) ,@RE4 = SUM(S4) ,@RE5 = SUM(S5) ,@RE6 = SUM(S6), @RE7 = SUM(S7) ,@RE8 = SUM(S8) ,@RE9 = SUM(S9) ,@RE10 = SUM(S10),@RE11 = SUM(S11),@RE12 = SUM(S12), @RE13 = SUM(S13),@RE14 = SUM(S14),@RE15 = SUM(S15),@RE16 = SUM(S16),@RE17 = SUM(S17),@RE18 = SUM(S18), @RE19 = SUM(S19),@RE20 = SUM(S20),@RE21 = SUM(S21),@RE22 = SUM(S22),@RE23 = SUM(S23),@RE24 = SUM(S24), @RE25 = SUM(S25),@RE26 = SUM(S26),@RE27 = SUM(S27),@RE28 = SUM(S28),@RE29 = SUM(S29),@RE30 = SUM(S30), @RE31 = SUM(S31),@RE32 = SUM(S32),@RE33 = SUM(S33),@RE34 = SUM(S34),@RE35 = SUM(S35),@RE36 = SUM(S36), @RE37 = SUM(S37),@RE38 = SUM(S38),@RE39 = SUM(S39),@RE40 = SUM(S40),@RE41 = SUM(S41),@RE42 = SUM(S42), @RE43 = SUM(S43),@RE44 = SUM(S44),@RE45 = SUM(S45),@RE46 = SUM(S46),@RE47 = SUM(S47),@RE48 = SUM(S48) FROM PRODUCAO_PROG_PROD WHERE PRODUTO=@PRODUTO AND COR_PRODUTO =@COR_PRODUTO GROUP BY PRODUTO,COR_PRODUTO -- SELECT ''PROGRAMACAO'',@RE1 -- VENDAS A ENTREGAR - ESTOQUE - EM PRODUCAO - COMPRAS A ENTREGAR - PROGRAMACAO A ENTREGAR SELECT @VE1 = CASE WHEN (@VE1 -@RE1 ) <0 THEN @VE1 ELSE (@VE1 -@RE1 ) END, @VE2 = CASE WHEN (@VE2 -@RE2 ) <0 THEN @VE2 ELSE (@VE2 -@RE2 ) END , @VE3 = CASE WHEN (@VE3 -@RE3 ) <0 THEN @VE3 ELSE (@VE3 -@RE3 ) END, @VE4 = CASE WHEN (@VE4 -@RE4 ) <0 THEN @VE4 ELSE (@VE4 -@RE4 ) END , @VE5 = CASE WHEN (@VE5 -@RE5 ) <0 THEN @VE5 ELSE (@VE5 -@RE5 ) END, @VE6 = CASE WHEN (@VE6 -@RE6 ) <0 THEN @VE6 ELSE (@VE6 -@RE6 ) END , @VE7 = CASE WHEN (@VE7 -@RE7 ) <0 THEN @VE7 ELSE (@VE7 -@RE7 ) END, @VE8 = CASE WHEN (@VE8 -@RE8 ) <0 THEN @VE8 ELSE (@VE8 -@RE8 ) END , @VE9 = CASE WHEN (@VE9 -@RE9 ) <0 THEN @VE9 ELSE (@VE9 -@RE9 ) END, @VE10 = CASE WHEN (@VE10 -@RE10 )<0 THEN @VE10 ELSE (@VE10 -@RE10 )END , @VE11 = CASE WHEN (@VE11 -@RE11 )<0 THEN @VE11 ELSE (@VE11 -@RE11 )END, @VE12 = CASE WHEN (@VE12 -@RE12 )<0 THEN @VE12 ELSE (@VE12 -@RE12 )END , @VE13 = CASE WHEN (@VE13 -@RE13 )<0 THEN @VE13 ELSE (@VE13 -@RE13 )END, @VE14 = CASE WHEN (@VE14 -@RE14 )<0 THEN @VE14 ELSE (@VE14 -@RE14 )END , @VE15 = CASE WHEN (@VE15 -@RE15 )<0 THEN @VE15 ELSE (@VE15 -@RE15 )END, @VE16 = CASE WHEN (@VE16 -@RE16 )<0 THEN @VE16 ELSE (@VE16 -@RE16 )END , @VE17 = CASE WHEN (@VE17 -@RE17 )<0 THEN @VE17 ELSE (@VE17 -@RE17 )END, @VE18 = CASE WHEN (@VE18 -@RE18 )<0 THEN @VE18 ELSE (@VE18 -@RE18 )END , @VE19 = CASE WHEN (@VE19 -@RE19 )<0 THEN @VE19 ELSE (@VE19 -@RE19 )END, @VE20 = CASE WHEN (@VE20 -@RE20 )<0 THEN @VE20 ELSE (@VE20 -@RE20 )END , @VE21 = CASE WHEN (@VE21 -@RE21 )<0 THEN @VE21 ELSE (@VE21 -@RE21 )END, @VE22 = CASE WHEN (@VE22 -@RE22 )<0 THEN @VE22 ELSE (@VE22 -@RE22 )END , @VE23 = CASE WHEN (@VE23 -@RE23 )<0 THEN @VE23 ELSE (@VE23 -@RE23 )END, @VE24 = CASE WHEN (@VE24 -@RE24 )<0 THEN @VE24 ELSE (@VE24 -@RE24 )END , @VE25 = CASE WHEN (@VE25 -@RE25 )<0 THEN @VE25 ELSE (@VE25 -@RE25 )END, @VE26 = CASE WHEN (@VE26 -@RE26 )<0 THEN @VE26 ELSE (@VE26 -@RE26 )END , @VE27 = CASE WHEN (@VE27 -@RE27 )<0 THEN @VE27 ELSE (@VE27 -@RE27 )END, @VE28 = CASE WHEN (@VE28 -@RE28 )<0 THEN @VE28 ELSE (@VE28 -@RE28 )END , @VE29 = CASE WHEN (@VE29 -@RE29 )<0 THEN @VE29 ELSE (@VE29 -@RE29 )END, @VE30 = CASE WHEN (@VE30 -@RE30 )<0 THEN @VE30 ELSE (@VE30 -@RE30 )END , @VE31 = CASE WHEN (@VE31 -@RE31 )<0 THEN @VE31 ELSE (@VE31 -@RE31 )END, @VE32 = CASE WHEN (@VE32 -@RE32 )<0 THEN @VE32 ELSE (@VE32 -@RE32 )END , @VE33 = CASE WHEN (@VE33 -@RE33 )<0 THEN @VE33 ELSE (@VE33 -@RE33 )END, @VE34 = CASE WHEN (@VE34 -@RE34 )<0 THEN @VE34 ELSE (@VE34 -@RE34 )END , @VE35 = CASE WHEN (@VE35 -@RE35 )<0 THEN @VE35 ELSE (@VE35 -@RE35 )END, @VE36 = CASE WHEN (@VE36 -@RE36 )<0 THEN @VE36 ELSE (@VE36 -@RE36 )END , @VE37 = CASE WHEN (@VE37 -@RE37 )<0 THEN @VE37 ELSE (@VE37 -@RE37 )END, @VE38 = CASE WHEN (@VE38 -@RE38 )<0 THEN @VE38 ELSE (@VE38 -@RE38 )END , @VE39 = CASE WHEN (@VE39 -@RE39 )<0 THEN @VE39 ELSE (@VE39 -@RE39 )END, @VE40 = CASE WHEN (@VE40 -@RE40 )<0 THEN @VE40 ELSE (@VE40 -@RE40 )END , @VE41 = CASE WHEN (@VE41 -@RE41 )<0 THEN @VE41 ELSE (@VE41 -@RE41 )END, @VE42 = CASE WHEN (@VE42 -@RE42 )<0 THEN @VE42 ELSE (@VE42 -@RE42 )END , @VE43 = CASE WHEN (@VE43 -@RE43 )<0 THEN @VE43 ELSE (@VE43 -@RE43 )END, @VE44 = CASE WHEN (@VE44 -@RE44 )<0 THEN @VE44 ELSE (@VE44 -@RE44 )END , @VE45 = CASE WHEN (@VE45 -@RE45 )<0 THEN @VE45 ELSE (@VE45 -@RE45 )END, @VE46 = CASE WHEN (@VE46 -@RE46 )<0 THEN @VE46 ELSE (@VE46 -@RE46 )END , @VE47 = CASE WHEN (@VE47 -@RE47 )<0 THEN @VE47 ELSE (@VE47 -@RE47 )END, @VE48 = CASE WHEN (@VE48 -@RE48 )<0 THEN @VE48 ELSE (@VE48 -@RE48 )END , @QTDE_ENTREGAR = @QTDE_ENTREGAR - @QTDE SELECT @RE1 = 0,@RE2 = 0,@RE3 = 0,@RE4 = 0,@RE5 = 0,@RE6 = 0,@RE7 = 0,@RE8 = 0,@RE9 = 0,@RE10 = 0, @RE11 = 0,@RE12 = 0,@RE13 = 0,@RE14 = 0,@RE15 = 0,@RE16 = 0,@RE17 = 0,@RE18 = 0,@RE19 = 0,@RE20 = 0, @RE21 = 0,@RE22 = 0,@RE23 = 0,@RE24 = 0,@RE25 = 0,@RE26 = 0,@RE27 = 0,@RE28 = 0,@RE29 = 0,@RE30 = 0, @RE31 = 0,@RE32 = 0,@RE33 = 0,@RE34 = 0,@RE35 = 0,@RE36 = 0,@RE37 = 0,@RE38 = 0,@RE39 = 0,@RE40 = 0, @RE41 = 0,@RE42 = 0,@RE43 = 0,@RE44 = 0,@RE45 = 0,@RE46 = 0,@RE47 = 0,@RE48 = 0 END -- @XPROCESSA_PROGRAMACAO = 1 SELECT @VO1 = CASE WHEN @VE1 > 0 THEN 0 ELSE @VE1 END, @VO2 = CASE WHEN @VE2 > 0 THEN 0 ELSE @VE2 END, @VO3 = CASE WHEN @VE3 > 0 THEN 0 ELSE @VE3 END, @VO4 = CASE WHEN @VE4 > 0 THEN 0 ELSE @VE4 END, @VO5 = CASE WHEN @VE5 > 0 THEN 0 ELSE @VE5 END, @VO6 = CASE WHEN @VE6 > 0 THEN 0 ELSE @VE6 END, @VO7 = CASE WHEN @VE7 > 0 THEN 0 ELSE @VE7 END, @VO8 = CASE WHEN @VE8 > 0 THEN 0 ELSE @VE8 END, @VO9 = CASE WHEN @VE9 > 0 THEN 0 ELSE @VE9 END, @VO10 = CASE WHEN @VE10 > 0 THEN 0 ELSE @VE10 END, @VO11 = CASE WHEN @VE11 > 0 THEN 0 ELSE @VE11 END, @VO12 = CASE WHEN @VE12 > 0 THEN 0 ELSE @VE12 END, @VO13 = CASE WHEN @VE13 > 0 THEN 0 ELSE @VE13 END, @VO14 = CASE WHEN @VE14 > 0 THEN 0 ELSE @VE14 END, @VO15 = CASE WHEN @VE15 > 0 THEN 0 ELSE @VE15 END, @VO16 = CASE WHEN @VE16 > 0 THEN 0 ELSE @VE16 END, @VO17 = CASE WHEN @VE17 > 0 THEN 0 ELSE @VE17 END, @VO18 = CASE WHEN @VE18 > 0 THEN 0 ELSE @VE18 END, @VO19 = CASE WHEN @VE19 > 0 THEN 0 ELSE @VE19 END, @VO20 = CASE WHEN @VE20 > 0 THEN 0 ELSE @VE20 END, @VO21 = CASE WHEN @VE21 > 0 THEN 0 ELSE @VE21 END, @VO22 = CASE WHEN @VE22 > 0 THEN 0 ELSE @VE22 END, @VO23 = CASE WHEN @VE23 > 0 THEN 0 ELSE @VE23 END, @VO24 = CASE WHEN @VE24 > 0 THEN 0 ELSE @VE24 END, @VO25 = CASE WHEN @VE25 > 0 THEN 0 ELSE @VE25 END, @VO26 = CASE WHEN @VE26 > 0 THEN 0 ELSE @VE26 END, @VO27 = CASE WHEN @VE27 > 0 THEN 0 ELSE @VE27 END, @VO28 = CASE WHEN @VE28 > 0 THEN 0 ELSE @VE28 END, @VO29 = CASE WHEN @VE29 > 0 THEN 0 ELSE @VE29 END, @VO30 = CASE WHEN @VE30 > 0 THEN 0 ELSE @VE30 END, @VO31 = CASE WHEN @VE31 > 0 THEN 0 ELSE @VE31 END, @VO32 = CASE WHEN @VE32 > 0 THEN 0 ELSE @VE32 END, @VO33 = CASE WHEN @VE33 > 0 THEN 0 ELSE @VE33 END, @VO34 = CASE WHEN @VE34 > 0 THEN 0 ELSE @VE34 END, @VO35 = CASE WHEN @VE35 > 0 THEN 0 ELSE @VE35 END, @VO36 = CASE WHEN @VE36 > 0 THEN 0 ELSE @VE36 END, @VO37 = CASE WHEN @VE37 > 0 THEN 0 ELSE @VE37 END, @VO38 = CASE WHEN @VE38 > 0 THEN 0 ELSE @VE38 END, @VO39 = CASE WHEN @VE39 > 0 THEN 0 ELSE @VE39 END, @VO40 = CASE WHEN @VE40 > 0 THEN 0 ELSE @VE40 END, @VO41 = CASE WHEN @VE41 > 0 THEN 0 ELSE @VE41 END, @VO42 = CASE WHEN @VE42 > 0 THEN 0 ELSE @VE42 END, @VO43 = CASE WHEN @VE43 > 0 THEN 0 ELSE @VE43 END, @VO44 = CASE WHEN @VE44 > 0 THEN 0 ELSE @VE44 END, @VO45 = CASE WHEN @VE45 > 0 THEN 0 ELSE @VE45 END, @VO46 = CASE WHEN @VE46 > 0 THEN 0 ELSE @VE46 END, @VO47 = CASE WHEN @VE47 > 0 THEN 0 ELSE @VE47 END, @VO48 = CASE WHEN @VE48 > 0 THEN 0 ELSE @VE48 END SELECT @VE1 = CASE WHEN @VE1 < 0 THEN 0 ELSE @VE1 END, @VE2 = CASE WHEN @VE2 < 0 THEN 0 ELSE @VE2 END, @VE3 = CASE WHEN @VE3 < 0 THEN 0 ELSE @VE3 END, @VE4 = CASE WHEN @VE4 < 0 THEN 0 ELSE @VE4 END, @VE5 = CASE WHEN @VE5 < 0 THEN 0 ELSE @VE5 END, @VE6 = CASE WHEN @VE6 < 0 THEN 0 ELSE @VE6 END, @VE7 = CASE WHEN @VE7 < 0 THEN 0 ELSE @VE7 END, @VE8 = CASE WHEN @VE8 < 0 THEN 0 ELSE @VE8 END, @VE9 = CASE WHEN @VE9 < 0 THEN 0 ELSE @VE9 END, @VE10 = CASE WHEN @VE10 < 0 THEN 0 ELSE @VE10 END, @VE11 = CASE WHEN @VE11 < 0 THEN 0 ELSE @VE11 END, @VE12 = CASE WHEN @VE12 < 0 THEN 0 ELSE @VE12 END, @VE13 = CASE WHEN @VE13 < 0 THEN 0 ELSE @VE13 END, @VE14 = CASE WHEN @VE14 < 0 THEN 0 ELSE @VE14 END, @VE15 = CASE WHEN @VE15 < 0 THEN 0 ELSE @VE15 END, @VE16 = CASE WHEN @VE16 < 0 THEN 0 ELSE @VE16 END, @VE17 = CASE WHEN @VE17 < 0 THEN 0 ELSE @VE17 END, @VE18 = CASE WHEN @VE18 < 0 THEN 0 ELSE @VE18 END, @VE19 = CASE WHEN @VE19 < 0 THEN 0 ELSE @VE19 END, @VE20 = CASE WHEN @VE20 < 0 THEN 0 ELSE @VE20 END, @VE21 = CASE WHEN @VE21 < 0 THEN 0 ELSE @VE21 END, @VE22 = CASE WHEN @VE22 < 0 THEN 0 ELSE @VE22 END, @VE23 = CASE WHEN @VE23 < 0 THEN 0 ELSE @VE23 END, @VE24 = CASE WHEN @VE24 < 0 THEN 0 ELSE @VE24 END, @VE25 = CASE WHEN @VE25 < 0 THEN 0 ELSE @VE25 END, @VE26 = CASE WHEN @VE26 < 0 THEN 0 ELSE @VE26 END, @VE27 = CASE WHEN @VE27 < 0 THEN 0 ELSE @VE27 END, @VE28 = CASE WHEN @VE28 < 0 THEN 0 ELSE @VE28 END, @VE29 = CASE WHEN @VE29 < 0 THEN 0 ELSE @VE29 END, @VE30 = CASE WHEN @VE30 < 0 THEN 0 ELSE @VE30 END, @VE31 = CASE WHEN @VE31 < 0 THEN 0 ELSE @VE31 END, @VE32 = CASE WHEN @VE32 < 0 THEN 0 ELSE @VE32 END, @VE33 = CASE WHEN @VE33 < 0 THEN 0 ELSE @VE33 END, @VE34 = CASE WHEN @VE34 < 0 THEN 0 ELSE @VE34 END, @VE35 = CASE WHEN @VE35 < 0 THEN 0 ELSE @VE35 END, @VE36 = CASE WHEN @VE36 < 0 THEN 0 ELSE @VE36 END, @VE37 = CASE WHEN @VE37 < 0 THEN 0 ELSE @VE37 END, @VE38 = CASE WHEN @VE38 < 0 THEN 0 ELSE @VE38 END, @VE39 = CASE WHEN @VE39 < 0 THEN 0 ELSE @VE39 END, @VE40 = CASE WHEN @VE40 < 0 THEN 0 ELSE @VE40 END, @VE41 = CASE WHEN @VE41 < 0 THEN 0 ELSE @VE41 END, @VE42 = CASE WHEN @VE42 < 0 THEN 0 ELSE @VE42 END, @VE43 = CASE WHEN @VE43 < 0 THEN 0 ELSE @VE43 END, @VE44 = CASE WHEN @VE44 < 0 THEN 0 ELSE @VE44 END, @VE45 = CASE WHEN @VE45 < 0 THEN 0 ELSE @VE45 END, @VE46 = CASE WHEN @VE46 < 0 THEN 0 ELSE @VE46 END, @VE47 = CASE WHEN @VE47 < 0 THEN 0 ELSE @VE47 END, @VE48 = CASE WHEN @VE48 < 0 THEN 0 ELSE @VE48 END SELECT @QTDE_ENTREGAR = @VE1+@VE2+@VE3+@VE4+@VE5+@VE6+@VE7+@VE8+@VE9+@VE10+ @VE11+@VE12+@VE13+@VE14+@VE15+@VE16+@VE17+@VE18+@VE19+@VE20+ @VE21+@VE22+@VE23+@VE24+@VE25+@VE26+@VE27+@VE28+@VE29+@VE30+ @VE31+@VE32+@VE33+@VE34+@VE35+@VE36+@VE37+@VE38+@VE39+@VE40+ @VE41+@VE42+@VE43+@VE44+@VE45+@VE46+@VE47+@VE48 SELECT @QTDE = @VO1+@VO2+@VO3+@VO4+@VO5+@VO6+@VO7+@VO8+@VO9+@VO10+ @VO11+@VO12+@VO13+@VO14+@VO15+@VO16+@VO17+@VO18+@VO19+@VO20+ @VO21+@VO22+@VO23+@VO24+@VO25+@VO26+@VO27+@VO28+@VO29+@VO30+ @VO31+@VO32+@VO33+@VO34+@VO35+@VO36+@VO37+@VO38+@VO39+@VO40+ @VO41+@VO42+@VO43+@VO44+@VO45+@VO46+@VO47+@VO48 IF @XPROCESSA_LAVAGEM = 0 AND @COR_PRODUTO = @COR AND 1=1 BEGIN IF (CASE WHEN @QTDE_ENTREGAR >0 THEN 1 ELSE 0 END) = 1 BEGIN IF (SELECT COUNT(*) FROM ##PRODUCAO_PROG_PROD WHERE PROGRAMACAO=@XPROGRAMACAO AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO AND ENTREGA_INICIAL=@XDATA_ENTREGA_INICIAL)=0 INSERT INTO ##PRODUCAO_PROG_PROD (PROGRAMACAO,PRODUTO,COR_PRODUTO, ENTREGA_INICIAL, ENTREGA_FINAL, P1 ,P2 ,P3 ,P4 ,P5 ,P6 ,P7 ,P8 ,P9 ,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20, P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40, P41,P42,P43,P44,P45,P46,P47,P48,QTDE_PROGRAMADA,GRADE, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20, S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40, S41,S42,S43,S44,S45,S46,S47,S48,QTDE_SALDO_EMITIR_OP,QTDE_GERADA,SORTIMENTO_COR, QTDE_MINIMA_PRODUZIR,AUMENTO_VENDAS,SOBRA_DE_PRODUTO,COR_SORTIDA,MATAR_SALDO_PROGRAMACAO, DESC_PRODUTO,DESC_COR_PRODUTO,REVENDA,PERIODO_PCP,COR,GIRO_ENTREGA,INDICA_SORTIMENTO) VALUES (@XPROGRAMACAO,@PRODUTO, @COR_PRODUTO,@XDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL, @VE1 ,@VE2 ,@VE3 ,@VE4 ,@VE5 ,@VE6 ,@VE7 ,@VE8 ,@VE9 ,@VE10,@VE11,@VE12,@VE13,@VE14,@VE15,@VE16,@VE17,@VE18,@VE19,@VE20, @VE21,@VE22,@VE23,@VE24,@VE25,@VE26,@VE27,@VE28,@VE29,@VE30,@VE31,@VE32,@VE33,@VE34,@VE35,@VE36,@VE37,@VE38,@VE39,@VE40, @VE41,@VE42,@VE43,@VE44,@VE45,@VE46,@VE47,@VE48,@QTDE_ENTREGAR,@GRADE, @VE1 ,@VE2 ,@VE3 ,@VE4 ,@VE5 ,@VE6 ,@VE7 ,@VE8 ,@VE9 ,@VE10,@VE11,@VE12,@VE13,@VE14,@VE15,@VE16,@VE17,@VE18,@VE19,@VE20, @VE21,@VE22,@VE23,@VE24,@VE25,@VE26,@VE27,@VE28,@VE29,@VE30,@VE31,@VE32,@VE33,@VE34,@VE35,@VE36,@VE37,@VE38,@VE39,@VE40, @VE41,@VE42,@VE43,@VE44,@VE45,@VE46,@VE47,@VE48,@QTDE_ENTREGAR,@QTDE_ENTREGAR, CASE WHEN @INDICA_SORTIMENTO = 1 THEN @SORTIMENTO_COR ELSE 0 END , ISNULL(@QTDE_MINIMA_OP,1),0,@QTDE,@COR_SORTIDA,ISNULL(@MATAR_SALDO_PROGRAMACAO,0), @DESC_PRODUTO,@DESC_COR_PRODUTO,@REVENDA,@PERIODO_PCP,@COR,@GIRO_ENTREGA,@INDICA_SORTIMENTO) ELSE UPDATE ##PRODUCAO_PROG_PROD SET P1 =@VE1 ,P2 =@VE2 ,P3 =@VE3, P4 =@VE4 ,P5 =@VE5 ,P6 =@VE6 ,P7 =@VE7 ,P8 =@VE8 ,P9 =@VE9 ,P10=@VE10, P11=@VE11,P12=@VE12,P13=@VE13,P14=@VE14,P15=@VE15,P16=@VE16,P17=@VE17,P18=@VE18,P19=@VE19,P20=@VE20, P21=@VE21,P22=@VE22,P23=@VE23,P24=@VE24,P25=@VE25,P26=@VE26,P27=@VE27,P28=@VE28,P29=@VE29,P30=@VE30, P31=@VE31,P32=@VE32,P33=@VE33,P34=@VE34,P35=@VE35,P36=@VE36,P37=@VE37,P38=@VE38,P39=@VE39,P40=@VE40, P41=@VE41,P42=@VE42,P43=@VE43,P44=@VE44,P45=@VE45,P46=@VE46,P47=@VE47,P48=@VE48, S1 =@VE1 ,S2 =@VE2 ,S3 =@VE3, S4 =@VE4 ,S5 =@VE5 ,S6 =@VE6 ,S7 =@VE7 ,S8 =@VE8 ,S9 =@VE9 ,S10=@VE10, S11=@VE11,S12=@VE12,S13=@VE13,S14=@VE14,S15=@VE15,S16=@VE16,S17=@VE17,S18=@VE18,S19=@VE19,S20=@VE20, S21=@VE21,S22=@VE22,S23=@VE23,S24=@VE24,S25=@VE25,S26=@VE26,S27=@VE27,S28=@VE28,S29=@VE29,S30=@VE30, S31=@VE31,S32=@VE32,S33=@VE33,S34=@VE34,S35=@VE35,S36=@VE36,S37=@VE37,S38=@VE38,S39=@VE39,S40=@VE40, S41=@VE41,S42=@VE42,S43=@VE43,S44=@VE44,S45=@VE45,S46=@VE46,S47=@VE47,S48=@VE48, QTDE_PROGRAMADA = @QTDE_ENTREGAR, QTDE_GERADA = @QTDE_ENTREGAR ,SOBRA_DE_PRODUTO = @QTDE, QTDE_SALDO_EMITIR_OP = @QTDE_ENTREGAR WHERE PROGRAMACAO=@XPROGRAMACAO AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO AND ENTREGA_INICIAL=@XDATA_ENTREGA_INICIAL END END ELSE BEGIN IF (CASE WHEN @MOSTRA_ZERADOS = 0 THEN (CASE WHEN @QTDE_ENTREGAR >0 THEN 1 ELSE 0 END) ELSE 1 END ) = 1 IF (SELECT COUNT(*) FROM #PRODUCAO_PROG_PROD_AUX WHERE PROGRAMACAO=@XPROGRAMACAO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR) = 0 INSERT INTO #PRODUCAO_PROG_PROD_AUX (PROGRAMACAO,PRODUTO,COR_PRODUTO, ENTREGA_INICIAL, ENTREGA_FINAL, P1 ,P2 ,P3 ,P4 ,P5 ,P6 ,P7 ,P8 ,P9 ,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20, P21,P22,P23,P24,P25,P26,P27,P28,P29,P30,P31,P32,P33,P34,P35,P36,P37,P38,P39,P40, P41,P42,P43,P44,P45,P46,P47,P48,QTDE_PROGRAMADA,GRADE, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20, S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40, S41,S42,S43,S44,S45,S46,S47,S48,QTDE_SALDO_EMITIR_OP,QTDE_GERADA,SORTIMENTO_COR, QTDE_MINIMA_PRODUZIR,AUMENTO_VENDAS,SOBRA_DE_PRODUTO,COR_SORTIDA,MATAR_SALDO_PROGRAMACAO, DESC_PRODUTO,DESC_COR_PRODUTO,REVENDA,PERIODO_PCP,COR,GIRO_ENTREGA,INDICA_SORTIMENTO) VALUES (@XPROGRAMACAO,@PRODUTO, @COR,@XDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL, @VE1 ,@VE2 ,@VE3 ,@VE4 ,@VE5 ,@VE6 ,@VE7 ,@VE8 ,@VE9 ,@VE10,@VE11,@VE12,@VE13,@VE14,@VE15,@VE16,@VE17,@VE18,@VE19,@VE20, @VE21,@VE22,@VE23,@VE24,@VE25,@VE26,@VE27,@VE28,@VE29,@VE30,@VE31,@VE32,@VE33,@VE34,@VE35,@VE36,@VE37,@VE38,@VE39,@VE40, @VE41,@VE42,@VE43,@VE44,@VE45,@VE46,@VE47,@VE48,@QTDE_ENTREGAR,@GRADE, @VE1 ,@VE2 ,@VE3 ,@VE4 ,@VE5 ,@VE6 ,@VE7 ,@VE8 ,@VE9 ,@VE10,@VE11,@VE12,@VE13,@VE14,@VE15,@VE16,@VE17,@VE18,@VE19,@VE20, @VE21,@VE22,@VE23,@VE24,@VE25,@VE26,@VE27,@VE28,@VE29,@VE30,@VE31,@VE32,@VE33,@VE34,@VE35,@VE36,@VE37,@VE38,@VE39,@VE40, @VE41,@VE42,@VE43,@VE44,@VE45,@VE46,@VE47,@VE48,@QTDE_ENTREGAR,@QTDE_ENTREGAR, CASE WHEN @INDICA_SORTIMENTO = 1 THEN @SORTIMENTO_COR ELSE 0 END , ISNULL(@QTDE_MINIMA_OP,1),0,@QTDE,@COR_SORTIDA,ISNULL(@MATAR_SALDO_PROGRAMACAO,0), @DESC_PRODUTO,@DESC_COR_PRODUTO,@REVENDA,@PERIODO_PCP,@COR,@GIRO_ENTREGA,@INDICA_SORTIMENTO) ELSE UPDATE #PRODUCAO_PROG_PROD_AUX SET P1 =P1 +@VE1 ,P2 =P2 +@VE2 ,P3 =P3 +@VE3, P4 =P4 +@VE4 ,P5 =P5 +@VE5 ,P6 =P6 +@VE6 ,P7 =P7 +@VE7 ,P8 =P8 +@VE8 ,P9 =P9 +@VE9 ,P10=P10+@VE10, P11=P11+@VE11,P12=P12+@VE12,P13=P13+@VE13,P14=P14+@VE14,P15=P15+@VE15,P16=P16+@VE16,P17=P17+@VE17,P18=P18+@VE18,P19=P19+@VE19,P20=P20+@VE20, P21=P21+@VE21,P22=P22+@VE22,P23=P23+@VE23,P24=P24+@VE24,P25=P25+@VE25,P26=P26+@VE26,P27=P27+@VE27,P28=P28+@VE28,P29=P29+@VE29,P30=P30+@VE30, P31=P31+@VE31,P32=P32+@VE32,P33=P33+@VE33,P34=P34+@VE34,P35=P35+@VE35,P36=P36+@VE36,P37=P37+@VE37,P38=P38+@VE38,P39=P39+@VE39,P40=P40+@VE40, P41=P41+@VE41,P42=P42+@VE42,P43=P43+@VE43,P44=P44+@VE44,P45=P45+@VE45,P46=P46+@VE46,P47=P47+@VE47,P48=P48+@VE48 WHERE PROGRAMACAO=@XPROGRAMACAO AND PRODUTO = @PRODUTO AND COR_PRODUTO = @COR END IF (@VO1<0 OR @VO2<0 OR @VO3<0 OR @VO4<0 OR @VO5<0 OR @VO6<0 OR @VO7<0 OR @VO8<0 OR @VO9<0 OR @VO10<0 OR @VO11<0 OR @VO12<0 OR @VO13<0 OR @VO14<0 OR @VO15<0 OR @VO16<0 OR @VO17<0 OR @VO18<0 OR @VO19<0 OR @VO20<0 OR @VO21<0 OR @VO22<0 OR @VO23<0 OR @VO24<0 OR @VO25<0 OR @VO26<0 OR @VO27<0 OR @VO28<0 OR @VO29<0 OR @VO30<0 OR @VO31<0 OR @VO32<0 OR @VO33<0 OR @VO34<0 OR @VO35<0 OR @VO36<0 OR @VO37<0 OR @VO38<0 OR @VO39<0 OR @VO40<0 OR @VO41<0 OR @VO42<0 OR @VO43<0 OR @VO44<0 OR @VO45<0 OR @VO46<0 OR @VO47<0 OR @VO48<0) BEGIN INSERT INTO ##PRODUTO_COR_EMISSAO (PROGRAMACAO,PRODUTO,COR_PRODUTO,EMISSAO,QTDE_R, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40 ,R41, R42, R43, R44, R45, R46, R47, R48) VALUES (@XPROGRAMACAO,@PRODUTO, @COR_PRODUTO, @XDATA_ENTREGA_INICIAL, @QTDE, @VO1, @VO2, @VO3, @VO4, @VO5, @VO6, @VO7, @VO8, @VO9, @VO10, @VO11, @VO12, @VO13, @VO14, @VO15, @VO16, @VO17, @VO18, @VO19, @VO20, @VO21, @VO22, @VO23, @VO24, @VO25, @VO26, @VO27, @VO28, @VO29, @VO30, @VO31, @VO32, @VO33, @VO34, @VO35, @VO36, @VO37, @VO38, @VO39, @VO40, @VO41, @VO42, @VO43, @VO44, @VO45, @VO46, @VO47, @VO48) END FETCH NEXT FROM CUR_CORES INTO @PRODUTO,@COR_PRODUTO,@DESC_PRODUTO,@DESC_COR_PRODUTO,@SORTIMENTO_COR, @INDICA_SORTIMENTO,@GRADE,@GIRO_ENTREGA,@REVENDA,@PERIODO_PCP,@COR,@XDATA_ENTREGA_INICIAL,@XDATA_ENTREGA_FINAL END -- WHILE @@FETCH_STATUS = 0 CLOSE CUR_CORES DEALLOCATE CUR_CORES DROP TABLE #VENDAS IF @XPROCESSA_LAVAGEM = 1 DROP TABLE #PRODUCAO_PROG_PROD_AUX SET NOCOUNT OFF --RETURN ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUTOS_CORES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUTOS_CORES] AS select PRODUTOS.PRODUTO, PRODUTOS.CODIGO_PRECO, PRODUTOS.MATERIAL, PRODUTOS.PERIODO_PCP, PRODUTOS.TABELA_OPERACOES, PRODUTOS.FATOR_OPERACOES, PRODUTOS.CLASSIF_FISCAL, PRODUTOS.TIPO_PRODUTO, PRODUTOS.TABELA_MEDIDAS, PRODUTOS.DESC_PRODUTO, PRODUTOS.GRUPO_PRODUTO, PRODUTOS.SUBGRUPO_PRODUTO, PRODUTOS.COLECAO, PRODUTOS.GRADE, PRODUTOS.DESC_PROD_NF, PRODUTOS.LINHA, PRODUTOS.GRIFFE, PRODUTOS.CARTELA, PRODUTOS.UNIDADE, PRODUTOS.PESO, PRODUTOS.REVENDA, PRODUTOS.REFER_FABRICANTE, PRODUTOS.MODELAGEM, PRODUTOS.SORTIMENTO_COR, PRODUTOS.FABRICANTE, PRODUTOS.SORTIMENTO_TAMANHO, PRODUTOS.OBS, PRODUTOS.VARIA_PRECO_COR, PRODUTOS.VARIA_PRECO_TAM, PRODUTOS.PONTEIRO_PRECO_TAM, PRODUTOS.VARIA_CUSTO_COR, PRODUTOS.PERTENCE_A_CONJUNTO, PRODUTOS.TRIBUT_ICMS, PRODUTOS.TRIBUT_ORIGEM, PRODUTOS.VARIA_CUSTO_TAM, PRODUTOS.CUSTO_REPOSICAO1, PRODUTOS.CUSTO_REPOSICAO2, PRODUTOS.CUSTO_REPOSICAO3, PRODUTOS.CUSTO_REPOSICAO4, PRODUTOS.DATA_REPOSICAO, PRODUTOS.ESTILISTA, PRODUTOS.MODELISTA, PRODUTOS.TAMANHO_BASE, PRODUTOS.GIRO_ENTREGA, PRODUTOS.INATIVO, PRODUTOS.ENVIA_LOJA_VAREJO, PRODUTOS.ENVIA_LOJA_ATACADO, PRODUTOS.ENVIA_REPRESENTANTE, PRODUTOS.ENVIA_VAREJO_INTERNET, PRODUTOS.ENVIA_ATACADO_INTERNET, PRODUTOS.MODELO, PRODUTOS.REDE_LOJAS, PRODUTOS.DATA_PARA_TRANSFERENCIA, PRODUTOS.FABRICANTE_ICMS_ABATER, PRODUTOS.FABRICANTE_PRAZO_PGTO, PRODUTOS.TAXA_JUROS_DEFLACIONAR, PRODUTOS.TAXAS_IMPOSTOS_APLICAR, PRODUTOS.PRECO_REPOSICAO_1, PRODUTOS.PRECO_REPOSICAO_2, PRODUTOS.PRECO_REPOSICAO_3, PRODUTOS.PRECO_REPOSICAO_4, PRODUTOS.PRECO_A_VISTA_REPOSICAO_1, PRODUTOS.PRECO_A_VISTA_REPOSICAO_2, PRODUTOS.PRECO_A_VISTA_REPOSICAO_3, PRODUTOS.PRECO_A_VISTA_REPOSICAO_4, PRODUTOS.FABRICANTE_FRETE, PRODUTOS.DROP_DE_TAMANHOS, PRODUTOS.DATA_CADASTRAMENTO, PRODUTOS.STATUS_PRODUTO, PRODUTOS.TIPO_STATUS_PRODUTO, DESC_COR_PRODUTO,COR_PRODUTO,COR_FABRICANTE,INICIO_VENDAS,FIM_VENDAS, TINTURARIA_LAVAGEM,COR_SORTIDA,SORTIMENTO=PRODUTO_CORES.SORTIMENTO_COR,TIPO_LAVAGEM_TINTURARIA from PRODUTOS,PRODUTO_CORES where PRODUTOS.PRODUTO = PRODUTO_CORES.PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CALCULA_SALDO_PROGRAMACAO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CALCULA_SALDO_PROGRAMACAO] @PROGRAMACAO VARCHAR(25),@PRODUTO VARCHAR(12)=''%'' ,@COR_PRODUTO VARCHAR(10)=''%'' AS UPDATE PRODUCAO_PROG_PROD SET QTDE_EM_OP = (CASE WHEN O1-A1<=0 THEN 0 WHEN O1-A1>=G1 THEN G1 ELSE O1-A1 END+CASE WHEN O2-A2<=0 THEN 0 WHEN O2-A2>=G2 THEN G2 ELSE O2-A2 END+CASE WHEN O3-A3<=0 THEN 0 WHEN O3-A3>=G3 THEN G3 ELSE O3-A3 END+CASE WHEN O4-A4<=0 THEN 0 WHEN O4-A4>=G4 THEN G4 ELSE O4-A4 END+ CASE WHEN O5-A5<=0 THEN 0 WHEN O5-A5>=G5 THEN G5 ELSE O5-A5 END+CASE WHEN O6-A6<=0 THEN 0 WHEN O6-A6>=G6 THEN G6 ELSE O6-A6 END+CASE WHEN O7-A7<=0 THEN 0 WHEN O7-A7>=G7 THEN G7 ELSE O7-A7 END+CASE WHEN O8-A8<=0 THEN 0 WHEN O8-A8>=G8 THEN G8 ELSE O8-A8 END+ CASE WHEN O9-A9<=0 THEN 0 WHEN O9-A9>=G9 THEN G9 ELSE O9-A9 END+CASE WHEN O10-A10<=0 THEN 0 WHEN O10-A10>=G10 THEN G10 ELSE O10-A10 END+CASE WHEN O11-A11<=0 THEN 0 WHEN O11-A11>=G11 THEN G11 ELSE O11-A11 END+CASE WHEN O12-A12<=0 THEN 0 WHEN O12-A12>= G12 THEN G12 ELSE O12-A12 END+ CASE WHEN O13-A13<=0 THEN 0 WHEN O13-A13>=G13 THEN G13 ELSE O13-A13 END+CASE WHEN O14-A14<=0 THEN 0 WHEN O14-A14>=G14 THEN G14 ELSE O14-A14 END+CASE WHEN O15-A15<=0 THEN 0 WHEN O15-A15>=G15 THEN G15 ELSE O15-A15 END+CASE WHEN O16-A16<=0 THEN 0 WHEN O16-A16>=G16 THEN G16 ELSE O16-A16 END+ CASE WHEN O17-A17<=0 THEN 0 WHEN O17-A17>=G17 THEN G17 ELSE O17-A17 END+CASE WHEN O18-A18<=0 THEN 0 WHEN O18-A18>=G18 THEN G18 ELSE O18-A18 END+CASE WHEN O19-A19<=0 THEN 0 WHEN O19-A19>=G19 THEN G19 ELSE O19-A19 END+CASE WHEN O20-A20<=0 THEN 0 WHEN O20-A20>=G20 THEN G20 ELSE O20-A20 END+ CASE WHEN O21-A21<=0 THEN 0 WHEN O21-A21>=G21 THEN G21 ELSE O21-A21 END+CASE WHEN O22-A22<=0 THEN 0 WHEN O22-A22>=G22 THEN G22 ELSE O22-A22 END+CASE WHEN O23-A23<=0 THEN 0 WHEN O23-A23>=G23 THEN G23 ELSE O23-A23 END+CASE WHEN O24-A24<=0 THEN 0 WHEN O24-A24>=G24 THEN G24 ELSE O24-A24 END+ CASE WHEN O25-A25<=0 THEN 0 WHEN O25-A25>=G25 THEN G25 ELSE O25-A25 END+CASE WHEN O26-A26<=0 THEN 0 WHEN O26-A26>=G26 THEN G26 ELSE O26-A26 END+CASE WHEN O27-A27<=0 THEN 0 WHEN O27-A27>=G27 THEN G27 ELSE O27-A27 END+CASE WHEN O28-A28<=0 THEN 0 WHEN O28-A28>=G28 THEN G28 ELSE O28-A28 END+ CASE WHEN O29-A29<=0 THEN 0 WHEN O29-A29>=G29 THEN G29 ELSE O29-A29 END+CASE WHEN O30-A30<=0 THEN 0 WHEN O30-A30>=G30 THEN G30 ELSE O30-A30 END+CASE WHEN O31-A31<=0 THEN 0 WHEN O31-A31>=G31 THEN G31 ELSE O31-A31 END+CASE WHEN O32-A32<=0 THEN 0 WHEN O32-A32>=G32 THEN G32 ELSE O32-A32 END+ CASE WHEN O33-A33<=0 THEN 0 WHEN O33-A33>=G33 THEN G33 ELSE O33-A33 END+CASE WHEN O34-A34<=0 THEN 0 WHEN O34-A34>=G34 THEN G34 ELSE O34-A34 END+CASE WHEN O35-A35<=0 THEN 0 WHEN O35-A35>=G35 THEN G35 ELSE O35-A35 END+CASE WHEN O36-A36<=0 THEN 0 WHEN O36-A36>=G36 THEN G36 ELSE O36-A36 END+ CASE WHEN O37-A37<=0 THEN 0 WHEN O37-A37>=G37 THEN G37 ELSE O37-A37 END+CASE WHEN O38-A38<=0 THEN 0 WHEN O38-A38>=G38 THEN G38 ELSE O38-A38 END+CASE WHEN O39-A39<=0 THEN 0 WHEN O39-A39>=G39 THEN G39 ELSE O39-A39 END+CASE WHEN O40-A40<=0 THEN 0 WHEN O40-A40>=G40 THEN G40 ELSE O40-A40 END+ CASE WHEN O41-A41<=0 THEN 0 WHEN O41-A41>=G41 THEN G41 ELSE O41-A41 END+CASE WHEN O42-A42<=0 THEN 0 WHEN O42-A42>=G42 THEN G42 ELSE O42-A42 END+CASE WHEN O43-A43<=0 THEN 0 WHEN O43-A43>=G43 THEN G43 ELSE O43-A43 END+CASE WHEN O44-A44<=0 THEN 0 WHEN O44-A44>=G44 THEN G44 ELSE O44-A44 END+ CASE WHEN O45-A45<=0 THEN 0 WHEN O45-A45>=G45 THEN G45 ELSE O45-A45 END+CASE WHEN O46-A46<=0 THEN 0 WHEN O46-A46>=G46 THEN G46 ELSE O46-A46 END+CASE WHEN O47-A47<=0 THEN 0 WHEN O47-A47>=G47 THEN G47 ELSE O47-A47 END+CASE WHEN O48-A48<=0 THEN 0 WHEN O48-A48>=G48 THEN G48 ELSE O48-A48 END), QTDE_SALDO_EMITIR_OP = ((G1-(CASE WHEN O1-A1<=0 THEN 0 WHEN O1-A1>=G1 THEN G1 ELSE O1-A1 END))+(G2-(CASE WHEN O2-A2<=0 THEN 0 WHEN O2-A2>=G2 THEN G2 ELSE O2-A2 END))+(G3-(CASE WHEN O3-A3<=0 THEN 0 WHEN O3-A3>=G3 THEN G3 ELSE O3-A3 END))+(G4-(CASE WHEN O4 -A4<=0 THEN 0 WHEN O4-A4>=G4 THEN G4 ELSE O4-A4 END))+ (G5-(CASE WHEN O5-A5<=0 THEN 0 WHEN O5-A5>=G5 THEN G5 ELSE O5-A5 END))+(G6-(CASE WHEN O6-A6<=0 THEN 0 WHEN O6-A6>=G6 THEN G6 ELSE O6-A6 END))+(G7-(CASE WHEN O7-A7<=0 THEN 0 WHEN O7-A7>=G7 THEN G7 ELSE O7-A7 END))+(G8-(CASE WHEN O8-A8<=0 THEN 0 WHEN O8-A8>=G8 THEN G8 ELSE O8-A8 END))+ (G9-(CASE WHEN O9-A9<=0 THEN 0 WHEN O9-A9>=G9 THEN G9 ELSE O9-A9 END))+(G10-(CASE WHEN O10-A10<=0 THEN 0 WHEN O10-A10>=G10 THEN G10 ELSE O10-A10 END))+(G11-(CASE WHEN O11-A11<=0 THEN 0 WHEN O11-A11>=G11 THEN G11 ELSE O11-A11 END))+(G12-(CASE WHEN O12-A12<=0 THEN 0 WHEN O12-A12>=G12 THEN G12 ELSE O12-A12 END))+ (G13-(CASE WHEN O13-A13<=0 THEN 0 WHEN O13-A13>=G13 THEN G13 ELSE O13-A13 END))+(G14-(CASE WHEN O14-A14<=0 THEN 0 WHEN O14-A14>=G14 THEN G14 ELSE O14-A14 END))+(G15-(CASE WHEN O15-A15<=0 THEN 0 WHEN O15-A15>=G15 THEN G15 ELSE O15-A15 END))+(G16-(CASE WHEN O16-A16<=0 THEN 0 WHEN O16-A16>=G16 THEN G16 ELSE O16-A16 END))+ (G17-(CASE WHEN O17-A17<=0 THEN 0 WHEN O17-A17>=G17 THEN G17 ELSE O17-A17 END))+(G18-(CASE WHEN O18-A18<=0 THEN 0 WHEN O18-A18>=G18 THEN G18 ELSE O18-A18 END))+(G19-(CASE WHEN O19-A19<=0 THEN 0 WHEN O19-A19>=G19 THEN G19 ELSE O19-A19 END))+(G20-(CASE WHEN O20-A20<=0 THEN 0 WHEN O20-A20>=G20 THEN G20 ELSE O20-A20 END))+ (G21-(CASE WHEN O21-A21<=0 THEN 0 WHEN O21-A21>=G21 THEN G21 ELSE O21-A21 END))+(G22-(CASE WHEN O22-A22<=0 THEN 0 WHEN O22-A22>=G22 THEN G22 ELSE O22-A22 END))+(G23-(CASE WHEN O23-A23<=0 THEN 0 WHEN O23-A23>=G23 THEN G23 ELSE O23-A23 END))+(G24-(CASE WHEN O24-A24<=0 THEN 0 WHEN O24-A24>=G24 THEN G24 ELSE O24-A24 END))+ (G25-(CASE WHEN O25-A25<=0 THEN 0 WHEN O25-A25>=G25 THEN G25 ELSE O25-A25 END))+(G26-(CASE WHEN O26-A26<=0 THEN 0 WHEN O26-A26>=G26 THEN G26 ELSE O26-A26 END))+(G27-(CASE WHEN O27-A27<=0 THEN 0 WHEN O27-A27>=G27 THEN G27 ELSE O27-A27 END))+(G28-(CASE WHEN O28-A28<=0 THEN 0 WHEN O28-A28>=G28 THEN G28 ELSE O28-A28 END))+ (G29-(CASE WHEN O29-A29<=0 THEN 0 WHEN O29-A29>=G29 THEN G29 ELSE O29-A29 END))+(G30-(CASE WHEN O30-A30<=0 THEN 0 WHEN O30-A30>=G30 THEN G30 ELSE O30-A30 END))+(G31-(CASE WHEN O31-A31<=0 THEN 0 WHEN O31-A31>=G31 THEN G31 ELSE O31-A31 END))+(G32-(CASE WHEN O32-A32<=0 THEN 0 WHEN O32-A32>=G32 THEN G32 ELSE O32-A32 END))+ (G33-(CASE WHEN O33-A33<=0 THEN 0 WHEN O33-A33>=G33 THEN G33 ELSE O33-A33 END))+(G34-(CASE WHEN O34-A34<=0 THEN 0 WHEN O34-A34>=G34 THEN G34 ELSE O34-A34 END))+(G35-(CASE WHEN O35-A35<=0 THEN 0 WHEN O35-A35>=G35 THEN G35 ELSE O35-A35 END))+(G36-(CASE WHEN O36-A36<=0 THEN 0 WHEN O36-A36>=G36 THEN G36 ELSE O36-A36 END))+ (G37-(CASE WHEN O37-A37<=0 THEN 0 WHEN O37-A37>=G37 THEN G37 ELSE O37-A37 END))+(G38-(CASE WHEN O38-A38<=0 THEN 0 WHEN O38-A38>=G38 THEN G38 ELSE O38-A38 END))+(G39-(CASE WHEN O39-A39<=0 THEN 0 WHEN O39-A39>=G39 THEN G39 ELSE O39-A39 END))+(G40-(CASE WHEN O40-A40<=0 THEN 0 WHEN O40-A40>=G40 THEN G40 ELSE O40-A40 END))+ (G41-(CASE WHEN O41-A41<=0 THEN 0 WHEN O41-A41>=G41 THEN G41 ELSE O41-A41 END))+(G42-(CASE WHEN O42-A42<=0 THEN 0 WHEN O42-A42>=G42 THEN G42 ELSE O42-A42 END))+(G43-(CASE WHEN O43-A43<=0 THEN 0 WHEN O43-A43>=G43 THEN G43 ELSE O43-A43 END))+(G44-(CASE WHEN O44-A44<=0 THEN 0 WHEN O44-A44>=G44 THEN G44 ELSE O44-A44 END))+ (G45-(CASE WHEN O45-A45<=0 THEN 0 WHEN O45-A45>=G45 THEN G45 ELSE O45-A45 END))+(G46-(CASE WHEN O46-A46<=0 THEN 0 WHEN O46-A46>=G46 THEN G46 ELSE O46-A46 END))+(G47-(CASE WHEN O47-A47<=0 THEN 0 WHEN O47-A47>=G47 THEN G47 ELSE O47-A47 END))+(G48-(CASE WHEN O48-A48<=0 THEN 0 WHEN O48-A48>=G48 THEN G48 ELSE O48-A48 END))) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S1=(G1-(CASE WHEN O1-A1 <= 0 THEN 0 WHEN O1 - A1 >= G1 THEN G1 ELSE O1 - A1 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S2=(G2-(CASE WHEN O2-A2 <= 0 THEN 0 WHEN O2 - A2 >= G2 THEN G2 ELSE O2 - A2 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S3=(G3-(CASE WHEN O3-A3 <= 0 THEN 0 WHEN O3 - A3 >= G3 THEN G3 ELSE O3 - A3 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S4=(G4-(CASE WHEN O4-A4 <= 0 THEN 0 WHEN O4 - A4 >= G4 THEN G4 ELSE O4 - A4 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S5=(G5-(CASE WHEN O5-A5 <= 0 THEN 0 WHEN O5 - A5 >= G5 THEN G5 ELSE O5 - A5 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S6=(G6-(CASE WHEN O6-A6 <= 0 THEN 0 WHEN O6 - A6 >= G6 THEN G6 ELSE O6 - A6 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S7=(G7-(CASE WHEN O7-A7 <= 0 THEN 0 WHEN O7 - A7 >= G7 THEN G7 ELSE O7 - A7 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S8=(G8-(CASE WHEN O8-A8 <= 0 THEN 0 WHEN O8 - A8 >= G8 THEN G8 ELSE O8 - A8 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S9=(G9-(CASE WHEN O9-A9 <= 0 THEN 0 WHEN O9 - A9 >= G9 THEN G9 ELSE O9 - A9 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S10=(G10-(CASE WHEN O10-A10 <= 0 THEN 0 WHEN O10 - A10 >= G10 THEN G10 ELSE O10 - A10 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S11=(G11-(CASE WHEN O11-A11 <= 0 THEN 0 WHEN O11 - A11 >= G11 THEN G11 ELSE O11 - A11 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S12=(G12-(CASE WHEN O12-A12 <= 0 THEN 0 WHEN O12 - A12 >= G12 THEN G12 ELSE O12 - A12 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S13=(G13-(CASE WHEN O13-A13 <= 0 THEN 0 WHEN O13 - A13 >= G13 THEN G13 ELSE O13 - A13 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S14=(G14-(CASE WHEN O14-A14 <= 0 THEN 0 WHEN O14 - A14 >= G14 THEN G14 ELSE O14 - A14 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S15=(G15-(CASE WHEN O15-A15 <= 0 THEN 0 WHEN O15 - A15 >= G15 THEN G15 ELSE O15 - A15 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S16=(G16-(CASE WHEN O16-A16 <= 0 THEN 0 WHEN O16 - A16 >= G16 THEN G16 ELSE O16 - A16 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S17=(G17-(CASE WHEN O17-A17 <= 0 THEN 0 WHEN O17 - A17 >= G17 THEN G17 ELSE O17 - A17 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S18=(G18-(CASE WHEN O18-A18 <= 0 THEN 0 WHEN O18 - A18 >= G18 THEN G18 ELSE O18 - A18 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S19=(G19-(CASE WHEN O19-A19 <= 0 THEN 0 WHEN O19 - A19 >= G19 THEN G19 ELSE O19 - A19 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S20=(G20-(CASE WHEN O20-A20 <= 0 THEN 0 WHEN O20 - A20 >= G20 THEN G20 ELSE O20 - A20 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S21=(G21-(CASE WHEN O21-A21 <= 0 THEN 0 WHEN O21 - A21 >= G21 THEN G21 ELSE O21 - A21 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S22=(G22-(CASE WHEN O22-A22 <= 0 THEN 0 WHEN O22 - A22 >= G22 THEN G22 ELSE O22 - A22 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S23=(G23-(CASE WHEN O23-A23 <= 0 THEN 0 WHEN O23 - A23 >= G23 THEN G23 ELSE O23 - A23 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S24=(G24-(CASE WHEN O24-A24 <= 0 THEN 0 WHEN O24 - A24 >= G24 THEN G24 ELSE O24 - A24 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S25=(G25-(CASE WHEN O25-A25 <= 0 THEN 0 WHEN O25 - A25 >= G25 THEN G25 ELSE O25 - A25 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S26=(G26-(CASE WHEN O26-A26 <= 0 THEN 0 WHEN O26 - A26 >= G26 THEN G26 ELSE O26 - A26 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S27=(G27-(CASE WHEN O27-A27 <= 0 THEN 0 WHEN O27 - A27 >= G27 THEN G27 ELSE O27 - A27 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S28=(G28-(CASE WHEN O28-A28 <= 0 THEN 0 WHEN O28 - A28 >= G28 THEN G28 ELSE O28 - A28 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S29=(G29-(CASE WHEN O29-A29 <= 0 THEN 0 WHEN O29 - A29 >= G29 THEN G29 ELSE O29 - A29 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S30=(G30-(CASE WHEN O30-A30 <= 0 THEN 0 WHEN O30 - A30 >= G30 THEN G30 ELSE O30 - A30 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S31=(G31-(CASE WHEN O31-A31 <= 0 THEN 0 WHEN O31 - A31 >= G31 THEN G31 ELSE O31 - A31 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S32=(G32-(CASE WHEN O32-A32 <= 0 THEN 0 WHEN O32 - A32 >= G32 THEN G32 ELSE O32 - A32 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S33=(G33-(CASE WHEN O33-A33 <= 0 THEN 0 WHEN O33 - A33 >= G33 THEN G33 ELSE O33 - A33 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S34=(G34-(CASE WHEN O34-A34 <= 0 THEN 0 WHEN O34 - A34 >= G34 THEN G34 ELSE O34 - A34 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S35=(G35-(CASE WHEN O35-A35 <= 0 THEN 0 WHEN O35 - A35 >= G35 THEN G35 ELSE O35 - A35 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S36=(G36-(CASE WHEN O36-A36 <= 0 THEN 0 WHEN O36 - A36 >= G36 THEN G36 ELSE O36 - A36 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S37=(G37-(CASE WHEN O37-A37 <= 0 THEN 0 WHEN O37 - A37 >= G37 THEN G37 ELSE O37 - A37 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S38=(G38-(CASE WHEN O38-A38 <= 0 THEN 0 WHEN O38 - A38 >= G38 THEN G38 ELSE O38 - A38 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S39=(G39-(CASE WHEN O39-A39 <= 0 THEN 0 WHEN O39 - A39 >= G39 THEN G39 ELSE O39 - A39 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S40=(G40-(CASE WHEN O40-A40 <= 0 THEN 0 WHEN O40 - A40 >= G40 THEN G40 ELSE O40 - A40 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S41=(G41-(CASE WHEN O41-A41 <= 0 THEN 0 WHEN O41 - A41 >= G41 THEN G41 ELSE O41 - A41 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S42=(G42-(CASE WHEN O42-A42 <= 0 THEN 0 WHEN O42 - A42 >= G42 THEN G42 ELSE O42 - A42 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S43=(G43-(CASE WHEN O43-A43 <= 0 THEN 0 WHEN O43 - A43 >= G43 THEN G43 ELSE O43 - A43 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S44=(G44-(CASE WHEN O44-A44 <= 0 THEN 0 WHEN O44 - A44 >= G44 THEN G44 ELSE O44 - A44 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S45=(G45-(CASE WHEN O45-A45 <= 0 THEN 0 WHEN O45 - A45 >= G45 THEN G45 ELSE O45 - A45 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S46=(G46-(CASE WHEN O46-A46 <= 0 THEN 0 WHEN O46 - A46 >= G46 THEN G46 ELSE O46 - A46 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S47=(G47-(CASE WHEN O47-A47 <= 0 THEN 0 WHEN O47 - A47 >= G47 THEN G47 ELSE O47 - A47 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END, S48=(G48-(CASE WHEN O48-A48 <= 0 THEN 0 WHEN O48 - A48 >= G48 THEN G48 ELSE O48 - A48 END)) * CASE WHEN MATAR_SALDO=1 THEN 0 ELSE 1 END FROM PRODUCAO_PROG_PROD INNER JOIN ( (SELECT A.PROGRAMACAO,A.PRODUTO,A.COR_PRODUTO,A.ENTREGA_INICIAL, QTDE_PROGRAMADA = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN (B.P1+B.P2+B.P3+B.P4+B.P5+B.P6+B.P7+B.P8+B.P9+B.P10+B.P11+B.P12+ B.P13+B.P14+B.P15+B.P16+B.P17+B.P18+B.P19+B.P20+B.P21+B.P22+B.P23+B.P24+ B.P25+B.P26+B.P27+B.P28+B.P29+B.P30+B.P31+B.P32+B.P33+B.P34+B.P35+B.P36+ B.P37+B.P38+B.P39+B.P40+B.P41+B.P42+B.P43+B.P44+B.P45+B.P46+B.P47+B.P48) ELSE 0 END), G1 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P1 ELSE 0 END),G2 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P2 ELSE 0 END), G3 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P3 ELSE 0 END),G4 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P4 ELSE 0 END), G5 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P5 ELSE 0 END),G6 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P6 ELSE 0 END), G7 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P7 ELSE 0 END),G8 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P8 ELSE 0 END), G9 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P9 ELSE 0 END),G10 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P10 ELSE 0 END), G11 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P11 ELSE 0 END),G12 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P12 ELSE 0 END), G13 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P13 ELSE 0 END),G14 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P14 ELSE 0 END), G15 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P15 ELSE 0 END),G16 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P16 ELSE 0 END), G17 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P17 ELSE 0 END),G18 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P18 ELSE 0 END), G19 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P19 ELSE 0 END),G20 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P20 ELSE 0 END), G21 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P21 ELSE 0 END),G22 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P22 ELSE 0 END), G23 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P23 ELSE 0 END),G24 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P24 ELSE 0 END), G25 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P25 ELSE 0 END),G26 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P26 ELSE 0 END), G27 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P27 ELSE 0 END),G28 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P28 ELSE 0 END), G29 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P29 ELSE 0 END),G30 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P30 ELSE 0 END), G31 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P31 ELSE 0 END),G32 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P32 ELSE 0 END), G33 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P33 ELSE 0 END),G34 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P34 ELSE 0 END), G35 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P35 ELSE 0 END),G36 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P36 ELSE 0 END), G37 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P37 ELSE 0 END),G38 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P38 ELSE 0 END), G39 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P39 ELSE 0 END),G40 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P40 ELSE 0 END), G41 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P41 ELSE 0 END),G42 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P42 ELSE 0 END), G43 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P43 ELSE 0 END),G44 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P44 ELSE 0 END), G45 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P45 ELSE 0 END),G46 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P46 ELSE 0 END), G47 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P47 ELSE 0 END),G48 = SUM(CASE WHEN B.ENTREGA_INICIAL=A.ENTREGA_INICIAL THEN B.P48 ELSE 0 END), QTDE_PROG_ANTERIOR = SUM(CASE WHEN B.ENTREGA_INICIALB.COR_PRODUTO AND B.TINTURARIA_LAVAGEM=0 AND A.TINTURARIA_LAVAGEM=1 AND A.COR=B.COR_PRODUTO) X ON B.PRODUTO=X.PRODUTO AND B.COR_PRODUTO=X.COR_PRODUTO )ON A.PROGRAMACAO=B.PROGRAMACAO AND A.PRODUTO=B.PRODUTO AND (A.COR_PRODUTO=B.COR_PRODUTO OR (NOT EXISTS (SELECT * FROM PRODUCAO_PROG_PROD Z WHERE Z.PROGRAMACAO=B.PROGRAMACAO AND Z.PRODUTO=B.PRODUTO AND Z.COR_PRODUTO=B.COR_PRODUTO) AND A.COR_PRODUTO=X.COR_CRUA)) WHERE A.PROGRAMACAO = @PROGRAMACAO AND A.PRODUTO LIKE @PRODUTO GROUP BY A.PROGRAMACAO,A.PRODUTO,A.COR_PRODUTO,A.ENTREGA_INICIAL ) TOT JOIN (SELECT A.PRODUTO,A.COR_PRODUTO,ISNULL(B.COR_PRODUTO,A.COR_PRODUTO) AS COR_CRUA FROM PRODUTO_CORES A LEFT JOIN PRODUTO_CORES B ON A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO<>B.COR_PRODUTO AND B.TINTURARIA_LAVAGEM=0 AND A.TINTURARIA_LAVAGEM=1 AND A.COR=B.COR_PRODUTO) CRU ON TOT.PRODUTO=CRU.PRODUTO AND TOT.COR_PRODUTO=CRU.COR_PRODUTO ) ON PRODUCAO_PROG_PROD.PROGRAMACAO=TOT.PROGRAMACAO AND PRODUCAO_PROG_PROD.PRODUTO=TOT.PRODUTO AND (PRODUCAO_PROG_PROD.COR_PRODUTO=TOT.COR_PRODUTO OR (NOT EXISTS (SELECT * FROM PRODUCAO_PROG_PROD Z WHERE Z.PROGRAMACAO=TOT.PROGRAMACAO AND Z.PRODUTO=TOT.PRODUTO AND Z.COR_PRODUTO=TOT.COR_PRODUTO) AND PRODUCAO_PROG_PROD.COR_PRODUTO=CRU.COR_CRUA)) AND PRODUCAO_PROG_PROD.ENTREGA_INICIAL=TOT.ENTREGA_INICIAL WHERE PRODUCAO_PROG_PROD.PROGRAMACAO = @PROGRAMACAO AND PRODUCAO_PROG_PROD.PRODUTO LIKE @PRODUTO AND (PRODUCAO_PROG_PROD.COR_PRODUTO LIKE @COR_PRODUTO OR CRU.COR_CRUA LIKE @COR_PRODUTO) IF NOT EXISTS(SELECT * FROM PRODUCAO_PROG_PROD WHERE PROGRAMACAO=@PROGRAMACAO AND QTDE_SALDO_EMITIR_OP <> 0) BEGIN UPDATE PRODUCAO_PROGRAMA SET TIPO_PROGRAMACAO=4 WHERE PROGRAMACAO=@PROGRAMACAO END' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_PRODUTOS] AS SELECT FILIAL,PRODUTO,COR_PRODUTO FROM FILIAIS CROSS JOIN PRODUTO_CORES ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Gera_Lojas_Giro]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Gera_Lojas_Giro] /*---[VERSAO: 6.0]---*/ @DataInicial DateTime, @DataFinal DateTime, @Filial VarChar(25)=''%'', @Moeda Char(6)=''US$'', @ICMS Char(1)=''N'', @EstoqueAtual Char(1)=''N'', @SomenteLojas Char(1)=''N'' AS set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @nEstoque_Prod1_Ent Int, @nEstoque_Prod1_Sai Int, @nFaturamento_Prod Int, @nFaturam_Dev_Prod Int, @nEntradas_Produto Int,@Tempo DateTime, @nEntradas_Pro_Devol Int, @nEstoque_Prod_ctg_Ajuste Int, @nLoja_Resumo_Produto Int,@nLoja_Venda Int,@Codigo_Filial Char(6), @nLoja_Venda_Troca Int, @nLoja_Venda_Produto Int, @QtdeAjuste Int, @QtdeCompra Int, @QtdeFaturamento Int, @QtdeFaturamentoDev Int, @QtdeEntradaRet Int, @QtdeSaidaRet Int, @QtdeDevolucao Int,@EstoqueInicial Int,@Historico char(1), @nLoja_Resumo_Troca Int, @nLoja_Saidas_Produto Int, @nLoja_Entradas_Produto Int,@DataSaldo DateTime, @cFilial VarChar(25), @Produto Char(12), @Padrao bit,@CalculaSaldo Char(1),@TotalDescontoVenda Numeric(14,2),@TotalDescontoVendaMoeda Numeric(14,2), @StatusLojasVarejo Int,@StatusEstoqueProdutos Int, @EstoqueTotal Int, @OldProduto Char(12),@Count Int, @EstoqueValorizado Numeric(14,2),@EstoqueValorizadoMoeda Numeric(14,2), @QtdeSaida Int, @UltimaSaida DateTime, @QtdeEntrada Int, @UltimaEntrada DateTime, @QtdeVenda Int, @ValorVenda Numeric(14,2), @ValorVendaMoeda Numeric(14,2), @TotalDesconto Numeric(14,2), @TotalDescontoMoeda Numeric(14,2), @ValorCusto Numeric(14,2),@DataSaldoAux DateTime, @ValorCustoMoeda Numeric(14,2), @ValorTroca Numeric(14,2), @ValorTrocaMoeda Numeric(14,2), @QtdeTroca Int, @TotalDescontoTroca Numeric(14,2), @TotalDescontoTrocaMoeda Numeric(14,2), @ValorCustoTroca Numeric(14,2), @ValorCustoTrocaMoeda Numeric(14,2), @ValorMoeda Numeric(15,4), @FilialPadrao VarChar(25), @ICMSPadrao Numeric(8,2), @IndICMS Numeric(8,2) SELECT @SomenteLojas = ''N'' WHERE @EstoqueAtual=''N'' DECLARE Cur_Giro_Lojas_Varejo SCROLL CURSOR FOR SELECT DISTINCT Filial,Codigo_Filial FROM Lojas_Varejo WHERE Filial LIKE RTRIM(@Filial) AND ISNULL(Nao_Gera_Giro,0) <> 1 ORDER BY Filial select @Tempo=Getdate() SELECT @Moeda=(SELECT Moeda FROM Moedas WHERE INDICA_PADRAO=1) WHERE (SELECT COUNT(Moeda) FROM Moedas WHERE Moeda=RTRIM(@Moeda))<1 SELECT @Padrao=Indica_Padrao FROM Moedas WHERE Moeda=RTRIM(@Moeda) SELECT @ValorMoeda=ISNULL(Valor,1) FROM Moedas_Conversao WHERE Moeda=RTRIM(@Moeda) AND Data=(SELECT MAX(Data) FROM Moedas_Conversao WHERE Moeda=RTRIM(@Moeda) AND Data <= @DataFinal) SELECT @FilialPadrao=RTRIM(valor_atual) FROM Parametros WHERE Parametro=''FILIAL_PADRAO'' SELECT @ICMSPadrao=ISNULL(ICMS_SAIDA,0) FROM Unidades_Federacao A, Cadastro_Cli_For B WHERE A.UF=B.UF AND B.Nome_CliFor=RTRIM(@FilialPadrao) IF @@ROWCOUNT=0 SELECT @ICMSPadrao=0 OPEN Cur_Giro_Lojas_Varejo SELECT @StatusLojasVarejo=0 WHILE @StatusLojasVarejo !=-1 BEGIN FETCH NEXT FROM Cur_Giro_Lojas_Varejo INTO @cFilial,@Codigo_Filial SELECT @StatusLojasVarejo=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK IF EXISTS (SELECT * FROM Lojas_Giro WHERE Data_Inicial=@DataInicial AND Data_Final=@DataFinal AND Filial=@cFilial) DELETE FROM Lojas_Giro WHERE Data_Inicial=@DataInicial AND Data_Final=@DataFinal AND Filial=@cFilial SELECT @DataSaldo=''18000101'',@TotalDescontoVenda=0 SELECT @DataSaldo=ISNULL(MAX(DATA_SALDO),''18000101'') FROM Estoque_Produtos_Historico WHERE FILIAL=@cFilial AND Data_Saldo <= @DataFinal SELECT @IndICMS=ISNULL(ICMS_SAIDA,0) FROM Unidades_Federacao A, Cadastro_Cli_For B WHERE A.UF=B.UF AND B.Nome_CliFor=@cFilial IF @@ROWCOUNT=0 SELECT @IndICMS=0 IF @SomenteLojas <> ''S'' BEGIN SELECT @nEstoque_Prod1_Ent =(SELECT COUNT(Filial) FROM Estoque_Prod1_Ent WHERE Filial = @cFilial) SELECT @nEstoque_Prod1_Sai =(SELECT COUNT(Filial) FROM Estoque_Prod1_Sai WHERE Filial = @cFilial) SELECT @nFaturamento_Prod =(SELECT COUNT(Filial) FROM Faturamento_Prod WHERE Filial = @cFilial) SELECT @nFaturam_Dev_Prod =(SELECT COUNT(Filial) FROM Faturam_Dev_Prod WHERE Filial = @cFilial) SELECT @nEntradas_Produto =(SELECT COUNT(Filial) FROM Entradas WHERE Filial = @cFilial) SELECT @nEntradas_Pro_Devol =(SELECT COUNT(Filial) FROM Entradas_Pro_Devol WHERE Filial = @cFilial) SELECT @nEstoque_Prod_ctg_Ajuste=(SELECT COUNT(Filial) FROM Estoque_Prod_Contagem WHERE Filial = @cFilial) END ELSE BEGIN SELECT @nEstoque_Prod1_Ent = 0, @nEstoque_Prod1_Sai =0, @nFaturamento_Prod =0, @nFaturam_Dev_Prod =0, @nEntradas_Produto =0, @nEntradas_Pro_Devol =0, @nEstoque_Prod_ctg_Ajuste=0 END SELECT @nLoja_Saidas_Produto =(SELECT COUNT(Filial) FROM Loja_Saidas_Produto WHERE Filial = @cFilial) SELECT @nLoja_Entradas_Produto =(SELECT COUNT(Filial) FROM Loja_Entradas_Produto WHERE Filial = @cFilial) SELECT @nLoja_Venda =(SELECT COUNT(Filial) FROM Loja_Venda, Lojas_Varejo WHERE Loja_Venda.Codigo_Filial=Lojas_Varejo.Codigo_Filial AND Filial = @cFilial) SELECT @cFilial=RTRIM(@cFilial) DECLARE Cur_Giro_Estoque_PA SCROLL CURSOR FOR SELECT DISTINCT Produto FROM Estoque_Produtos WHERE Filial=@cFilial AND (Ultima_Saida >= @DataInicial OR Ultima_Entrada >= @DataInicial OR Data_para_Transferencia >= @DataInicial OR Estoque <> 0) ORDER BY Produto OPEN Cur_Giro_Estoque_PA SELECT @StatusEstoqueProdutos=0 WHILE @StatusEstoqueProdutos !=-1 BEGIN FETCH NEXT FROM Cur_Giro_Estoque_PA INTO @Produto SELECT @StatusEstoqueProdutos=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @EstoqueTotal=0,@EstoqueValorizado=0,@QtdeEntrada=0,@QtdeEntradaRet=0,@QtdeDevolucao=0,@QtdeTroca=0,@QtdeCompra=0,@QtdeAjuste=0,@QtdeSaidaRet=0,@QtdeSaida=0,@QtdeVenda=0,@QtdeFaturamento=0, @ValorVenda=0, @ValorVendaMoeda=0, @TotalDesconto=0, @TotalDescontoMoeda=0, @ValorCusto=0, @ValorCustoMoeda=0, @TotalDescontoVenda=0, @TotalDescontoVendaMoeda=0, @ValorTroca=0, @ValorTrocaMoeda=0, @QtdeTroca=0, @TotalDescontoTroca=0, @TotalDescontoTrocaMoeda=0, @ValorCustoTroca=0 ,@ValorCustoTrocaMoeda=0 SELECT @Produto=RTRIM(@Produto),@Codigo_Filial=RTRIM(@Codigo_Filial) SELECT @TEMPO=GETDATE() IF @nEntradas_Pro_Devol > 0 SELECT @QtdeDevolucao=ISNULL(SUM(Qtde),0) FROM Entradas_Pro_Devol A, Entradas B WHERE A.Nome_Clifor = B.Nome_Clifor AND A.NF_Entrada = B.NF_Entrada AND A.Filial=@cFilial AND A.Produto=@Produto AND Recebimento >= @DataInicial AND Recebimento <= @DataFinal IF @nEstoque_Prod_ctg_Ajuste > 0 SELECT @QtdeAjuste=ISNULL(SUM(Qtde_Ajuste),0) FROM Estoque_Prod_ctg_Ajuste A,Estoque_Prod_Contagem B WHERE A.Nome_Contagem = B.Nome_Contagem AND Filial=@cFilial AND A.Produto=@Produto AND Emissao >= @DataInicial AND Emissao <= @DataFinal IF @nFaturamento_Prod > 0 SELECT @QtdeFaturamento=ISNULL(SUM(Qtde),0) FROM Faturamento_Prod A, Faturamento B WHERE A.Filial=B.Filial AND A.NF_Saida=B.NF_Saida AND A.Serie_NF=B.Serie_NF AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao >= @DataInicial AND Emissao <= @DataFinal IF @nFaturam_Dev_Prod > 0 SELECT @QtdeFaturamentoDev=ISNULL(SUM(Qtde),0) FROM Faturam_Dev_Prod A, Faturamento B WHERE A.Filial=B.Filial AND A.NF_Saida=B.NF_Saida AND A.Serie_NF=B.Serie_NF AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao >= @DataInicial AND Emissao <= @DataFinal IF @nEntradas_Produto > 0 SELECT @QtdeCompra=ISNULL(SUM(Total_Entradas),0) FROM Entradas_Produto A, Entradas B WHERE A.Nome_Clifor = B.Nome_Clifor AND A.NF_Entrada = B.NF_Entrada AND Filial=@cFilial AND A.Produto=@Produto AND Recebimento >= @DataInicial AND Recebimento <= @DataFinal IF @nEstoque_Prod1_Ent > 0 SELECT @QtdeEntradaRet=ISNULL(SUM(Qtde),0) FROM Estoque_Prod1_Ent A,Estoque_Prod_Ent B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao >= @DataInicial AND Emissao <= @DataFinal IF @nEstoque_Prod1_Sai > 0 SELECT @QtdeSaidaRet=ISNULL(SUM(Qtde),0) FROM Estoque_Prod1_Sai A,Estoque_Prod_Sai B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao >= @DataInicial AND Emissao <= @DataFinal IF @nLoja_Saidas_Produto > 0 SELECT @QtdeSaida=ISNULL(SUM(Qtde_Saida),0), @UltimaSaida=MAX(Emissao) FROM Loja_Saidas_Produto A, Loja_Saidas B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Produto=@Produto AND A.Filial=@cFilial AND Emissao >=@DataInicial AND Emissao<=@DataFinal IF @nLoja_Entradas_Produto > 0 SELECT @QtdeEntrada=ISNULL(SUM(Qtde_Entrada),0), @UltimaEntrada=MAX(Emissao) FROM Loja_Entradas_Produto A, Loja_Entradas B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Produto=@Produto AND A.Filial=@cFilial AND Emissao >=@DataInicial AND Emissao<=@DataFinal IF @nLoja_Venda > 0 SELECT @QtdeVenda=ISNULL(SUM(Qtde),0), @ValorVenda=ISNULL(SUM(Qtde*PRECO_LIQUIDO),0), @ValorVendaMoeda=ISNULL(SUM(Qtde*PRECO_LIQUIDO/ISNULL(B.Valor,@ValorMoeda)),0), @TotalDesconto=ISNULL(SUM(Qtde*DESCONTO_ITEM),0), @TotalDescontoMoeda=ISNULL(SUM(Qtde*DESCONTO_ITEM/ISNULL(B.Valor,@ValorMoeda)),0), @ValorCusto=(ISNULL(SUM(Qtde*Custo),0)*CASE WHEN @ICMS=''S'' THEN (1.-(1.*@ICMSPadrao/100))/(1.-(1.*@IndICMS/100)) ELSE 1 END), @ValorCustoMoeda=ISNULL(SUM(Qtde*Custo/ISNULL(B.Valor,@ValorMoeda)),0)*CASE WHEN @ICMS=''S'' THEN (1-(@ICMSPadrao/100.))/(1-(@IndICMS/100.)) ELSE 1 END, @TotalDescontoVenda=ISNULL(CONVERT(NUMERIC(14,2),SUM(ISNULL(QTDE,0)*ISNULL(PRECO_LIQUIDO,0)*ISNULL(FATOR_DESCONTO_VENDA,0))),0), @TotalDescontoVendaMoeda=ISNULL(CONVERT(NUMERIC(14,2),SUM(ISNULL(QTDE,0)*ISNULL(PRECO_LIQUIDO,0)*ISNULL(FATOR_DESCONTO_VENDA,1)/ISNULL(B.Valor,@ValorMoeda))),0) FROM Loja_Venda_Produto A LEFT JOIN Moedas_Conversao B ON Data_Venda=B.Data AND B.moeda=@Moeda WHERE A.Produto=@Produto AND Codigo_Filial=@Codigo_Filial AND QTDE_CANCELADA=0 AND Data_Venda >=@DataInicial AND Data_Venda<=@DataFinal IF @nLoja_Venda > 0 SELECT @ValorTroca=ISNULL(SUM(Qtde*PRECO_LIQUIDO),0), @ValorTrocaMoeda=ISNULL(SUM(Qtde*PRECO_LIQUIDO/ISNULL(B.Valor,@ValorMoeda)),0), @QtdeTroca=ISNULL(SUM(Qtde),0), @TotalDescontoTroca=ISNULL(SUM(Qtde*DESCONTO_ITEM),0), @TotalDescontoTrocaMoeda=ISNULL(SUM(Qtde*DESCONTO_ITEM/ISNULL(B.Valor,@ValorMoeda)),0), @ValorCustoTroca=(ISNULL(SUM(Qtde*Custo),0)*CASE WHEN @ICMS=''S'' THEN (1.-(1.*@ICMSPadrao/100))/(1.-(1.*@IndICMS/100)) ELSE 1 END), @ValorCustoTrocaMoeda=ISNULL(SUM(Qtde*Custo/ISNULL(B.Valor,@ValorMoeda)),0)*CASE WHEN @ICMS=''S'' THEN (1-(@ICMSPadrao/100.))/(1-(@IndICMS/100.)) ELSE 1 END, @TotalDescontoVenda=@TotalDescontoVenda-CONVERT(NUMERIC(14,2),ISNULL(SUM(ISNULL(QTDE,0)*ISNULL(PRECO_LIQUIDO,0)*ISNULL(FATOR_DESCONTO_VENDA,0)),0)), @TotalDescontoVendaMoeda=@TotalDescontoVendaMoeda-CONVERT(NUMERIC(14,2),ISNULL(SUM(ISNULL(QTDE,0)*ISNULL(PRECO_LIQUIDO,0)*ISNULL(FATOR_DESCONTO_VENDA,1)/ISNULL(B.Valor,@ValorMoeda)),0)) FROM Loja_Venda_Troca A LEFT JOIN Moedas_Conversao B ON Data_Venda=B.Data AND B.moeda=@Moeda WHERE A.Produto=@Produto AND Codigo_Filial=@Codigo_Filial AND QTDE_CANCELADA=0 AND Data_Venda >=@DataInicial AND Data_Venda<=@DataFinal IF @EstoqueAtual=''N'' BEGIN SELECT @EstoqueTotal=0,@EstoqueInicial=0 IF @DataSaldo=@DataFinal SELECT @CalculaSaldo=''N'' ELSE IF @DataSaldo=DATEADD(DAY,-1,@DataInicial) SELECT @CalculaSaldo=''N'', @EstoqueTotal=ISNULL(@QtdeEntrada,0)+ISNULL(@QtdeEntradaRet,0)+ISNULL(@QtdeDevolucao,0)+ISNULL(@QtdeTroca,0)+ISNULL(@QtdeCompra,0)+ISNULL(@QtdeAjuste,0)-ISNULL(@QtdeSaidaRet,0)-ISNULL(@QtdeSaida,0)-ISNULL(@QtdeVenda,0)-ISNULL(@QtdeFaturamento,0)-ISNULL(@QtdeFaturamentoDev,0) IF @DataSaldo > ''18000101'' SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Estoque),0),@EstoqueInicial=ISNULL(SUM(Estoque),0) FROM Estoque_Produtos_Historico A WHERE A.PRODUTO=@Produto AND A.FILIAL=@cFilial AND A.Data_Saldo = @DataSaldo SELECT @CalculaSaldo = ''S'' SELECT @CalculaSaldo = ''N'' WHERE @DataSaldo = @DataFinal OR @DataSaldo = DATEADD(DAY,-1,@DataInicial) END ELSE BEGIN SELECT @EstoqueTotal=SUM(Estoque) FROM Estoque_Produtos A WHERE Filial=@cFilial AND A.Produto=@Produto END IF @CalculaSaldo = ''S'' BEGIN IF @nEstoque_Prod1_Ent > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Qtde),0) FROM Estoque_Prod1_Ent A,Estoque_Prod_Ent B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nEstoque_Prod1_Sai > 0 SELECT @EstoqueTotal=@EstoqueTotal-ISNULL(SUM(Qtde),0) FROM Estoque_Prod1_Sai A,Estoque_Prod_Sai B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nFaturamento_Prod > 0 SELECT @EstoqueTotal=@EstoqueTotal-ISNULL(SUM(Qtde),0) FROM Faturamento_Prod A, Faturamento B WHERE A.Filial=B.Filial AND A.NF_Saida=B.NF_Saida AND A.Serie_NF=B.Serie_NF AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nFaturam_Dev_Prod > 0 SELECT @EstoqueTotal=@EstoqueTotal-ISNULL(SUM(Qtde),0) FROM Faturam_Dev_Prod A, Faturamento B WHERE A.Filial=B.Filial AND A.NF_Saida=B.NF_Saida AND A.Serie_NF=B.Serie_NF AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nEntradas_Produto > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Total_Entradas),0) FROM Entradas_Produto A, Entradas B WHERE A.Nome_Clifor = B.Nome_Clifor AND A.NF_Entrada = B.NF_Entrada AND Filial=@cFilial AND A.Produto=@Produto AND Recebimento > @DataSaldo AND Recebimento <= @DataFinal IF @nEntradas_Pro_Devol > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Qtde),0) FROM Entradas_Pro_Devol A, Entradas B WHERE A.Nome_Clifor = B.Nome_Clifor AND A.NF_Entrada = B.NF_Entrada AND A.Filial=@cFilial AND A.Produto=@Produto AND Recebimento > @DataSaldo AND Recebimento <= @DataFinal IF @nEstoque_Prod_ctg_Ajuste > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Qtde_Ajuste),0) FROM Estoque_Prod_ctg_Ajuste A,Estoque_Prod_Contagem B WHERE A.Nome_Contagem = B.Nome_Contagem AND Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nLoja_Venda > 0 SELECT @EstoqueTotal=@EstoqueTotal-ISNULL(SUM(Qtde),0) FROM (Loja_Venda_Produto A INNER JOIN Lojas_Varejo B ON A.Codigo_Filial=B.Codigo_Filial) WHERE Filial=@cFilial AND A.Produto=@Produto AND Data_Venda > @DataSaldo AND Data_Venda <= @DataFinal IF @nLoja_Venda > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(QTDE),0) FROM (Loja_Venda_Troca A INNER JOIN Lojas_Varejo B ON A.Codigo_Filial=B.Codigo_Filial) WHERE Filial=@cFilial AND A.Produto=@Produto AND Data_Venda > @DataSaldo AND Data_Venda <= @DataFinal IF @nLoja_Saidas_Produto > 0 SELECT @EstoqueTotal=@EstoqueTotal-ISNULL(SUM(Qtde_Saida),0) FROM Loja_Saidas_Produto A, Loja_Saidas B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal IF @nLoja_Entradas_Produto > 0 SELECT @EstoqueTotal=@EstoqueTotal+ISNULL(SUM(Qtde_Entrada),0) FROM Loja_Entradas_Produto A, Loja_Entradas B WHERE A.Romaneio_Produto=B.Romaneio_Produto AND A.Filial=B.Filial AND A.Filial=@cFilial AND A.Produto=@Produto AND Emissao > @DataSaldo AND Emissao <= @DataFinal END SELECT @EstoqueValorizado=@EstoqueTotal*AVG(Custo_Reposicao1) FROM PRODUTO_CORES WHERE PRODUTO=@PRODUTO SELECT @EstoqueValorizadoMoeda=@EstoqueValorizado/@ValorMoeda IF @ICMS=''S'' SELECT @EStoqueValorizadoMoeda=@EstoqueValorizadoMoeda*(1.-(1.*@ICMSPadrao/100))/(1.-(1.*@IndICMS/100)) INSERT INTO Lojas_Giro (Filial,Produto,Data_Inicial,Data_Final,Estoque_Valorizado, Estoque_Valorizado_Moeda,Estoque,Qtde_Saida,Qtde_Entrada,Valor_Venda, Valor_Venda_Moeda,Qtde_Venda,Total_Desconto,Total_Desconto_Moeda, Valor_Custo,Valor_Custo_Moeda,Valor_Troca,Valor_Troca_Moeda,Qtde_Troca, Total_Desconto_Troca,Total_Desconto_Troca_Moeda,Valor_Custo_Troca, Valor_Custo_Troca_Moeda,Ultima_Entrada,Ultima_Saida,Moeda,TIPO_ICMS, Total_Desconto_Venda,Total_Desconto_Venda_Moeda,Qtde_Ajuste,Qtde_Compra, Qtde_Faturamento,Qtde_Entrada_Ret,Qtde_Saida_Ret,Qtde_Devolucao) VALUES(@cFilial,@Produto,@DataInicial,@DataFinal,@EstoqueValorizado, @EstoqueValorizadoMoeda,@EstoqueTotal,@QtdeSaida,@QtdeEntrada,@ValorVenda, @ValorVendaMoeda,@QtdeVenda,@TotalDesconto,@TotalDescontoMoeda, @ValorCusto,@ValorCustoMoeda,@ValorTroca,@ValorTrocaMoeda,@QtdeTroca, @TotalDescontoTroca,@TotalDescontoTrocaMoeda,@ValorCustoTroca, @ValorCustoTrocaMoeda,@UltimaEntrada,@UltimaSaida,@Moeda,@ICMS, @TotalDescontoVenda,@TotalDescontoVendaMoeda,ISNULL(@QtdeAjuste,0),ISNULL(@QtdeCompra,0), ISNULL(@QtdeFaturamento,0)+ISNULL(@QtdeFaturamentoDev,0),ISNULL(@QtdeEntradaRet,0),ISNULL(@QtdeSaidaRet,0),ISNULL(@QtdeDevolucao,0)) END /*Loop Cur_Giro_Estoque_PA*/ CLOSE Cur_Giro_Estoque_PA DEALLOCATE Cur_Giro_Estoque_PA END /*Loop Cur_Giro_Lojas_Varejo*/ CLOSE Cur_Giro_Lojas_Varejo DEALLOCATE Cur_Giro_Lojas_Varejo set nocount off' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LEER_PROVEEDORES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LEER_PROVEEDORES] AS BEGIN drop table TMP_PROVEEDORES CREATE TABLE TMP_PROVEEDORES ( nombre_proveedor varCHAR(40) null, numero_proveedor varCHAR(6) null, dni_nif CHAR(10) null, cuenta_contable CHAR(20) null, descrip_proveedor CHAR(40) null, codigo_postal char(5) null, direccion char(40) null, poblacion char(35) null, provincia char(25) null, telefono char(9) null, contacto char(40) null ) BULK INSERT TMP_PROVEEDORES FROM ''D:\TEMP\PROVEEDORES.txt'' WITH (FIELDTERMINATOR = '';'', ROWTERMINATOR = ''\n'') INSERT INTO CADASTRO_CLI_FOR (NOME_CLIFOR, CONTA_CONTABIL,CLIFOR, CGC_CPF, RAZAO_SOCIAL,PJ_PF,RG_IE, UF,COBRANCA_UF,ENTREGA_UF, COBRANCA_CGC, CADASTRAMENTO,COBRANCA_IE, ENTREGA_CGC,ENTREGA_IE,INATIVO, ISENTO_IPI,ISENTO_ICMS,INDICA_FORNECEDOR, INDICA_CLIENTE,IND_REPRESENTANTE,INDICA_FILIAL, CEP, ENDERECO, CIDADE, BAIRRO, TELEFONE1,PAIS,DDI, TELEFONE2,FAX,DDD1, RAMAL1,RAMAL2,DDD2, COBRANCA_ENDERECO, COBRANCA_CIDADE, COBRANCA_BAIRRO, DDDFAX,COBRANCA_CEP,COBRANCA_TELEFONE,COBRANCA_DDD, CONTATO, ENTREGA_DDD,REF_ANTERIOR,IRRF, ACEITA_AGRUPAR_FATURA,POSSUI_RECARGO, ENTREGA_ENDERECO, ENTREGA_CIDADE, ENTREGA_BAIRRO, DATA_FIXA_PGTO, ENTREGA_PAIS, COBRANCA_PAIS) SELECT NOME_CLIFOR=SUBSTRING(nombre_proveedor,1,25), CONTA_CONTABIL=cuenta_contable, CLIFOR=RIGHT(numero_proveedor,6), CGC_CPF=ISNULL(dni_nif,''0000000000''), RAZAO_SOCIAL=SUBSTRING(descrip_proveedor,1,40),PJ_PF=0,GF_PF=''0'', UF=''..'',COBRANCA_UF=''..'',ENTREGA_UF=''..'', COBRANCA_CGC=ISNULL(dni_nif,''0000000000''), CADASTRAMENTO=getdate(),COBRANCA_IE=''0'', ENTREGA_CGC=ISNULL(dni_nif,''0000000000''),ENTREGA_IE=''0'',INATIVO=''0'', ISENTO_IPI=''0'',ISENTO_ICMS=''0'',INDICA_FORNECEDOR=''9'', INDICA_CLIENTE=''0'',IND_REPRESENTANTE=''0'',INDICA_FILIAL=''0'', CEP=ISNULL(LEFT(codigo_postal,5),'' ''), ENDERECO=ISNULL(SUBSTRING(direccion,1,40),'' ''), CIDADE=ISNULL(SUBSTRING(poblacion,1,35),'' ''), BAIRRO=ISNULL(SUBSTRING(provincia,1,25),'' ''), TELEFONE1=ISNULL(RIGHT(telefono,9),'' ''),PAIS=''ESPAÑA'',DDI='' '', TELEFONE2=ISNULL(RIGHT(telefono,9),'' ''),FAX='' '',DDD1='' '', RAMAL1='' '',RAMAL2='' '',DDD2='' '', COBRANCA_ENDERECO=ISNULL(SUBSTRING(direccion,1,40),'' ''), COBRANCA_CIDADE=ISNULL(SUBSTRING(poblacion,1,35),'' ''), COBRANCA_BAIRRO=ISNULL(SUBSTRING(provincia,1,25),'' ''), DDDFAX='' '',COBRANCA_CEP='' '',COBRANCA_TELEFONE='' '',COBRANCA_DDD='' '', CONTATO=ISNULL(SUBSTRING(contacto,1,40),'' ''), ENTREGA_DDD='' '',REF_ANTERIOR=RIGHT(numero_proveedor,7),IRRF=0, ACEITA_AGRUPAR_FATURA=0,POSSUI_RECARGO=0, ENTREGA_ENDERECO=SUBSTRING(direccion,1,40), ENTREGA_CIDADE=ISNULL(SUBSTRING(poblacion,1,35),'' ''), ENTREGA_BAIRRO=ISNULL(SUBSTRING(provincia,1,25),'' ''), DATA_FIXA_PGTO='''', ENTREGA_PAIS=''ESPAÑA'', COBRANCA_PAIS=''ESPAÑA'' FROM TMP_PROVEEDORES WHERE NUMERO_PROVEEDOR NOT IN (SELECT CLIFOR FROM CADASTRO_CLI_FOR) ------------------------------------------------------- -- Registrar la condición de pago ''01'' o cualquier otra ------------------------------------------------------- DECLARE @NOM VARCHAR(25) DECLARE FORNECEDOR CURSOR FOR SELECT nombre_proveedor FROM TMP_PROVEEDORES WHERE NUMERO_PROVEEDOR IN (SELECT CLIFOR FROM CADASTRO_CLI_FOR) OPEN FORNECEDOR FETCH NEXT FROM FORNECEDOR INTO @NOM WHILE @@FETCH_STATUS=0 BEGIN INSERT INTO FORNECEDORES (FORNECEDOR,CONDICAO_PGTO, CGC_CPF, CLIFOR,FORNECE_MATERIAIS, FORNECE_PROD_ACAB,FORNECE_MAT_CONSUMO,BENEFICIADOR, FORNECE_OUTROS,INATIVO,LICENCIADO,LICENDIADO_ROYALTIES) SELECT FORNECEDOR=SUBSTRING(nombre_proveedor,1,25),CONDICAO_PGTO=''01'', CGF_CPF=ISNULL(dni_nif,''0000000000''), CLIFOR=RIGHT(numero_proveedor,6),FORNECE_MATERIAIS=0, FORNECE_PROD_ACAB=0,FORNECE_MAT_CONSUMO=0,BENEFICIADOR=0, FORNECE_OUTROS=0,INATIVO=''0'',LICENCIADO=0,LICENCIADO_ROYALTIES=0 FROM TMP_PROVEEDORES WHERE nombre_proveedor=@NOM FETCH NEXT FROM FORNECEDOR INTO @NOM END CLOSE FORNECEDOR DEALLOCATE FORNECEDOR --PRINT ''-- ATENCION !! DATOS INCORRECTOS'' --PRINT ''PROVEEDORES NO INSERTADOS POR TENER YA ASIGNADO UN CODIGO'' --SELECT * FROM TMP_PROVEEDORES END' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FORNECEDORES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FORNECEDORES] AS SELECT FORNECEDORES.FORNECEDOR, FORNECEDORES.CENTRO_CUSTO, FORNECEDORES.TIPO, FORNECEDORES.SUBTIPO_FORNECEDOR, FORNECEDORES.COD_FORNECEDOR, FORNECEDORES.CLIFOR, FORNECEDORES.CONDICAO_PGTO, FORNECEDORES.CGC_CPF, FORNECEDORES.FORNECE_MATERIAIS, FORNECEDORES.FORNECE_PROD_ACAB, FORNECEDORES.FORNECE_MAT_CONSUMO, FORNECEDORES.BENEFICIADOR, FORNECEDORES.FORNECE_OUTROS, FORNECEDORES.MOEDA, FORNECEDORES.INATIVO, FORNECEDORES.DATA_PARA_TRANSFERENCIA, Cadastro_cli_for.RAZAO_SOCIAL, Cadastro_cli_for.ENTREGA_IE, Cadastro_cli_for.PJ_PF, Cadastro_cli_for.RG_IE, Cadastro_cli_for.CEP, Cadastro_cli_for.ENDERECO, Cadastro_cli_for.CIDADE, Cadastro_cli_for.UF, Cadastro_cli_for.TELEFONE1, Cadastro_cli_for.PAIS, Cadastro_cli_for.DDI, Cadastro_cli_for.TELEFONE2, Cadastro_cli_for.FAX, Cadastro_cli_for.DDD1, Cadastro_cli_for.RAMAL1, Cadastro_cli_for.RAMAL2, Cadastro_cli_for.DDD2, Cadastro_cli_for.COBRANCA_ENDERECO, Cadastro_cli_for.COBRANCA_CIDADE, Cadastro_cli_for.DDDFAX, Cadastro_cli_for.COBRANCA_UF, Cadastro_cli_for.COBRANCA_CEP, Cadastro_cli_for.COBRANCA_TELEFONE, Cadastro_cli_for.ENTREGA_ENDERECO, Cadastro_cli_for.ENTREGA_CIDADE, Cadastro_cli_for.ENTREGA_UF, Cadastro_cli_for.ENTREGA_CEP, Cadastro_cli_for.ENTREGA_TELEFONE, Cadastro_cli_for.COBRANCA_DDD, Cadastro_cli_for.CONTATO, Cadastro_cli_for.COBRANCA_CGC, Cadastro_cli_for.CADASTRAMENTO, Cadastro_cli_for.COBRANCA_IE, Cadastro_cli_for.ANIVERSARIO, Cadastro_cli_for.INDICA_FORNECEDOR, Cadastro_cli_for.INDICA_CLIENTE, Cadastro_cli_for.IND_REPRESENTANTE, Cadastro_cli_for.INDICA_FILIAL, Cadastro_cli_for.ENTREGA_DDD, Cadastro_cli_for.ENTREGA_CGC FROM DBO.FORNECEDORES FORNECEDORES, dbo.CADASTRO_CLI_FOR Cadastro_cli_for WHERE Cadastro_cli_for.NOME_CLIFOR = FORNECEDORES.FORNECEDOR ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_TRASPASOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_TRASPASOS : -- CREATE VIEW [RDX_V_TRASPASOS] AS SELECT TIPO = ''S'', CENTRO_ORIGEN as CENTRO, FILIAL_ORIGEN as FILIAL, CENTRO_DESTINO as CENTRO2, FILIAL_DESTINO as FILIAL2, CODIGO, PRODUCTO, COLOR, FECHA, T38, T40, T42, T44, T46, T48, TOTAL FROM RDX_V_TRASPASO_SALIDA UNION SELECT ''E'', CENTRO_DESTINO, FILIAL_DESTINO, CENTRO_ORIGEN, FILIAL_ORIGEN, CODIGO, PRODUCTO, COLOR, FECHA, T38, T40, T42, T44, T46, T48, TOTAL FROM RDX_V_TRASPASO_ENTRADA ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_SAIDA_BAIXA_AUTOMATICA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_SAIDA_BAIXA_AUTOMATICA] @ORDEM_SERVICO CHAR(8) /*---[VERSAO: 2.0]---*/ AS SET ANSI_WARNINGS OFF /* BAIXA_AUTOMATICA_MATERIAL 0 - NAO BAIXA 1 - BAIXA SOMENTE A FASE 2 - BAIXA SOMENTE A FASE/SETOR 3 - BAIXA PROXIMOS 4 - BAIXA TODOS */ SET NOCOUNT ON DECLARE @BAIXA_AUTOMATICA INT, @ORDEM_PRODUCAO CHAR(8), @SEQUENCIA_PRODUTIVA CHAR(2), @FASE_PRODUCAO VARCHAR(25), @SETOR_PRODUCAO VARCHAR(25), @PARTE VARCHAR(10), @REQ_MATERIAL CHAR(8), @FILIAL VARCHAR(25), @EMISSAO DATETIME, @CONTROLA_PECA_PARTIDA INT, @ERROR INT WHILE EXISTS (SELECT * FROM TEMPDB..SYSOBJECTS WHERE NAME LIKE ''##TMP_CONSUMO_RESERVA%'') OR EXISTS (SELECT * FROM TEMPDB..SYSOBJECTS WHERE NAME LIKE ''##TMP_MATERIAIS_SAIDA%'') BEGIN WAITFOR DELAY ''00:00:05'' END exec('' CREATE TABLE ##TMP_CONSUMO_RESERVA ( ORDEM_SERVICO char(8) NULL, MATERIAL char(11) NULL, COR_MATERIAL char(10) NULL, ITEM char(3) NULL, ORDEM_PRODUCAO char(8) NULL, QTDE_ORIGINAL numeric(9,3) NULL, QTDE_ABATER numeric(9,3) NULL, PARTE_APLICADO_MATERIAL varchar(10) NULL, QTDE_NECESSARIA numeric(9,3) NULL, RESERVA numeric(9,3) NULL, ALTERACAO_CONSUMO real NULL, PRIORIDADE_SUBSTITUICAO smallint NULL, SUBSTITUICAO_POR_PRODUTO bit NULL, DATA_RESERVA datetime NULL)'') exec('' CREATE TABLE ##TMP_MATERIAIS_SAIDA ( ITEM INT IDENTITY NOT NULL, ORDEM_PRODUCAO char(8) NULL, MATERIAL char(11) NULL, COR_MATERIAL char(10) NULL, QTDE_NECESSARIA numeric(9,3) NULL, CUSTO numeric(15,5) NULL, DATA_CUSTO datetime NULL)'') SELECT @EMISSAO=CONVERT(CHAR(8),GETDATE(),112) DECLARE CUR_OS CURSOR FOR SELECT DISTINCT A.ORDEM_PRODUCAO, B.SEQUENCIA_PRODUTIVA, B.FASE_PRODUCAO, B.SETOR_PRODUCAO, B.PARTE_PRODUTO, B.BAIXA_AUTOMATICA_MATERIAL, C.NOME_CLIFOR FROM PRODUCAO_OS_ANTERIOR A JOIN PRODUCAO_TAREFAS B ON A.TAREFA_ANTERIOR=B.TAREFA JOIN PRODUCAO_RECURSOS C ON C.RECURSO_PRODUTIVO=B.RECURSO_PRODUTIVO WHERE ORDEM_SERVICO=@ORDEM_SERVICO OPEN CUR_OS FETCH NEXT FROM CUR_OS INTO @ORDEM_PRODUCAO,@SEQUENCIA_PRODUTIVA,@FASE_PRODUCAO,@SETOR_PRODUCAO,@PARTE,@BAIXA_AUTOMATICA,@FILIAL WHILE @@FETCH_STATUS=0 BEGIN -- BEGIN WHILE IF @BAIXA_AUTOMATICA > 0 AND @BAIXA_AUTOMATICA <=4 AND EXISTS(SELECT * FROM FILIAIS WHERE FILIAL=@FILIAL) BEGIN -- BEGIN 1 TRUNCATE TABLE ##TMP_CONSUMO_RESERVA TRUNCATE TABLE ##TMP_MATERIAIS_SAIDA IF @PARTE IS NULL OR RTRIM(@PARTE)='''' INSERT INTO ##TMP_CONSUMO_RESERVA EXEC(''lx_gera_cursor_ft @XORDEM_SERVICO_ANTERIOR =''''''+@ORDEM_SERVICO+'''''',@INDICA_BAIXA_AUTOMATICA=1'') ELSE INSERT INTO ##TMP_CONSUMO_RESERVA EXEC(''lx_gera_cursor_ft @XORDEM_SERVICO_ANTERIOR =''''''+@ORDEM_SERVICO+'''''',@XMOSTRA_PARTE=1,@INDICA_BAIXA_AUTOMATICA=1'') INSERT INTO ##TMP_MATERIAIS_SAIDA (ORDEM_PRODUCAO,MATERIAL,COR_MATERIAL,QTDE_NECESSARIA) SELECT DISTINCT A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL,SUM(A.QTDE_NECESSARIA) FROM ##TMP_CONSUMO_RESERVA A JOIN MATERIAIS B ON A.MATERIAL=B.MATERIAL LEFT JOIN PRODUCAO_TAREFAS C ON A.ORDEM_PRODUCAO=C.ORDEM_PRODUCAO AND B.FASE_PRODUCAO=C.FASE_PRODUCAO AND B.SETOR_PRODUCAO=C.SETOR_PRODUCAO WHERE A.ORDEM_PRODUCAO=RTRIM(@ORDEM_PRODUCAO) AND( (@BAIXA_AUTOMATICA=1 AND B.FASE_PRODUCAO=RTRIM(@FASE_PRODUCAO)) OR (@BAIXA_AUTOMATICA=2 AND B.FASE_PRODUCAO=RTRIM(@FASE_PRODUCAO) AND B.SETOR_PRODUCAO=RTRIM(@SETOR_PRODUCAO)) OR (@BAIXA_AUTOMATICA=3 AND C.SEQUENCIA_PRODUTIVA >= RTRIM(@SEQUENCIA_PRODUTIVA)) OR (@BAIXA_AUTOMATICA=4)) AND (A.PARTE_APLICADO_MATERIAL IS NULL OR @PARTE IS NULL OR CHARINDEX(A.PARTE_APLICADO_MATERIAL,@PARTE)>0) GROUP BY A.ORDEM_PRODUCAO,A.MATERIAL,A.COR_MATERIAL SELECT @CONTROLA_PECA_PARTIDA=ISNULL(ESTOQUE_CTRL_PECA,0) FROM FILIAIS WHERE FILIAL=@FILIAL IF @CONTROLA_PECA_PARTIDA=1 DELETE A FROM ##TMP_CONSUMO_RESERVA A JOIN MATERIAIS B ON A.MATERIAL=B.MATERIAL WHERE B.CTRL_PARTIDAS=1 OR CTRL_PECAS=1 IF EXISTS(SELECT * FROM ##TMP_MATERIAIS_SAIDA) BEGIN -- BEGIN 2 BEGIN TRANSACTION SELECT @REQ_MATERIAL=NULL SELECT @REQ_MATERIAL=MIN(REQ_MATERIAL) FROM ESTOQUE_SAI_MAT WHERE ORDEM_SERVICO=@ORDEM_SERVICO AND RESPONSAVEL=''BAIXA AUTOMATICA'' AND FILIAL=@FILIAL IF @REQ_MATERIAL IS NULL BEGIN EXEC LX_SEQUENCIAL @TABELA_COLUNA=''ESTOQUE_SAI_MAT_00.REQ_MATERIAL'', @SEQUENCIA = @REQ_MATERIAL OUTPUT SELECT @ERROR=@@ERROR IF @ERROR=0 INSERT INTO ESTOQUE_SAI_MAT (REQ_MATERIAL,FILIAL,EMISSAO,RESPONSAVEL,FASE_PRODUCAO,TIPO_MOVIMENTACAO,ORDEM_SERVICO) VALUES (@REQ_MATERIAL,@FILIAL,@EMISSAO,''BAIXA AUTOMATICA'',@FASE_PRODUCAO,''C'',@ORDEM_SERVICO) END IF @ERROR=0 -- DELETE B -- FROM ##TMP_MATERIAIS_SAIDA A -- RIGHT JOIN ESTOQUE_SAI1_MAT B ON B.REQ_MATERIAL=@REQ_MATERIAL AND B.FILIAL=@FILIAL AND B.MATERIAL=A.MATERIAL AND B.COR_MATERIAL=A.COR_MATERIAL -- WHERE A.MATERIAL IS NULL -- SELECT @ERROR=@@ERROR IF @ERROR=0 UPDATE B SET QTDE=A.QTDE_NECESSARIA,CUSTO=ISNULL(A.CUSTO,0),DATA_CUSTO=A.DATA_CUSTO,RESERVA_AUTOMATICA=1 FROM ##TMP_MATERIAIS_SAIDA A INNER JOIN ESTOQUE_SAI1_MAT B ON B.REQ_MATERIAL=@REQ_MATERIAL AND B.FILIAL=@FILIAL AND B.MATERIAL=A.MATERIAL AND B.COR_MATERIAL=A.COR_MATERIAL WHERE B.QTDE<>A.QTDE_NECESSARIA OR B.CUSTO<>A.CUSTO OR B.DATA_CUSTO<>A.DATA_CUSTO OR B.RESERVA_AUTOMATICA<>1 SELECT @ERROR=@@ERROR IF @ERROR=0 INSERT INTO ESTOQUE_SAI1_MAT (REQ_MATERIAL,FILIAL,MATERIAL,COR_MATERIAL,ITEM,ORDEM_PRODUCAO,QTDE,CUSTO,DATA_CUSTO,RESERVA_AUTOMATICA) SELECT @REQ_MATERIAL,@FILIAL,A.MATERIAL,A.COR_MATERIAL,RIGHT(CONVERT(CHAR(10),A.ITEM+1000000000),3),A.ORDEM_PRODUCAO,A.QTDE_NECESSARIA,ISNULL(A.CUSTO,0),A.DATA_CUSTO,1 FROM ##TMP_MATERIAIS_SAIDA A LEFT JOIN ESTOQUE_SAI1_MAT B ON B.REQ_MATERIAL=@REQ_MATERIAL AND B.FILIAL=@FILIAL AND B.MATERIAL=A.MATERIAL AND B.COR_MATERIAL=A.COR_MATERIAL WHERE B.FILIAL IS NULL SELECT @ERROR=@@ERROR IF @ERROR=0 AND NOT EXISTS (SELECT * FROM ESTOQUE_SAI1_MAT WHERE REQ_MATERIAL=@REQ_MATERIAL AND FILIAL=@FILIAL) DELETE FROM ESTOQUE_SAI_MAT WHERE REQ_MATERIAL=@REQ_MATERIAL AND FILIAL=@FILIAL SELECT @ERROR=@@ERROR IF @ERROR=0 AND @@TRANCOUNT > 0 COMMIT TRANSACTION ELSE WHILE @@TRANCOUNT > 0 ROLLBACK TRANSACTION END -- BEGIN 2 END -- BEGIN 1 FETCH NEXT FROM CUR_OS INTO @ORDEM_PRODUCAO,@SEQUENCIA_PRODUTIVA,@FASE_PRODUCAO,@SETOR_PRODUCAO,@PARTE,@BAIXA_AUTOMATICA,@FILIAL END -- BEGIN WHILE CLOSE CUR_OS DEALLOCATE CUR_OS exec(''DROP TABLE ##TMP_CONSUMO_RESERVA'') exec(''DROP TABLE ##TMP_MATERIAIS_SAIDA'') SET NOCOUNT OFF' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_romaneios_reserva]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_romaneios_reserva] (FILIAL, PRODUTO, COR_PRODUTO, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, qtde_r) AS SELECT DISTINCT Romaneios_reservas.FILIAL, Romaneios_reservas.PRODUTO, Romaneios_reservas.COR_PRODUTO, SUM(Romaneios_reservas.R1), SUM(Romaneios_reservas.R2), SUM(Romaneios_reservas.R3), SUM(Romaneios_reservas.R4), SUM(Romaneios_reservas.R5), SUM(Romaneios_reservas.R6), SUM(Romaneios_reservas.R7), SUM(Romaneios_reservas.R8), SUM(Romaneios_reservas.R9), SUM(Romaneios_reservas.R10), SUM(Romaneios_reservas.R11), SUM(Romaneios_reservas.R12), SUM(Romaneios_reservas.R13), SUM(Romaneios_reservas.R14), SUM(Romaneios_reservas.R15), SUM(Romaneios_reservas.R16), SUM(Romaneios_reservas.R17), SUM(Romaneios_reservas.R18), SUM(Romaneios_reservas.R19), SUM(Romaneios_reservas.R20), SUM(Romaneios_reservas.R21), SUM(Romaneios_reservas.R22), SUM(Romaneios_reservas.R23), SUM(Romaneios_reservas.R24), SUM(Romaneios_reservas.R25), SUM(Romaneios_reservas.R26), SUM(Romaneios_reservas.R27), SUM(Romaneios_reservas.R28), SUM(Romaneios_reservas.R29), SUM(Romaneios_reservas.R30), SUM(Romaneios_reservas.R31), SUM(Romaneios_reservas.R32), SUM(Romaneios_reservas.R33), SUM(Romaneios_reservas.R34), SUM(Romaneios_reservas.R35), SUM(Romaneios_reservas.R36), SUM(Romaneios_reservas.R37), SUM(Romaneios_reservas.R38), SUM(Romaneios_reservas.R39), SUM(Romaneios_reservas.R40), SUM(Romaneios_reservas.R41), SUM(Romaneios_reservas.R42), SUM(Romaneios_reservas.R43), SUM(Romaneios_reservas.R44), SUM(Romaneios_reservas.R45), SUM(Romaneios_reservas.R46), SUM(Romaneios_reservas.R47), SUM(Romaneios_reservas.R48), SUM(Romaneios_reservas.QTDE_R) FROM ROMANEIOS_RESERVAS Romaneios_reservas GROUP BY Romaneios_reservas.PRODUTO, Romaneios_reservas.COR_PRODUTO, Romaneios_reservas.FILIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ACTUALIZA_IMAGENES_PRODUCTO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_ACTUALIZA_IMAGENES_PRODUCTO] @ID_VARCOLOR INTEGER AS -- Procedimiento para actualizar las imágenes del producto acabado (clase Variante Color) -- en LINX (tabla PRODUTOS_FOTO) -- Realizado por: Bernardo Castellanos -- Fecha: 27-09-02 DECLARE @n_CLASIF SMALLINT, @s_GF_PRODUCTO VARCHAR(80), @n_PAGINA SMALLINT, @n_Contador SMALLINT, @n_IDVOL SMALLINT, @s_FICHERO VARCHAR(80), @n_ID_MATERIAL INTEGER, @s_IDDOC VARCHAR(80), @n_OFFSET SMALLINT, @n_IDIMG SMALLINT, @s_UNIDAD VARCHAR(8), @s_FILEPATH VARCHAR(255), @s_NOMVOL VARCHAR(80), @n_TRANSFER SMALLINT BEGIN -- Se extrae la información de almacenamiento interno de imágenes SELECT @s_UNIDAD = UNIDAD, @s_NomVol = NOMVOL FROM VOLUMENES WHERE IDENT#=0 -- Identificamos el NOMBRE del PRODUCTO SELECT @s_GF_PRODUCTO = GF_PRODUTO, @n_TRANSFER=TRANSFER FROM VARCOLOR WHERE IDVARCOLOR = @ID_VARCOLOR IF (@n_TRANSFER >= 50) BEGIN SELECT @n_Contador = 1 -- Buscamos todas las imágenes de la clase Variante Color DECLARE LISTA_IMAGENES CURSOR FOR SELECT CLASIF,PAGINA,IDVOL,FICHERO,IDDOC,IDIMG,OFFSET,FILEPATH FROM VARCOLORIMG WHERE CARPETA# = @ID_VARCOLOR ORDER BY IDIMG OPEN LISTA_IMAGENES FETCH NEXT FROM LISTA_IMAGENES INTO @n_CLASIF,@n_PAGINA,@n_IDVOL,@s_FICHERO,@s_IDDOC,@n_IDIMG,@n_OFFSET,@s_FILEPATH WHILE @@FETCH_STATUS=0 BEGIN IF (@n_IDVOL != -1) -- Si la imagen es interna se construye el path a la imagen interna BEGIN SELECT @s_FILEPATH = @s_UNIDAD + ''\'' + @s_NOMVOL + ''\VARCOLOR\'' + CONVERT(VARCHAR(5),@n_OFFSET) + ''\'' + @s_FICHERO END -- Se comprueba la existencia de imágenes asociadas al PRODUCTO IF EXISTS(SELECT * FROM PRODUTOS_FOTO WHERE PRODUTO=@s_GF_PRODUCTO AND NUMERO_FOTO=@n_Contador) BEGIN UPDATE PRODUTOS_FOTO SET PATH_FOTO=@s_FILEPATH,LEGENDA=@s_IDDOC WHERE NUMERO_FOTO=@n_Contador AND PRODUTO=@s_GF_PRODUCTO END ELSE BEGIN INSERT INTO PRODUTOS_FOTO (PRODUTO,NUMERO_FOTO,LEGENDA,PATH_FOTO) VALUES (@s_GF_PRODUCTO,@n_Contador,@s_IDDOC,@s_FILEPATH) END SELECT @n_Contador = @n_Contador + 1 FETCH NEXT FROM LISTA_IMAGENES INTO @n_CLASIF,@n_PAGINA,@n_IDVOL,@s_FICHERO,@s_IDDOC,@n_IDIMG,@n_OFFSET,@s_FILEPATH END CLOSE LISTA_IMAGENES DEALLOCATE LISTA_IMAGENES END END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_VERIFICA_OP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_VERIFICA_OP] @ORDEM_PRODUCAO_INICIAL CHAR(08)=NULL,@ORDEM_PRODUCAO_FINAL CHAR(08)=NULL,@MOSTRA CHAR(01)=NULL AS DECLARE @SEQ CHAR(7), @ERRO VARCHAR(255), @ORDEM_PRODUCAO CHAR(08), @XORDEM_PRODUCAO CHAR(08), @PRODUTO CHAR(12), @COR_PRODUTO CHAR(10), @TAREFA CHAR(10) IF @MOSTRA IS NULL SELECT @MOSTRA = ''N'' IF @ORDEM_PRODUCAO_INICIAL IS NOT NULL AND @ORDEM_PRODUCAO_FINAL IS NOT NULL BEGIN DECLARE TMPERRO SCROLL CURSOR FOR --1 SELECT ''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR'' AS ERRO, ATUAL.ORDEM_PRODUCAO,ATUAL.TAREFA,ATUAL.PRODUTO,ATUAL.COR_PRODUTO FROM (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_O) QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ATUAL, (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_A) QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ANTERIOR, PRODUCAO_ORDEM WHERE ATUAL.TAREFA = ANTERIOR.TAREFA AND ATUAL.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND ATUAL.PRODUTO = ANTERIOR.PRODUTO AND ATUAL.COR_PRODUTO = ANTERIOR.COR_PRODUTO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ATUAL.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P'' AND QTDE_O<>QTDE_A UNION ALL SELECT ''DIFERENCA ENTRE O SALDO E QTDE EM PROCESSO'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_ORDEM.STATUS =''P'' AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL UNION ALL --2 SELECT ''DIFERENCA ENTRE O SALDO E QTDE ORIGINAL'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO IN (SELECT PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO FROM PRODUCAO_ORDEM_COR LEFT JOIN (SELECT ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO)AS A ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND PRODUCAO_ORDEM_COR.PRODUTO=A.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO=A.COR_PRODUTO INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE PRODUCAO_ORDEM.STATUS =''P'' AND (QTDE_O<>QTDE_S OR QTDE_S IS NULL)) AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL UNION ALL --3 SELECT ''DIFERENCA ENTRE AS QTDES DAS TAREFAS'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND QTDE_PREVISTA <> (QTDE_EM_PROCESSO+QTDE_FINALIZADA+QTDE_A_PRODUZIR) AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL AND PRODUCAO_ORDEM.STATUS =''P'' UNION ALL --4 SELECT ''INCONSISTENCIA NA GRADE DE TAMANHOS ORIGINAL '' AS ERRO, A.ORDEM_PRODUCAO, SPACE(10) AS TAREFA, A.PRODUTO, A.COR_PRODUTO FROM PRODUCAO_ORDEM_COR A,PRODUTOS B,PRODUTOS_TAMANHOS C, PRODUCAO_ORDEM D WHERE D.ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL AND A.PRODUTO=B.PRODUTO AND B.GRADE = C.GRADE AND A.ORDEM_PRODUCAO = D.ORDEM_PRODUCAO AND ORDEM_CORTE IS NOT NULL AND ((A.O1<>0 AND (C.TAMANHO_1 ='''' OR C.TAMANHO_1 IS NULL)) OR (A.O2<>0 AND (C.TAMANHO_2 ='''' OR C.TAMANHO_2 IS NULL)) OR (A.O3<>0 AND (C.TAMANHO_3 ='''' OR C.TAMANHO_3 IS NULL)) OR (A.O4<>0 AND (C.TAMANHO_4 ='''' OR C.TAMANHO_4 IS NULL)) OR (A.O5<>0 AND (C.TAMANHO_5 ='''' OR C.TAMANHO_5 IS NULL)) OR (A.O6<>0 AND (C.TAMANHO_6 ='''' OR C.TAMANHO_6 IS NULL)) OR (A.O7<>0 AND (C.TAMANHO_7 ='''' OR C.TAMANHO_7 IS NULL)) OR (A.O8<>0 AND (C.TAMANHO_8 ='''' OR C.TAMANHO_8 IS NULL)) OR (A.O9<>0 AND (C.TAMANHO_9 ='''' OR C.TAMANHO_9 IS NULL)) OR (A.O10<>0 AND (C.TAMANHO_10='''' OR C.TAMANHO_10 IS NULL)) OR (A.O11<>0 AND (C.TAMANHO_11='''' OR C.TAMANHO_11 IS NULL)) OR (A.O12<>0 AND (C.TAMANHO_12='''' OR C.TAMANHO_12 IS NULL)) OR (A.O13<>0 AND (C.TAMANHO_13='''' OR C.TAMANHO_13 IS NULL)) OR (A.O14<>0 AND (C.TAMANHO_14='''' OR C.TAMANHO_14 IS NULL)) OR (A.O15<>0 AND (C.TAMANHO_15='''' OR C.TAMANHO_15 IS NULL)) OR (A.O16<>0 AND (C.TAMANHO_16='''' OR C.TAMANHO_16 IS NULL)) OR (A.O17<>0 AND (C.TAMANHO_17='''' OR C.TAMANHO_17 IS NULL)) OR (A.O18<>0 AND (C.TAMANHO_18='''' OR C.TAMANHO_18 IS NULL)) OR (A.O19<>0 AND (C.TAMANHO_19='''' OR C.TAMANHO_19 IS NULL)) OR (A.O20<>0 AND (C.TAMANHO_20='''' OR C.TAMANHO_20 IS NULL)) OR (A.O21<>0 AND (C.TAMANHO_21='''' OR C.TAMANHO_21 IS NULL)) OR (A.O22<>0 AND (C.TAMANHO_22='''' OR C.TAMANHO_22 IS NULL)) OR (A.O23<>0 AND (C.TAMANHO_23='''' OR C.TAMANHO_23 IS NULL)) OR (A.O24<>0 AND (C.TAMANHO_24='''' OR C.TAMANHO_24 IS NULL)) OR (A.O25<>0 AND (C.TAMANHO_25='''' OR C.TAMANHO_25 IS NULL)) OR (A.O26<>0 AND (C.TAMANHO_26='''' OR C.TAMANHO_26 IS NULL)) OR (A.O27<>0 AND (C.TAMANHO_27='''' OR C.TAMANHO_27 IS NULL)) OR (A.O28<>0 AND (C.TAMANHO_28='''' OR C.TAMANHO_28 IS NULL)) OR (A.O29<>0 AND (C.TAMANHO_29='''' OR C.TAMANHO_29 IS NULL)) OR (A.O30<>0 AND (C.TAMANHO_30='''' OR C.TAMANHO_30 IS NULL)) OR (A.O31<>0 AND (C.TAMANHO_31='''' OR C.TAMANHO_31 IS NULL)) OR (A.O32<>0 AND (C.TAMANHO_32='''' OR C.TAMANHO_32 IS NULL)) OR (A.O33<>0 AND (C.TAMANHO_33='''' OR C.TAMANHO_33 IS NULL)) OR (A.O34<>0 AND (C.TAMANHO_34='''' OR C.TAMANHO_34 IS NULL)) OR (A.O35<>0 AND (C.TAMANHO_35='''' OR C.TAMANHO_35 IS NULL)) OR (A.O36<>0 AND (C.TAMANHO_36='''' OR C.TAMANHO_36 IS NULL)) OR (A.O37<>0 AND (C.TAMANHO_37='''' OR C.TAMANHO_37 IS NULL)) OR (A.O38<>0 AND (C.TAMANHO_38='''' OR C.TAMANHO_38 IS NULL)) OR (A.O39<>0 AND (C.TAMANHO_39='''' OR C.TAMANHO_39 IS NULL)) OR (A.O40<>0 AND (C.TAMANHO_40='''' OR C.TAMANHO_40 IS NULL)) OR (A.O41<>0 AND (C.TAMANHO_41='''' OR C.TAMANHO_41 IS NULL)) OR (A.O42<>0 AND (C.TAMANHO_42='''' OR C.TAMANHO_42 IS NULL)) OR (A.O43<>0 AND (C.TAMANHO_43='''' OR C.TAMANHO_43 IS NULL)) OR (A.O44<>0 AND (C.TAMANHO_44='''' OR C.TAMANHO_44 IS NULL)) OR (A.O45<>0 AND (C.TAMANHO_45='''' OR C.TAMANHO_45 IS NULL)) OR (A.O46<>0 AND (C.TAMANHO_46='''' OR C.TAMANHO_46 IS NULL)) OR (A.O47<>0 AND (C.TAMANHO_47='''' OR C.TAMANHO_47 IS NULL)) OR (A.O48<>0 AND (C.TAMANHO_48='''' OR C.TAMANHO_48 IS NULL))) AND D.STATUS =''P'' --5 UNION ALL SELECT DISTINCT ''QTDE DAS TAREFAS <0 '' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P'' AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO BETWEEN @ORDEM_PRODUCAO_INICIAL AND @ORDEM_PRODUCAO_FINAL GROUP BY PRODUCAO_TAREFAS.ORDEM_PRODUCAO,TAREFA,QTDE_PREVISTA,QTDE_A_PRODUZIR,QTDE_EM_PROCESSO,QTDE_FINALIZADA HAVING QTDE_PREVISTA < 0 OR QTDE_A_PRODUZIR <0 OR QTDE_EM_PROCESSO <0 OR QTDE_FINALIZADA <0 OPEN TMPERRO FETCH NEXT FROM TMPERRO INTO @ERRO ,@XORDEM_PRODUCAO,@TAREFA,@PRODUTO, @COR_PRODUTO END IF @ORDEM_PRODUCAO_INICIAL IS NOT NULL AND @ORDEM_PRODUCAO_FINAL IS NULL BEGIN DECLARE TMPERRO SCROLL CURSOR FOR --1 SELECT ''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR'' AS ERRO, ATUAL.ORDEM_PRODUCAO,ATUAL.TAREFA,ATUAL.PRODUTO,ATUAL.COR_PRODUTO FROM (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_O) QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO_INICIAL AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ATUAL, (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_A) QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO_INICIAL GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ANTERIOR, PRODUCAO_ORDEM WHERE ATUAL.TAREFA = ANTERIOR.TAREFA AND ATUAL.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND ATUAL.PRODUTO = ANTERIOR.PRODUTO AND ATUAL.COR_PRODUTO = ANTERIOR.COR_PRODUTO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ATUAL.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P''AND QTDE_O<>QTDE_A UNION ALL SELECT ''DIFERENCA ENTRE O SALDO E QTDE EM PROCESSO'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO_INICIAL AND PRODUCAO_ORDEM.STATUS =''P'' UNION ALL --2 SELECT ''DIFERENCA ENTRE O SALDO E QTDE ORIGINAL'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO IN (SELECT PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO FROM PRODUCAO_ORDEM_COR LEFT JOIN (SELECT ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO)AS A ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND PRODUCAO_ORDEM_COR.PRODUTO=A.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO=A.COR_PRODUTO INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE PRODUCAO_ORDEM.STATUS =''P''AND (QTDE_O<>QTDE_S OR QTDE_S IS NULL)) AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO_INICIAL UNION ALL --3 SELECT ''DIFERENCA ENTRE AS QTDES DAS TAREFAS'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND QTDE_PREVISTA <> (QTDE_EM_PROCESSO+QTDE_FINALIZADA+QTDE_A_PRODUZIR) AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO_INICIAL AND PRODUCAO_ORDEM.STATUS =''P'' UNION ALL --4 SELECT ''INCONSISTENCIA NA GRADE DE TAMANHOS ORIGINAL '' AS ERRO, A.ORDEM_PRODUCAO, SPACE(10) AS TAREFA, A.PRODUTO, A.COR_PRODUTO FROM PRODUCAO_ORDEM_COR A,PRODUTOS B,PRODUTOS_TAMANHOS C, PRODUCAO_ORDEM D WHERE D.ORDEM_PRODUCAO = @ORDEM_PRODUCAO_INICIAL AND A.PRODUTO=B.PRODUTO AND B.GRADE = C.GRADE AND A.ORDEM_PRODUCAO = D.ORDEM_PRODUCAO AND ORDEM_CORTE IS NOT NULL AND ((A.O1<>0 AND (C.TAMANHO_1 ='''' OR C.TAMANHO_1 IS NULL)) OR (A.O2<>0 AND (C.TAMANHO_2 ='''' OR C.TAMANHO_2 IS NULL)) OR (A.O3<>0 AND (C.TAMANHO_3 ='''' OR C.TAMANHO_3 IS NULL)) OR (A.O4<>0 AND (C.TAMANHO_4 ='''' OR C.TAMANHO_4 IS NULL)) OR (A.O5<>0 AND (C.TAMANHO_5 ='''' OR C.TAMANHO_5 IS NULL)) OR (A.O6<>0 AND (C.TAMANHO_6 ='''' OR C.TAMANHO_6 IS NULL)) OR (A.O7<>0 AND (C.TAMANHO_7 ='''' OR C.TAMANHO_7 IS NULL)) OR (A.O8<>0 AND (C.TAMANHO_8 ='''' OR C.TAMANHO_8 IS NULL)) OR (A.O9<>0 AND (C.TAMANHO_9 ='''' OR C.TAMANHO_9 IS NULL)) OR (A.O10<>0 AND (C.TAMANHO_10='''' OR C.TAMANHO_10 IS NULL)) OR (A.O11<>0 AND (C.TAMANHO_11='''' OR C.TAMANHO_11 IS NULL)) OR (A.O12<>0 AND (C.TAMANHO_12='''' OR C.TAMANHO_12 IS NULL)) OR (A.O13<>0 AND (C.TAMANHO_13='''' OR C.TAMANHO_13 IS NULL)) OR (A.O14<>0 AND (C.TAMANHO_14='''' OR C.TAMANHO_14 IS NULL)) OR (A.O15<>0 AND (C.TAMANHO_15='''' OR C.TAMANHO_15 IS NULL)) OR (A.O16<>0 AND (C.TAMANHO_16='''' OR C.TAMANHO_16 IS NULL)) OR (A.O17<>0 AND (C.TAMANHO_17='''' OR C.TAMANHO_17 IS NULL)) OR (A.O18<>0 AND (C.TAMANHO_18='''' OR C.TAMANHO_18 IS NULL)) OR (A.O19<>0 AND (C.TAMANHO_19='''' OR C.TAMANHO_19 IS NULL)) OR (A.O20<>0 AND (C.TAMANHO_20='''' OR C.TAMANHO_20 IS NULL)) OR (A.O21<>0 AND (C.TAMANHO_21='''' OR C.TAMANHO_21 IS NULL)) OR (A.O22<>0 AND (C.TAMANHO_22='''' OR C.TAMANHO_22 IS NULL)) OR (A.O23<>0 AND (C.TAMANHO_23='''' OR C.TAMANHO_23 IS NULL)) OR (A.O24<>0 AND (C.TAMANHO_24='''' OR C.TAMANHO_24 IS NULL)) OR (A.O25<>0 AND (C.TAMANHO_25='''' OR C.TAMANHO_25 IS NULL)) OR (A.O26<>0 AND (C.TAMANHO_26='''' OR C.TAMANHO_26 IS NULL)) OR (A.O27<>0 AND (C.TAMANHO_27='''' OR C.TAMANHO_27 IS NULL)) OR (A.O28<>0 AND (C.TAMANHO_28='''' OR C.TAMANHO_28 IS NULL)) OR (A.O29<>0 AND (C.TAMANHO_29='''' OR C.TAMANHO_29 IS NULL)) OR (A.O30<>0 AND (C.TAMANHO_30='''' OR C.TAMANHO_30 IS NULL)) OR (A.O31<>0 AND (C.TAMANHO_31='''' OR C.TAMANHO_31 IS NULL)) OR (A.O32<>0 AND (C.TAMANHO_32='''' OR C.TAMANHO_32 IS NULL)) OR (A.O33<>0 AND (C.TAMANHO_33='''' OR C.TAMANHO_33 IS NULL)) OR (A.O34<>0 AND (C.TAMANHO_34='''' OR C.TAMANHO_34 IS NULL)) OR (A.O35<>0 AND (C.TAMANHO_35='''' OR C.TAMANHO_35 IS NULL)) OR (A.O36<>0 AND (C.TAMANHO_36='''' OR C.TAMANHO_36 IS NULL)) OR (A.O37<>0 AND (C.TAMANHO_37='''' OR C.TAMANHO_37 IS NULL)) OR (A.O38<>0 AND (C.TAMANHO_38='''' OR C.TAMANHO_38 IS NULL)) OR (A.O39<>0 AND (C.TAMANHO_39='''' OR C.TAMANHO_39 IS NULL)) OR (A.O40<>0 AND (C.TAMANHO_40='''' OR C.TAMANHO_40 IS NULL)) OR (A.O41<>0 AND (C.TAMANHO_41='''' OR C.TAMANHO_41 IS NULL)) OR (A.O42<>0 AND (C.TAMANHO_42='''' OR C.TAMANHO_42 IS NULL)) OR (A.O43<>0 AND (C.TAMANHO_43='''' OR C.TAMANHO_43 IS NULL)) OR (A.O44<>0 AND (C.TAMANHO_44='''' OR C.TAMANHO_44 IS NULL)) OR (A.O45<>0 AND (C.TAMANHO_45='''' OR C.TAMANHO_45 IS NULL)) OR (A.O46<>0 AND (C.TAMANHO_46='''' OR C.TAMANHO_46 IS NULL)) OR (A.O47<>0 AND (C.TAMANHO_47='''' OR C.TAMANHO_47 IS NULL)) OR (A.O48<>0 AND (C.TAMANHO_48='''' OR C.TAMANHO_48 IS NULL))) AND D.STATUS =''P'' --5 UNION ALL SELECT DISTINCT ''QTDE DAS TAREFAS <0 '' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P'' AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO_INICIAL GROUP BY PRODUCAO_TAREFAS.ORDEM_PRODUCAO,TAREFA,QTDE_PREVISTA,QTDE_A_PRODUZIR,QTDE_EM_PROCESSO,QTDE_FINALIZADA HAVING QTDE_PREVISTA < 0 OR QTDE_A_PRODUZIR <0 OR QTDE_EM_PROCESSO <0 OR QTDE_FINALIZADA <0 OPEN TMPERRO FETCH NEXT FROM TMPERRO INTO @ERRO ,@XORDEM_PRODUCAO,@TAREFA,@PRODUTO, @COR_PRODUTO END IF @ORDEM_PRODUCAO_INICIAL IS NULL BEGIN DECLARE TMPERRO SCROLL CURSOR FOR SELECT ''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR'' AS ERRO, ATUAL.ORDEM_PRODUCAO,ATUAL.TAREFA,ATUAL.PRODUTO,ATUAL.COR_PRODUTO FROM (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_O) QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ATUAL, (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_A) QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ANTERIOR, PRODUCAO_ORDEM WHERE ATUAL.TAREFA = ANTERIOR.TAREFA AND ATUAL.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND ATUAL.PRODUTO = ANTERIOR.PRODUTO AND ATUAL.COR_PRODUTO = ANTERIOR.COR_PRODUTO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ATUAL.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P''AND QTDE_O<>QTDE_A UNION ALL --1 SELECT ''DIFERENCA ENTRE O SALDO E QTDE EM PROCESSO'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_ORDEM.STATUS =''P'' UNION ALL --2 SELECT ''DIFERENCA ENTRE O SALDO E QTDE ORIGINAL'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS LEFT JOIN ( SELECT TAREFA,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY TAREFA) AS A ON PRODUCAO_TAREFAS.TAREFA=A.TAREFA INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE QTDE_EM_PROCESSO<>0 AND A.QTDE_S<>0 AND QTDE_EM_PROCESSO<>A.QTDE_S AND PRODUCAO_TAREFAS.ORDEM_PRODUCAO IN (SELECT PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO FROM PRODUCAO_ORDEM_COR LEFT JOIN (SELECT ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,SUM(S1 +S2 +S3 +S4 +S5 +S6 +S7 +S8 +S9 +S10+S11+S12+S13+S14+S15+S16+S17+S18+S19+S20+S21+S22+S23+S24+ S25+S26+S27+S28+S29+S30+S31+S32+S33+S34+S35+S36+S37+S38+S39+S40+S41+S42+S43+S44+S45+S46+S47+S48) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO GROUP BY ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO)AS A ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO=A.ORDEM_PRODUCAO AND PRODUCAO_ORDEM_COR.PRODUTO=A.PRODUTO AND PRODUCAO_ORDEM_COR.COR_PRODUTO=A.COR_PRODUTO INNER JOIN PRODUCAO_ORDEM ON PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO WHERE PRODUCAO_ORDEM.STATUS =''P''AND (QTDE_O<>QTDE_S OR QTDE_S IS NULL)) UNION ALL --3 SELECT ''DIFERENCA ENTRE AS QTDES DAS TAREFAS'' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND (QTDE_PREVISTA) <> (QTDE_EM_PROCESSO+QTDE_FINALIZADA+QTDE_A_PRODUZIR) AND PRODUCAO_ORDEM.STATUS =''P'' UNION ALL --4 SELECT ''INCONSISTENCIA NA GRADE DE TAMANHOS ORIGINAL '' AS ERRO, A.ORDEM_PRODUCAO, SPACE(10) AS TAREFA, A.PRODUTO, A.COR_PRODUTO FROM PRODUCAO_ORDEM_COR A,PRODUTOS B,PRODUTOS_TAMANHOS C, PRODUCAO_ORDEM D WHERE A.PRODUTO=B.PRODUTO AND B.GRADE = C.GRADE AND A.ORDEM_PRODUCAO = D.ORDEM_PRODUCAO AND ORDEM_CORTE IS NOT NULL AND ((A.O1<>0 AND (C.TAMANHO_1 ='''' OR C.TAMANHO_1 IS NULL)) OR (A.O2<>0 AND (C.TAMANHO_2 ='''' OR C.TAMANHO_2 IS NULL)) OR (A.O3<>0 AND (C.TAMANHO_3 ='''' OR C.TAMANHO_3 IS NULL)) OR (A.O4<>0 AND (C.TAMANHO_4 ='''' OR C.TAMANHO_4 IS NULL)) OR (A.O5<>0 AND (C.TAMANHO_5 ='''' OR C.TAMANHO_5 IS NULL)) OR (A.O6<>0 AND (C.TAMANHO_6 ='''' OR C.TAMANHO_6 IS NULL)) OR (A.O7<>0 AND (C.TAMANHO_7 ='''' OR C.TAMANHO_7 IS NULL)) OR (A.O8<>0 AND (C.TAMANHO_8 ='''' OR C.TAMANHO_8 IS NULL)) OR (A.O9<>0 AND (C.TAMANHO_9 ='''' OR C.TAMANHO_9 IS NULL)) OR (A.O10<>0 AND (C.TAMANHO_10='''' OR C.TAMANHO_10 IS NULL)) OR (A.O11<>0 AND (C.TAMANHO_11='''' OR C.TAMANHO_11 IS NULL)) OR (A.O12<>0 AND (C.TAMANHO_12='''' OR C.TAMANHO_12 IS NULL)) OR (A.O13<>0 AND (C.TAMANHO_13='''' OR C.TAMANHO_13 IS NULL)) OR (A.O14<>0 AND (C.TAMANHO_14='''' OR C.TAMANHO_14 IS NULL)) OR (A.O15<>0 AND (C.TAMANHO_15='''' OR C.TAMANHO_15 IS NULL)) OR (A.O16<>0 AND (C.TAMANHO_16='''' OR C.TAMANHO_16 IS NULL)) OR (A.O17<>0 AND (C.TAMANHO_17='''' OR C.TAMANHO_17 IS NULL)) OR (A.O18<>0 AND (C.TAMANHO_18='''' OR C.TAMANHO_18 IS NULL)) OR (A.O19<>0 AND (C.TAMANHO_19='''' OR C.TAMANHO_19 IS NULL)) OR (A.O20<>0 AND (C.TAMANHO_20='''' OR C.TAMANHO_20 IS NULL)) OR (A.O21<>0 AND (C.TAMANHO_21='''' OR C.TAMANHO_21 IS NULL)) OR (A.O22<>0 AND (C.TAMANHO_22='''' OR C.TAMANHO_22 IS NULL)) OR (A.O23<>0 AND (C.TAMANHO_23='''' OR C.TAMANHO_23 IS NULL)) OR (A.O24<>0 AND (C.TAMANHO_24='''' OR C.TAMANHO_24 IS NULL)) OR (A.O25<>0 AND (C.TAMANHO_25='''' OR C.TAMANHO_25 IS NULL)) OR (A.O26<>0 AND (C.TAMANHO_26='''' OR C.TAMANHO_26 IS NULL)) OR (A.O27<>0 AND (C.TAMANHO_27='''' OR C.TAMANHO_27 IS NULL)) OR (A.O28<>0 AND (C.TAMANHO_28='''' OR C.TAMANHO_28 IS NULL)) OR (A.O29<>0 AND (C.TAMANHO_29='''' OR C.TAMANHO_29 IS NULL)) OR (A.O30<>0 AND (C.TAMANHO_30='''' OR C.TAMANHO_30 IS NULL)) OR (A.O31<>0 AND (C.TAMANHO_31='''' OR C.TAMANHO_31 IS NULL)) OR (A.O32<>0 AND (C.TAMANHO_32='''' OR C.TAMANHO_32 IS NULL)) OR (A.O33<>0 AND (C.TAMANHO_33='''' OR C.TAMANHO_33 IS NULL)) OR (A.O34<>0 AND (C.TAMANHO_34='''' OR C.TAMANHO_34 IS NULL)) OR (A.O35<>0 AND (C.TAMANHO_35='''' OR C.TAMANHO_35 IS NULL)) OR (A.O36<>0 AND (C.TAMANHO_36='''' OR C.TAMANHO_36 IS NULL)) OR (A.O37<>0 AND (C.TAMANHO_37='''' OR C.TAMANHO_37 IS NULL)) OR (A.O38<>0 AND (C.TAMANHO_38='''' OR C.TAMANHO_38 IS NULL)) OR (A.O39<>0 AND (C.TAMANHO_39='''' OR C.TAMANHO_39 IS NULL)) OR (A.O40<>0 AND (C.TAMANHO_40='''' OR C.TAMANHO_40 IS NULL)) OR (A.O41<>0 AND (C.TAMANHO_41='''' OR C.TAMANHO_41 IS NULL)) OR (A.O42<>0 AND (C.TAMANHO_42='''' OR C.TAMANHO_42 IS NULL)) OR (A.O43<>0 AND (C.TAMANHO_43='''' OR C.TAMANHO_43 IS NULL)) OR (A.O44<>0 AND (C.TAMANHO_44='''' OR C.TAMANHO_44 IS NULL)) OR (A.O45<>0 AND (C.TAMANHO_45='''' OR C.TAMANHO_45 IS NULL)) OR (A.O46<>0 AND (C.TAMANHO_46='''' OR C.TAMANHO_46 IS NULL)) OR (A.O47<>0 AND (C.TAMANHO_47='''' OR C.TAMANHO_47 IS NULL)) OR (A.O48<>0 AND (C.TAMANHO_48='''' OR C.TAMANHO_48 IS NULL))) AND D.STATUS =''P'' --5 UNION ALL SELECT DISTINCT ''QTDE DAS TAREFAS <0 '' AS ERRO, PRODUCAO_TAREFAS.ORDEM_PRODUCAO, PRODUCAO_TAREFAS.TAREFA, SPACE(12) AS PRODUTO, SPACE(10) AS COR_PRODUTO FROM PRODUCAO_TAREFAS,PRODUCAO_ORDEM WHERE PRODUCAO_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_ORDEM.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P'' GROUP BY PRODUCAO_TAREFAS.ORDEM_PRODUCAO,TAREFA,QTDE_PREVISTA,QTDE_A_PRODUZIR,QTDE_EM_PROCESSO,QTDE_FINALIZADA HAVING QTDE_PREVISTA < 0 OR QTDE_A_PRODUZIR <0 OR QTDE_EM_PROCESSO <0 OR QTDE_FINALIZADA <0 OPEN TMPERRO FETCH NEXT FROM TMPERRO INTO @ERRO ,@XORDEM_PRODUCAO,@TAREFA,@PRODUTO, @COR_PRODUTO END SELECT @SEQ =NULL WHILE @@FETCH_STATUS = 0 BEGIN SELECT @SEQ=ISNULL(MAX(CONVERT(NUMERIC(7),SEQUENCIAL)),0)+1 FROM LOG_CALCULO IF @MOSTRA = ''S'' SELECT CONVERT(CHAR(7),@SEQ),@ERRO ,@XORDEM_PRODUCAO,@TAREFA,@PRODUTO, @COR_PRODUTO IF @MOSTRA = ''N'' BEGIN /*1º TIPO DE ERRO*/ IF @ERRO = ''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR'' BEGIN SELECT ''1'',@XORDEM_PRODUCAO IF (SELECT COUNT(*) FROM LOG_CALCULO WHERE CHAVE = LTRIM(@XORDEM_PRODUCAO)) =0 INSERT INTO LOG_CALCULO (MODULO ,TABELA ,DESCRICAO ,CHAVE , SEQUENCIAL ) VALUES (''PRODUCAO 3.00'',''PRODUCAO_OS_TAREFAS,PRODUCAO_OS_ANTERIOR'',''OP :''+RTRIM(LTRIM(@XORDEM_PRODUCAO))+'' - ''+RTRIM(LTRIM(''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR. A OP DEVE VOLTAR PARA A PRIMEIRA TAREFA '')),LTRIM(@XORDEM_PRODUCAO),CONVERT(CHAR(7),@SEQ)) END /*2º TIPO DE ERRO*/ IF @ERRO <> ''DIFERENCA ENTRE A OS ATUAL E A OS ANTERIOR'' BEGIN SELECT ''2'',@XORDEM_PRODUCAO IF @ERRO = ''DIFERENCA ENTRE O SALDO E QTDE EM PROCESSO'' OR @ERRO = ''DIFERENCA ENTRE O SALDO E QTDE ORIGINAL'' BEGIN IF (SELECT COUNT(*) FROM LOG_CALCULO WHERE CHAVE = LTRIM(@XORDEM_PRODUCAO)) =0 INSERT INTO LOG_CALCULO (MODULO ,TABELA ,DESCRICAO ,CHAVE , SEQUENCIAL ) VALUES (''PRODUCAO 3.00'',''PRODUCAO_ORDEM,PRODUCAO_TAREFAS,PRODUCAO_TAREFAS_SALDO'',''OP :''+RTRIM(LTRIM(@XORDEM_PRODUCAO))+'' - ''+RTRIM(LTRIM(''DIFERENCA ENTRE O SALDO E QTDE EM PROCESSO OU DIFERENCA ENTRE O SALDO E QTDE ORIGINAL'')),LTRIM(@XORDEM_PRODUCAO),CONVERT(CHAR(7),@SEQ)) END /*3º TIPO DE ERRO*/ IF @ERRO = ''INCONSISTENCIA NA GRADE DE TAMANHOS ORIGINAL '' BEGIN IF (SELECT COUNT(*) FROM LOG_CALCULO WHERE CHAVE = LTRIM(@XORDEM_PRODUCAO)) =0 INSERT INTO LOG_CALCULO (MODULO ,TABELA ,DESCRICAO ,CHAVE , SEQUENCIAL ) VALUES (''PRODUCAO 3.00'',''PRODUCAO_ORDEM_COR'',''OP :''+RTRIM(LTRIM(@XORDEM_PRODUCAO))+'' - ''+RTRIM(LTRIM(@ERRO)),LTRIM(@XORDEM_PRODUCAO),CONVERT(CHAR(7),@SEQ)) END /*4º TIPO DE ERRO*/ IF @ERRO = ''DIFERENCA ENTRE AS QTDES DAS TAREFAS'' OR @ERRO = ''QTDE DAS TAREFAS <0 '' BEGIN IF (SELECT COUNT(*) FROM LOG_CALCULO WHERE CHAVE = LTRIM(@XORDEM_PRODUCAO)) =0 INSERT INTO LOG_CALCULO (MODULO ,TABELA ,DESCRICAO ,CHAVE , SEQUENCIAL ) VALUES (''PRODUCAO 3.00'',''PRODUCAO_TAREFAS'',''OP :''+RTRIM(LTRIM(@XORDEM_PRODUCAO))+'' - ''+RTRIM(LTRIM(@ERRO)),LTRIM(@XORDEM_PRODUCAO),CONVERT(CHAR(7),@SEQ)) END END END FETCH NEXT FROM TMPERRO INTO @ERRO ,@XORDEM_PRODUCAO,@TAREFA,@PRODUTO, @COR_PRODUTO END CLOSE TMPERRO DEALLOCATE TMPERRO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Ver1_Estoque_PA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Ver1_Estoque_PA] /*---[VERSAO: 4.0]---*/ @Filial VARCHAR(25)=''%'', @Produto Char(12)=''%'', @Cor_Produto Char(10)=''%'', @Corrige Char(1)=''N'', @ProcessaLog Char(1)=''N'', @GeraLog Char(1)=''S'' AS /* PARAMETRO @Corrige-> ''S'' para Verificar e Processar */ set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @InsertCount SmallInt, @LogStatus Char(1),@Status Int, @eProduto Char(12), @eCor_Produto Char(10),@fFilial VarChar(25), @tQtde Int, @tVerNull Int, @tEstoque Int, @Sequencial Int,@StatusFiliais Int, @t1 Int,@t2 Int,@t3 Int,@t4 Int,@t5 Int,@t6 Int,@t7 Int,@t8 Int, @t9 Int,@t10 Int,@t11 Int,@t12 Int,@t13 Int,@t14 Int,@t15 Int,@t16 Int, @t17 Int,@t18 Int,@t19 Int,@t20 Int,@t21 Int,@t22 Int,@t23 Int,@t24 Int, @t25 Int,@t26 Int,@t27 Int,@t28 Int,@t29 Int,@t30 Int,@t31 Int,@t32 Int, @t33 Int,@t34 Int,@t35 Int,@t36 Int,@t37 Int,@t38 Int,@t39 Int,@t40 Int, @t41 Int,@t42 Int,@t43 Int,@t44 Int,@t45 Int,@t46 Int,@t47 Int,@t48 Int, @ett Int, @e1 Int,@e2 Int,@e3 Int,@e4 Int,@e5 Int,@e6 Int,@e7 Int,@e8 Int, @e9 Int,@e10 Int,@e11 Int,@e12 Int,@e13 Int,@e14 Int,@e15 Int,@e16 Int, @e17 Int,@e18 Int,@e19 Int,@e20 Int,@e21 Int,@e22 Int,@e23 Int,@e24 Int, @e25 Int,@e26 Int,@e27 Int,@e28 Int,@e29 Int,@e30 Int,@e31 Int,@e32 Int, @e33 Int,@e34 Int,@e35 Int,@e36 Int,@e37 Int,@e38 Int,@e39 Int,@e40 Int, @e41 Int,@e42 Int,@e43 Int,@e44 Int,@e45 Int,@e46 Int,@e47 Int,@e48 Int, @lModulo Char(25), @lTabela VarChar(100), @lDescricao VarChar(255), @lChave VarChar(100), @lStatus Char(1) SELECT @Filial=UPPER(@Filial),@Produto=UPPER(@Produto), @Cor_Produto=UPPER(@Cor_Produto), @Corrige=UPPER(@Corrige), @ProcessaLog=UPPER(@ProcessaLog), @GeraLog=UPPER(@GeraLog) SELECT @Filial=''%'', @Produto=''%'', @Cor_Produto=''%'', @Corrige=''S'', @GeraLog=''N'' WHERE @ProcessaLog = ''S'' SELECT @LogStatus='' '' WHERE @Corrige<>''S'' SELECT @LogStatus=''O'' WHERE @Corrige=''S'' IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') CREATE TABLE #Tmp_Log_Calculo ( Modulo Char(25) NOT NULL, Tabela VarChar(100) NOT NULL, Descricao VarChar(255) NOT NULL, Chave VarChar(100) NOT NULL, Status Char(1) NULL ) DECLARE Cur_Filiais SCROLL CURSOR FOR SELECT DISTINCT Filial FROM Filiais WHERE Filial LIKE RTRIM(@Filial) OPEN Cur_Filiais SELECT @StatusFiliais=0 WHILE @StatusFiliais!=-1 BEGIN FETCH NEXT FROM Cur_Filiais INTO @fFilial SELECT @StatusFiliais=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK /* Verifica Estoque_Prod1_Ent */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''ESTOQUE_PROD1_ENT'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Estoque_Prod1_Ent TbVerifica ON Estoque_Produtos.Filial= TbVerifica.Filial AND Estoque_Produtos.Produto= TbVerifica.Produto AND Estoque_Produtos.Cor_Produto= TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD1_ENT'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Estoque_Prod1_Ent TbVerifica ON Estoque_Produtos.Filial= TbVerifica.Filial AND Estoque_Produtos.Produto= TbVerifica.Produto AND Estoque_Produtos.Cor_Produto= TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD1_ENT'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Estoque_Prod1_Sai */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''ESTOQUE_PROD1_SAI'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Estoque_Prod1_Sai TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD1_SAI'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Estoque_Prod1_Sai TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD1_SAI'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Faturamento_Prod */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''FATURAMENTO_PROD'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Faturamento_Prod TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''FATURAMENTO_PROD'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Faturamento_Prod TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''FATURAMENTO_PROD'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Faturam_Dev_Prod */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''FATURAM_DEV_PROD'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Faturam_Dev_Prod TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''FATURAM_DEV_PROD'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Faturam_Dev_Prod TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''FATURAM_DEV_PROD'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Entradas_Produto */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''ENTRADAS_PRODUTO'', ''O produto ''+RTRIM(Entradas_Produto.Produto)+'' cor ''+RTRIM(Entradas_Produto.Cor_Produto)+ '' filial ''+RTRIM(Entradas.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(Entradas_Produto.Produto)+RTRIM(Entradas_Produto.Cor_Produto)+RTRIM(Entradas.Filial),@LogStatus FROM (Entradas_Produto INNER JOIN Entradas ON Entradas_Produto.Nome_Clifor=Entradas.Nome_Clifor AND Entradas_Produto.NF_Entrada=Entradas.NF_Entrada) LEFT JOIN Estoque_Produtos ON Estoque_Produtos.Filial=Entradas.Filial AND Estoque_Produtos.Produto=Entradas_Produto.Produto AND Estoque_Produtos.Cor_Produto=Entradas_Produto.Cor_Produto WHERE Entradas.Filial LIKE RTrim(@fFilial) AND Entradas_Produto.Produto LIKE RTrim(@Produto) AND Entradas_Produto.Cor_Produto LIKE RTrim(@Cor_Produto) GROUP BY Estoque_Produtos.Filial,Entradas_Produto.Produto,Entradas_Produto.Cor_Produto,Entradas.Filial HAVING Estoque_Produtos.Filial IS NULL SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ENTRADAS_PRODUTO'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT Entradas_Produto.Produto,Entradas_Produto.Cor_Produto,Entradas.Filial FROM (Entradas_Produto INNER JOIN Entradas ON Entradas_Produto.Nome_Clifor=Entradas.Nome_Clifor AND Entradas_Produto.NF_Entrada=Entradas.NF_Entrada) LEFT JOIN Estoque_Produtos ON Estoque_Produtos.Filial=Entradas.Filial AND Estoque_Produtos.Produto=Entradas_Produto.Produto AND Estoque_Produtos.Cor_Produto=Entradas_Produto.Cor_Produto WHERE Entradas.Filial LIKE RTrim(@fFilial) AND Entradas_Produto.Produto LIKE RTrim(@Produto) AND Entradas_Produto.Cor_Produto LIKE RTrim(@Cor_Produto) GROUP BY Estoque_Produtos.Filial,Entradas_Produto.Produto,Entradas_Produto.Cor_Produto,Entradas.Filial HAVING Estoque_Produtos.Filial IS NULL IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ENTRADAS_PRODUTO'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Entradas_Pro_Devol */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''ENTRADAS_PRO_DEVOL'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Entradas_Pro_Devol TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY Estoque_Produtos.Filial,TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ENTRADAS_PRO_DEVOL'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Entradas_Pro_Devol TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY Estoque_Produtos.Filial,TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ENTRADAS_PRO_DEVOL'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Estoque_Prod_ctg_Ajuste */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''ESTOQUE_PROD_CTG_AJUSTE'', ''O produto ''+RTRIM(Estoque_Prod_Ctg_Ajuste.Produto)+'' cor ''+RTRIM(Estoque_Prod_Ctg_Ajuste.Cor_Produto)+ '' filial ''+RTRIM(Estoque_Prod_Contagem.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(Estoque_Prod_Ctg_Ajuste.Produto)+RTRIM(Estoque_Prod_Ctg_Ajuste.Cor_Produto) +RTRIM(Estoque_Prod_Contagem.Filial),@LogStatus FROM (Estoque_Prod_Ctg_Ajuste INNER JOIN Estoque_Prod_Contagem ON Estoque_Prod_Ctg_Ajuste.Nome_Contagem=Estoque_Prod_Contagem.Nome_Contagem) LEFT JOIN Estoque_Produtos ON Estoque_Produtos.Filial=Estoque_Prod_Contagem.Filial AND Estoque_Produtos.Produto=Estoque_Prod_Ctg_Ajuste.Produto AND Estoque_Produtos.Cor_Produto=Estoque_Prod_Ctg_Ajuste.Cor_Produto WHERE Estoque_Prod_Contagem.Filial LIKE RTrim(@fFilial) AND Estoque_Prod_Ctg_Ajuste.Produto LIKE RTrim(@Produto) AND Estoque_Prod_Ctg_Ajuste.Cor_Produto LIKE RTrim(@Cor_Produto) GROUP BY Estoque_Produtos.Filial,Estoque_Prod_Ctg_Ajuste.Produto,Estoque_Prod_Ctg_Ajuste.Cor_Produto, Estoque_Prod_Contagem.Filial HAVING Estoque_Produtos.Filial IS NULL SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD_CTG_AJUSTE'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT Estoque_Prod_Ctg_Ajuste.Produto,Estoque_Prod_Ctg_Ajuste.Cor_Produto, Estoque_Prod_Contagem.Filial FROM (Estoque_Prod_Ctg_Ajuste INNER JOIN Estoque_Prod_Contagem ON Estoque_Prod_Ctg_Ajuste.Nome_Contagem=Estoque_Prod_Contagem.Nome_Contagem) LEFT JOIN Estoque_Produtos ON Estoque_Produtos.Filial=Estoque_Prod_Contagem.Filial AND Estoque_Produtos.Produto=Estoque_Prod_Ctg_Ajuste.Produto AND Estoque_Produtos.Cor_Produto=Estoque_Prod_Ctg_Ajuste.Cor_Produto WHERE Estoque_Prod_Contagem.Filial LIKE RTrim(@fFilial) AND Estoque_Prod_Ctg_Ajuste.Produto LIKE RTrim(@Produto) AND Estoque_Prod_Ctg_Ajuste.Cor_Produto LIKE RTrim(@Cor_Produto) GROUP BY Estoque_Produtos.Filial,Estoque_Prod_Ctg_Ajuste.Produto,Estoque_Prod_Ctg_Ajuste.Cor_Produto, Estoque_Prod_Contagem.Filial HAVING Estoque_Produtos.Filial IS NULL IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''ESTOQUE_PROD_CTG_AJUSTE'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Loja_Resumo_Produto */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''LOJA_RESUMO_PRODUTO'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Loja_Resumo_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_RESUMO_PRODUTO'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Loja_Resumo_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_RESUMO_PRODUTO'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Loja_Resumo_Troca */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''LOJA_RESUMO_TROCA'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Loja_Resumo_Troca TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_RESUMO_TROCA'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Loja_Resumo_Troca TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_RESUMO_TROCA'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Loja_Saidas_Produto */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''LOJA_SAIDAS_PRODUTO'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Loja_Saidas_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_SAIDAS_PRODUTO'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Loja_Saidas_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_SAIDAS_PRODUTO'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END /* Verifica Loja_Entradas_Produto */ IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') INSERT INTO #Tmp_Log_Calculo (Modulo,Tabela,Descricao,Chave,Status) SELECT DISTINCT ''ESTOQUE PA'',''LOJA_ENTRADAS_PRODUTO'', ''O produto ''+RTRIM(TbVerifica.Produto)+'' cor ''+RTRIM(TbVerifica.Cor_Produto)+ '' filial ''+RTRIM(TbVerifica.Filial)+ '' Nao consta em ESTOQUE_PRODUTOS !'', RTRIM(TbVerifica.Produto)+RTRIM(TbVerifica.Cor_Produto)+RTRIM(TbVerifica.Filial),@LogStatus FROM Estoque_Produtos RIGHT JOIN Loja_Entradas_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial SELECT @InsertCount=@@ROWCOUNT IF (@LogStatus=''O'' AND @InsertCount > 0) OR (@ProcessaLog = ''S'' AND 0 < (SELECT Count(Tabela) FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_ENTRADAS_PRODUTO'' AND STATUS = ''P'')) BEGIN INSERT INTO ESTOQUE_PRODUTOS (PRODUTO,COR_PRODUTO,FILIAL) SELECT DISTINCT TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial FROM Estoque_Produtos RIGHT JOIN Loja_Entradas_Produto TbVerifica ON Estoque_Produtos.Filial=TbVerifica.Filial AND Estoque_Produtos.Produto=TbVerifica.Produto AND Estoque_Produtos.Cor_Produto=TbVerifica.Cor_Produto WHERE TbVerifica.Filial LIKE RTrim(@fFilial) AND TbVerifica.Produto LIKE RTrim(@Produto) AND TbVerifica.Cor_Produto LIKE RTrim(@Cor_Produto) AND Estoque_Produtos.Filial IS NULL GROUP BY TbVerifica.Produto,TbVerifica.Cor_Produto,TbVerifica.Filial IF @ProcessaLog = ''S'' UPDATE Log_Calculo SET Status = ''O'' FROM Log_Calculo WHERE UPPER(Modulo)=''ESTOQUE PA'' AND UPPER(Tabela)=''LOJA_ENTRADAS_PRODUTO'' AND STATUS = ''P'' AND DESCRICAO LIKE ''%Nao consta em ESTOQUE_PRODUTOS%'' END IF (@ProcessaLog = ''N'' AND @GeraLog = ''S'') BEGIN DECLARE Cur_Tmp_Log_Calculo SCROLL CURSOR FOR SELECT Modulo,Tabela,Descricao,Chave,Status FROM #Tmp_Log_Calculo OPEN Cur_Tmp_Log_Calculo SELECT @Status=0 WHILE @Status !=-1 BEGIN FETCH NEXT FROM Cur_Tmp_Log_Calculo INTO @lModulo,@lTabela,@lDescricao,@lChave,@lStatus SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK SELECT @Sequencial=CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)) SELECT @Sequencial=ISNULL(@Sequencial,0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (@lModulo,@lTabela,@lDescricao,@lChave,@lStatus,RIGHT(STR(10000000+@Sequencial),7)) END CLOSE Cur_Tmp_Log_Calculo DEALLOCATE Cur_Tmp_Log_Calculo TRUNCATE TABLE #Tmp_Log_Calculo END END CLOSE Cur_Filiais DEALLOCATE Cur_Filiais DROP TABLE #Tmp_Log_Calculo set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Ver_Estoque_MP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Ver_Estoque_MP] /*---[versao: 7.0]---*/ @Material Char(11)=''%'', @Filial VarChar(25)=''%'', @Corrige Char(1)=''N'', @ProcessaLog Char(1)=''N'', @GeraLog Char(1)=''S'' AS DECLARE @cFilial VarChar(25), @cMaterial Char(11), @cCor_Material Char(10),@Localizacao Char(8), @cQtde Numeric(10,3),@cQtde_Aux Numeric(10,3),@cPeca Char(6),@cPartida Char(6), @StatusFiliais Int, @Status Int,@StatusEstoque Int,@LogStatus Char(1),@Sequencial Int, @cQtde_Estoque Decimal(10,3),@cQtde_Estoque_Aux Decimal(10,3),@Erro Char(1), @cCtrl_Unid_Aux Int,@cCrtl_Partidas Int,@cCtrl_Pecas Int,@QtdeEntrada Numeric(10,3), @QtdeEntAux Numeric(10,3), @QtdeCtg Numeric(10,3),@QtdeCtgAux Numeric(10,3),@QtdeRetMat Numeric(10,3),@QtdeRetMatAux Numeric(10,3), @QtdeDevMat Numeric(10,3),@QtdeDevMatAux Numeric(10,3),@QtdeSaiMat Numeric(10,3),@QtdeSaiMatAux Numeric(10,3), @cQtdePeca Numeric(10,3),@cQtdeAuxPeca Numeric(10,3),@cEstoquePeca DECIMAL(10,3),@cEstoqueAuxPeca DECIMAL(10,3) set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT @Filial=''%'', @Material=''%'', @Corrige=''S'', @GeraLog=''N'' WHERE @ProcessaLog=''S'' SELECT @LogStatus='' '' WHERE @Corrige<>''S'' SELECT @LogStatus=''O'' WHERE @Corrige=''S'' DECLARE Cur_Filiais SCROLL CURSOR FOR SELECT DISTINCT Filial FROM Filiais WHERE Filial LIKE RTRIM(@Filial) ORDER BY Filial SELECT @Localizacao=MAX(Localizacao) FROM MATERIAIS_LOCALIZA OPEN Cur_Filiais SELECT @StatusFiliais=0 WHILE @StatusFiliais!=-1 BEGIN FETCH NEXT FROM Cur_Filiais INTO @cFilial SELECT @StatusFiliais=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK /*Estoque_Sai1_Mat*/ INSERT Estoque_MATERIAIS (Filial,Material,Cor_Material,QTDE_ESTOQUE,QTDE_ESTOQUE_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,0,0 FROM Estoque_Sai1_Mat A LEFT JOIN ESTOQUE_MATERIAIS E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL WHERE A.Filial=@cFilial AND E.MATERIAL IS NULL /*Entradas_Material*/ INSERT Estoque_MATERIAIS (Filial,Material,Cor_Material,QTDE_ESTOQUE,QTDE_ESTOQUE_Aux) SELECT DISTINCT D.Filial,A.Material,A.Cor_Material,0,0 FROM (Entradas_Material A INNER JOIN ENTRADAS D ON A.Nome_Clifor=D.Nome_Clifor AND A.NF_Entrada=D.NF_Entrada) LEFT JOIN ESTOQUE_MATERIAIS E ON E.FILIAL=D.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL WHERE D.Filial=@cFilial AND E.MATERIAL IS NULL /*Estoque_Ret1_Mat*/ INSERT Estoque_MATERIAIS (Filial,Material,Cor_Material,QTDE_ESTOQUE,QTDE_ESTOQUE_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,0,0 FROM Estoque_Ret1_Mat A LEFT JOIN ESTOQUE_MATERIAIS E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL WHERE A.Filial=@cFilial AND E.MATERIAL IS NULL /*Faturam_Dev_Mat*/ INSERT Estoque_MATERIAIS (Filial,Material,Cor_Material,QTDE_ESTOQUE,QTDE_ESTOQUE_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,0,0 FROM Faturam_Dev_Mat A LEFT JOIN ESTOQUE_MATERIAIS E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL WHERE A.Filial=@cFilial AND E.MATERIAL IS NULL /*Estoque_Mat_Contagem*/ INSERT Estoque_MATERIAIS (Filial,Material,Cor_Material,QTDE_ESTOQUE,QTDE_ESTOQUE_Aux) SELECT DISTINCT D.Filial,A.Material,A.Cor_Material,0,0 FROM (ESTOQUE_MAT_CTG_ITENS A INNER JOIN ESTOQUE_MAT_CONTAGEM D ON A.NOME_CONTAGEM=D.NOME_CONTAGEM) LEFT JOIN ESTOQUE_MATERIAIS E ON E.FILIAL=D.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL WHERE D.Filial=@cFilial AND E.MATERIAL IS NULL IF @ProcessaLog=''S'' DECLARE Cur_Estoque_Materiais SCROLL CURSOR FOR SELECT DISTINCT A.Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux,CASE WHEN Ctrl_Unid_Aux = 1 THEN 1 ELSE 0 END,CASE WHEN Ctrl_Pecas = 1 OR CTRL_PARTIDAS = 1 THEN 1 ELSE 0 END FROM Estoque_Materiais A,Materiais B,Log_Calculo C WHERE B.Material=A.Material AND Filial=RTRIM(@cFilial) AND C.Chave=RTRIM(A.Material)+RTRIM(Cor_Material)+RTRIM(Filial) AND C.Status=''P'' ORDER BY A.Material,Cor_Material ELSE DECLARE Cur_Estoque_Materiais SCROLL CURSOR FOR SELECT DISTINCT A.Material,Cor_Material,Filial,Qtde_Estoque,Qtde_Estoque_Aux,CASE WHEN Ctrl_Unid_Aux = 1 THEN 1 ELSE 0 END,CASE WHEN Ctrl_Pecas = 1 OR CTRL_PARTIDAS = 1 THEN 1 ELSE 0 END FROM Estoque_Materiais A,Materiais B WHERE B.Material=A.Material AND Filial=RTRIM(@cFilial) AND A.Material LIKE RTRIM(@Material) ORDER BY A.Material,Cor_Material OPEN Cur_Estoque_Materiais SELECT @StatusEstoque=0, @Erro=''N'' WHILE @StatusEstoque!=-1 BEGIN FETCH NEXT FROM Cur_Estoque_Materiais INTO @cMaterial,@cCor_Material,@cFilial,@cQtde_Estoque,@cQtde_Estoque_Aux,@cCtrl_Unid_Aux, @cCtrl_Pecas SELECT @StatusEstoque=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK /*Estoque_Sai1_Mat*/ SELECT @QtdeSaiMat=ISNULL(SUM(Qtde),0)+ISNULL(SUM(PERDA),0),@QtdeSaiMatAux=ISNULL(SUM(Qtde_Aux),0) FROM Estoque_Sai1_Mat WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial /*Entradas_Material*/ SELECT @QtdeEntrada=ISNULL(SUM(Qtde),0)-ISNULL(SUM(PERDA),0),@QtdeEntAux=ISNULL(SUM(Qtde_Aux),0) FROM Entradas_Material A, Entradas B WHERE A.NF_Entrada=B.NF_Entrada AND A.Nome_Clifor=B.Nome_Clifor AND Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial /*Estoque_Ret1_Mat*/ SELECT @QtdeRetMat=ISNULL(SUM(Qtde),0)-ISNULL(SUM(PERDA),0),@QtdeRetMatAux=ISNULL(SUM(Qtde_Aux),0) FROM Estoque_Ret1_Mat WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial /*Faturam_Dev_Mat*/ SELECT @QtdeDevMat=ISNULL(SUM(Qtde),0),@QtdeDevMatAux=ISNULL(SUM(Qtde_Aux),0) FROM Faturam_Dev_Mat WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial /*Estoque_Mat_Ctg_Itens*/ SELECT @QtdeCtg=ISNULL(SUM(Ajuste_Estoque),0),@QtdeCtgAux=ISNULL(SUM(Ajuste_Estoque_Aux),0) FROM Estoque_Mat_Ctg_Itens A,Estoque_Mat_Contagem B WHERE A.Nome_Contagem=B.Nome_Contagem AND Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial If @cCtrl_Pecas=1 AND EXISTS(SELECT * FROM Filiais WHERE Filial=@cFilial AND ESTOQUE_CTRL_PECA=1) BEGIN /*Estoque_Sai1_Mat*/ INSERT Estoque_Sai_Peca (Req_Material,Filial,Material,Cor_Material,Item,Peca,Partida,Qtde,Qtde_Aux,PERDA) SELECT A.Req_Material,A.Filial,A.Material,A.Cor_Material,A.Item,''AJUSTE'',''AJUSTE'', ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) AS Qtde, ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) AS Qtde_Aux, ISNULL(AVG(A.Perda),0)-ISNULL(SUM(B.Perda),0) AS Perda FROM (Estoque_Sai1_Mat A INNER JOIN Materiais C ON A.Material=C.Material) LEFT JOIN Estoque_Sai_Peca B ON A.Req_Material=B.Req_Material AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item WHERE (C.Ctrl_Pecas=1 OR C.Ctrl_Partidas=1) AND A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial GROUP BY A.Req_Material,A.Filial,A.Material,A.Cor_Material,A.Item HAVING ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) <> 0 OR ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) <> 0 IF @@ROWCOUNT > 0 AND @GeraLog=''S'' AND @Erro=''N'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''ESTOQUE_SAI_PECA'',''O Material ''+RTRIM(@cMaterial)+ '', Cor ''+RTRIM(@cCor_Material)+'', Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), ''O'',RIGHT(STR(10000000+@Sequencial),7)) END /*Entradas_Material*/ INSERT Entradas_Mat_Peca (NF_Entrada,Nome_Clifor,Material,Cor_Material,Item,Peca,Partida,Localizacao,Qtde,Qtde_Aux,Perda) SELECT A.NF_Entrada,A.Nome_Clifor,A.Material,A.Cor_Material,A.Item,''AJUSTE'',''AJUSTE'',@Localizacao, ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) AS Qtde, ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) AS Qtde_Aux, ISNULL(AVG(A.Perda),0)-ISNULL(SUM(B.Perda),0) AS Perda FROM ((Entradas_Material A INNER JOIN Materiais C ON A.Material=C.Material) INNER JOIN ENTRADAS D ON A.Nome_Clifor=D.Nome_Clifor AND A.NF_Entrada=D.NF_Entrada) LEFT JOIN Entradas_Mat_Peca B ON A.NF_Entrada=B.NF_Entrada AND A.Nome_Clifor=B.Nome_Clifor AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Item=B.Item WHERE (C.Ctrl_Pecas=1 OR C.Ctrl_Partidas=1) AND A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND D.Filial=@cFilial GROUP BY A.NF_Entrada,A.Nome_Clifor,A.Material,A.Cor_Material,A.Item HAVING ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) <> 0 OR ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) <> 0 IF @@ROWCOUNT > 0 AND @GeraLog=''S'' AND @Erro=''N'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''ENTRADAS_MAT_PECA'',''O Material ''+RTRIM(@cMaterial)+ '', Cor ''+RTRIM(@cCor_Material)+'', Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), ''O'',RIGHT(STR(10000000+@Sequencial),7)) END /*Estoque_Ret1_Mat*/ INSERT Estoque_Ret_Peca (Req_Material,Filial,Material,Cor_Material,Item,Peca,Partida,Qtde,Qtde_Aux,Perda) SELECT A.Req_Material,A.Filial,A.Material,A.Cor_Material,A.Item,''AJUSTE'',''AJUSTE'', ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) AS Qtde, ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) AS Qtde_Aux, ISNULL(AVG(A.Perda),0)-ISNULL(SUM(B.Perda),0) AS Perda FROM (Estoque_Ret1_Mat A INNER JOIN Materiais C ON A.Material=C.Material) LEFT JOIN Estoque_Ret_Peca B ON A.Req_Material=B.Req_Material AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item WHERE (C.Ctrl_Pecas=1 OR C.Ctrl_Partidas=1) AND A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial GROUP BY A.Req_Material,A.Filial,A.Material,A.Cor_Material,A.Item HAVING ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) <> 0 OR ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) <> 0 IF @@ROWCOUNT > 0 AND @GeraLog=''S'' AND @Erro=''N'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''ESTOQUE_RET_PECA'',''O Material ''+RTRIM(@cMaterial)+ '', Cor ''+RTRIM(@cCor_Material)+'', Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), ''O'',RIGHT(STR(10000000+@Sequencial),7)) END /*Faturam_Dev_Mat*/ INSERT Faturam_Dev_Mat_Peca (NF_Saida,NF_Entrada,Nome_Clifor,Serie_NF,Filial,Material,Cor_Material,Item,Item_Saida,Peca,Partida,Qtde,Qtde_Aux) SELECT A.NF_Saida,A.NF_Entrada,A.Nome_Clifor,A.Serie_NF,A.Filial,A.Material,A.Cor_Material,A.Item,A.Item,''AJUSTE'',''AJUSTE'', ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) AS Qtde, ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) AS Qtde_Aux FROM (Faturam_Dev_Mat A INNER JOIN Materiais C ON A.Material=C.Material) LEFT JOIN Faturam_Dev_Mat_Peca B ON A.NF_Saida=B.NF_Saida AND A.NF_Entrada=B.NF_Entrada AND A.Nome_Clifor=B.Nome_Clifor AND A.Serie_NF=B.Serie_NF AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item WHERE (C.Ctrl_Pecas=1 OR C.Ctrl_Partidas=1) AND A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial GROUP BY A.NF_Saida,A.NF_Entrada,A.Nome_Clifor,A.Serie_NF,A.Filial,A.Material,A.Cor_Material,A.Item HAVING ISNULL(AVG(A.Qtde),0)-ISNULL(SUM(B.Qtde),0) <> 0 OR ISNULL(AVG(A.Qtde_Aux),0)-ISNULL(SUM(B.Qtde_Aux),0) <> 0 IF @@ROWCOUNT > 0 AND @GeraLog=''S'' AND @Erro=''N'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''FATURAM_DEV_MAT_PECA'',''O Material ''+RTRIM(@cMaterial)+ '', Cor ''+RTRIM(@cCor_Material)+'', Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), ''O'',RIGHT(STR(10000000+@Sequencial),7)) END /*Estoque_Sai1_Mat*/ INSERT Estoque_MAT_Peca (Filial,Material,Cor_Material,Peca,Partida,Qtde,Qtde_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida,0,0 FROM (Estoque_Sai1_Mat A INNER JOIN Estoque_Sai_Peca B ON A.Req_Material=B.Req_Material AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item) LEFT JOIN ESTOQUE_MAT_PECA E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL AND E.PECA=B.PECA AND E.PARTIDA=B.PARTIDA WHERE A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial AND E.MATERIAL IS NULL GROUP BY A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida /*Entradas_Material*/ INSERT Estoque_MAT_Peca (Filial,Material,Cor_Material,Peca,Partida,Qtde,Qtde_Aux) SELECT DISTINCT D.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida,0,0 FROM ((Entradas_Material A INNER JOIN Materiais C ON A.Material=C.Material) INNER JOIN ENTRADAS D ON A.Nome_Clifor=D.Nome_Clifor AND A.NF_Entrada=D.NF_Entrada) INNER JOIN Entradas_Mat_Peca B ON A.NF_Entrada=B.NF_Entrada AND A.Nome_Clifor=B.Nome_Clifor AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Item=B.Item LEFT JOIN ESTOQUE_MAT_PECA E ON E.FILIAL=D.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL AND E.PECA=B.PECA AND E.PARTIDA=B.PARTIDA WHERE A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND D.Filial=@cFilial AND E.MATERIAL IS NULL GROUP BY D.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida /*Estoque_Ret1_Mat*/ INSERT Estoque_MAT_Peca (Filial,Material,Cor_Material,Peca,Partida,Qtde,Qtde_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida,0,0 FROM (Estoque_Ret1_Mat A INNER JOIN Materiais C ON A.Material=C.Material) INNER JOIN Estoque_Ret_Peca B ON A.Req_Material=B.Req_Material AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item LEFT JOIN ESTOQUE_MAT_PECA E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL AND E.PECA=B.PECA AND E.PARTIDA=B.PARTIDA WHERE A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial AND E.MATERIAL IS NULL GROUP BY A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida /*Faturam_Dev_Mat*/ INSERT Estoque_MAT_Peca (Filial,Material,Cor_Material,Peca,Partida,Qtde,Qtde_Aux) SELECT DISTINCT A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida,0,0 FROM (Faturam_Dev_Mat A INNER JOIN Materiais C ON A.Material=C.Material) INNER JOIN Faturam_Dev_Mat_Peca B ON A.NF_Saida=B.NF_Saida AND A.NF_Entrada=B.NF_Entrada AND A.Nome_Clifor=B.Nome_Clifor AND A.Serie_NF=B.Serie_NF AND A.Material=B.Material AND A.Cor_Material=B.Cor_Material AND A.Filial=B.Filial AND A.Item=B.Item LEFT JOIN ESTOQUE_MAT_PECA E ON E.FILIAL=A.FILIAL AND E.MATERIAL=A.MATERIAL AND E.COR_MATERIAL=A.COR_MATERIAL AND E.PECA=B.PECA AND E.PARTIDA=B.PARTIDA WHERE A.Material=@cMaterial AND A.Cor_Material=@cCor_Material AND A.Filial=@cFilial AND E.MATERIAL IS NULL GROUP BY A.Filial,A.Material,A.Cor_Material,B.Peca,B.Partida /*Estoque_Mat_Ctg_Pecas*/ INSERT Estoque_MAT_Peca (Filial,Material,Cor_Material,Peca,Partida,Qtde,Qtde_Aux) SELECT DISTINCT A.Filial,B.Material,B.Cor_Material,B.Peca,B.Partida,0,0 FROM Estoque_Mat_Contagem A INNER JOIN Estoque_Mat_Ctg_Pecas B ON A.NOME_CONTAGEM=B.NOME_CONTAGEM INNER JOIN Materiais C ON B.Material=C.Material LEFT JOIN ESTOQUE_MAT_PECA E ON E.FILIAL=A.FILIAL AND E.MATERIAL=B.MATERIAL AND E.COR_MATERIAL=B.COR_MATERIAL AND E.PECA=B.PECA AND E.PARTIDA=B.PARTIDA WHERE B.Material=@cMaterial AND B.Cor_Material=@cCor_Material AND A.Filial=@cFilial AND E.MATERIAL IS NULL GROUP BY A.Filial,B.Material,B.Cor_Material,B.Peca,B.Partida DECLARE Cur_Estoque_Mat_Peca SCROLL CURSOR FOR SELECT DISTINCT Peca,Partida,Qtde,Qtde_Aux FROM Estoque_Mat_Peca WHERE Filial=RTRIM(@cFilial) AND Material=RTRIM(@cMaterial) AND Cor_Material=RTRIM(@cCor_Material) ORDER BY Peca,Partida OPEN Cur_Estoque_Mat_Peca SELECT @Status=0 WHILE @Status!=-1 BEGIN FETCH NEXT FROM Cur_Estoque_Mat_Peca INTO @cPeca,@cPartida,@cEstoquePeca,@cEstoqueAuxPeca SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK /*ENTRADAS_MAT_PECA*/ SELECT @cQtdePeca=ISNULL(SUM(Qtde),0)-ISNULL(SUM(Perda),0), @cQtdeAuxPeca=ISNULL(SUM(Qtde_Aux),0) FROM Entradas_Mat_Peca A, Entradas B WHERE A.Nome_Clifor=B.Nome_Clifor AND A.NF_Entrada=B.NF_Entrada AND Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida /*ESTOQUE_SAI_PECA*/ SELECT @cQtdePeca=@cQtdePeca-ISNULL(SUM(Qtde),0)-ISNULL(SUM(Perda),0), @cQtdeAuxPeca=@cQtdeAuxPeca-ISNULL(SUM(Qtde_Aux),0) FROM Estoque_Sai_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida /*ESTOQUE_RET_PECA*/ SELECT @cQtdePeca=@cQtdePeca+ISNULL(SUM(Qtde),0)-ISNULL(SUM(Perda),0), @cQtdeAuxPeca=@cQtdeAuxPeca+ISNULL(SUM(Qtde_Aux),0) FROM Estoque_Ret_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida /*ESTOQUE_MAT_CTG_PECA*/ SELECT @cQtdePeca=@cQtdePeca+ISNULL(SUM(Ajuste_Estoque),0), @cQtdeAuxPeca=@cQtdeAuxPeca+ISNULL(SUM(Ajuste_Estoque_Aux),0) FROM Estoque_Mat_Ctg_PECAS A JOIN Estoque_Mat_Contagem B ON A.Nome_Contagem=B.Nome_Contagem WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida /*FATURAM_DEV_MAT_PECA*/ SELECT @cQtdePeca=@cQtdePeca-ISNULL(SUM(Qtde),0), @cQtdeAuxPeca=@cQtdeAuxPeca-ISNULL(SUM(Qtde_Aux),0) FROM Faturam_Dev_Mat_Peca WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida IF @cEstoquePeca<>CONVERT(Decimal(10,3),@cQtdePeca) OR @cEstoqueAuxPeca<>CONVERT(Decimal(10,3),@cQtdeAuxPeca) BEGIN IF @GeraLog=''S'' AND @Erro=''N'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''ESTOQUE_MAT_PECA'',''O Material ''+RTRIM(@cMaterial)+ '' Cor ''+RTRIM(@cCor_Material)+'' Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), @LogStatus,RIGHT(STR(10000000+@Sequencial),7)) IF @Corrige=''N'' BREAK END IF @Corrige=''S'' UPDATE Estoque_Mat_Peca SET Qtde=CONVERT(Decimal(10,3),@cQtdePeca), Qtde_Aux=CONVERT(Decimal(10,3),@cQtdeAuxPeca) WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial AND Peca=@cPeca AND Partida=@cPartida IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Tabela=''ESTOQUE_MAT_PECA'' AND Chave=RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial) SELECT @Erro=''S'' END END /*Loop Cur_Cur_Estoque_Mat_Peca*/ CLOSE Cur_Estoque_Mat_Peca DEALLOCATE Cur_Estoque_Mat_Peca END SELECT @cQtde=@QtdeEntrada-@QtdeSaiMat+@QtdeCtg+@QtdeRetMat-@QtdeDevMat, @cQtde_Aux=@QtdeEntAux-@QtdeSaiMatAux+@QtdeCtgAux+@QtdeRetMatAux-@QtdeDevMatAux IF @cQtde_Estoque<>CONVERT(Decimal(10,3),@cQtde) OR @cQtde_Estoque_Aux<>CONVERT(Decimal(10,3),@cQtde_Aux) BEGIN IF @GeraLog=''S'' BEGIN SELECT @Sequencial=ISNULL(CONVERT(Int,(SELECT MAX(Sequencial) FROM Log_Calculo)),0)+1 INSERT INTO Log_Calculo (Modulo,Tabela,Descricao,Chave,Status,Sequencial) VALUES (''ESTOQUE MP'',''ESTOQUE_MATERIAIS'',''O Material ''+RTRIM(@cMaterial)+ '' Cor ''+RTRIM(@cCor_Material)+'' Filial ''+RTRIM(@cFilial)+ '' Possui Qtdes/Valores Inconsistentes !'', RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial), @LogStatus,RIGHT(STR(10000000+@Sequencial),7)) END IF @Corrige=''S'' UPDATE Estoque_Materiais SET Qtde_Estoque=CONVERT(Decimal(10,3),@cQtde), Qtde_Estoque_Aux=CONVERT(Decimal(10,3),@cQtde_Aux) WHERE Material=@cMaterial AND Cor_Material=@cCor_Material AND Filial=@cFilial IF @ProcessaLog=''S'' UPDATE Log_Calculo SET Status=''O'' WHERE Tabela=''ESTOQUE_MATERIAIS'' AND Chave=RTRIM(@cMaterial)+RTRIM(@cCor_Material)+RTRIM(@cFilial) END END /*Loop Cur_Estoque_Materiais*/ CLOSE Cur_Estoque_Materiais DEALLOCATE Cur_Estoque_Materiais END /*Loop Cur_Filiais*/ CLOSE Cur_Filiais DEALLOCATE Cur_Filiais set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ACT_COLOR_ETEJI_PREC_C_T]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_ACT_COLOR_ETEJI_PREC_C_T] @n_ID_MATERIAL INTEGER, @n_Varia_Precio_Medida SMALLINT AS -- Procedimiento para actualizar los precios en eteji_prec_c_t segun los cambios que hallan sido registrados -- en eteji_medida_temp y el valor de varia_media -- Realizado por: Alejandro Escribano -- Fecha: 31-10-02 DECLARE @s_orden_i VARCHAR(2), @s_orden_f VARCHAR(2), @n_ultimo_orden SMALLINT, @s_sql VARCHAR(1250), @n_cont SMALLINT, @n_Id INTEGER, @n_OrdenPM_Actual INTEGER, @n_OrdenPM_Anterior INTEGER, @s_Varia_Precio_Color CHAR(1) SELECT @s_Varia_Precio_Color = ISNULL( GF_VARIA_PRECO_C, 0 ) FROM ETEJI_RAIZ WHERE ID = @n_ID_MATERIAL BEGIN IF (@n_Varia_Precio_Medida = 1) -- si está desactivada la casilla de varia medida BEGIN DELETE FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL -- RETURN --> Desactivado para que continúe por la última parte del trigger END ELSE BEGIN SELECT @n_ultimo_orden = ISNULL(MAX(ORDENPM),0) FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL SELECT @s_sql = ''UPDATE ETEJI_PREC_C_T SET'' IF EXISTS (SELECT * FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL) BEGIN IF @n_ultimo_orden <> 0 BEGIN DECLARE CAMBIOS_ORDEN CURSOR FOR SELECT LTRIM(CONVERT(VARCHAR(2),ORDEN_I)), LTRIM(CONVERT(VARCHAR(2),ORDEN_F)) FROM ETEJI_MEDIDA_TEMP -- cogemos las filas que registren cambios de orden normales, WHERE ORDEN_I <> 0 AND ORDEN_F <> 0 AND ID_ETEJI_RAIZ = @n_ID_MATERIAL -- es decir ni eliminaciones ni inserciones OPEN CAMBIOS_ORDEN FETCH NEXT FROM CAMBIOS_ORDEN INTO @s_orden_i, @s_orden_f WHILE @@FETCH_STATUS = 0 BEGIN SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + @s_orden_f + '' = GF_PREC_MEDIDA'' + @s_orden_i + '','' FETCH NEXT FROM CAMBIOS_ORDEN INTO @s_orden_i, @s_orden_f END CLOSE CAMBIOS_ORDEN DEALLOCATE CAMBIOS_ORDEN DECLARE INSERCIONES CURSOR FOR SELECT LTRIM(CONVERT(VARCHAR(2), ORDEN_F)) FROM ETEJI_MEDIDA_TEMP -- cogemos las filas que registren inserciones WHERE ORDEN_I = 0 AND ID_ETEJI_RAIZ = @n_ID_MATERIAL OPEN INSERCIONES FETCH NEXT FROM INSERCIONES INTO @s_orden_f WHILE @@FETCH_STATUS = 0 BEGIN SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + @s_orden_f + '' = 0,'' FETCH NEXT FROM INSERCIONES INTO @S_ORDEN_F END CLOSE INSERCIONES DEALLOCATE INSERCIONES END SELECT @n_cont = @N_ULTIMO_ORDEN +1 IF @n_cont = 1 SELECT @n_cont = 2 WHILE @n_cont <= 32 BEGIN SELECT @s_sql = @s_sql + '' GF_PREC_MEDIDA'' + LTRIM(CONVERT(VARCHAR(2),@n_cont)) + '' = 0,'' SELECT @n_cont = @n_cont +1 END SELECT @s_sql = left(@s_sql, len(@s_sql) - 1) + '' WHERE ID_ETEJI_RAIZ = '' + LTRIM(CONVERT(VARCHAR(4), @n_ID_MATERIAL)) EXEC(@s_sql) DELETE FROM ETEJI_MEDIDA_TEMP WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL END END END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CORRIGE_OS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CORRIGE_OS] @ORDEM_PRODUCAO CHAR(08)=NULL,@MOSTRA CHAR(1)=NULL,@MENSAGEM CHAR(50)=NULL OUTPUT AS DECLARE -- @ORDEM_PRODUCAO CHAR(8), @ORDEM_SERVICO CHAR(8), @PRODUTO CHAR(12), @COR_PRODUTO CHAR(10), @COR_PRODUTO_AUX CHAR(10), @TAREFA CHAR(10), @TAREFA_INI CHAR(10), @TAREFA_AUX CHAR(10), @TAREFA_ANTERIOR CHAR(10), @TAREFA_ANTERIOR_AUX CHAR(10), @SALDO QTDE_PRODUTO, @QTDE_O QTDE_PRODUTO, @QTDE_A QTDE_PRODUTO, @QTDE_A_AUX QTDE_PRODUTO, @SEQUENCIA_PRODUTIVA CHAR(2), @SETOR_PARALELO_NUMERO CHAR(1), @SEQUENCIA_ANTERIOR VARCHAR(25), @INSSEQ_PRO CHAR(2), @INSSEQ_ANT VARCHAR(25), @RECURSO_PRODUTIVO CHAR(5), @FASE_PRODUCAO VARCHAR(25), @SETOR_PRODUCAO VARCHAR(25), @TEM_DIVISAO_RECURSO BIT, @QTDE_PREVISTA_INICIAL QTDE_PRODUTO, @QTDE_PREVISTA QTDE_PRODUTO, @QTDE_PREVISTA_AUX QTDE_PRODUTO, @QTDE_A_PRODUZIR QTDE_PRODUTO, @QTDE_A_PRODUZIR_AUX QTDE_PRODUTO, @QTDE_EM_PROCESSO QTDE_PRODUTO, @QTDE_EM_PROCESSO_AUX QTDE_PRODUTO, @QTDE_PCP_PERDA_OS QTDE_PRODUTO, @QTDE_PCP_PERDA_OS_AUX QTDE_PRODUTO, @QTDE_FINALIZADA QTDE_PRODUTO, @QTDE_FINALIZADA_AUX QTDE_PRODUTO, @QTDE_ALTERACAO_OP QTDE_PRODUTO, @QTDE_ALTERACAO_OP_AUX QTDE_PRODUTO, @QTDE_PERDAS QTDE_PRODUTO, @QTDE_PERDAS_AUX QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS_AUX QTDE_PRODUTO, @QTDE_SEGUNDA QTDE_PRODUTO, @PRIMEIRA_TAREFA BIT, @PRIMEIRA_ALT_PCP BIT, @TEM_ERRO CHAR(1), @TEM_ERRO_AUX CHAR(3), @INDICADOR_TIPO_MOV NUMERIC(2), @A1 QTDE_PRODUTO, @A2 QTDE_PRODUTO, @A3 QTDE_PRODUTO, @A4 QTDE_PRODUTO, @A5 QTDE_PRODUTO, @A6 QTDE_PRODUTO, @A7 QTDE_PRODUTO, @A8 QTDE_PRODUTO, @A9 QTDE_PRODUTO, @A10 QTDE_PRODUTO, @A11 QTDE_PRODUTO, @A12 QTDE_PRODUTO, @A13 QTDE_PRODUTO, @A14 QTDE_PRODUTO, @A15 QTDE_PRODUTO, @A16 QTDE_PRODUTO, @A17 QTDE_PRODUTO, @A18 QTDE_PRODUTO, @A19 QTDE_PRODUTO, @A20 QTDE_PRODUTO, @A21 QTDE_PRODUTO, @A22 QTDE_PRODUTO, @A23 QTDE_PRODUTO, @A24 QTDE_PRODUTO, @A25 QTDE_PRODUTO, @A26 QTDE_PRODUTO, @A27 QTDE_PRODUTO, @A28 QTDE_PRODUTO, @A29 QTDE_PRODUTO, @A30 QTDE_PRODUTO, @A31 QTDE_PRODUTO, @A32 QTDE_PRODUTO, @A33 QTDE_PRODUTO, @A34 QTDE_PRODUTO, @A35 QTDE_PRODUTO, @A36 QTDE_PRODUTO, @A37 QTDE_PRODUTO, @A38 QTDE_PRODUTO, @A39 QTDE_PRODUTO, @A40 QTDE_PRODUTO, @A41 QTDE_PRODUTO, @A42 QTDE_PRODUTO, @A43 QTDE_PRODUTO, @A44 QTDE_PRODUTO, @A45 QTDE_PRODUTO, @A46 QTDE_PRODUTO, @A47 QTDE_PRODUTO, @A48 QTDE_PRODUTO IF @MOSTRA IS NULL SELECT @MOSTRA=''N'' SELECT @TEM_ERRO = ''N'' IF (SELECT COUNT(*) FROM (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_O) QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ATUAL, (SELECT ORDEM_PRODUCAO,TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE_A) QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO GROUP BY TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO) AS ANTERIOR, PRODUCAO_ORDEM WHERE ATUAL.TAREFA = ANTERIOR.TAREFA AND ATUAL.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND ATUAL.PRODUTO = ANTERIOR.PRODUTO AND ATUAL.COR_PRODUTO = ANTERIOR.COR_PRODUTO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ATUAL.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.ORDEM_PRODUCAO = ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_ORDEM.STATUS =''P''AND QTDE_O<>QTDE_A)>0 SELECT @TEM_ERRO = ''S'' /************************************************/ /* GERA CURSOR TEMPORARIO COM AS QTDES CORRETAS */ /************************************************/ IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_PRODUCAO_OS_TAREFAS'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_PRODUCAO_OS_TAREFAS SELECT PRODUCAO_OS_TAREFAS.TAREFA,TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.PRODUTO,PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,ISNULL(QTDE_A,QTDE_O) AS QTDE_A INTO TMP_PRODUCAO_OS_TAREFAS FROM PRODUCAO_OS_TAREFAS INNER JOIN PRODUCAO_TAREFAS ON PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_TAREFAS.TAREFA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_OS_ANTERIOR.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUCAO_OS_ANTERIOR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUCAO_OS_ANTERIOR.COR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO --AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO,PRODUCAO_OS_TAREFAS.TAREFA DECLARE TMP_ORDEM_SERVICO SCROLL CURSOR FOR SELECT PRODUCAO_OS_TAREFAS.TAREFA,TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.PRODUTO,PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,ISNULL(QTDE_A,QTDE_O) AS QTDE_A FROM PRODUCAO_OS_TAREFAS INNER JOIN PRODUCAO_TAREFAS ON PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_TAREFAS.TAREFA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_OS_ANTERIOR.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUCAO_OS_ANTERIOR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUCAO_OS_ANTERIOR.COR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO -- AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO,PRODUCAO_OS_TAREFAS.TAREFA OPEN TMP_ORDEM_SERVICO FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@ORDEM_SERVICO,@QTDE_A SELECT @TAREFA_ANTERIOR_AUX = @TAREFA_ANTERIOR,@COR_PRODUTO_AUX =@COR_PRODUTO,@TAREFA_AUX=@TAREFA SELECT @QTDE_A_AUX = 0 WHILE @@FETCH_STATUS = 0 BEGIN IF @TAREFA_ANTERIOR IS NOT NULL BEGIN WHILE @@FETCH_STATUS = 0 AND @TAREFA_ANTERIOR_AUX = @TAREFA_ANTERIOR AND @COR_PRODUTO_AUX =@COR_PRODUTO AND @TAREFA_AUX=@TAREFA BEGIN SELECT @QTDE_A_AUX = @QTDE_A_AUX+@QTDE_A FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@ORDEM_SERVICO,@QTDE_A END DELETE FROM TMP_PRODUCAO_OS_TAREFAS WHERE TAREFA = @TAREFA_AUX AND TAREFA_ANTERIOR = @TAREFA_ANTERIOR_AUX AND COR_PRODUTO = @COR_PRODUTO_AUX END IF @TAREFA_ANTERIOR IS NULL BEGIN SELECT @QTDE_A_AUX = @QTDE_A_AUX+@QTDE_A FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@ORDEM_SERVICO,@QTDE_A DELETE FROM TMP_PRODUCAO_OS_TAREFAS WHERE TAREFA = @TAREFA_AUX AND COR_PRODUTO = @COR_PRODUTO_AUX AND TAREFA_ANTERIOR IS NULL END SELECT @TAREFA_ANTERIOR_AUX = @TAREFA_ANTERIOR, @COR_PRODUTO_AUX = @COR_PRODUTO,@TAREFA_AUX=@TAREFA,@QTDE_A_AUX = 0 END CLOSE TMP_ORDEM_SERVICO DEALLOCATE TMP_ORDEM_SERVICO /************************************************/ /* APAGA AS OS´S COM PROBLEMAS */ /************************************************/ DECLARE TMP_ORDEM_SERVICO SCROLL CURSOR FOR SELECT TAREFA,TAREFA_ANTERIOR,PRODUTO,COR_PRODUTO,ORDEM_SERVICO,QTDE_A FROM TMP_PRODUCAO_OS_TAREFAS OPEN TMP_ORDEM_SERVICO FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@ORDEM_SERVICO,@QTDE_A WHILE @@FETCH_STATUS = 0 BEGIN SELECT @TEM_ERRO = ''S'' /* IF @MOSTRA=''S'' SELECT ''SOLUCAO DELETAR A OS: ''+@ORDEM_SERVICO+'', ORDEM PRODUCAO: ''+@ORDEM_PRODUCAO+'', TAREFA: ''+@TAREFA+'', TAREFA ANTERIOR: ''+@TAREFA_ANTERIOR+'', COR PRODUTO: ''+@COR_PRODUTO IF @MOSTRA=''N'' BEGIN ALTER TABLE PRODUCAO_OS_TAREFAS DISABLE TRIGGER ALL DELETE FROM PRODUCAO_OS_TAREFAS WHERE ORDEM_SERVICO = @ORDEM_SERVICO AND ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA = @TAREFA AND COR_PRODUTO = @COR_PRODUTO ALTER TABLE PRODUCAO_OS_TAREFAS ENABLE TRIGGER ALL END */ FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@ORDEM_SERVICO,@QTDE_A END CLOSE TMP_ORDEM_SERVICO DEALLOCATE TMP_ORDEM_SERVICO /************************************************/ /* GERA CURSOR TEMPORARIO COM AS QTDES CORRETAS */ /************************************************/ IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_PRODUCAO_OS_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_PRODUCAO_OS_TAREFAS_AUX SELECT PRODUCAO_OS_TAREFAS.TAREFA,ISNULL(TAREFA_ANTERIOR,''ZZZZZZ'') TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN QTDE_O ELSE QTDE_A END,0)) AS QTDE_A, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O1 ELSE A1 END,0)) AS A1, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O2 ELSE A2 END,0)) AS A2, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O3 ELSE A3 END,0)) AS A3, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O4 ELSE A4 END,0)) AS A4, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O5 ELSE A5 END,0)) AS A5, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O6 ELSE A6 END,0)) AS A6, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O7 ELSE A7 END,0)) AS A7, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O8 ELSE A8 END,0)) AS A8, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O9 ELSE A9 END,0)) AS A9, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O10 ELSE A10 END,0)) AS A10, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O11 ELSE A11 END,0)) AS A11, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O12 ELSE A12 END,0)) AS A12, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O13 ELSE A13 END,0)) AS A13, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O14 ELSE A14 END,0)) AS A14, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O15 ELSE A15 END,0)) AS A15, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O16 ELSE A16 END,0)) AS A16, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O17 ELSE A17 END,0)) AS A17, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O18 ELSE A18 END,0)) AS A18, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O19 ELSE A19 END,0)) AS A19, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O20 ELSE A20 END,0)) AS A20, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O21 ELSE A21 END,0)) AS A21, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O22 ELSE A22 END,0)) AS A22, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O23 ELSE A23 END,0)) AS A23, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O24 ELSE A24 END,0)) AS A24, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O25 ELSE A25 END,0)) AS A25, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O26 ELSE A26 END,0)) AS A26, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O27 ELSE A27 END,0)) AS A27, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O28 ELSE A28 END,0)) AS A28, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O29 ELSE A29 END,0)) AS A29, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O30 ELSE A30 END,0)) AS A30, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O31 ELSE A31 END,0)) AS A31, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O32 ELSE A32 END,0)) AS A32, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O33 ELSE A33 END,0)) AS A33, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O34 ELSE A34 END,0)) AS A34, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O35 ELSE A35 END,0)) AS A35, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O36 ELSE A36 END,0)) AS A36, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O37 ELSE A37 END,0)) AS A37, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O38 ELSE A38 END,0)) AS A38, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O39 ELSE A39 END,0)) AS A39, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O40 ELSE A40 END,0)) AS A40, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O41 ELSE A41 END,0)) AS A41, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O42 ELSE A42 END,0)) AS A42, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O43 ELSE A43 END,0)) AS A43, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O44 ELSE A44 END,0)) AS A44, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O45 ELSE A45 END,0)) AS A45, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O46 ELSE A46 END,0)) AS A46, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O47 ELSE A47 END,0)) AS A47, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O48 ELSE A48 END,0)) AS A48 INTO TMP_PRODUCAO_OS_TAREFAS_AUX FROM PRODUCAO_OS_TAREFAS INNER JOIN PRODUCAO_TAREFAS ON PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_TAREFAS.TAREFA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_OS_ANTERIOR.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUCAO_OS_ANTERIOR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUCAO_OS_ANTERIOR.COR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_OS_TAREFAS.TAREFA,ISNULL(TAREFA_ANTERIOR,''ZZZZZZ''),PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO,PRODUCAO_OS_TAREFAS.TAREFA DECLARE TMP_ORDEM_SERVICO SCROLL CURSOR FOR SELECT PRODUCAO_OS_TAREFAS.TAREFA,ISNULL(TAREFA_ANTERIOR,''ZZZZZZ'') TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN QTDE_O ELSE QTDE_A END,0)) AS QTDE_A, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O1 ELSE A1 END,0)) AS A1, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O2 ELSE A2 END,0)) AS A2, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O3 ELSE A3 END,0)) AS A3, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O4 ELSE A4 END,0)) AS A4, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O5 ELSE A5 END,0)) AS A5, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O6 ELSE A6 END,0)) AS A6, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O7 ELSE A7 END,0)) AS A7, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O8 ELSE A8 END,0)) AS A8, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O9 ELSE A9 END,0)) AS A9, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O10 ELSE A10 END,0)) AS A10, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O11 ELSE A11 END,0)) AS A11, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O12 ELSE A12 END,0)) AS A12, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O13 ELSE A13 END,0)) AS A13, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O14 ELSE A14 END,0)) AS A14, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O15 ELSE A15 END,0)) AS A15, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O16 ELSE A16 END,0)) AS A16, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O17 ELSE A17 END,0)) AS A17, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O18 ELSE A18 END,0)) AS A18, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O19 ELSE A19 END,0)) AS A19, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O20 ELSE A20 END,0)) AS A20, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O21 ELSE A21 END,0)) AS A21, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O22 ELSE A22 END,0)) AS A22, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O23 ELSE A23 END,0)) AS A23, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O24 ELSE A24 END,0)) AS A24, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O25 ELSE A25 END,0)) AS A25, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O26 ELSE A26 END,0)) AS A26, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O27 ELSE A27 END,0)) AS A27, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O28 ELSE A28 END,0)) AS A28, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O29 ELSE A29 END,0)) AS A29, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O30 ELSE A30 END,0)) AS A30, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O31 ELSE A31 END,0)) AS A31, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O32 ELSE A32 END,0)) AS A32, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O33 ELSE A33 END,0)) AS A33, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O34 ELSE A34 END,0)) AS A34, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O35 ELSE A35 END,0)) AS A35, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O36 ELSE A36 END,0)) AS A36, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O37 ELSE A37 END,0)) AS A37, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O38 ELSE A38 END,0)) AS A38, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O39 ELSE A39 END,0)) AS A39, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O40 ELSE A40 END,0)) AS A40, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O41 ELSE A41 END,0)) AS A41, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O42 ELSE A42 END,0)) AS A42, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O43 ELSE A43 END,0)) AS A43, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O44 ELSE A44 END,0)) AS A44, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O45 ELSE A45 END,0)) AS A45, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O46 ELSE A46 END,0)) AS A46, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O47 ELSE A47 END,0)) AS A47, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O48 ELSE A48 END,0)) AS A48 FROM PRODUCAO_OS_TAREFAS INNER JOIN PRODUCAO_TAREFAS ON PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_TAREFAS.TAREFA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_OS_ANTERIOR.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUCAO_OS_ANTERIOR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUCAO_OS_ANTERIOR.COR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_OS_TAREFAS.TAREFA,ISNULL(TAREFA_ANTERIOR,''ZZZZZZ''),PRODUCAO_OS_TAREFAS.COR_PRODUTO, PRODUCAO_OS_TAREFAS.ORDEM_SERVICO,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO,PRODUCAO_OS_TAREFAS.TAREFA OPEN TMP_ORDEM_SERVICO FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@COR_PRODUTO, @ORDEM_SERVICO,@SEQUENCIA_PRODUTIVA,@SETOR_PARALELO_NUMERO,@SEQUENCIA_ANTERIOR,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 IF @MOSTRA=''S'' SELECT ''1'',TAREFA,TAREFA_ANTERIOR,COR_PRODUTO,QTDE_A FROM TMP_PRODUCAO_OS_TAREFAS_AUX WHILE @@FETCH_STATUS = 0 BEGIN IF @TAREFA_ANTERIOR <> ''ZZZZZZ'' AND (SELECT COUNT(*) FROM TMP_PRODUCAO_OS_TAREFAS_AUX WHERE TAREFA =CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN @TAREFA ELSE @TAREFA_ANTERIOR END AND COR_PRODUTO = @COR_PRODUTO AND TAREFA_ANTERIOR <> ''ZZZZZZ'' AND ((QTDE_A -@QTDE_A <0) OR (A1 -@A1 <0) OR (A2 -@A2 <0) OR (A3 -@A3 <0) OR (A4 -@A4 <0) OR (A5 -@A5 <0) OR (A6 -@A6 <0) OR (A7 -@A7 <0) OR (A8 -@A8 <0) OR (A9 -@A9 <0) OR (A10 -@A10 <0) OR (A11 -@A11 <0) OR (A12 -@A12 <0) OR (A13 -@A13 <0) OR (A14 -@A14 <0) OR (A15 -@A15 <0) OR (A16 -@A16 <0) OR (A17 -@A17 <0) OR (A18 -@A18 <0) OR (A19 -@A19 <0) OR (A20 -@A20 <0) OR (A21 -@A21 <0) OR (A22 -@A22 <0) OR (A23 -@A23 <0) OR (A24 -@A24 <0) OR (A25 -@A25 <0) OR (A26 -@A26 <0) OR (A27 -@A27 <0) OR (A28 -@A28 <0) OR (A29 -@A29 <0) OR (A30 -@A30 <0) OR (A31 -@A31 <0) OR (A32 -@A32 <0) OR (A33 -@A33 <0) OR (A34 -@A34 <0) OR (A35 -@A35 <0) OR (A36 -@A36 <0) OR (A37 -@A37 <0) OR (A38 -@A38 <0) OR (A39 -@A39 <0) OR (A40 -@A40 <0) OR (A41 -@A41 <0) OR (A42 -@A42 <0) OR (A43 -@A43 <0) OR (A44 -@A44 <0) OR (A45 -@A45 <0) OR (A46 -@A46 <0) OR (A47 -@A47 <0) OR (A48 -@A48 <0)))>0 BEGIN SELECT @TEM_ERRO = ''S'' /* IF @MOSTRA=''S'' BEGIN SELECT ''ERRO NA OS ''+LTRIM(RTRIM(@ORDEM_SERVICO))+''E NA COR ''+LTRIM(RTRIM(@COR_PRODUTO))+'' E NA TAREFA ''+@TAREFA SELECT ''SOLUCAO DELETAR A OS ''+LTRIM(RTRIM(@ORDEM_SERVICO))+'' A ORDEM PRODUCAO: ''+@ORDEM_PRODUCAO+'', TAREFA: ''+@TAREFA+'', COR PRODUTO: ''+@COR_PRODUTO END IF @MOSTRA=''N'' BEGIN ALTER TABLE PRODUCAO_OS_TAREFAS DISABLE TRIGGER ALL DELETE FROM PRODUCAO_OS_TAREFAS WHERE ORDEM_SERVICO = @ORDEM_SERVICO AND ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA = @TAREFA AND COR_PRODUTO = @COR_PRODUTO ALTER TABLE PRODUCAO_OS_TAREFAS ENABLE TRIGGER ALL END */ END UPDATE TMP_PRODUCAO_OS_TAREFAS_AUX SET QTDE_A= CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN QTDE_A +@QTDE_A ELSE QTDE_A -@QTDE_A END , A1 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A1 +@A1 ELSE A1 - @A1 END , A2 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A2 +@A2 ELSE A2 - @A2 END, A3 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A3 +@A3 ELSE A3 - @A3 END, A4 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A4 +@A4 ELSE A4 - @A4 END, A5 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A5 +@A5 ELSE A5 - @A5 END, A6 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A6 +@A6 ELSE A6 - @A6 END, A7 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A7 +@A7 ELSE A7 - @A7 END, A8 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A8 +@A8 ELSE A8 - @A8 END, A9 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A9 +@A9 ELSE A9 - @A9 END, A10 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A10 +@A10 ELSE A10 - @A10 END, A11 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A11 +@A11 ELSE A11 - @A11 END , A12 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A12 +@A12 ELSE A12 - @A12 END, A13 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A13 +@A13 ELSE A13 - @A13 END, A14 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A14 +@A14 ELSE A14 - @A14 END, A15 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A15 +@A15 ELSE A15 - @A15 END, A16 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A16 +@A16 ELSE A16 - @A16 END, A17 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A17 +@A17 ELSE A17 - @A17 END, A18 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A18 +@A18 ELSE A18 - @A18 END, A19 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A19 +@A19 ELSE A19 - @A19 END, A20 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A20 +@A10 ELSE A20 - @A20 END, A21 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A21 +@A21 ELSE A21 - @A21 END, A22 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A22 +@A22 ELSE A22 - @A22 END, A23 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A23 +@A23 ELSE A23 - @A23 END, A24 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A24 +@A24 ELSE A24 - @A24 END, A25 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A25 +@A25 ELSE A25 - @A25 END, A26 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A26 +@A26 ELSE A26 - @A26 END, A27 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A27 +@A27 ELSE A27 - @A27 END, A28 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A28 +@A28 ELSE A28 - @A28 END, A29 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A29 +@A29 ELSE A29 - @A29 END, A30 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A30 +@A30 ELSE A30 - @A30 END , A31 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A31 +@A31 ELSE A31 - @A31 END, A32 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A32 +@A32 ELSE A32 - @A32 END, A33 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A33 +@A33 ELSE A33 - @A33 END, A34 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A34 +@A34 ELSE A34 - @A34 END, A35 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A35 +@A35 ELSE A35 - @A35 END, A36 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A36 +@A36 ELSE A36 - @A36 END, A37 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A37 +@A37 ELSE A37 - @A37 END, A38 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A38 +@A38 ELSE A38 - @A38 END, A39 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A39 +@A39 ELSE A39 - @A39 END, A40 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A40 +@A40 ELSE A40 - @A40 END, A41 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A41 +@A41 ELSE A41 - @A41 END, A42 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A42 +@A42 ELSE A42 - @A42 END, A43 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A43 +@A43 ELSE A43 - @A43 END, A44 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A44 +@A44 ELSE A44 - @A44 END, A45 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A45 +@A45 ELSE A45 - @A45 END, A46 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A46 +@A46 ELSE A46 - @A46 END, A47 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A47 +@A47 ELSE A47 - @A47 END, A48 = CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN A48 +@A48 ELSE A48 - @A48 END WHERE TAREFA =CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN @TAREFA ELSE @TAREFA_ANTERIOR END AND COR_PRODUTO = @COR_PRODUTO AND TAREFA_ANTERIOR <> ''ZZZZZZ'' AND ORDEM_SERVICO IN ( SELECT MAX(ORDEM_SERVICO) FROM TMP_PRODUCAO_OS_TAREFAS_AUX WHERE TAREFA =CASE WHEN @TAREFA_ANTERIOR = ''ZZZZZZ'' THEN @TAREFA ELSE @TAREFA_ANTERIOR END AND COR_PRODUTO = @COR_PRODUTO AND TAREFA_ANTERIOR <> ''ZZZZZZ'' ) FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @TAREFA,@TAREFA_ANTERIOR,@COR_PRODUTO, @ORDEM_SERVICO,@SEQUENCIA_PRODUTIVA,@SETOR_PARALELO_NUMERO,@SEQUENCIA_ANTERIOR,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END IF @MOSTRA=''S'' SELECT ''2'',TAREFA,TAREFA_ANTERIOR,COR_PRODUTO,QTDE_A FROM TMP_PRODUCAO_OS_TAREFAS_AUX CLOSE TMP_ORDEM_SERVICO DEALLOCATE TMP_ORDEM_SERVICO IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_PRODUCAO_OS_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_PRODUCAO_OS_TAREFAS_AUX IF @MOSTRA=''S'' BEGIN IF @TEM_ERRO = ''N'' SELECT ''ORDEM PRODUCAO SEM ERROS'' ELSE SELECT ''ORDEM PRODUCAO COM ERROS'' END IF @TEM_ERRO = ''N'' SELECT @MENSAGEM = ''ORDEM PRODUCAO SEM ERROS'' ELSE SELECT @MENSAGEM =''ORDEM PRODUCAO COM ERROS'' ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_GET_CODIGO_MATERIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_SP_GET_CODIGO_MATERIAL] @IDOBJ INTEGER, @CODIGO_MATERIAL VARCHAR(11) OUTPUT AS -- Procedimiento para obtener en la variable @CODIGO_MATERIAL el siguiente código de material. -- Se calcula a partir del @IDOBJ que es el ID del material actual (Clase Materiales por color y talla) -- Realizado por: Bernardo Castellanos -- Fecha: 18-02-02 DECLARE @SECUENCIAL VARCHAR(4), @COD_GRUPO VARCHAR(2), @COD_SUBGRUPO VARCHAR(2), @ORDEN INTEGER, @NSECUENCIAL VARCHAR(8), @ID_GRUPO INTEGER, @ID_SUBGRUPO INTEGER SELECT @ID_GRUPO = GF_GRUPO, @ID_SUBGRUPO = GF_SUBGRUPO FROM ETEJI_RAIZ WHERE ID = @IDOBJ SELECT @COD_GRUPO = RTRIM(LTRIM(GF_CODIGO_GRUPO)) FROM GF_MATERIAIS_GRU WHERE ID=@ID_GRUPO SELECT @COD_SUBGRUPO = RTRIM(LTRIM(GF_CODIGO_SUBGRU)), @SECUENCIAL= RTRIM(LTRIM(GF_CODIGO_SEQUEN)) FROM GF_MATERIAIS_SUB WHERE ID_GRUPO=@ID_GRUPO AND ID=@ID_SUBGRUPO -- Se suma 1 al secuencial actual para ser usado SELECT @ORDEN=CONVERT(INT,@SECUENCIAL)+0 SELECT @NSECUENCIAL=RIGHT(''0000''+LTRIM(CONVERT(VARCHAR(4),@ORDEN)),4) -- Adaptación de FVARELA: SELECT @CODIGO_MATERIAL = @COD_GRUPO + @COD_SUBGRUPO + @NSECUENCIAL SELECT @NSECUENCIAL=RIGHT(''0000''+LTRIM(CONVERT(VARCHAR(4),@ORDEN+1)),4) -- A continuación se actualiza dicho secuencial UPDATE GF_MATERIAIS_SUB SET GF_CODIGO_SEQUEN=@NSECUENCIAL WHERE ID_GRUPO=@ID_GRUPO AND ID=@ID_SUBGRUPO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_RESERVA_QTDE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_RESERVA_QTDE] (MATERIAL, COR_MATERIAL, RESERVA) AS SELECT PRODUCAO_RESERVA.MATERIAL, PRODUCAO_RESERVA.COR_MATERIAL, sum(RESERVA) FROM PRODUCAO_RESERVA WHERE RESERVA > 0 GROUP BY material, cor_material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_Exclusao_Ordem_Producao]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_Exclusao_Ordem_Producao] /*---[VERSAO: 2.0]---*/ @OPInicial Char(8)=''%'',@OPFinal CHAR(8)=''%'',@Filial VarChar(25)=''%'',@Produto Char(12)=''%'', @EmissaoInicial DateTime=Null,@EmissaoFinal DateTime=Null,@Colecao VarChar(25)=''%'' AS set nocount on SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DECLARE @cOrdem_Producao Char(8), @Status Int SELECT @EmissaoInicial=Null, @EmissaoFinal=Null WHERE @OPInicial <> ''%'' SELECT @OPFinal=@OPInicial WHERE @OPFinal=''%'' SELECT @EmissaoFinal=@EmissaoInicial WHERE @EmissaoFinal IS NULL IF @EmissaoInicial IS NOT NULL BEGIN DECLARE Cur_Producao_Ordem SCROLL CURSOR FOR SELECT DISTINCT Ordem_Producao FROM Producao_Ordem A LEFT JOIN Produtos B ON A.Produto=B.Produto WHERE A.Emissao >= @EmissaoInicial AND A.Emissao <= @EmissaoFinal AND A.Filial Like RTRIM(@Filial) AND A.Produto Like RTRIM(@Produto) AND B.Colecao Like RTRIM(@Colecao) ORDER BY Ordem_Producao END ELSE BEGIN IF @OPInicial <> ''%'' BEGIN DECLARE Cur_Producao_Ordem SCROLL CURSOR FOR SELECT DISTINCT Ordem_Producao FROM Producao_Ordem A LEFT JOIN Produtos B ON A.Produto=B.Produto WHERE A.Ordem_Producao >= @OPInicial AND A.Ordem_Producao <= @OPFinal AND A.Filial Like RTRIM(@Filial) AND A.Produto Like RTRIM(@Produto) AND B.Colecao Like RTRIM(@Colecao) ORDER BY Ordem_Producao END ELSE BEGIN DECLARE Cur_Producao_Ordem SCROLL CURSOR FOR SELECT DISTINCT Ordem_Producao FROM Producao_Ordem A LEFT JOIN Produtos B ON A.Produto=B.Produto WHERE A.Filial Like RTRIM(@Filial) AND A.Produto Like RTRIM(@Produto) AND B.Colecao Like RTRIM(@Colecao) ORDER BY Ordem_Producao END END OPEN Cur_Producao_Ordem SELECT @Status=0 WHILE @Status !=-1 BEGIN FETCH NEXT FROM Cur_Producao_Ordem INTO @cOrdem_Producao SELECT @Status=@@FETCH_STATUS IF ( @@FETCH_STATUS=-1 ) BREAK BEGIN TRANSACTION Exclusao_OP SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED DELETE FROM Producao_OS_Materiais WHERE Ordem_Producao=@cOrdem_Producao UPDATE estoque_sai1_mat SET estoque_sai1_mat.ORDEM_PRODUCAO = null FROM estoque_sai1_mat WHERE ordem_producao=@cOrdem_Producao UPDATE estoque_ret1_mat SET estoque_ret1_mat.ORDEM_PRODUCAO = null FROM estoque_ret1_mat WHERE ordem_producao=@cOrdem_Producao UPDATE Estoque_Prod_Ent SET Ordem_Producao=Null FROM Estoque_Prod_Ent WHERE Ordem_Producao=@cOrdem_Producao DELETE FROM Producao_Prog_Prod WHERE Ordem_Producao=@cOrdem_Producao DELETE FROM Romaneios_Produto WHERE Ordem_Producao=@cOrdem_Producao DELETE FROM Producao_Reserva WHERE Ordem_Producao=@cOrdem_Producao DELETE FROM Producao_Ordem WHERE Ordem_Producao=@cOrdem_Producao IF @@ROWCOUNT<1 ROLLBACK TRANSACTION Exclusao_OP COMMIT TRANSACTION Exclusao_OP END /*Loop Cur_Producao_Ordem*/ CLOSE Cur_Producao_Ordem DEALLOCATE Cur_Producao_Ordem set nocount off ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_RECEPCION_AJUSTES_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_RECEPCION_AJUSTES_DESGLOSADO] AS SELECT RDX_RECEPCION_AJUSTES.FECHA, RDX_RECEPCION_AJUSTES.CENTRO, FILIAL = ISNULL(FILIAIS.FILIAL, RDX_RECEPCION_AJUSTES.CENTRO), RDX_RECEPCION_AJUSTES.CODIGO, PRODUCTO = PRODUTOS.DESC_PRODUTO, RDX_RECEPCION_AJUSTES.COLOR, RDX_TALLAS.TALLA, CANTIDAD = CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_RECEPCION_AJUSTES.CANT38 WHEN ''40'' THEN RDX_RECEPCION_AJUSTES.CANT40 WHEN ''42'' THEN RDX_RECEPCION_AJUSTES.CANT42 WHEN ''44'' THEN RDX_RECEPCION_AJUSTES.CANT44 WHEN ''46'' THEN RDX_RECEPCION_AJUSTES.CANT46 WHEN ''48'' THEN RDX_RECEPCION_AJUSTES.CANT48 END FROM RDX_TALLAS, RDX_RECEPCION_AJUSTES LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_RECEPCION_AJUSTES.CENTRO) LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_RECEPCION_AJUSTES.CODIGO) WHERE CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_RECEPCION_AJUSTES.CANT38 WHEN ''40'' THEN RDX_RECEPCION_AJUSTES.CANT40 WHEN ''42'' THEN RDX_RECEPCION_AJUSTES.CANT42 WHEN ''44'' THEN RDX_RECEPCION_AJUSTES.CANT44 WHEN ''46'' THEN RDX_RECEPCION_AJUSTES.CANT46 WHEN ''48'' THEN RDX_RECEPCION_AJUSTES.CANT48 END IS NOT NULL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO : -- CREATE VIEW [RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO] AS SELECT RDX_DEVOLUCION_AJUSTES.FECHA, RDX_DEVOLUCION_AJUSTES.CENTRO, FILIAL = ISNULL(FILIAIS.FILIAL, RDX_DEVOLUCION_AJUSTES.CENTRO), RDX_DEVOLUCION_AJUSTES.CODIGO, PRODUCTO = PRODUTOS.DESC_PRODUTO, RDX_DEVOLUCION_AJUSTES.COLOR, RDX_TALLAS.TALLA, CANTIDAD = CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_DEVOLUCION_AJUSTES.CANT38 WHEN ''40'' THEN RDX_DEVOLUCION_AJUSTES.CANT40 WHEN ''42'' THEN RDX_DEVOLUCION_AJUSTES.CANT42 WHEN ''44'' THEN RDX_DEVOLUCION_AJUSTES.CANT44 WHEN ''46'' THEN RDX_DEVOLUCION_AJUSTES.CANT46 WHEN ''48'' THEN RDX_DEVOLUCION_AJUSTES.CANT48 END FROM RDX_TALLAS, RDX_DEVOLUCION_AJUSTES LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_DEVOLUCION_AJUSTES.CENTRO) LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_DEVOLUCION_AJUSTES.CODIGO) WHERE CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_DEVOLUCION_AJUSTES.CANT38 WHEN ''40'' THEN RDX_DEVOLUCION_AJUSTES.CANT40 WHEN ''42'' THEN RDX_DEVOLUCION_AJUSTES.CANT42 WHEN ''44'' THEN RDX_DEVOLUCION_AJUSTES.CANT44 WHEN ''46'' THEN RDX_DEVOLUCION_AJUSTES.CANT46 WHEN ''48'' THEN RDX_DEVOLUCION_AJUSTES.CANT48 END IS NOT NULL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_TRASPASOS_AJUSTES_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_TRASPASOS_AJUSTES_DESGLOSADO] AS SELECT RDX_TRASPASOS_AJUSTES.FECHA, RDX_TRASPASOS_AJUSTES.CENTRO, FILIAL = ISNULL(FILIAIS.FILIAL, RDX_TRASPASOS_AJUSTES.CENTRO), RDX_TRASPASOS_AJUSTES.CENTRO2, FILIAL2 = ISNULL(FILIAIS2.FILIAL, RDX_TRASPASOS_AJUSTES.CENTRO2), TIPO = RDX_TRASPASOS_AJUSTES.TIPOCANT, RDX_TRASPASOS_AJUSTES.CODIGO, PRODUCTO = PRODUTOS.DESC_PRODUTO, RDX_TRASPASOS_AJUSTES.COLOR, RDX_TALLAS.TALLA, CANTIDAD = CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_TRASPASOS_AJUSTES.CANT38 WHEN ''40'' THEN RDX_TRASPASOS_AJUSTES.CANT40 WHEN ''42'' THEN RDX_TRASPASOS_AJUSTES.CANT42 WHEN ''44'' THEN RDX_TRASPASOS_AJUSTES.CANT44 WHEN ''46'' THEN RDX_TRASPASOS_AJUSTES.CANT46 WHEN ''48'' THEN RDX_TRASPASOS_AJUSTES.CANT48 END FROM RDX_TALLAS, RDX_TRASPASOS_AJUSTES LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_TRASPASOS_AJUSTES.CENTRO) LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL) LEFT OUTER JOIN RDX_FILIALES AS RDX_FILIALES2 ON (RDX_FILIALES2.CODBARRA = RDX_TRASPASOS_AJUSTES.CENTRO2) LEFT OUTER JOIN FILIAIS AS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = RDX_TRASPASOS_AJUSTES.CODIGO) WHERE CASE RDX_TALLAS.TALLA WHEN ''38'' THEN RDX_TRASPASOS_AJUSTES.CANT38 WHEN ''40'' THEN RDX_TRASPASOS_AJUSTES.CANT40 WHEN ''42'' THEN RDX_TRASPASOS_AJUSTES.CANT42 WHEN ''44'' THEN RDX_TRASPASOS_AJUSTES.CANT44 WHEN ''46'' THEN RDX_TRASPASOS_AJUSTES.CANT46 WHEN ''48'' THEN RDX_TRASPASOS_AJUSTES.CANT48 END IS NOT NULL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SP_CREA_MATERIALES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_SP_CREA_MATERIALES] @ID_MATERIAL INTEGER AS -- Procedimiento para insertar materiales en la tabla ETEJI a partir de la ETEJI_RAIZ -- (tabla maestra de la clase Materiales con Colores y Tallas) y sus detalles -- Materiales por Color (ETEJI_COLOR) y Material por Medida (ETEJI_MEDIDA) -- Realizado por: Bernardo Castellanos -- Fecha: 09-05-02 -- DECLARE @n_COLOR_MAT INTEGER, @s_COLOR_DESC VARCHAR(25), @s_COLOR_REF_FAB VARCHAR(15), @n_EMP INTEGER, @s_GF_MATERIAL VARCHAR(11), @s_GF_DESC_MATERIAL VARCHAR(40), @n_GF_GRUPO INTEGER, @n_GF_SUBGRUPO INTEGER, @n_GF_DESC_COMPOSIC INTEGER, @n_GF_COLECCION INTEGER, @n_GF_TIPO INTEGER, @n_GF_FABRICANTE INTEGER, @n_GF_FASE_PRODUCC INTEGER, @n_GF_SECTOR_PRODUC INTEGER, @n_ACCESO INTEGER, @n_GF_CONDICIO_PAGO INTEGER, @s_GF_REF_FABRICANT VARCHAR(20), @n_GF_UNID_STOCK INTEGER, @n_GF_UNID_FICHA_TE INTEGER, @f_GF_FACTOR_CONVER FLOAT, @n_GF_CTRL_UNID_AUX INTEGER, @n_GF_UNID_AUXILIAR INTEGER, @n_GF_VARIA_MATERIA INTEGER, @n_MATERIA_ECOEMBES INTEGER, @f_PESO_ECOEMBES FLOAT, @n_UVC_COMERC_INDUS INTEGER, @n_TRANSFER INTEGER, @f_GF_COMPRIMENTO FLOAT, @f_GF_LOTE_ECONOMIC FLOAT, @f_GF_COMPRA_MININA FLOAT, @s_GF_OBS VARCHAR(254), @n_GF_DIAS_ENTREGA INTEGER, @f_GF_CUSTO_REPOSIC FLOAT, @f_GF_CUSTO_A_VISTA FLOAT, @c_GF_REVENDA CHAR(1), @n_GF_TEC_SIMPLES_T SMALLINT, @n_GF_TEC_LISO_ESTA SMALLINT, @n_GF_TEC_TORNASOL SMALLINT, @n_GF_CLASSIF_FISCA INTEGER, @n_GF_TRIBUT_ORIGEM INTEGER, @n_GF_TRIBUT_ICMS INTEGER, @n_GF_CONTA_CONTABI INTEGER, @s_GF_DESC_NF VARCHAR(40), @s_GF_CODIGO_ETIQUE VARCHAR(11), @c_GF_SEMI_ACABADO CHAR(1), @c_GF_CTRL_PARTIDAS CHAR(1), @c_GF_CTRL_PECAS CHAR(1), @c_GF_MATERIAL_INDI CHAR(1), @c_GF_RESERVA_MATER CHAR(1), @c_GF_ABATER_RESERV CHAR(1), @c_GF_INATIVO CHAR(1), @d_GF_DATA_REPOSICA DATETIME, @f_GF_ICMS_CUSTOS FLOAT, @f_GF_TAXA_JUROS_CO FLOAT, @c_GF_VARIA_CUSTO_C CHAR(1), @c_GF_VARIA_PRECO_C CHAR(1), @c_GF_CTRL_PECAS_PA CHAR(1), @n_GF_RESTRICAO_LAV INTEGER, @n_GF_REFERENCIA_BA INTEGER, @n_USERC INTEGER, @d_FECHAC DATETIME, @n_USERM INTEGER, @d_FECHAM DATETIME, @f_GF_MEDIDA FLOAT, @s_GF_COD_MAT_TAM VARCHAR(11), @nNumMedidas INTEGER, @nNumColores INTEGER, @sInsertCmd VARCHAR(20), @sListaColumnas VARCHAR(2000), @s_Value_EMP VARCHAR(5), @sValuesBase VARCHAR(800), @sValuesColor VARCHAR(900), @s_Valor_Medida VARCHAR(10), @sValuesColorYMedida VARCHAR(950), @sValues VARCHAR(1000), @sInsert VARCHAR(2500), @s_GF_MATERIAL_MEDIDA VARCHAR(40), @n_NextKey_ETEJI INTEGER, @s_NextKey_ETEJI VARCHAR(10), @s_GF_DESC_MATERIAL_MEDIDA VARCHAR(40), @d_GF_INICIO_VENDAS DATETIME, @d_GF_FIM_VENDAS DATETIME, @f_GF_CUSTO_REPOSIC_C FLOAT, @f_GF_CUSTO_A_VISTA_C FLOAT, @s_GF_CODIGO_EXPORT VARCHAR(18), @s_GF_PROCESSO_FABR VARCHAR(25), @f_GF_GRAMATURA FLOAT, @f_GF_TEC_ENC_COR_X FLOAT, @f_GF_TEC_ENC_COR_Y FLOAT, @f_GF_TEC_ENC_ACA_X FLOAT, @f_GF_TEC_ENC_ACA_Y FLOAT, @f_GF_TEC_ENC_LAV_X FLOAT, @f_GF_TEC_ENC_LAV_Y FLOAT, @n_GF_FIO_TORSAO INTEGER, @n_GF_FIO_CABOS INTEGER, @n_GF_FIO_FILAMENTO INTEGER, @n_GF_FIO_ESPESSURA INTEGER, @c_GF_TEC_COM_FALHA CHAR(1), @n_GF_LOCALIZACAO INTEGER DECLARE @n_IdMatETEJI INTEGER, @b_Eliminable BIT -- Cargamos los valores del objeto @ID_MATERIAL de la clase Materiales con Colores y Tallas (tabla ETEJI_RAIZ) DECLARE VALORES_MATERIAL CURSOR FOR SELECT EMP,ACCESO,GF_MATERIAL,GF_DESC_MATERIAL,GF_GRUPO,GF_SUBGRUPO,GF_DESC_COMPOSIC,GF_COLECCION,GF_TIPO, GF_FASE_PRODUCC,GF_SECTOR_PRODUC,GF_FABRICANTE,GF_CONDICIO_PAGO,GF_REF_FABRICANT,GF_UNID_STOCK, GF_UNID_FICHA_TE,GF_FACTOR_CONVER,GF_CTRL_UNID_AUX,GF_UNID_AUXILIAR,MATERIA_ECOEMBES,PESO_ECOEMBES, UVC_COMERC_INDUS,TRANSFER,GF_COMPRIMENTO,GF_LOTE_ECONOMIC,GF_COMPRA_MININA,GF_OBS,GF_DIAS_ENTREGA, GF_REVENDA,GF_TEC_SIMPLES_T,GF_TEC_LISO_ESTA,GF_TEC_TORNASOL, GF_CLASSIF_FISCA,GF_TRIBUT_ORIGEM,GF_TRIBUT_ICMS,GF_CONTA_CONTABI,GF_DESC_NF,GF_CODIGO_ETIQUE, GF_SEMI_ACABADO,GF_CTRL_PARTIDAS,GF_CTRL_PECAS,GF_MATERIAL_INDI,GF_RESERVA_MATER,GF_ABATER_RESERV, GF_INATIVO,GF_DATA_REPOSICA,GF_ICMS_CUSTOS,GF_TAXA_JUROS_CO,GF_VARIA_CUSTO_C,GF_VARIA_PRECO_C, GF_CTRL_PECAS_PA,GF_RESTRICAO_LAV,GF_REFERENCIA_BA, USERC,FECHAC,USERM,FECHAM FROM ETEJI_RAIZ WHERE ID = @ID_MATERIAL OPEN VALORES_MATERIAL FETCH NEXT FROM VALORES_MATERIAL INTO @n_EMP,@n_ACCESO,@s_GF_MATERIAL,@s_GF_DESC_MATERIAL,@n_GF_GRUPO,@n_GF_SUBGRUPO, @n_GF_DESC_COMPOSIC,@n_GF_COLECCION,@n_GF_TIPO,@n_GF_FASE_PRODUCC,@n_GF_SECTOR_PRODUC, @n_GF_FABRICANTE,@n_GF_CONDICIO_PAGO,@s_GF_REF_FABRICANT,@n_GF_UNID_STOCK,@n_GF_UNID_FICHA_TE, @f_GF_FACTOR_CONVER,@n_GF_CTRL_UNID_AUX,@n_GF_UNID_AUXILIAR, @n_MATERIA_ECOEMBES,@f_PESO_ECOEMBES,@n_UVC_COMERC_INDUS,@n_TRANSFER, @f_GF_COMPRIMENTO,@f_GF_LOTE_ECONOMIC,@f_GF_COMPRA_MININA,@s_GF_OBS,@n_GF_DIAS_ENTREGA, @c_GF_REVENDA,@n_GF_TEC_SIMPLES_T,@n_GF_TEC_LISO_ESTA, @n_GF_TEC_TORNASOL,@n_GF_CLASSIF_FISCA,@n_GF_TRIBUT_ORIGEM,@n_GF_TRIBUT_ICMS,@n_GF_CONTA_CONTABI, @s_GF_DESC_NF,@s_GF_CODIGO_ETIQUE,@c_GF_SEMI_ACABADO,@c_GF_CTRL_PARTIDAS,@c_GF_CTRL_PECAS,@c_GF_MATERIAL_INDI, @c_GF_RESERVA_MATER,@c_GF_ABATER_RESERV,@c_GF_INATIVO,@d_GF_DATA_REPOSICA,@f_GF_ICMS_CUSTOS,@f_GF_TAXA_JUROS_CO, @c_GF_VARIA_CUSTO_C,@c_GF_VARIA_PRECO_C,@c_GF_CTRL_PECAS_PA,@n_GF_RESTRICAO_LAV,@n_GF_REFERENCIA_BA, @n_USERC,@d_FECHAC,@n_USERM,@d_FECHAM CLOSE VALORES_MATERIAL DEALLOCATE VALORES_MATERIAL -- Se prepara el comando de inserción en la tabla ETEJI SELECT @sInsertCmd = ''INSERT INTO ETEJI '' SELECT @sListaColumnas = ''ID,EMP,GF_MATERIAL,GF_DESC_MATERIAL,ACCESO,GF_GRUPO,GF_SUBGRUPO,GF_DESC_COMPOSIC,GF_COLECAO,GF_TIPO, GF_FASE_PRODUCAO,GF_SETOR_PRODUCA,GF_FABRICANTE,GF_CONDICAO_PGTO,GF_REF_FABRICANT,GF_UNID_STOQUE,GF_UNID_FICHA_TE, GF_FATOR_CONVERS,GF_CTRL_UNID_AUX,GF_UNID_AUXILIAR,MATERIA_ECOEMBES,PESO_ECOEMBES,UVC_COMERC_INDUS, TRANSFER,GF_COMPRIMENTO,GF_LOTE_ECONOMIC,GF_COMPRA_MININA,GF_OBS,GF_DIAS_ENTREGA, GF_REVENDA,GF_TEC_SIMPLES_T,GF_TEC_LISO_ESTA,GF_TEC_TORNASOL, GF_CLASSIF_FISCA,GF_TRIBUT_ORIGEM,GF_TRIBUT_ICMS,GF_CONTA_CONTABI,GF_DESC_NF,GF_CODIGO_ETIQUE, GF_SEMI_ACABADO,GF_CTRL_PARTIDAS,GF_CTRL_PECAS,GF_MATERIAL_INDI,GF_RESERVA_MATER,GF_ABATER_RESERV, GF_INATIVO,GF_DATA_REPOSICA,GF_ICMS_CUSTOS,GF_TAXA_JUROS_CO,GF_VARIA_CUSTO_C,GF_VARIA_PRECO_C, GF_CTRL_PECAS_PA,GF_RESTRICAO_LAV,GF_REFERENCIA_BA,USERC,FECHAC,USERM,FECHAM,GF_VARIA_MATERIA'' SELECT @s_Value_EMP = CONVERT(VARCHAR(5),COALESCE(@n_EMP,0)) SELECT @sValuesBase = CONVERT(VARCHAR(5),@n_ACCESO)+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_GRUPO,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_SUBGRUPO,0))+'',''+ CONVERT(VARCHAR(5),COALESCE(@n_GF_DESC_COMPOSIC,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_COLECCION,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_TIPO,0))+'',''+ CONVERT(VARCHAR(5),COALESCE(@n_GF_FASE_PRODUCC,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_SECTOR_PRODUC,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_FABRICANTE,0))+'',''+ CONVERT(VARCHAR(5),COALESCE(@n_GF_CONDICIO_PAGO,0))+'',''+''''''''+COALESCE(@s_GF_REF_FABRICANT,'''')+''''''''+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_UNID_STOCK,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_UNID_FICHA_TE,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@f_GF_FACTOR_CONVER,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_CTRL_UNID_AUX,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_GF_UNID_AUXILIAR,0))+'',''+ CONVERT(VARCHAR(5),COALESCE(@n_MATERIA_ECOEMBES,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@f_PESO_ECOEMBES,0))+'',''+CONVERT(VARCHAR(5),COALESCE(@n_UVC_COMERC_INDUS,0))+'',''+CONVERT(VARCHAR(5),@n_TRANSFER)+'',''+ CONVERT(VARCHAR(10),COALESCE(@f_GF_COMPRIMENTO,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@f_GF_LOTE_ECONOMIC,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@f_GF_COMPRA_MININA,0))+'',''+''''''''+COALESCE(@s_GF_OBS,'''')+''''''''+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_DIAS_ENTREGA,0))+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_REVENDA,0))+''''''''+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_TEC_SIMPLES_T,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@n_GF_TEC_LISO_ESTA,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_TEC_TORNASOL,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@n_GF_CLASSIF_FISCA,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_TRIBUT_ORIGEM,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@n_GF_TRIBUT_ICMS,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_CONTA_CONTABI,0))+'',''+ ''''''''+COALESCE(@s_GF_DESC_NF,'''')+''''''''+'',''+''''''''+COALESCE(@s_GF_CODIGO_ETIQUE,'''')+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_SEMI_ACABADO,0))+''''''''+'',''+''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_CTRL_PARTIDAS,0))+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_CTRL_PECAS,0))+''''''''+'',''+''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_MATERIAL_INDI,0))+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_RESERVA_MATER,0))+''''''''+'',''+''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_ABATER_RESERV,0))+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_INATIVO,0))+''''''''+'',''+''''''''+CONVERT(VARCHAR(50),COALESCE(@d_GF_DATA_REPOSICA,0))+''''''''+'',''+ CONVERT(VARCHAR(10),COALESCE(@f_GF_ICMS_CUSTOS,0))+'',''+CONVERT(VARCHAR(10),COALESCE(@f_GF_TAXA_JUROS_CO,0))+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_VARIA_CUSTO_C,0))+''''''''+'',''+''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_VARIA_PRECO_C,0))+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(1),COALESCE(@c_GF_CTRL_PECAS_PA,0))+''''''''+'',''+CONVERT(VARCHAR(10),COALESCE(@n_GF_RESTRICAO_LAV,0))+'',''+ CONVERT(VARCHAR(10),COALESCE(@n_GF_REFERENCIA_BA,0))+'',''+ CONVERT(VARCHAR(5),@n_USERC)+'',''+''''''''+CONVERT(VARCHAR(50),@d_FECHAC)+''''''''+'',''+CONVERT(VARCHAR(5),@n_USERM)+'',''+''''''''+CONVERT(VARCHAR(50),@d_FECHAM)+'''''''' -- Contamos el número de colores y de tallas definidos para el material actual SELECT @nNumMedidas = COUNT(*) FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @ID_MATERIAL SELECT @nNumColores = COUNT(*) FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @ID_MATERIAL -- Al menos debe haberse definido un color para el material IF (@nNumColores > 0) BEGIN -- Se añaden a la lista de columnas de ETEJI las que se refieren al color SELECT @sListaColumnas = @sListaColumnas + '',GF_COR_MATERIAL,GF_DES_COR_MATER,GF_REFER_FABRICA,GF_INICIO_VENDAS, GF_FIM_VENDAS,GF_CUSTO_REPOSIC,GF_CUSTO_A_VISTA,GF_CODIGO_EXPORT,GF_PROCESSO_FABR,GF_GRAMATURA,GF_TEC_ENC_COR_X, GF_TEC_ENC_COR_Y,GF_TEC_ENC_ACA_X,GF_TEC_ENC_ACA_Y,GF_TEC_ENC_LAV_X,GF_TEC_ENC_LAV_Y,GF_FIO_TORSAO,GF_FIO_CABOS, GF_FIO_FILAMENTO,GF_FIO_ESPESSURA,GF_TEC_COM_FALHA,GF_LOCALIZACAO,GF_L,NOMBRE'' IF (@nNumMedidas > 0) BEGIN -- El material varia por talla (GF_VARIA_MATERIA = 2) SELECT @sValuesBase = @sValuesBase+'',''+''2'' -- Control de Eliminación del Material de Medida CERO -- Si se han añadido/actualizado/borrado medidas y la cero no está entre las que quedan, se borra esta medida siempre que no se esté usando IF NOT EXISTS( SELECT * FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @ID_MATERIAL AND GF_MEDIDA = 0 ) BEGIN -- Como puede haber medida cero en más de un color, necesitamos un cursor DECLARE CS_CURSOR_IDS CURSOR FOR SELECT DISTINCT ID FROM ETEJI WHERE NOMBRE = @s_GF_MATERIAL AND GF_L = 0 OPEN CS_CURSOR_IDS FETCH NEXT FROM CS_CURSOR_IDS INTO @n_IdMatETEJI WHILE @@FETCH_STATUS = 0 BEGIN -- El procedimiento muestra un Raiserror si encuentra que se está usando algún material, por lo que él mismo provocaria un ROLLBACK. -- Si no, continuará el script. EXEC GF_COMPRUEBA_INTEGRIDAD ''MATERIAL'', @n_IdMatETEJI, @b_Eliminable FETCH NEXT FROM CS_CURSOR_IDS INTO @n_IdMatETEJI END CLOSE CS_CURSOR_IDS DEALLOCATE CS_CURSOR_IDS -- Borrado de los materiales ya creados con medida 0 DELETE FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_L=0 END END ELSE BEGIN -- El material no varia por talla (GF_VARIA_MATERIA = 1) SELECT @sValuesBase = @sValuesBase+'',''+''1'' END END IF (@nNumColores > 0) BEGIN -- Buscamos todos los colores en el detalle de colores del material actual DECLARE LISTA_COLORES CURSOR FOR SELECT GF_COR_MATERIAL,COALESCE(GF_DESC_COR_MAT,''''),COALESCE(GF_REF_COR_FABRI,''''),COALESCE(GF_INICIO_VENDAS,0), COALESCE(GF_FIM_VENDAS,0), CASE WHEN ( ETEJI_RAIZ.GF_VARIA_MATERIA = 1 AND ETEJI_RAIZ.GF_VARIA_PRECO_C = ''0'' ) THEN COALESCE(ETEJI_RAIZ.GF_CUSTO_REPOSIC,0) ELSE 0 END, CASE WHEN ( ETEJI_RAIZ.GF_VARIA_MATERIA = 1 AND ETEJI_RAIZ.GF_VARIA_PRECO_C = ''0'' ) THEN COALESCE(ETEJI_RAIZ.GF_CUSTO_A_VISTA,0) ELSE 0 END, COALESCE(GF_CODIGO_EXPORT,''''), COALESCE(GF_PROCESSO_FABR,''''),COALESCE(GF_GRAMATURA,0),COALESCE(GF_TEC_ENC_COR_X,0),COALESCE(GF_TEC_ENC_COR_Y,0), COALESCE(GF_TEC_ENC_ACA_X,0),COALESCE(GF_TEC_ENC_ACA_Y,0),COALESCE(GF_TEC_ENC_LAV_X,0),COALESCE(GF_TEC_ENC_LAV_Y,0), COALESCE(GF_FIO_TORSAO,0),COALESCE(GF_FIO_CABOS,0),COALESCE(GF_FIO_FILAMENTO,0),COALESCE(GF_FIO_ESPESSURA,0), COALESCE(GF_TEC_COM_FALHA,''0''),COALESCE(GF_LOCALIZACAO,0) FROM ETEJI_COLOR LEFT JOIN ETEJI_RAIZ ON ETEJI_RAIZ.ID = ETEJI_COLOR.ID_ETEJI_RAIZ WHERE ID_ETEJI_RAIZ = @ID_MATERIAL ORDER BY ORDENPM OPEN LISTA_COLORES FETCH NEXT FROM LISTA_COLORES INTO @n_COLOR_MAT,@s_COLOR_DESC,@s_COLOR_REF_FAB,@d_GF_INICIO_VENDAS,@d_GF_FIM_VENDAS, @f_GF_CUSTO_REPOSIC_C,@f_GF_CUSTO_A_VISTA_C,@s_GF_CODIGO_EXPORT,@s_GF_PROCESSO_FABR, @f_GF_GRAMATURA,@f_GF_TEC_ENC_COR_X,@f_GF_TEC_ENC_COR_Y,@f_GF_TEC_ENC_ACA_X, @f_GF_TEC_ENC_ACA_Y,@f_GF_TEC_ENC_LAV_X,@f_GF_TEC_ENC_LAV_Y,@n_GF_FIO_TORSAO, @n_GF_FIO_CABOS,@n_GF_FIO_FILAMENTO,@n_GF_FIO_ESPESSURA,@c_GF_TEC_COM_FALHA, @n_GF_LOCALIZACAO WHILE @@FETCH_STATUS=0 BEGIN SELECT @sValuesColor = @sValuesBase+'',''+CONVERT(VARCHAR(5),@n_COLOR_MAT)+'',''+''''''''+@s_COLOR_DESC+''''''''+'',''+''''''''+@s_COLOR_REF_FAB+''''''''+'',''+ ''''''''+CONVERT(VARCHAR(50),@d_GF_INICIO_VENDAS)+''''''''+'',''+''''''''+CONVERT(VARCHAR(50),@d_GF_FIM_VENDAS)+''''''''+'',''+ CONVERT(VARCHAR(10),@f_GF_CUSTO_REPOSIC_C)+'',''+CONVERT(VARCHAR(10),@f_GF_CUSTO_A_VISTA_C)+'',''+''''''''+@s_GF_CODIGO_EXPORT+''''''''+'',''+ ''''''''+@s_GF_PROCESSO_FABR+''''''''+'',''+CONVERT(VARCHAR(10),@f_GF_GRAMATURA)+'',''+CONVERT(VARCHAR(10),@f_GF_TEC_ENC_COR_X)+'',''+ CONVERT(VARCHAR(10),@f_GF_TEC_ENC_COR_Y)+'',''+CONVERT(VARCHAR(10),@f_GF_TEC_ENC_ACA_X)+'',''+CONVERT(VARCHAR(10),@f_GF_TEC_ENC_ACA_Y)+'',''+ CONVERT(VARCHAR(10),@f_GF_TEC_ENC_LAV_X)+'',''+CONVERT(VARCHAR(10),@f_GF_TEC_ENC_LAV_Y)+'',''+CONVERT(VARCHAR(10),@n_GF_FIO_TORSAO)+'',''+ CONVERT(VARCHAR(10),@n_GF_FIO_CABOS)+'',''+CONVERT(VARCHAR(10),@n_GF_FIO_FILAMENTO)+'',''+CONVERT(VARCHAR(10),@n_GF_FIO_ESPESSURA)+'',''+ ''''''''+@c_GF_TEC_COM_FALHA+''''''''+'',''+CONVERT(VARCHAR(10),@n_GF_LOCALIZACAO) IF (@nNumMedidas > 0) BEGIN -- Buscamos todas las medidas en el detalle de medidas del material actual DECLARE LISTA_MEDIDAS CURSOR FOR SELECT GF_MEDIDA,GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @ID_MATERIAL ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA,@s_GF_COD_MAT_TAM WHILE @@FETCH_STATUS=0 BEGIN -- En LINX los materiales están normalizados por color (tabla MATERIAIS_CORES) -- pero no están normalizados por medida, por lo que cada medida nueva supone -- crear un material nuevo en ETEJI (y en MATERIAIS) -- El código del material será en ETEJI: GF_COD_MAT_TAM (campo calculado con secuencial) -- Y su descripción: GF_DESC_MATERIAL (Valor_Medida) SELECT @s_Valor_Medida = CONVERT(VARCHAR(10),@f_GF_MEDIDA) SELECT @sValuesColorYMedida = @sValuesColor+'',''+@s_Valor_Medida+'',''+''''''''+@s_GF_MATERIAL+'''''''' SELECT @s_GF_MATERIAL_MEDIDA = @s_GF_COD_MAT_TAM SELECT @s_GF_DESC_MATERIAL_MEDIDA = COALESCE(@s_GF_DESC_MATERIAL,'''')+''(''+@s_Valor_Medida+'')'' SELECT @sValues = @s_Value_EMP + '',''+''''''''+@s_GF_MATERIAL_MEDIDA+''''''''+'',''+''''''''+@s_GF_DESC_MATERIAL_MEDIDA+''''''''+'',''+@sValuesColorYMedida IF NOT EXISTS (SELECT * FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_L=@f_GF_MEDIDA AND GF_COR_MATERIAL=@n_COLOR_MAT) BEGIN --PRINT ''No existe el material NOMBRE='' +@s_GF_MATERIAL+ '' ; GF_L='' +@s_Valor_Medida+ '' ; GF_COR_MATERIAL=''+CONVERT(VARCHAR(5),@n_COLOR_MAT) -- Se actualiza la tabla de contadores de ETEJI EXEC GetNMaxValColSegunTbCnts ''ETEJI'',''ID'',@n_NextKey_ETEJI output,1,1 SELECT @s_NextKey_ETEJI = CONVERT(VARCHAR(10),@n_NextKey_ETEJI) SELECT @sInsert = @sInsertCmd + ''('' + @sListaColumnas + '')'' + '' VALUES ('' + @s_NextKey_ETEJI + '','' + @sValues + '')'' --PRINT ''Con Medidas--> '' + @sInsert -- Se realiza la inserción en ETEJI BEGIN EXEC (@sInsert) END END FETCH NEXT FROM LISTA_MEDIDAS INTO @f_GF_MEDIDA,@s_GF_COD_MAT_TAM END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS END ELSE -- No hay medidas, sólo colores BEGIN SELECT @sValues = @s_Value_EMP + '',''+''''''''+@s_GF_MATERIAL+''''''''+'',''+''''''''+@s_GF_DESC_MATERIAL+''''''''+'',''+@sValuesColor+'',0''+'',''+''''''''+@s_GF_MATERIAL+'''''''' IF NOT EXISTS (SELECT * FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_COLOR_MAT) BEGIN --PRINT ''No existe el material NOMBRE='' +@s_GF_MATERIAL+ '' ; GF_COR_MATERIAL=''+CONVERT(VARCHAR(5),@n_COLOR_MAT) -- Se actualiza la tabla de contadores de ETEJI EXEC GetNMaxValColSegunTbCnts ''ETEJI'',''ID'',@n_NextKey_ETEJI output,1,1 SELECT @s_NextKey_ETEJI = CONVERT(VARCHAR(10),@n_NextKey_ETEJI) SELECT @sInsert = @sInsertCmd + ''('' + @sListaColumnas + '')'' + '' VALUES ('' + @s_NextKey_ETEJI + '','' + @sValues + '')'' --PRINT ''Sin Medidas-->'' + @sInsert -- Se realiza la inserción en ETEJI EXEC (@sInsert) END END FETCH NEXT FROM LISTA_COLORES INTO @n_COLOR_MAT,@s_COLOR_DESC,@s_COLOR_REF_FAB,@d_GF_INICIO_VENDAS,@d_GF_FIM_VENDAS, @f_GF_CUSTO_REPOSIC_C,@f_GF_CUSTO_A_VISTA_C,@s_GF_CODIGO_EXPORT,@s_GF_PROCESSO_FABR, @f_GF_GRAMATURA,@f_GF_TEC_ENC_COR_X,@f_GF_TEC_ENC_COR_Y,@f_GF_TEC_ENC_ACA_X, @f_GF_TEC_ENC_ACA_Y,@f_GF_TEC_ENC_LAV_X,@f_GF_TEC_ENC_LAV_Y,@n_GF_FIO_TORSAO, @n_GF_FIO_CABOS,@n_GF_FIO_FILAMENTO,@n_GF_FIO_ESPESSURA,@c_GF_TEC_COM_FALHA, @n_GF_LOCALIZACAO END CLOSE LISTA_COLORES DEALLOCATE LISTA_COLORES END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_LOJA_ENTRADA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_LOJA_ENTRADA] AS SELECT LOJA_ENTRADAS_PRODUTO.FILIAL,LOJA_ENTRADAS_PRODUTO.PRODUTO,COR_PRODUTO,SUM(QTDE_ENTRADA) AS QTDE, SUM(EN1) AS Q1,SUM(EN2) AS Q2,SUM(EN3) AS Q3,SUM(EN4) AS Q4,SUM(EN5) AS Q5,SUM(EN6) AS Q6, SUM(EN7) AS Q7,SUM(EN8) AS Q8,SUM(EN9) AS Q9,SUM(EN10) AS Q10,SUM(EN11) AS Q11,SUM(EN12) AS Q12, SUM(EN13) AS Q13,SUM(EN14) AS Q14,SUM(EN15) AS Q15,SUM(EN16) AS Q16,SUM(EN17) AS Q17,SUM(EN18) AS Q18, SUM(EN19) AS Q19,SUM(EN20) AS Q20,SUM(EN21) AS Q21,SUM(EN22) AS Q22,SUM(EN23) AS Q23,SUM(EN24) AS Q24, SUM(EN25) AS Q25,SUM(EN26) AS Q26,SUM(EN27) AS Q27,SUM(EN28) AS Q28,SUM(EN29) AS Q29,SUM(EN30) AS Q30, SUM(EN31) AS Q31,SUM(EN32) AS Q32,SUM(EN33) AS Q33,SUM(EN34) AS Q34,SUM(EN35) AS Q35,SUM(EN36) AS Q36, SUM(EN37) AS Q37,SUM(EN38) AS Q38,SUM(EN39) AS Q39,SUM(EN40) AS Q40,SUM(EN41) AS Q41,SUM(EN42) AS Q42, SUM(EN43) AS Q43,SUM(EN44) AS Q44,SUM(EN45) AS Q45,SUM(EN46) AS Q46,SUM(EN47) AS Q47,SUM(EN48) AS Q48 FROM LOJA_ENTRADAS JOIN LOJA_ENTRADAS_PRODUTO ON LOJA_ENTRADAS.FILIAL = LOJA_ENTRADAS_PRODUTO.FILIAL AND LOJA_ENTRADAS.ROMANEIO_PRODUTO = LOJA_ENTRADAS_PRODUTO.ROMANEIO_PRODUTO JOIN PRODUTOS ON PRODUTOS.PRODUTO=LOJA_ENTRADAS_PRODUTO.PRODUTO GROUP BY LOJA_ENTRADAS_PRODUTO.FILIAL,LOJA_ENTRADAS_PRODUTO.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_VERIFICA_TRANSITO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_VERIFICA_TRANSITO] @ROMANEIO_PRODUTO VARCHAR(8), @FILIAL VARCHAR(25) AS DECLARE @TIPO_ENTRADA INT, @AUTOMATICO_DESLIGADO INT, @ROMANEIO_NF_SAIDA CHAR(8), @NF_TRANSFERENCIA CHAR(8), @FILIAL_ORIGEM VARCHAR(25), @ROMANEIO_ORIGINAL CHAR(8), @STATUS_TRANSITO INT, @STATUS_ORIGINAL INT, @COMENTARIO VARCHAR(2000), @COMENTARIO2 VARCHAR(2000), @CONFERIDO INT, @FLAGDIF INT, @ERRO INT, @PERMITE_ENT_FORNEC INT, @CONTADOR INT, @xDataSaldo DateTime, @EMISSAO_DIF DATETIME, @MIN_EMISSAO DATETIME, @MIN_DATA_AJUSTE DATETIME -- VALORES STATUS_TRANSITO -- 5 - ENTRADAS DE FORNEDORES OU ENTRADAS SEM TRANSITO -- 1 - ENTRADA NAO ENCONTRADA -- 2 - DIFERENCA NA QUANTIDADE OU NO VALOR -- 3 - CONFERIDA OK -- 4 - ENTRADA CONFERIDA PELO OPERADOR / AUDITOR SET NOCOUNT ON BEGIN TRANSACTION SELECT @AUTOMATICO_DESLIGADO=ISNULL(NAO_GERA_ENTRADA_LOJA_AUTO,0) FROM FILIAIS WHERE FILIAL = @FILIAL SELECT @PERMITE_ENT_FORNEC=ISNULL(PERMITE_ENT_FORNEC,1) FROM LOJAS_VAREJO WHERE FILIAL = @FILIAL SELECT @TIPO_ENTRADA = ENTRADA_POR , @COMENTARIO = OBS, @NF_TRANSFERENCIA = NUMERO_NF_TRANSFERENCIA, @ROMANEIO_NF_SAIDA = ROMANEIO_NF_SAIDA, @FILIAL_ORIGEM = FILIAL_ORIGEM, @STATUS_ORIGINAL = STATUS_TRANSITO, @EMISSAO_DIF = EMISSAO FROM LOJA_ENTRADAS_DIF WHERE ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND FILIAL = @FILIAL SELECT @TIPO_ENTRADA=CASE WHEN @FILIAL=@FILIAL_ORIGEM THEN 2 ELSE 1 END WHERE @TIPO_ENTRADA IS NULL SELECT @ROMANEIO_ORIGINAL=@ROMANEIO_PRODUTO, @STATUS_TRANSITO=5, @CONFERIDO=1, @FLAGDIF=0, @COMENTARIO2='''' SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF @STATUS_ORIGINAL<>4 AND @EMISSAO_DIF <= @xDataSaldo BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0, OBS=''Impossivel Verificar Movimentacao anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @STATUS_ORIGINAL<>4 AND EXISTS(SELECT * FROM LOJA_ENTRADAS_DIF A JOIN LOJA_ENTRADAS_PRODUTO_DIF B ON A.FILIAL=B.FILIAL AND A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO JOIN ESTOQUE_PRODUTOS C ON C.FILIAL=B.FILIAL AND C.PRODUTO=B.PRODUTO AND C.COR_PRODUTO=B.COR_PRODUTO WHERE A.EMISSAO < C.DATA_AJUSTE AND A.FILIAL=@FILIAL AND A.ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO) BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0, OBS=''Impossivel Verificar Movimentacao anterior ao Ajuste !'' WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @STATUS_ORIGINAL<>4 AND (@TIPO_ENTRADA=2 OR @FILIAL_ORIGEM=@FILIAL) AND @PERMITE_ENT_FORNEC=0 BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @STATUS_ORIGINAL<>4 AND @TIPO_ENTRADA=2 OR @AUTOMATICO_DESLIGADO=1 OR @FILIAL_ORIGEM=@FILIAL BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=5, ENTRADA_CONFERIDA=1 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO ATUALIZA_ENTRADA END IF (SELECT COUNT(*) FROM LOJA_ENTRADAS WHERE FILIAL=@FILIAL AND FILIAL_ORIGEM=@FILIAL_ORIGEM AND (ROMANEIO_NF_SAIDA=@ROMANEIO_NF_SAIDA OR NUMERO_NF_TRANSFERENCIA=@NF_TRANSFERENCIA)) <> 1 BEGIN IF @STATUS_ORIGINAL<>4 UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END ELSE BEGIN SELECT @MIN_EMISSAO=GETDATE() ,@MIN_DATA_AJUSTE=''18000101'' SELECT @ROMANEIO_ORIGINAL = ROMANEIO_ORIGINAL, @FLAGDIF = CASE WHEN @FLAGDIF>=0 OR @FLAGDIF IS NULL THEN CONFERIDO ELSE @FLAGDIF END, @COMENTARIO2 = @COMENTARIO2+CASE WHEN CONFERIDO=1 THEN '''' ELSE '' O Produto ''''''+RTRIM(PRODUTO)+'''''', Cor ''''''+RTRIM(COR_PRODUTO)+'''''' possui QUANTIDADES INCONSISTENTES. ''+CHAR(10) END, @MIN_EMISSAO = CASE WHEN EMISSAO < @MIN_EMISSAO THEN EMISSAO ELSE @MIN_EMISSAO END, @MIN_DATA_AJUSTE = CASE WHEN DATA_AJUSTE > @MIN_DATA_AJUSTE THEN DATA_AJUSTE ELSE @MIN_DATA_AJUSTE END FROM (SELECT B.ROMANEIO_PRODUTO,B.FILIAL,B.PRODUTO,B.COR_PRODUTO,C.ROMANEIO_PRODUTO AS ROMANEIO_ORIGINAL, CONFERIDO=CASE WHEN D.QTDE_ENTRADA=B.QTDE_ENTRADA AND D.EN1=B.EN1 AND D.EN2=B.EN2 AND D.EN3=B.EN3 AND D.EN4=B.EN4 AND D.EN5=B.EN5 AND D.EN6=B.EN6 AND D.EN7=B.EN7 AND D.EN8=B.EN8 AND D.EN9=B.EN9 AND D.EN10=B.EN10 AND D.EN11=B.EN11 AND D.EN12=B.EN12 AND D.EN13=B.EN13 AND D.EN14=B.EN14 AND D.EN15=B.EN15 AND D.EN16=B.EN16 AND D.EN17=B.EN17 AND D.EN18=B.EN18 AND D.EN19=B.EN19 AND D.EN20=B.EN20 AND D.EN21=B.EN21 AND D.EN22=B.EN22 AND D.EN23=B.EN23 AND D.EN24=B.EN24 AND D.EN25=B.EN25 AND D.EN26=B.EN26 AND D.EN27=B.EN27 AND D.EN28=B.EN28 AND D.EN29=B.EN29 AND D.EN30=B.EN30 AND D.EN31=B.EN31 AND D.EN32=B.EN32 AND D.EN33=B.EN33 AND D.EN34=B.EN34 AND D.EN35=B.EN35 AND D.EN36=B.EN36 AND D.EN37=B.EN37 AND D.EN38=B.EN38 AND D.EN39=B.EN39 AND D.EN40=B.EN40 AND D.EN41=B.EN41 AND D.EN42=B.EN42 AND D.EN43=B.EN43 AND D.EN44=B.EN44 AND D.EN45=B.EN45 AND D.EN46=B.EN46 AND D.EN47=B.EN47 AND D.EN48=B.EN48 THEN 1 ELSE -1 END, EMISSAO = CASE WHEN A.EMISSAO < C.EMISSAO THEN A.EMISSAO ELSE C.EMISSAO END, DATA_AJUSTE = CASE WHEN EA.DATA_AJUSTE < EB.DATA_AJUSTE THEN EA.DATA_AJUSTE ELSE EB.DATA_AJUSTE END FROM LOJA_ENTRADAS_DIF A LEFT JOIN LOJA_ENTRADAS_PRODUTO_DIF B ON B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO AND B.FILIAL=A.FILIAL LEFT JOIN ESTOQUE_PRODUTOS EA ON EA.FILIAL=B.FILIAL AND EA.PRODUTO=B.PRODUTO AND EA.COR_PRODUTO=B.COR_PRODUTO JOIN LOJA_ENTRADAS C ON C.FILIAL_ORIGEM = A.FILIAL_ORIGEM AND C.FILIAL = A.FILIAL AND ((C.ROMANEIO_NF_SAIDA = A.ROMANEIO_NF_SAIDA AND A.ROMANEIO_NF_SAIDA<>'''' ) OR (C.NUMERO_NF_TRANSFERENCIA=A.NUMERO_NF_TRANSFERENCIA AND A.NUMERO_NF_TRANSFERENCIA<>'''')) LEFT JOIN (LOJA_ENTRADAS_PRODUTO D LEFT JOIN ESTOQUE_PRODUTOS EB ON EB.FILIAL=D.FILIAL AND EB.PRODUTO=D.PRODUTO AND EB.COR_PRODUTO=D.COR_PRODUTO ) ON D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.FILIAL=C.FILIAL AND D.PRODUTO=B.PRODUTO AND D.COR_PRODUTO=B.COR_PRODUTO WHERE A.FILIAL=@FILIAL AND A.ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO) A --GROUP BY B.ROMANEIO_PRODUTO,B.FILIAL,B.PRODUTO,B.COR_PRODUTO,C.ROMANEIO_PRODUTO) A SELECT @ERRO=@@ERROR, @CONTADOR=@@ROWCOUNT IF @ERRO<>0 GOTO ERRO IF EXISTS ( SELECT * FROM LOJA_ENTRADAS_PRODUTO A LEFT JOIN LOJA_ENTRADAS_PRODUTO_DIF B ON A.FILIAL=B.FILIAL AND B.ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO WHERE A.ROMANEIO_PRODUTO=@ROMANEIO_ORIGINAL AND A.FILIAL=@FILIAL AND B.FILIAL IS NULL ) BEGIN SELECT @FLAGDIF=-1 END --------------------------------- -- SELECT @STATUS_ORIGINAL AS STATUS_ORIGINAL,@FLAGDIF AS FLAG,@CONTADOR AS CONTADOR --------------------------------- IF @STATUS_ORIGINAL=4 BEGIN UPDATE LOJA_ENTRADAS SET STATUS_TRANSITO=4, ENTRADA_CONFERIDA=1 WHERE FILIAL = @FILIAL AND ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @MIN_EMISSAO <= @xDataSaldo BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0, OBS=''Impossivel Verificar Movimentacao anterior a #''+CONVERT(Char(10),@xDataSaldo,103)+'' !'' WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @MIN_EMISSAO < @MIN_DATA_AJUSTE BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0, OBS=''Impossivel Verificar Movimentacao anterior ao Ajuste !'' WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END IF @CONTADOR<1 BEGIN UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=1, ENTRADA_CONFERIDA=0 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END /* IF @STATUS_ORIGINAL>3 AND (@FLAGDIF IS NULL OR @FLAGDIF<0) BEGIN SELECT @STATUS_TRANSITO=5, @CONFERIDO=1,@COMENTARIO=@COMENTARIO2--+@COMENTARIO UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=5, ENTRADA_CONFERIDA=1 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO ATUALIZA_ENTRADA END ELSE */ IF @FLAGDIF IS NULL OR @FLAGDIF<0 BEGIN SELECT @COMENTARIO=@COMENTARIO2--+@COMENTARIO UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=2, ENTRADA_CONFERIDA=1, OBS=@COMENTARIO WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM UPDATE A SET NUMERO_NF_TRANSFERENCIA = B.NUMERO_NF_TRANSFERENCIA, EMISSAO = B.EMISSAO, DESC_TIPO_ENTRADA_SAIDA = B.DESC_TIPO_ENTRADA_SAIDA, ENTRADA_CONFERIDA = 1, ENTRADA_SEM_PRODUTOS = B.ENTRADA_SEM_PRODUTOS, STATUS_TRANSITO = 2, QTDE_NAO_CONFERIDA = B.QTDE_NAO_CONFERIDA, VALOR_NAO_CONFERIDO = B.VALOR_NAO_CONFERIDO, ENTRADA_POR = @TIPO_ENTRADA, OBS = B.OBS FROM LOJA_ENTRADAS A JOIN LOJA_ENTRADAS_DIF B ON A.FILIAL = B.FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL--B.ROMANEIO_PRODUTO WHERE B.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND B.FILIAL = @FILIAL AND (ISNULL(A.STATUS_TRANSITO,0)<4 AND (ISNULL(A.STATUS_TRANSITO,0)<>B.STATUS_TRANSITO OR B.STATUS_TRANSITO < 3)) SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END ELSE BEGIN SELECT @STATUS_TRANSITO=3, @CONFERIDO=1 UPDATE LOJA_ENTRADAS_DIF SET STATUS_TRANSITO=3, ENTRADA_CONFERIDA=1 WHERE FILIAL=@FILIAL AND ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO UPDATE A SET NUMERO_NF_TRANSFERENCIA = B.NUMERO_NF_TRANSFERENCIA, EMISSAO = B.EMISSAO, DESC_TIPO_ENTRADA_SAIDA = B.DESC_TIPO_ENTRADA_SAIDA, ENTRADA_CONFERIDA = 1, ENTRADA_SEM_PRODUTOS = B.ENTRADA_SEM_PRODUTOS, STATUS_TRANSITO = 3, QTDE_NAO_CONFERIDA = B.QTDE_NAO_CONFERIDA, VALOR_NAO_CONFERIDO = B.VALOR_NAO_CONFERIDO, ENTRADA_POR = @TIPO_ENTRADA, OBS = B.OBS FROM LOJA_ENTRADAS A JOIN LOJA_ENTRADAS_DIF B ON A.FILIAL = B.FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL--B.ROMANEIO_PRODUTO WHERE B.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND B.FILIAL = @FILIAL AND (ISNULL(A.STATUS_TRANSITO,0)<4 AND (ISNULL(A.STATUS_TRANSITO,0)<>B.STATUS_TRANSITO OR B.STATUS_TRANSITO < 3)) SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM END END GOTO FIM ATUALIZA_ENTRADA: ----------------------------------------- --SELECT @STATUS_TRANSITO AS STATUS_TRANSITO,@CONFERIDO AS CONFERIDO, -- @ROMANEIO_PRODUTO AS ROMANEIO_PRODUTO, @FILIAL AS FILIAL, -- @ROMANEIO_ORIGINAL AS ROMANEIO_ORIGINAL ------------------------------------ -- ATUALIZANDO LOJA_ENTRADAS UPDATE A SET CODIGO_TAB_PRECO = B.CODIGO_TAB_PRECO, TIPO_ENTRADA_SAIDA = B.TIPO_ENTRADA_SAIDA, FILIAL_ORIGEM = B.FILIAL_ORIGEM, NUMERO_NF_TRANSFERENCIA = B.NUMERO_NF_TRANSFERENCIA, --ROMANEIO_NF_SAIDA = B.ROMANEIO_NF_SAIDA, FORNECEDOR = B.FORNECEDOR, RESPONSAVEL = B.RESPONSAVEL, EMISSAO = B.EMISSAO, --DATA_SAIDA = B.DATA_SAIDA, DESC_TIPO_ENTRADA_SAIDA = B.DESC_TIPO_ENTRADA_SAIDA, ENTRADA_CONFERIDA = @CONFERIDO, ENTRADA_SEM_PRODUTOS = B.ENTRADA_SEM_PRODUTOS, QTDE_TOTAL = B.QTDE_TOTAL, VALOR_TOTAL = B.VALOR_TOTAL, FATOR_PRECO = B.FATOR_PRECO, STATUS_TRANSITO = @STATUS_TRANSITO, QTDE_NAO_CONFERIDA = B.QTDE_NAO_CONFERIDA, VALOR_NAO_CONFERIDO = B.VALOR_NAO_CONFERIDO, ENTRADA_POR = @TIPO_ENTRADA, CGC_FORNECEDOR = B.CGC_FORNECEDOR, PEDIDO_STATUS_LOJA = B.PEDIDO_STATUS_LOJA, OBS = B.OBS FROM LOJA_ENTRADAS A JOIN LOJA_ENTRADAS_DIF B ON A.FILIAL = B.FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL--B.ROMANEIO_PRODUTO WHERE B.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND B.FILIAL = @FILIAL AND (ISNULL(A.STATUS_TRANSITO,0)<4 AND (A.STATUS_TRANSITO<>B.STATUS_TRANSITO OR B.STATUS_TRANSITO < 3 OR A.STATUS_TRANSITO IS NULL)) SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO -- ATUALIZANDO LOJA_ENTRADAS_PRODUTO UPDATE A SET QTDE_ENTRADA = B.EN1+B.EN2+B.EN3+B.EN4+B.EN5+B.EN6+B.EN7+B.EN8+B.EN9+B.EN10+B.EN11+B.EN12+B.EN13+B.EN14+B.EN15+B.EN16+B.EN17+B.EN18+B.EN19+B.EN20+B.EN21+B.EN22+ B.EN23+B.EN24+B.EN25+B.EN26+B.EN27+B.EN28+B.EN29+B.EN30+B.EN31+B.EN32+B.EN33+B.EN34+B.EN35+B.EN36+B.EN37+B.EN38+B.EN39+B.EN40+B.EN41+B.EN42+B.EN43+B.EN44+B.EN45+B.EN46+B.EN47+B.EN48, EN1 = B.EN1, EN2 = B.EN2, EN3 = B.EN3, EN4 = B.EN4, EN5 = B.EN5, EN6 = B.EN6, EN7 = B.EN7, EN8 = B.EN8, EN9 = B.EN9, EN10 = B.EN10, EN11 = B.EN11, EN12 = B.EN12, EN13 = B.EN13, EN14 = B.EN14, EN15 = B.EN15, EN16 = B.EN16, EN17 = B.EN17, EN18 = B.EN18, EN19 = B.EN19, EN20 = B.EN20, EN21 = B.EN21, EN22 = B.EN22, EN23 = B.EN23, EN24 = B.EN24, EN25 = B.EN25, EN26 = B.EN26, EN27 = B.EN27, EN28 = B.EN28, EN29 = B.EN29, EN30 = B.EN30, EN31 = B.EN31, EN32 = B.EN32, EN33 = B.EN33, EN34 = B.EN34, EN35 = B.EN35, EN36 = B.EN36, EN37 = B.EN37, EN38 = B.EN38, EN39 = B.EN39, EN40 = B.EN40, EN41 = B.EN41, EN42 = B.EN42, EN43 = B.EN43, EN44 = B.EN44, EN45 = B.EN45, EN46 = B.EN46, EN47 = B.EN47, EN48 = B.EN48, VALOR = B.VALOR, PRECO1 = B.PRECO1, PRECO2 = B.PRECO2, PRECO3 = B.PRECO3, PRECO4 = B.PRECO4, COR_SORTIDA_TROCADA = B.COR_SORTIDA_TROCADA, PEDIDO_COMPRA = B.PEDIDO_COMPRA, PEDIDO = B.PEDIDO FROM LOJA_ENTRADAS_PRODUTO A JOIN LOJA_ENTRADAS_PRODUTO_DIF B ON A.FILIAL = B.FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL AND --B.ROMANEIO_PRODUTO AND A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO JOIN LOJA_ENTRADAS C ON A.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND A.FILIAL=C.FILIAL JOIN LOJA_ENTRADAS_DIF D ON D.FILIAL = B.FILIAL AND D.ROMANEIO_PRODUTO = B.ROMANEIO_PRODUTO WHERE B.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND B.FILIAL = @FILIAL AND (ISNULL(C.STATUS_TRANSITO,0)<4 AND (C.STATUS_TRANSITO<>D.STATUS_TRANSITO OR C.STATUS_TRANSITO < 3 OR C.STATUS_TRANSITO IS NULL)) SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO -- INSERINDO LOJA_ENTRADAS INSERT INTO LOJA_ENTRADAS (ROMANEIO_PRODUTO, FILIAL, NUMERO_NF_TRANSFERENCIA, FILIAL_ORIGEM, ROMANEIO_NF_SAIDA, CODIGO_TAB_PRECO, TIPO_ENTRADA_SAIDA, FORNECEDOR, RESPONSAVEL, EMISSAO, DATA_SAIDA, DESC_TIPO_ENTRADA_SAIDA, ENTRADA_CONFERIDA, ENTRADA_SEM_PRODUTOS, QTDE_TOTAL, VALOR_TOTAL, FATOR_PRECO, STATUS_TRANSITO, QTDE_NAO_CONFERIDA, VALOR_NAO_CONFERIDO, ENTRADA_POR, DATA_PARA_TRANSFERENCIA,OBS, CGC_FORNECEDOR,PEDIDO_STATUS_LOJA) SELECT @ROMANEIO_ORIGINAL, A.FILIAL, A.NUMERO_NF_TRANSFERENCIA, A.FILIAL_ORIGEM, A.ROMANEIO_NF_SAIDA, A.CODIGO_TAB_PRECO, A.TIPO_ENTRADA_SAIDA, A.FORNECEDOR, A.RESPONSAVEL, A.EMISSAO, A.DATA_SAIDA, A.DESC_TIPO_ENTRADA_SAIDA, @CONFERIDO, A.ENTRADA_SEM_PRODUTOS, A.QTDE_TOTAL, A.VALOR_TOTAL, A.FATOR_PRECO, @STATUS_TRANSITO, A.QTDE_NAO_CONFERIDA, A.VALOR_NAO_CONFERIDO, @TIPO_ENTRADA, ''18000101'',A.OBS, A.CGC_FORNECEDOR, A.PEDIDO_STATUS_LOJA FROM LOJA_ENTRADAS_DIF A LEFT JOIN LOJA_ENTRADAS B ON A.FILIAL = B.FILIAL AND B.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL WHERE A.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND A.FILIAL = @FILIAL AND B.FILIAL IS NULL SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO -- INSERINDO LOJA_ENTRADAS_PRODUTOS INSERT INTO LOJA_ENTRADAS_PRODUTO (FILIAL, ROMANEIO_PRODUTO, PRODUTO, COR_PRODUTO, EN1, EN2, EN3, EN4, EN5, EN6, EN7, EN8, EN9, EN10, EN11, EN12, EN13, EN14, EN15, EN16, EN17, EN18, EN19, EN20, EN21, EN22, EN23, EN24, EN25, EN26, EN27, EN28, EN29, EN30, EN31, EN32, EN33, EN34, EN35, EN36, EN37, EN38, EN39, EN40, EN41, EN42, EN43, EN44, EN45, EN46, EN47, EN48, VALOR, PRECO4, PRECO3, PRECO2, PRECO1, QTDE_ENTRADA, DATA_PARA_TRANSFERENCIA, COR_SORTIDA_TROCADA, PEDIDO_COMPRA, PEDIDO) SELECT A.FILIAL, @ROMANEIO_ORIGINAL, A.PRODUTO, A.COR_PRODUTO, A.EN1,A.EN2,A.EN3,A.EN4,A.EN5,A.EN6,A.EN7,A.EN8,A.EN9,A.EN10,A.EN11,A.EN12,A.EN13,A.EN14,A.EN15,A.EN16,A.EN17,A.EN18,A.EN19,A.EN20,A.EN21,A.EN22,A.EN23,A.EN24, A.EN25,A.EN26,A.EN27,A.EN28,A.EN29,A.EN30,A.EN31,A.EN32,A.EN33,A.EN34,A.EN35,A.EN36,A.EN37,A.EN38,A.EN39,A.EN40,A.EN41,A.EN42,A.EN43,A.EN44,A.EN45,A.EN46,A.EN47,A.EN48, A.VALOR, A.PRECO4, A.PRECO3, A.PRECO2, A.PRECO1, QTDE_ENTRADA = (A.EN1+A.EN2+A.EN3+A.EN4+A.EN5+A.EN6+A.EN7+A.EN8+A.EN9+A.EN10+A.EN11+A.EN12+A.EN13+A.EN14+A.EN15+A.EN16+A.EN17+A.EN18+A.EN19+A.EN20+A.EN21+A.EN22+A.EN23+A.EN24+ A.EN25+A.EN26+A.EN27+A.EN28+A.EN29+A.EN30+A.EN31+A.EN32+A.EN33+A.EN34+A.EN35+A.EN36+A.EN37+A.EN38+A.EN39+A.EN40+A.EN41+A.EN42+A.EN43+A.EN44+A.EN45+A.EN46+A.EN47+A.EN48), ''18000101'', A.COR_SORTIDA_TROCADA, A.PEDIDO_COMPRA, A.PEDIDO FROM LOJA_ENTRADAS_PRODUTO_DIF A LEFT JOIN LOJA_ENTRADAS_PRODUTO B ON A.FILIAL = B.FILIAL AND B.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL AND A.PRODUTO = B.PRODUTO AND A.COR_PRODUTO = B.COR_PRODUTO WHERE A.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND A.FILIAL = @FILIAL AND B.FILIAL IS NULL SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO UPDATE X SET QTDE_TOTAL=Y.QTDE_FILHA FROM LOJA_ENTRADAS X JOIN (SELECT A.FILIAL,A.ROMANEIO_PRODUTO,A.QTDE_TOTAL,SUM(B.QTDE_ENTRADA) AS QTDE_FILHA FROM LOJA_ENTRADAS A LEFT JOIN LOJA_ENTRADAS_PRODUTO B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL WHERE A.ROMANEIO_PRODUTO = @ROMANEIO_ORIGINAL AND A.FILIAL = @FILIAL GROUP BY A.FILIAL,A.ROMANEIO_PRODUTO,A.QTDE_TOTAL HAVING A.QTDE_TOTAL <> SUM(B.QTDE_ENTRADA)) Y ON X.ROMANEIO_PRODUTO=Y.ROMANEIO_PRODUTO AND X.FILIAL=Y.FILIAL SELECT @ERRO=@@ERROR IF @ERRO<>0 GOTO ERRO GOTO FIM FIM: SET NOCOUNT OFF COMMIT TRANSACTION RETURN ERRO: RAISERROR @ERRO '''' ROLLBACK TRANSACTION' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_HISTORICO_ESTOQUE_PA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_HISTORICO_ESTOQUE_PA] /*---[VERSAO: 5.0]---*/ @DATASALDO DATETIME, @FILIAL VARCHAR(25)=''%'', @UTILIZA_ANTERIOR CHAR(1)=''N'' AS SET NOCOUNT ON DECLARE @SALDO DATETIME,@cFilial VarChar(25), @Contagem VarChar(25), @PARAMETRO VARCHAR(25), @Ultimo_Saldo datetime SELECT @FILIAL=RTRIM(@FILIAL), @SALDO=@DATASALDO DECLARE Cur_Filial SCROLL CURSOR FOR SELECT DISTINCT Filial FROM Filiais WHERE Filial LIKE @FILIAL ORDER BY FILIAL OPEN Cur_Filial FETCH NEXT FROM Cur_FILIAL INTO @cFilial WHILE @@FETCH_STATUS = 0 BEGIN IF @UTILIZA_ANTERIOR=''S'' BEGIN SELECT @Ultimo_Saldo=MAX(DATA_SALDO) FROM ESTOQUE_PRODUTOS_HISTORICO WHERE FILIAL=@cFILIAL AND DATA_SALDO<@SALDO END SELECT @Ultimo_Saldo=''18000101'' WHERE @Ultimo_Saldo IS NULL IF EXISTS (SELECT * FROM ESTOQUE_PRODUTOS_HISTORICO WHERE FILIAL=@cFILIAL AND DATA_SALDO=@SALDO) BEGIN DELETE FROM ESTOQUE_PRODUTOS_HISTORICO WHERE FILIAL=@cFILIAL AND DATA_SALDO=@SALDO END INSERT INTO ESTOQUE_PRODUTOS_HISTORICO (FILIAL,DATA_SALDO,PRODUTO,COR_PRODUTO,ESTOQUE,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48,CUSTO_MEDIO1,CUSTO_MEDIO2,CUSTO_MEDIO3,CUSTO_MEDIO4, QTDE_ENTRADA,QTDE_FATURAMENTO,QTDE_ENT_DEVOL,QTDE_FATURA_DEVOL,QTDE_PROD_ENT,QTDE_PROD_SAI,QTDE_AJUSTE,QTDE_LJ_ENT,QTDE_LJ_SAI,QTDE_VENDA,QTDE_TROCA, ULTIMO_CUSTO1,ULTIMO_CUSTO2,ULTIMO_CUSTO3,ULTIMO_CUSTO4,DATA_CUSTO_MEDIO,DATA_ULT_CUSTO,ULTIMA_SAIDA,ULTIMA_ENTRADA, DATA_CUSTO_MEDIO_INIC,CUSTO_MEDIO1_INIC,CUSTO_MEDIO2_INIC,CUSTO_MEDIO3_INIC,CUSTO_MEDIO4_INIC,GERACAO) SELECT FILIAL,@Saldo,PRODUTO,COR_PRODUTO,SUM(ISNULL(QTDE,0)), SUM(ISNULL(Q1,0)),SUM(ISNULL(Q2,0)),SUM(ISNULL(Q3,0)),SUM(ISNULL(Q4,0)),SUM(ISNULL(Q5,0)),SUM(ISNULL(Q6,0)),SUM(ISNULL(Q7,0)),SUM(ISNULL(Q8,0)),SUM(ISNULL(Q9,0)),SUM(ISNULL(Q10,0)),SUM(ISNULL(Q11,0)),SUM(ISNULL(Q12,0)),SUM(ISNULL(Q13,0)),SUM(ISNULL(Q14,0)),SUM(ISNULL(Q15,0)),SUM(ISNULL(Q16,0)), SUM(ISNULL(Q17,0)),SUM(ISNULL(Q18,0)),SUM(ISNULL(Q19,0)),SUM(ISNULL(Q20,0)),SUM(ISNULL(Q21,0)),SUM(ISNULL(Q22,0)),SUM(ISNULL(Q23,0)),SUM(ISNULL(Q24,0)),SUM(ISNULL(Q25,0)),SUM(ISNULL(Q26,0)),SUM(ISNULL(Q27,0)),SUM(ISNULL(Q28,0)),SUM(ISNULL(Q29,0)),SUM(ISNULL(Q30,0)),SUM(ISNULL(Q31,0)),SUM(ISNULL(Q32,0)), SUM(ISNULL(Q33,0)),SUM(ISNULL(Q34,0)),SUM(ISNULL(Q35,0)),SUM(ISNULL(Q36,0)),SUM(ISNULL(Q37,0)),SUM(ISNULL(Q38,0)),SUM(ISNULL(Q39,0)),SUM(ISNULL(Q40,0)),SUM(ISNULL(Q41,0)),SUM(ISNULL(Q42,0)),SUM(ISNULL(Q43,0)),SUM(ISNULL(Q44,0)),SUM(ISNULL(Q45,0)),SUM(ISNULL(Q46,0)),SUM(ISNULL(Q47,0)),SUM(ISNULL(Q48,0)), CASE WHEN SUM(ISNULL(TOTAL_QTDE1,0))<>0 THEN SUM(ISNULL(TOTAL_CUSTO1,0))/SUM(ISNULL(TOTAL_QTDE1,0)) ELSE 0 END, CASE WHEN SUM(ISNULL(TOTAL_QTDE2,0))<>0 THEN SUM(ISNULL(TOTAL_CUSTO2,0))/SUM(ISNULL(TOTAL_QTDE2,0)) ELSE 0 END, CASE WHEN SUM(ISNULL(TOTAL_QTDE3,0))<>0 THEN SUM(ISNULL(TOTAL_CUSTO3,0))/SUM(ISNULL(TOTAL_QTDE3,0)) ELSE 0 END, CASE WHEN SUM(ISNULL(TOTAL_QTDE4,0))<>0 THEN SUM(ISNULL(TOTAL_CUSTO4,0))/SUM(ISNULL(TOTAL_QTDE4,0)) ELSE 0 END, SUM(CASE WHEN TIPO=''ENTRADAS'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''FATURA'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''ENT_DEVOL'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''FAT_DEVOL'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''PROD1_ENT'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''PROD1_SAI'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''AJUSTE'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''LJ_ENTRADA'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''LJ_SAIDA'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''LJ_VENDA'' THEN ISNULL(QTDE,0) ELSE 0 END), SUM(CASE WHEN TIPO=''LJ_TROCA'' THEN ISNULL(QTDE,0) ELSE 0 END), ULTIMO_CUSTO1=0, ULTIMO_CUSTO2=0, ULTIMO_CUSTO3=0, ULTIMO_CUSTO4=0, DATA_CUSTO_MEDIO=@SALDO, DATA_ULT_CUSTO=MAX(DATA_ULT_CUSTO), ULTIMA_SAIDA=MAX(ULTIMA_SAIDA), ULTIMA_ENTRADA=MAX(ULTIMA_ENTRADA), DATA_CUSTO_MEDIO_INIC=@ULTIMO_SALDO, CUSTO_MEDIO1_INIC=MAX(CUSTO_MEDIO1_INIC), CUSTO_MEDIO2_INIC=MAX(CUSTO_MEDIO2_INIC), CUSTO_MEDIO3_INIC=MAX(CUSTO_MEDIO3_INIC), CUSTO_MEDIO4_INIC=MAX(CUSTO_MEDIO4_INIC), GETDATE() FROM ( SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = A.ESTOQUE, TIPO = CONVERT(CHAR(10),''SALDO_INIC''), ULTIMA_ENTRADA = ULTIMA_ENTRADA, ULTIMA_SAIDA = ULTIMA_SAIDA, DATA_ULT_CUSTO = DATA_ULT_CUSTO, CUSTO_MEDIO1_INIC= CUSTO_MEDIO1, CUSTO_MEDIO2_INIC= CUSTO_MEDIO2, CUSTO_MEDIO3_INIC= CUSTO_MEDIO3, CUSTO_MEDIO4_INIC= CUSTO_MEDIO4, TOTAL_CUSTO1 = CONVERT(NUMERIC(14,2), CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN S1*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN S2*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN S3*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN S4*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN S5*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN S6*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN S7*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN S8*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN S9*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN S10*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN S11*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN S12*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN S13*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN S14*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN S15*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN S16*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN S17*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN S18*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN S19*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN S20*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN S21*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN S22*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN S23*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN S24*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN S25*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN S26*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN S27*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN S28*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN S29*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN S30*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN S31*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN S32*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN S33*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN S34*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN S35*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN S36*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN S37*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN S38*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN S39*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN S40*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN S41*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN S42*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN S43*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN S44*CUSTO_MEDIO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN S45*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN S46*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN S47*CUSTO_MEDIO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN S48*CUSTO_MEDIO1 ELSE 0 END), TOTAL_CUSTO2 = CONVERT(NUMERIC(14,2), CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN S1*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN S2*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN S3*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN S4*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN S5*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN S6*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN S7*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN S8*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN S9*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN S10*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN S11*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN S12*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN S13*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN S14*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN S15*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN S16*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN S17*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN S18*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN S19*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN S20*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN S21*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN S22*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN S23*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN S24*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN S25*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN S26*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN S27*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN S28*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN S29*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN S30*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN S31*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN S32*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN S33*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN S34*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN S35*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN S36*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN S37*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN S38*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN S39*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN S40*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN S41*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN S42*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN S43*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN S44*CUSTO_MEDIO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN S45*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN S46*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN S47*CUSTO_MEDIO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN S48*CUSTO_MEDIO2 ELSE 0 END), TOTAL_CUSTO3 = CONVERT(NUMERIC(14,2), CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN S1*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN S2*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN S3*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN S4*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN S5*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN S6*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN S7*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN S8*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN S9*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN S10*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN S11*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN S12*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN S13*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN S14*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN S15*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN S16*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN S17*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN S18*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN S19*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN S20*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN S21*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN S22*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN S23*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN S24*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN S25*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN S26*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN S27*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN S28*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN S29*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN S30*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN S31*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN S32*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN S33*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN S34*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN S35*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN S36*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN S37*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN S38*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN S39*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN S40*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN S41*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN S42*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN S43*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN S44*CUSTO_MEDIO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN S45*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN S46*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN S47*CUSTO_MEDIO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN S48*CUSTO_MEDIO3 ELSE 0 END), TOTAL_CUSTO4 = CONVERT(NUMERIC(14,2), CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN S1*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN S2*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN S3*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN S4*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN S5*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN S6*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN S7*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN S8*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN S9*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN S10*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN S11*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN S12*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN S13*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN S14*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN S15*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN S16*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN S17*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN S18*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN S19*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN S20*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN S21*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN S22*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN S23*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN S24*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN S25*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN S26*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN S27*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN S28*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN S29*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN S30*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN S31*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN S32*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN S33*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN S34*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN S35*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN S36*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN S37*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN S38*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN S39*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN S40*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN S41*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN S42*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN S43*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN S44*CUSTO_MEDIO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN S45*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN S46*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN S47*CUSTO_MEDIO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN S48*CUSTO_MEDIO4 ELSE 0 END), TOTAL_QTDE1 = CONVERT(INT,CASE WHEN CUSTO_MEDIO1 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN S1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN S2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN S3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN S4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN S5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN S6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN S7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN S8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN S9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN S10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN S11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN S12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN S13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN S14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN S15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN S16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN S17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN S18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN S19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN S20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN S21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN S22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN S23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN S24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN S25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN S26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN S27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN S28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN S29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN S30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN S31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN S32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN S33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN S34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN S35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN S36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN S37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN S38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN S39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN S40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN S41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN S42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN S43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN S44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN S45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN S46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN S47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN S48 ELSE 0 END ELSE 0 END), TOTAL_QTDE2 = CONVERT(INT,CASE WHEN CUSTO_MEDIO2 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN S1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN S2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN S3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN S4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN S5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN S6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN S7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN S8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN S9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN S10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN S11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN S12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN S13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN S14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN S15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN S16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN S17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN S18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN S19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN S20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN S21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN S22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN S23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN S24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN S25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN S26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN S27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN S28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN S29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN S30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN S31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN S32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN S33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN S34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN S35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN S36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN S37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN S38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN S39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN S40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN S41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN S42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN S43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN S44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN S45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN S46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN S47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN S48 ELSE 0 END ELSE 0 END), TOTAL_QTDE3 = CONVERT(INT,CASE WHEN CUSTO_MEDIO3 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN S1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN S2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN S3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN S4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN S5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN S6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN S7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN S8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN S9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN S10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN S11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN S12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN S13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN S14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN S15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN S16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN S17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN S18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN S19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN S20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN S21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN S22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN S23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN S24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN S25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN S26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN S27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN S28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN S29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN S30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN S31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN S32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN S33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN S34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN S35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN S36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN S37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN S38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN S39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN S40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN S41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN S42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN S43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN S44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN S45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN S46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN S47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN S48 ELSE 0 END ELSE 0 END), TOTAL_QTDE4 = CONVERT(INT,CASE WHEN CUSTO_MEDIO4 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN S1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN S2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN S3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN S4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN S5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN S6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN S7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN S8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN S9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN S10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN S11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN S12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN S13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN S14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN S15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN S16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN S17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN S18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN S19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN S20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN S21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN S22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN S23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN S24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN S25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN S26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN S27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN S28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN S29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN S30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN S31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN S32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN S33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN S34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN S35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN S36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN S37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN S38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN S39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN S40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN S41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN S42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN S43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN S44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN S45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN S46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN S47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN S48 ELSE 0 END ELSE 0 END), Q1=S1,Q2=S2,Q3=S3,Q4=S4,Q5=S5,Q6=S6,Q7=S7,Q8=S8,Q9=S9,Q10=S10,Q11=S11,Q12=S12, Q13=S13,Q14=S14,Q15=S15,Q16=S16,Q17=S17,Q18=S18,Q19=S19,Q20=S20,Q21=S21,Q22=S22,Q23=S23,Q24=S24, Q25=S25,Q26=S26,Q27=S27,Q28=S28,Q29=S29,Q30=S30,Q31=S31,Q32=S32,Q33=S33,Q34=S34,Q35=S35,Q36=S36, Q37=S37,Q38=S38,Q39=S39,Q40=S40,Q41=S41,Q42=S42,Q43=S43,Q44=S44,Q45=S45,Q46=S46,Q47=S47,Q48=S48 FROM ESTOQUE_PRODUTOS_HISTORICO A JOIN PRODUTOS P ON P.PRODUTO=A.PRODUTO WHERE A.FILIAL= @cFILIAL AND A.DATA_SALDO=@ULTIMO_SALDO UNION ALL SELECT FILIAL = B.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.TOTAL_ENTRADAS), TIPO = CONVERT(CHAR(10),''ENTRADAS''), ULTIMA_ENTRADA = MAX(RECEBIMENTO), ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO = MAX(CASE WHEN CUSTO1<>0 AND CUSTO2<>0 AND CUSTO3<>0 AND CUSTO4<>0 THEN NULL ELSE RECEBIMENTO END), CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN EN2*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN EN3*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN EN4*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN EN6*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN EN7*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN EN8*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48*CUSTO1 ELSE 0 END)), TOTAL_CUSTO2 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN EN1*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN EN2*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN EN3*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN EN4*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN EN5*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN EN6*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN EN7*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN EN8*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN EN9*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48*CUSTO2 ELSE 0 END)), TOTAL_CUSTO3 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN EN1*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN EN2*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN EN3*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN EN5*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN EN6*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN EN7*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN EN9*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48*CUSTO3 ELSE 0 END)), TOTAL_CUSTO4 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN EN1*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN EN2*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN EN3*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN EN4*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN EN5*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN EN6*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN EN7*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN EN8*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN EN9*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48*CUSTO4 ELSE 0 END)), TOTAL_QTDE1 = CONVERT(INT,SUM(CASE WHEN CUSTO1 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE2 = CONVERT(INT,SUM(CASE WHEN CUSTO2 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE3 = CONVERT(INT,SUM(CASE WHEN CUSTO3 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE4 = CONVERT(INT,SUM(CASE WHEN CUSTO4 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48 ELSE 0 END ELSE 0 END)), Q1=SUM(EN1),Q2=SUM(EN2),Q3=SUM(EN3),Q4=SUM(EN4),Q5=SUM(EN5),Q6=SUM(EN6),Q7=SUM(EN7),Q8=SUM(EN8),Q9=SUM(EN9),Q10=SUM(EN10),Q11=SUM(EN11),Q12=SUM(EN12), Q13=SUM(EN13),Q14=SUM(EN14),Q15=SUM(EN15),Q16=SUM(EN16),Q17=SUM(EN17),Q18=SUM(EN18),Q19=SUM(EN19),Q20=SUM(EN20),Q21=SUM(EN21),Q22=SUM(EN22),Q23=SUM(EN23),Q24=SUM(EN24), Q25=SUM(EN25),Q26=SUM(EN26),Q27=SUM(EN27),Q28=SUM(EN28),Q29=SUM(EN29),Q30=SUM(EN30),Q31=SUM(EN31),Q32=SUM(EN32),Q33=SUM(EN33),Q34=SUM(EN34),Q35=SUM(EN35),Q36=SUM(EN36), Q37=SUM(EN37),Q38=SUM(EN38),Q39=SUM(EN39),Q40=SUM(EN40),Q41=SUM(EN41),Q42=SUM(EN42),Q43=SUM(EN43),Q44=SUM(EN44),Q45=SUM(EN45),Q46=SUM(EN46),Q47=SUM(EN47),Q48=SUM(EN48) FROM ENTRADAS_PRODUTO A JOIN ENTRADAS B ON A.NF_ENTRADA=B.NF_ENTRADA AND A.NOME_CLIFOR=B.NOME_CLIFOR JOIN PRODUTOS P ON P.PRODUTO=A.PRODUTO WHERE B.FILIAL= @cFILIAL AND B.RECEBIMENTO>@ULTIMO_SALDO AND B.RECEBIMENTO<=@SALDO GROUP BY B.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE), TIPO = CONVERT(CHAR(10),''ENT_DEVOL''), ULTIMA_ENTRADA = MAX(EMISSAO), ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, SUM(F1),SUM(F2),SUM(F3),SUM(F4),SUM(F5),SUM(F6),SUM(F7),SUM(F8),SUM(F9),SUM(F10),SUM(F11),SUM(F12), SUM(F13),SUM(F14),SUM(F15),SUM(F16),SUM(F17),SUM(F18),SUM(F19),SUM(F20),SUM(F21),SUM(F22),SUM(F23),SUM(F24), SUM(F25),SUM(F26),SUM(F27),SUM(F28),SUM(F29),SUM(F30),SUM(F31),SUM(F32),SUM(F33),SUM(F34),SUM(F35),SUM(F36), SUM(F37),SUM(F38),SUM(F39),SUM(F40),SUM(F41),SUM(F42),SUM(F43),SUM(F44),SUM(F45),SUM(F46),SUM(F47),SUM(F48) FROM ENTRADAS_PRO_DEVOL A JOIN ENTRADAS B ON A.Nome_Clifor = B.Nome_Clifor AND A.NF_Entrada = B.NF_Entrada WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE), TIPO = CONVERT(CHAR(10),''PROD1_ENT''), ULTIMA_ENTRADA = MAX(EMISSAO), ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, SUM(EN_1),SUM(EN_2),SUM(EN_3),SUM(EN_4),SUM(EN_5),SUM(EN_6),SUM(EN_7),SUM(EN_8),SUM(EN_9),SUM(EN_10),SUM(EN_11),SUM(EN_12), SUM(EN_13),SUM(EN_14),SUM(EN_15),SUM(EN_16),SUM(EN_17),SUM(EN_18),SUM(EN_19),SUM(EN_20),SUM(EN_21),SUM(EN_22),SUM(EN_23),SUM(EN_24), SUM(EN_25),SUM(EN_26),SUM(EN_27),SUM(EN_28),SUM(EN_29),SUM(EN_30),SUM(EN_31),SUM(EN_32),SUM(EN_33),SUM(EN_34),SUM(EN_35),SUM(EN_36), SUM(EN_37),SUM(EN_38),SUM(EN_39),SUM(EN_40),SUM(EN_41),SUM(EN_42),SUM(EN_43),SUM(EN_44),SUM(EN_45),SUM(EN_46),SUM(EN_47),SUM(EN_48) FROM ESTOQUE_PROD1_ENT A JOIN ESTOQUE_PROD_ENT B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE)*-1, TIPO = CONVERT(CHAR(10),''PROD1_SAI''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = MAX(EMISSAO), DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, -SUM(SA_1),-SUM(SA_2),-SUM(SA_3),-SUM(SA_4),-SUM(SA_5),-SUM(SA_6),-SUM(SA_7),-SUM(SA_8),-SUM(SA_9),-SUM(SA_10),-SUM(SA_11),-SUM(SA_12), -SUM(SA_13),-SUM(SA_14),-SUM(SA_15),-SUM(SA_16),-SUM(SA_17),-SUM(SA_18),-SUM(SA_19),-SUM(SA_20),-SUM(SA_21),-SUM(SA_22),-SUM(SA_23),-SUM(SA_24), -SUM(SA_25),-SUM(SA_26),-SUM(SA_27),-SUM(SA_28),-SUM(SA_29),-SUM(SA_30),-SUM(SA_31),-SUM(SA_32),-SUM(SA_33),-SUM(SA_34),-SUM(SA_35),-SUM(SA_36), -SUM(SA_37),-SUM(SA_38),-SUM(SA_39),-SUM(SA_40),-SUM(SA_41),-SUM(SA_42),-SUM(SA_43),-SUM(SA_44),-SUM(SA_45),-SUM(SA_46),-SUM(SA_47),-SUM(SA_48) FROM ESTOQUE_PROD1_SAI A JOIN ESTOQUE_PROD_SAI B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE)*-1, TIPO = CONVERT(CHAR(10),''FATURA''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = MAX(EMISSAO), DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, -SUM(F1),-SUM(F2),-SUM(F3),-SUM(F4),-SUM(F5),-SUM(F6),-SUM(F7),-SUM(F8),-SUM(F9),-SUM(F10),-SUM(F11),-SUM(F12), -SUM(F13),-SUM(F14),-SUM(F15),-SUM(F16),-SUM(F17),-SUM(F18),-SUM(F19),-SUM(F20),-SUM(F21),-SUM(F22),-SUM(F23),-SUM(F24), -SUM(F25),-SUM(F26),-SUM(F27),-SUM(F28),-SUM(F29),-SUM(F30),-SUM(F31),-SUM(F32),-SUM(F33),-SUM(F34),-SUM(F35),-SUM(F36), -SUM(F37),-SUM(F38),-SUM(F39),-SUM(F40),-SUM(F41),-SUM(F42),-SUM(F43),-SUM(F44),-SUM(F45),-SUM(F46),-SUM(F47),-SUM(F48) FROM FATURAMENTO_PROD A JOIN FATURAMENTO B ON A.FILIAL=B.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE)*-1, TIPO = CONVERT(CHAR(10),''FAT_DEVOL''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = MAX(EMISSAO), DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, -SUM(F1),-SUM(F2),-SUM(F3),-SUM(F4),-SUM(F5),-SUM(F6),-SUM(F7),-SUM(F8),-SUM(F9),-SUM(F10),-SUM(F11),-SUM(F12), -SUM(F13),-SUM(F14),-SUM(F15),-SUM(F16),-SUM(F17),-SUM(F18),-SUM(F19),-SUM(F20),-SUM(F21),-SUM(F22),-SUM(F23),-SUM(F24), -SUM(F25),-SUM(F26),-SUM(F27),-SUM(F28),-SUM(F29),-SUM(F30),-SUM(F31),-SUM(F32),-SUM(F33),-SUM(F34),-SUM(F35),-SUM(F36), -SUM(F37),-SUM(F38),-SUM(F39),-SUM(F40),-SUM(F41),-SUM(F42),-SUM(F43),-SUM(F44),-SUM(F45),-SUM(F46),-SUM(F47),-SUM(F48) FROM FATURAM_DEV_PROD A JOIN FATURAMENTO B ON A.FILIAL=B.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = B.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE_AJUSTE), TIPO = CONVERT(CHAR(10),''AJUSTE''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, SUM(A1),SUM(A2),SUM(A3),SUM(A4),SUM(A5),SUM(A6),SUM(A7),SUM(A8),SUM(A9),SUM(A10),SUM(A11),SUM(A12), SUM(A13),SUM(A14),SUM(A15),SUM(A16),SUM(A17),SUM(A18),SUM(A19),SUM(A20),SUM(A21),SUM(A22),SUM(A23),SUM(A24), SUM(A25),SUM(A26),SUM(A27),SUM(A28),SUM(A29),SUM(A30),SUM(A31),SUM(A32),SUM(A33),SUM(A34),SUM(A35),SUM(A36), SUM(A37),SUM(A38),SUM(A39),SUM(A40),SUM(A41),SUM(A42),SUM(A43),SUM(A44),SUM(A45),SUM(A46),SUM(A47),SUM(A48) FROM ESTOQUE_PROD_CTG_AJUSTE A JOIN ESTOQUE_PROD_CONTAGEM B ON A.NOME_CONTAGEM=B.NOME_CONTAGEM WHERE B.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY B.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE_ENTRADA), TIPO = CONVERT(CHAR(10),''LJ_ENTRADA''), ULTIMA_ENTRADA = MAX(EMISSAO), ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO = MAX(CASE WHEN PRECO1<>0 AND PRECO2<>0 AND PRECO3<>0 AND PRECO4<>0 THEN NULL ELSE EMISSAO END), CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN EN2*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN EN3*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN EN4*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN EN6*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN EN7*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN EN8*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44*PRECO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47*PRECO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48*PRECO1 ELSE 0 END)), TOTAL_CUSTO2 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN EN1*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN EN2*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN EN3*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN EN4*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN EN5*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN EN6*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN EN7*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN EN8*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN EN9*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44*PRECO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47*PRECO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48*PRECO2 ELSE 0 END)), TOTAL_CUSTO3 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN EN1*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN EN2*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN EN3*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN EN5*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN EN6*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN EN7*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN EN9*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44*PRECO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47*PRECO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48*PRECO3 ELSE 0 END)), TOTAL_CUSTO4 = CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN EN1*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN EN2*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN EN3*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN EN4*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN EN5*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN EN6*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN EN7*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN EN8*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN EN9*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44*PRECO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47*PRECO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48*PRECO4 ELSE 0 END)), TOTAL_QTDE1 = CONVERT(INT,SUM(CASE WHEN PRECO1 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE2 = CONVERT(INT,SUM(CASE WHEN PRECO2 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE3 = CONVERT(INT,SUM(CASE WHEN PRECO3 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48 ELSE 0 END ELSE 0 END)), TOTAL_QTDE4 = CONVERT(INT,SUM(CASE WHEN PRECO4 <> 0 THEN CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48 ELSE 0 END ELSE 0 END)), SUM(EN1),SUM(EN2),SUM(EN3),SUM(EN4),SUM(EN5),SUM(EN6),SUM(EN7),SUM(EN8),SUM(EN9),SUM(EN10),SUM(EN11),SUM(EN12), SUM(EN13),SUM(EN14),SUM(EN15),SUM(EN16),SUM(EN17),SUM(EN18),SUM(EN19),SUM(EN20),SUM(EN21),SUM(EN22),SUM(EN23),SUM(EN24), SUM(EN25),SUM(EN26),SUM(EN27),SUM(EN28),SUM(EN29),SUM(EN30),SUM(EN31),SUM(EN32),SUM(EN33),SUM(EN34),SUM(EN35),SUM(EN36), SUM(EN37),SUM(EN38),SUM(EN39),SUM(EN40),SUM(EN41),SUM(EN42),SUM(EN43),SUM(EN44),SUM(EN45),SUM(EN46),SUM(EN47),SUM(EN48) FROM LOJA_ENTRADAS_PRODUTO A JOIN LOJA_ENTRADAS B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL JOIN PRODUTOS P ON P.PRODUTO=A.PRODUTO WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = A.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE_SAIDA)*-1, TIPO = CONVERT(CHAR(10),''LJ_SAIDA''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = MAX(EMISSAO), DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, -SUM(EN1),-SUM(EN2),-SUM(EN3),-SUM(EN4),-SUM(EN5),-SUM(EN6),-SUM(EN7),-SUM(EN8),-SUM(EN9),-SUM(EN10),-SUM(EN11),-SUM(EN12), -SUM(EN13),-SUM(EN14),-SUM(EN15),-SUM(EN16),-SUM(EN17),-SUM(EN18),-SUM(EN19),-SUM(EN20),-SUM(EN21),-SUM(EN22),-SUM(EN23),-SUM(EN24), -SUM(EN25),-SUM(EN26),-SUM(EN27),-SUM(EN28),-SUM(EN29),-SUM(EN30),-SUM(EN31),-SUM(EN32),-SUM(EN33),-SUM(EN34),-SUM(EN35),-SUM(EN36), -SUM(EN37),-SUM(EN38),-SUM(EN39),-SUM(EN40),-SUM(EN41),-SUM(EN42),-SUM(EN43),-SUM(EN44),-SUM(EN45),-SUM(EN46),-SUM(EN47),-SUM(EN48) FROM LOJA_SAIDAS_PRODUTO A JOIN LOJA_SAIDAS B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL WHERE A.FILIAL= @cFILIAL AND B.EMISSAO>@ULTIMO_SALDO AND B.EMISSAO<=@SALDO GROUP BY A.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = B.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE)*-1, TIPO = CONVERT(CHAR(10),''LJ_VENDA''), ULTIMA_ENTRADA = NULL, ULTIMA_SAIDA = MAX(DATA_VENDA), DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END)*-1, SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END)*-1,SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END)*-1 FROM LOJA_VENDA_PRODUTO A JOIN LOJAS_VAREJO B ON A.CODIGO_FILIAL=B.CODIGO_FILIAL WHERE B.FILIAL= @cFILIAL AND A.DATA_VENDA>@ULTIMO_SALDO AND A.DATA_VENDA<=@SALDO AND (QTDE_CANCELADA IS NULL OR QTDE_CANCELADA=0) GROUP BY B.FILIAL,A.PRODUTO,COR_PRODUTO UNION ALL SELECT FILIAL = B.FILIAL, PRODUTO = A.PRODUTO, COR_PRODUTO = A.COR_PRODUTO, QTDE = SUM(A.QTDE), TIPO = CONVERT(CHAR(10),''LJ_TROCA''), ULTIMA_ENTRADA = MAX(DATA_VENDA), ULTIMA_SAIDA = NULL, DATA_ULT_CUSTO=NULL, CUSTO_MEDIO1_INIC=0, CUSTO_MEDIO2_INIC=0,CUSTO_MEDIO3_INIC=0,CUSTO_MEDIO4_INIC=0, TOTAL_CUSTO1 = 0, TOTAL_CUSTO2 = 0, TOTAL_CUSTO3 = 0, TOTAL_CUSTO4 = 0, TOTAL_QTDE1 = 0, TOTAL_QTDE2 = 0, TOTAL_QTDE3 = 0, TOTAL_QTDE4 = 0, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END), SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END),SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) FROM LOJA_VENDA_TROCA A JOIN LOJAS_VAREJO B ON A.CODIGO_FILIAL=B.CODIGO_FILIAL WHERE B.FILIAL= @cFILIAL AND A.DATA_VENDA>@ULTIMO_SALDO AND A.DATA_VENDA<=@SALDO AND (QTDE_CANCELADA IS NULL OR QTDE_CANCELADA=0) GROUP BY B.FILIAL,A.PRODUTO,COR_PRODUTO ) ESTOQUE WHERE FILIAL=@cFILIAL GROUP BY FILIAL,PRODUTO,COR_PRODUTO FETCH NEXT FROM CUR_FILIAL INTO @cFilial END SET NOCOUNT OFF CLOSE CUR_FILIAL DEALLOCATE CUR_FILIAL RETURN ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_TRANSFERENCIA_AUTOMATICA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_TRANSFERENCIA_AUTOMATICA] -- VERSAO 1.5 @FILIAL VARCHAR(25), @ROMANEIO_PRODUTO CHAR(8),@FILIAL_DESTINO VARCHAR(25), @SERIE_NF CHAR(2) , @ORIGEM CHAR(1), @EXCLUSAO CHAR(1)=''N'' -- S SAIDA, F FATURAMENTO AS DECLARE @ENTRADA_CONFERIDA SMALLINT, @ROMANEIO_ENTRADA CHAR(8), @FILIAL_ENTRADA VARCHAR(25), @EMISSAO DATETIME, @xDataSaldo DATETIME SET NOCOUNT ON SELECT @ROMANEIO_ENTRADA = ROMANEIO_PRODUTO, @ENTRADA_CONFERIDA = ENTRADA_CONFERIDA, @FILIAL_ENTRADA = FILIAL, @EMISSAO = EMISSAO FROM LOJA_ENTRADAS WHERE FILIAL_ORIGEM=@FILIAL AND ROMANEIO_NF_SAIDA=@ROMANEIO_PRODUTO IF @@ROWCOUNT >1 BEGIN GOTO FIM END IF @ORIGEM = ''S'' AND NOT EXISTS(SELECT * FROM LOJA_SAIDAS WHERE ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO AND FILIAL=@FILIAL AND FILIAL_DESTINO=@FILIAL_DESTINO) GOTO FIM IF @ORIGEM = ''F'' AND NOT EXISTS(SELECT * FROM FATURAMENTO A JOIN FATURAMENTO_PROD B ON A.FILIAL=B.FILIAL AND A.NF_SAIDA=B.NF_SAIDA AND A.SERIE_NF=B.SERIE_NF WHERE A.NF_SAIDA=@ROMANEIO_PRODUTO AND A.FILIAL=@FILIAL AND A.SERIE_NF=@SERIE_NF AND A.NOME_CLIFOR=@FILIAL_DESTINO) GOTO FIM SELECT @xDataSaldo=''18000101'' SELECT @xDataSaldo=ISNULL(CONVERT(DATETIME,VALOR_ATUAL,103),''18000101'') FROM PARAMETROS WHERE PARAMETRO=''DATA_BLOQUEIO_MOV_PA'' IF @EMISSAO <= @xDataSaldo OR @ORIGEM NOT IN (''S'',''F'') BEGIN GOTO FIM END IF @ENTRADA_CONFERIDA=1 OR @FILIAL=@FILIAL_DESTINO OR NOT EXISTS(SELECT * FROM FILIAIS WHERE FILIAL=@FILIAL_DESTINO AND ISNULL(NAO_GERA_ENTRADA_LOJA_AUTO,0)=0) OR NOT EXISTS(SELECT * FROM LOJAS_VAREJO WHERE FILIAL=@FILIAL_DESTINO) BEGIN GOTO FIM END IF EXISTS(SELECT * FROM LOJA_ENTRADAS A JOIN LOJA_ENTRADAS_PRODUTO B ON A.FILIAL=B.FILIAL AND A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO JOIN ESTOQUE_PRODUTOS C ON C.FILIAL=B.FILIAL AND C.PRODUTO=B.PRODUTO AND C.COR_PRODUTO=B.COR_PRODUTO WHERE A.EMISSAO < C.DATA_AJUSTE AND A.FILIAL=@FILIAL_ENTRADA AND A.ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA) BEGIN GOTO FIM END IF @FILIAL_DESTINO<>@FILIAL_ENTRADA OR @EXCLUSAO=''S'' BEGIN DELETE FROM LOJA_ENTRADAS WHERE ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA AND FILIAL=@FILIAL_ENTRADA DELETE FROM LOJA_ENTRADAS_PRODUTO WHERE ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA AND FILIAL=@FILIAL_ENTRADA SELECT @ROMANEIO_ENTRADA = NULL IF @EXCLUSAO=''S'' GOTO FIM END IF @ROMANEIO_ENTRADA IS NULL BEGIN SELECT @ROMANEIO_ENTRADA=NULL WHILE EXISTS (SELECT * FROM LOJA_ENTRADAS WHERE ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA AND FILIAL=@FILIAL_DESTINO) OR @ROMANEIO_ENTRADA IS NULL SELECT @ROMANEIO_ENTRADA=''A''+RIGHT(''0''+RTRIM(CONVERT(CHAR(2),DATEPART(MONTH,CURRENT_TIMESTAMP))),2)+RIGHT(''000000''+CONVERT(VARChar(8),CEILING(RAND()*1000000)),5) IF @ORIGEM=''S'' BEGIN INSERT INTO LOJA_ENTRADAS (ROMANEIO_PRODUTO,FILIAL,CODIGO_TAB_PRECO,TIPO_ENTRADA_SAIDA,FILIAL_ORIGEM, NUMERO_NF_TRANSFERENCIA,ROMANEIO_NF_SAIDA,FORNECEDOR,RESPONSAVEL,EMISSAO, DATA_SAIDA,DESC_TIPO_ENTRADA_SAIDA,ENTRADA_CONFERIDA,ENTRADA_SEM_PRODUTOS, QTDE_TOTAL,VALOR_TOTAL,FATOR_PRECO,DATA_PARA_TRANSFERENCIA,STATUS_TRANSITO, QTDE_NAO_CONFERIDA,VALOR_NAO_CONFERIDO,ENTRADA_POR,CGC_FORNECEDOR, PEDIDO_STATUS_LOJA,DATA_BAIXA_PEDIDO) SELECT @ROMANEIO_ENTRADA,RTRIM(FILIAL_DESTINO),CODIGO_TAB_PRECO,TIPO_ENTRADA_SAIDA,RTRIM(FILIAL), NUMERO_NF_TRANSFERENCIA,ROMANEIO_PRODUTO,NULL,RESPONSAVEL,EMISSAO, EMISSAO,NULL,0,0, QTDE_TOTAL,VALOR_TOTAL,FATOR_PRECO,GETDATE(),0, 0,0,1,NULL,NULL,NULL FROM LOJA_SAIDAS WHERE ROMANEIO_PRODUTO=@ROMANEIO_PRODUTO AND FILIAL=@FILIAL END IF @ORIGEM=''F'' BEGIN INSERT INTO LOJA_ENTRADAS (ROMANEIO_PRODUTO,FILIAL,CODIGO_TAB_PRECO,TIPO_ENTRADA_SAIDA,FILIAL_ORIGEM, NUMERO_NF_TRANSFERENCIA,ROMANEIO_NF_SAIDA,FORNECEDOR,RESPONSAVEL,EMISSAO, DATA_SAIDA,DESC_TIPO_ENTRADA_SAIDA,ENTRADA_CONFERIDA,ENTRADA_SEM_PRODUTOS, QTDE_TOTAL,VALOR_TOTAL,FATOR_PRECO,DATA_PARA_TRANSFERENCIA,STATUS_TRANSITO, QTDE_NAO_CONFERIDA,VALOR_NAO_CONFERIDO,ENTRADA_POR,CGC_FORNECEDOR, PEDIDO_STATUS_LOJA,DATA_BAIXA_PEDIDO) SELECT @ROMANEIO_ENTRADA,RTRIM(NOME_CLIFOR),NULL,NULL,RTRIM(FILIAL), NF_SAIDA,NF_SAIDA,NULL,NULL,EMISSAO, EMISSAO,NULL,0,0, QTDE_TOTAL,VALOR_TOTAL,1,GETDATE(),0, 0,0,1,NULL,NULL,NULL FROM FATURAMENTO WHERE NF_SAIDA=@ROMANEIO_PRODUTO AND FILIAL=@FILIAL AND SERIE_NF=@SERIE_NF END END ELSE BEGIN IF @ORIGEM=''S'' BEGIN UPDATE A SET CODIGO_TAB_PRECO = B.CODIGO_TAB_PRECO, TIPO_ENTRADA_SAIDA = B.TIPO_ENTRADA_SAIDA, NUMERO_NF_TRANSFERENCIA = B.NUMERO_NF_TRANSFERENCIA, RESPONSAVEL = B.RESPONSAVEL, EMISSAO = B.EMISSAO, DATA_SAIDA = B.EMISSAO, ENTRADA_CONFERIDA = 0, QTDE_TOTAL = B.QTDE_TOTAL, VALOR_TOTAL = B.VALOR_TOTAL, FATOR_PRECO = B.FATOR_PRECO, DATA_PARA_TRANSFERENCIA = GETDATE(), STATUS_TRANSITO = 0, ENTRADA_POR = 1 FROM LOJA_ENTRADAS A JOIN LOJA_SAIDAS B ON A.FILIAL_ORIGEM=B.FILIAL AND A.ROMANEIO_NF_SAIDA=B.ROMANEIO_PRODUTO WHERE A.FILIAL=@FILIAL_DESTINO AND A.ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA END IF @ORIGEM=''F'' BEGIN UPDATE LOJA_ENTRADAS SET NUMERO_NF_TRANSFERENCIA = B.NF_SAIDA, EMISSAO = B.EMISSAO, DATA_SAIDA = B.EMISSAO, ENTRADA_CONFERIDA = 0, QTDE_TOTAL = B.QTDE_TOTAL, VALOR_TOTAL = B.VALOR_TOTAL, DATA_PARA_TRANSFERENCIA = GETDATE(), STATUS_TRANSITO = 0, ENTRADA_POR = 1 FROM LOJA_ENTRADAS A JOIN FATURAMENTO B ON A.FILIAL_ORIGEM=B.FILIAL AND A.ROMANEIO_NF_SAIDA=B.NF_SAIDA WHERE A.FILIAL=@FILIAL_DESTINO AND A.ROMANEIO_PRODUTO=@ROMANEIO_ENTRADA END END IF @ORIGEM=''S'' BEGIN UPDATE D SET QTDE_ENTRADA = A.QTDE_SAIDA, PRECO1 = A.PRECO1, PRECO2 = A.PRECO2, PRECO3 = A.PRECO3, PRECO4 = A.PRECO4, VALOR = A.VALOR, EN1=A.EN1,EN2=A.EN2,EN3=A.EN3,EN4=A.EN4,EN5=A.EN5,EN6=A.EN6,EN7=A.EN7,EN8=A.EN8,EN9=A.EN9,EN10=A.EN10, EN11=A.EN11,EN12=A.EN12,EN13=A.EN13,EN14=A.EN14,EN15=A.EN15,EN16=A.EN16,EN17=A.EN17,EN18=A.EN18, EN19=A.EN19,EN20=A.EN20,EN21=A.EN21,EN22=A.EN22,EN23=A.EN23,EN24=A.EN24,EN25=A.EN25,EN26=A.EN26, EN27=A.EN27,EN28=A.EN28,EN29=A.EN29,EN30=A.EN30,EN31=A.EN31,EN32=A.EN32,EN33=A.EN33,EN34=A.EN34, EN35=A.EN35,EN36=A.EN36,EN37=A.EN37,EN38=A.EN38,EN39=A.EN39,EN40=A.EN40,EN41=A.EN41,EN42=A.EN42, EN43=A.EN43,EN44=A.EN44,EN45=A.EN45,EN46=A.EN46,EN47=A.EN47,EN48=A.EN48, DATA_PARA_TRANSFERENCIA = GETDATE() FROM LOJA_SAIDAS_PRODUTO A JOIN LOJA_SAIDAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS C ON C.FILIAL_ORIGEM=B.FILIAL AND C.ROMANEIO_NF_SAIDA=B.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS_PRODUTO D ON D.FILIAL=C.FILIAL AND D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE A.FILIAL=@FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO INSERT INTO LOJA_ENTRADAS_PRODUTO (FILIAL,ROMANEIO_PRODUTO,PRODUTO,COR_PRODUTO,QTDE_ENTRADA,PRECO1,PRECO2,PRECO3,PRECO4, VALOR,EN1,EN2,EN3,EN4,EN5,EN6,EN7,EN8,EN9,EN10,EN11,EN12,EN13,EN14,EN15,EN16,EN17,EN18,EN19,EN20,EN21,EN22,EN23,EN24, EN25,EN26,EN27,EN28,EN29,EN30,EN31,EN32,EN33,EN34,EN35,EN36,EN37,EN38,EN39,EN40,EN41,EN42,EN43,EN44,EN45,EN46,EN47,EN48, DATA_PARA_TRANSFERENCIA) SELECT @FILIAL_DESTINO,@ROMANEIO_ENTRADA, A.PRODUTO,A.COR_PRODUTO,A.QTDE_SAIDA,A.PRECO1,A.PRECO2,A.PRECO3,A.PRECO4,A.VALOR, A.EN1,A.EN2,A.EN3,A.EN4,A.EN5,A.EN6,A.EN7,A.EN8,A.EN9,A.EN10,A.EN11,A.EN12, A.EN13,A.EN14,A.EN15,A.EN16,A.EN17,A.EN18,A.EN19,A.EN20,A.EN21,A.EN22,A.EN23,A.EN24, A.EN25,A.EN26,A.EN27,A.EN28,A.EN29,A.EN30,A.EN31,A.EN32,A.EN33,A.EN34,A.EN35,A.EN36, A.EN37,A.EN38,A.EN39,A.EN40,A.EN41,A.EN42,A.EN43,A.EN44,A.EN45,A.EN46,A.EN47,A.EN48, GETDATE() FROM LOJA_SAIDAS_PRODUTO A JOIN LOJA_SAIDAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO JOIN LOJA_ENTRADAS C ON C.FILIAL_ORIGEM=B.FILIAL AND C.ROMANEIO_NF_SAIDA=B.ROMANEIO_PRODUTO LEFT JOIN LOJA_ENTRADAS_PRODUTO D ON D.FILIAL=C.FILIAL AND D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE A.FILIAL=@FILIAL AND A.ROMANEIO_PRODUTO = @ROMANEIO_PRODUTO AND D.PRODUTO IS NULL DELETE A FROM LOJA_ENTRADAS_PRODUTO A JOIN LOJA_ENTRADAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO JOIN LOJA_SAIDAS C ON C.FILIAL=B.FILIAL_ORIGEM AND C.ROMANEIO_PRODUTO=B.ROMANEIO_NF_SAIDA LEFT JOIN LOJA_SAIDAS_PRODUTO D ON D.FILIAL=C.FILIAL AND D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE A.FILIAL=@FILIAL_DESTINO AND A.ROMANEIO_PRODUTO = @ROMANEIO_ENTRADA AND D.PRODUTO IS NULL END IF @ORIGEM=''F'' BEGIN UPDATE D SET QTDE_ENTRADA = A.QTDE, PRECO1 = A.PRECO1, PRECO2 = 0, PRECO3 = 0, PRECO4 = 0, VALOR = A.VALOR, EN1=A.EN1,EN2=A.EN2,EN3=A.EN3,EN4=A.EN4,EN5=A.EN5,EN6=A.EN6,EN7=A.EN7,EN8=A.EN8,EN9=A.EN9,EN10=A.EN10, EN11=A.EN11,EN12=A.EN12,EN13=A.EN13,EN14=A.EN14,EN15=A.EN15,EN16=A.EN16,EN17=A.EN17,EN18=A.EN18, EN19=A.EN19,EN20=A.EN20,EN21=A.EN21,EN22=A.EN22,EN23=A.EN23,EN24=A.EN24,EN25=A.EN25,EN26=A.EN26, EN27=A.EN27,EN28=A.EN28,EN29=A.EN29,EN30=A.EN30,EN31=A.EN31,EN32=A.EN32,EN33=A.EN33,EN34=A.EN34, EN35=A.EN35,EN36=A.EN36,EN37=A.EN37,EN38=A.EN38,EN39=A.EN39,EN40=A.EN40,EN41=A.EN41,EN42=A.EN42, EN43=A.EN43,EN44=A.EN44,EN45=A.EN45,EN46=A.EN46,EN47=A.EN47,EN48=A.EN48, DATA_PARA_TRANSFERENCIA = GETDATE() FROM ( SELECT FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(VALOR)/SUM(QTDE) AS PRECO1, SUM(VALOR) AS VALOR, SUM(F1) AS EN1,SUM(F2) AS EN2,SUM(F3) AS EN3,SUM(F4) AS EN4,SUM(F5) AS EN5,SUM(F6) AS EN6, SUM(F7) AS EN7,SUM(F8) AS EN8,SUM(F9) AS EN9,SUM(F10) AS EN10,SUM(F11) AS EN11,SUM(F12) AS EN12, SUM(F13) AS EN13,SUM(F14) AS EN14,SUM(F15) AS EN15,SUM(F16) AS EN16,SUM(F17) AS EN17,SUM(F18) AS EN18, SUM(F19) AS EN19,SUM(F20) AS EN20,SUM(F21) AS EN21,SUM(F22) AS EN22,SUM(F23) AS EN23,SUM(F24) AS EN24, SUM(F25) AS EN25,SUM(F26) AS EN26,SUM(F27) AS EN27,SUM(F28) AS EN28,SUM(F29) AS EN29,SUM(F30) AS EN30, SUM(F31) AS EN31,SUM(F32) AS EN32,SUM(F33) AS EN33,SUM(F34) AS EN34,SUM(F35) AS EN35,SUM(F36) AS EN36, SUM(F37) AS EN37,SUM(F38) AS EN38,SUM(F39) AS EN39,SUM(F40) AS EN40,SUM(F41) AS EN41,SUM(F42) AS EN42, SUM(F43) AS EN43,SUM(F44) AS EN44,SUM(F45) AS EN45,SUM(F46) AS EN46,SUM(F47) AS EN47,SUM(F48) AS EN48 FROM FATURAMENTO_PROD WHERE FILIAL=@FILIAL AND NF_SAIDA=@ROMANEIO_PRODUTO AND SERIE_NF=@SERIE_NF GROUP BY FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO) A JOIN FATURAMENTO B ON B.FILIAL=A.FILIAL AND B.NF_SAIDA=A.NF_SAIDA AND B.SERIE_NF=A.SERIE_NF JOIN LOJA_ENTRADAS C ON C.FILIAL_ORIGEM=B.FILIAL AND C.ROMANEIO_NF_SAIDA=B.NF_SAIDA JOIN LOJA_ENTRADAS_PRODUTO D ON D.FILIAL=C.FILIAL AND D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE B.FILIAL=@FILIAL AND B.NF_SAIDA=@ROMANEIO_PRODUTO AND B.SERIE_NF=@SERIE_NF INSERT INTO LOJA_ENTRADAS_PRODUTO (FILIAL,ROMANEIO_PRODUTO,PRODUTO,COR_PRODUTO,QTDE_ENTRADA,PRECO1,PRECO2,PRECO3,PRECO4, VALOR,EN1,EN2,EN3,EN4,EN5,EN6,EN7,EN8,EN9,EN10,EN11,EN12,EN13,EN14,EN15,EN16,EN17,EN18,EN19,EN20,EN21,EN22,EN23,EN24, EN25,EN26,EN27,EN28,EN29,EN30,EN31,EN32,EN33,EN34,EN35,EN36,EN37,EN38,EN39,EN40,EN41,EN42,EN43,EN44,EN45,EN46,EN47,EN48, DATA_PARA_TRANSFERENCIA) SELECT @FILIAL_DESTINO,@ROMANEIO_ENTRADA, A.PRODUTO,A.COR_PRODUTO,A.QTDE,A.PRECO1,0,0,0,A.VALOR, A.EN1,A.EN2,A.EN3,A.EN4,A.EN5,A.EN6,A.EN7,A.EN8,A.EN9,A.EN10,A.EN11,A.EN12, A.EN13,A.EN14,A.EN15,A.EN16,A.EN17,A.EN18,A.EN19,A.EN20,A.EN21,A.EN22,A.EN23,A.EN24, A.EN25,A.EN26,A.EN27,A.EN28,A.EN29,A.EN30,A.EN31,A.EN32,A.EN33,A.EN34,A.EN35,A.EN36, A.EN37,A.EN38,A.EN39,A.EN40,A.EN41,A.EN42,A.EN43,A.EN44,A.EN45,A.EN46,A.EN47,A.EN48, GETDATE() FROM ( SELECT FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(VALOR)/SUM(QTDE) AS PRECO1, SUM(VALOR) AS VALOR, SUM(F1) AS EN1,SUM(F2) AS EN2,SUM(F3) AS EN3,SUM(F4) AS EN4,SUM(F5) AS EN5,SUM(F6) AS EN6, SUM(F7) AS EN7,SUM(F8) AS EN8,SUM(F9) AS EN9,SUM(F10) AS EN10,SUM(F11) AS EN11,SUM(F12) AS EN12, SUM(F13) AS EN13,SUM(F14) AS EN14,SUM(F15) AS EN15,SUM(F16) AS EN16,SUM(F17) AS EN17,SUM(F18) AS EN18, SUM(F19) AS EN19,SUM(F20) AS EN20,SUM(F21) AS EN21,SUM(F22) AS EN22,SUM(F23) AS EN23,SUM(F24) AS EN24, SUM(F25) AS EN25,SUM(F26) AS EN26,SUM(F27) AS EN27,SUM(F28) AS EN28,SUM(F29) AS EN29,SUM(F30) AS EN30, SUM(F31) AS EN31,SUM(F32) AS EN32,SUM(F33) AS EN33,SUM(F34) AS EN34,SUM(F35) AS EN35,SUM(F36) AS EN36, SUM(F37) AS EN37,SUM(F38) AS EN38,SUM(F39) AS EN39,SUM(F40) AS EN40,SUM(F41) AS EN41,SUM(F42) AS EN42, SUM(F43) AS EN43,SUM(F44) AS EN44,SUM(F45) AS EN45,SUM(F46) AS EN46,SUM(F47) AS EN47,SUM(F48) AS EN48 FROM FATURAMENTO_PROD WHERE FILIAL=@FILIAL AND NF_SAIDA=@ROMANEIO_PRODUTO AND SERIE_NF=@SERIE_NF GROUP BY FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO) A JOIN FATURAMENTO B ON B.FILIAL=A.FILIAL AND B.NF_SAIDA=A.NF_SAIDA AND B.SERIE_NF=A.SERIE_NF JOIN LOJA_ENTRADAS C ON C.FILIAL_ORIGEM=B.FILIAL AND C.ROMANEIO_NF_SAIDA=B.NF_SAIDA LEFT JOIN LOJA_ENTRADAS_PRODUTO D ON D.FILIAL=C.FILIAL AND D.ROMANEIO_PRODUTO=C.ROMANEIO_PRODUTO AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE B.FILIAL=@FILIAL AND B.NF_SAIDA=@ROMANEIO_PRODUTO AND B.SERIE_NF=@SERIE_NF AND D.PRODUTO IS NULL DELETE A FROM LOJA_ENTRADAS_PRODUTO A JOIN LOJA_ENTRADAS B ON B.FILIAL=A.FILIAL AND B.ROMANEIO_PRODUTO=A.ROMANEIO_PRODUTO JOIN FATURAMENTO C ON C.FILIAL=B.FILIAL_ORIGEM AND C.NF_SAIDA=B.ROMANEIO_NF_SAIDA LEFT JOIN ( SELECT FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(VALOR)/SUM(QTDE) AS PRECO1, SUM(VALOR) AS VALOR, SUM(F1) AS EN1,SUM(F2) AS EN2,SUM(F3) AS EN3,SUM(F4) AS EN4,SUM(F5) AS EN5,SUM(F6) AS EN6, SUM(F7) AS EN7,SUM(F8) AS EN8,SUM(F9) AS EN9,SUM(F10) AS EN10,SUM(F11) AS EN11,SUM(F12) AS EN12, SUM(F13) AS EN13,SUM(F14) AS EN14,SUM(F15) AS EN15,SUM(F16) AS EN16,SUM(F17) AS EN17,SUM(F18) AS EN18, SUM(F19) AS EN19,SUM(F20) AS EN20,SUM(F21) AS EN21,SUM(F22) AS EN22,SUM(F23) AS EN23,SUM(F24) AS EN24, SUM(F25) AS EN25,SUM(F26) AS EN26,SUM(F27) AS EN27,SUM(F28) AS EN28,SUM(F29) AS EN29,SUM(F30) AS EN30, SUM(F31) AS EN31,SUM(F32) AS EN32,SUM(F33) AS EN33,SUM(F34) AS EN34,SUM(F35) AS EN35,SUM(F36) AS EN36, SUM(F37) AS EN37,SUM(F38) AS EN38,SUM(F39) AS EN39,SUM(F40) AS EN40,SUM(F41) AS EN41,SUM(F42) AS EN42, SUM(F43) AS EN43,SUM(F44) AS EN44,SUM(F45) AS EN45,SUM(F46) AS EN46,SUM(F47) AS EN47,SUM(F48) AS EN48 FROM FATURAMENTO_PROD WHERE FILIAL=@FILIAL AND NF_SAIDA=@ROMANEIO_PRODUTO AND SERIE_NF=@SERIE_NF GROUP BY FILIAL,NF_SAIDA,SERIE_NF,PRODUTO,COR_PRODUTO) D ON D.FILIAL=C.FILIAL AND D.NF_SAIDA=C.NF_SAIDA AND D.SERIE_NF=C.SERIE_NF AND D.PRODUTO=A.PRODUTO AND D.COR_PRODUTO=A.COR_PRODUTO WHERE C.FILIAL=@FILIAL AND C.NF_SAIDA=@ROMANEIO_PRODUTO AND C.SERIE_NF=@SERIE_NF AND D.PRODUTO IS NULL END FIM: SET NOCOUNT OFF RETURN' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_EM_TRANSITO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_EM_TRANSITO] AS SELECT B.FILIAL AS FILIAL,B.PRODUTO AS PRODUTO,B.COR_PRODUTO AS COR_PRODUTO,ISNULL(SUM(QTDE_ENTRADA),0) AS QTDE_TRANSITO , ISNULL(SUM(EN1),0) AS T1,ISNULL(SUM(EN2),0) AS T2,ISNULL(SUM(EN3),0) AS T3,ISNULL(SUM(EN4),0) AS T4, ISNULL(SUM(EN5),0) AS T5,ISNULL(SUM(EN6),0) AS T6,ISNULL(SUM(EN7),0) AS T7,ISNULL(SUM(EN8),0) AS T8, ISNULL(SUM(EN9),0) AS T9,ISNULL(SUM(EN10),0) AS T10,ISNULL(SUM(EN11),0) AS T11,ISNULL(SUM(EN12),0) AS T12, ISNULL(SUM(EN13),0) AS T13,ISNULL(SUM(EN14),0) AS T14,ISNULL(SUM(EN15),0) AS T15,ISNULL(SUM(EN16),0) AS T16, ISNULL(SUM(EN17),0) AS T17,ISNULL(SUM(EN18),0) AS T18,ISNULL(SUM(EN19),0) AS T19,ISNULL(SUM(EN20),0) AS T20, ISNULL(SUM(EN21),0) AS T21,ISNULL(SUM(EN22),0) AS T22,ISNULL(SUM(EN23),0) AS T23,ISNULL(SUM(EN24),0) AS T24, ISNULL(SUM(EN25),0) AS T25,ISNULL(SUM(EN26),0) AS T26,ISNULL(SUM(EN27),0) AS T27,ISNULL(SUM(EN28),0) AS T28, ISNULL(SUM(EN29),0) AS T29,ISNULL(SUM(EN30),0) AS T30,ISNULL(SUM(EN31),0) AS T31,ISNULL(SUM(EN32),0) AS T32, ISNULL(SUM(EN33),0) AS T33,ISNULL(SUM(EN34),0) AS T34,ISNULL(SUM(EN35),0) AS T35,ISNULL(SUM(EN36),0) AS T36, ISNULL(SUM(EN37),0) AS T37,ISNULL(SUM(EN38),0) AS T38,ISNULL(SUM(EN39),0) AS T39,ISNULL(SUM(EN40),0) AS T40, ISNULL(SUM(EN41),0) AS T41,ISNULL(SUM(EN42),0) AS T42,ISNULL(SUM(EN43),0) AS T43,ISNULL(SUM(EN44),0) AS T44, ISNULL(SUM(EN45),0) AS T45,ISNULL(SUM(EN46),0) AS T46,ISNULL(SUM(EN47),0) AS T47,ISNULL(SUM(EN48),0) AS T48 FROM LOJA_ENTRADAS A INNER JOIN LOJA_ENTRADAS_PRODUTO B ON A.ROMANEIO_PRODUTO=B.ROMANEIO_PRODUTO AND A.FILIAL=B.FILIAL WHERE ENTRADA_CONFERIDA=0 GROUP BY B.FILIAL,B.PRODUTO,B.COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_lojas_entradas_produto]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_lojas_entradas_produto] (FILIAL, PRODUTO, qtde_entrada, ultima_entrada) AS SELECT LOJA_ENTRADAS_PRODUTO.FILIAL, LOJA_ENTRADAS_PRODUTO.PRODUTO, sum(qtde_entrada), max(emissao) FROM LOJA_ENTRADAS_PRODUTO, LOJA_ENTRADAS WHERE loja_entradas_produto.romaneio_produto = loja_entradas.romaneio_produto AND loja_entradas_produto.filial = loja_entradas.filial AND emissao >= ''19980101 00:00:00.000'' AND emissao <= ''19980201 00:00:00.000'' GROUP BY loja_entradas_produto.filial, loja_entradas.filial, loja_entradas_produto.produto ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRICAT_EXPORTA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_PRICAT_EXPORTA] as select LEFT( ISNULL(e.codigo_barra,''n/a'')+ SPACE(17), 17 ) as CODEAN, SPACE(10) as CLAECOC, ''1 '' as TIPOLIN, SPACE(35) as CODINT, SPACE(35) as CODCLI, SPACE(2) as VPROM, ''CU '' as TIPOPROD, left( rtrim(desc_prod_nf), 35 ) as DESCRIP, e.GRADE as TALLA, e.COR_PRODUTO COLOR, left( d.GRIFFE, 13 ) as MARCA, SPACE(35) as NOMBRE, SPACE(35) as PLKUP, LEFT( RTRIM(e.produto) + SPACE(17), 17 )as MODELO, SPACE(17) as SERIE, SPACE(17) as DIBUJO, SPACE(17) as HORMA, SPACE(12) as FECINI, SPACE(12) as FECFIN, SPACE(3) as LENG, SPACE(15) as CNETO, SPACE(3) as UNETO, SPACE(15) as PBRUTO, SPACE(3) as UBRUTO, SPACE(15) as ALTURA, SPACE(3) as UALTURA, SPACE(15) as LONGITUD, SPACE(3) as ULONG, SPACE(15) as ANCHURA, SPACE(3) as UANCHURA, SPACE(3) as INSTMANI, SPACE(15) as NUMCAPAS, SPACE(15) as NUMUNID, SPACE(3) as INFDEVO, SPACE(3) as TIPOEMB, SPACE(17) as EANSUPOR, SPACE(17) as EANSUDE, SPACE(15) as CMINPED, ''ORU'' as UNIPED, SPACE(15) as PRECIO, SPACE(15) as BASEPRE, SPACE(3) as UNIPRE, SPACE(15) as PRENETES, SPACE(15) as PRENETEU, SPACE(15) as PREBRUES, round( ISNULL(c.preco1,0)/(1.16), 3 ) as PREBRUEU, SPACE(15) as PVPES, round( ISNULL(c.preco1,0), 3 ) as PVPEU, GETDATE() as FINIPRE, SPACE(94) as Blancos_1, RTRIM(ISNULL( f.desc_composicao, '''') ) as TEXTO1, E.PRODUTO, E.COR_PRODUTO, E.TAMANHO, A.CLIFOR, D.COLECAO, C.CODIGO_TAB_PRECO from cadastro_cli_for a left join clientes_atacado b on a.nome_clifor = b.cliente_atacado left join produtos_precos c on b.codigo_tab_preco = c.codigo_tab_preco left join produtos d on c.produto = d.produto left join produtos_barra e on c.produto = e.produto left join materiais_composicao f on d.composicao = f.composicao where d.varia_preco_cor = 0 /* and a.clifor = ''010001'' and d.colecao = ''032'' and b.codigo_tab_preco = ''00'' */ and d.inativo = 0 and d.tipo_status_produto = 3 and exists( select * from produtos_barra where produto = c.produto ) union all select LEFT( ISNULL(e.codigo_barra,''n/a'')+ SPACE(17), 17 ) as CODEAN, SPACE(10) as CLAECOC, ''1 '' as TIPOLIN, SPACE(35) as CODINT, SPACE(35) as CODCLI, SPACE(2) as VPROM, ''CU '' as TIPOPROD, left( rtrim(desc_prod_nf), 35 ) as DESCRIP, e.GRADE as TALLA, e.COR_PRODUTO COLOR, left( d.GRIFFE, 13 ) as MARCA, SPACE(35) as NOMBRE, SPACE(35) as PLKUP, LEFT( RTRIM(e.produto) + SPACE(17), 17 )as MODELO, SPACE(17) as SERIE, SPACE(17) as DIBUJO, SPACE(17) as HORMA, SPACE(12) as FECINI, SPACE(12) as FECFIN, SPACE(3) as LENG, SPACE(15) as CNETO, SPACE(3) as UNETO, SPACE(15) as PBRUTO, SPACE(3) as UBRUTO, SPACE(15) as ALTURA, SPACE(3) as UALTURA, SPACE(15) as LONGITUD, SPACE(3) as ULONG, SPACE(15) as ANCHURA, SPACE(3) as UANCHURA, SPACE(3) as INSTMANI, SPACE(15) as NUMCAPAS, SPACE(15) as NUMUNID, SPACE(3) as INFDEVO, SPACE(3) as TIPOEMB, SPACE(17) as EANSUPOR, SPACE(17) as EANSUDE, SPACE(15) as CMINPED, ''ORU'' as UNIPED, SPACE(15) as PRECIO, SPACE(15) as BASEPRE, SPACE(3) as UNIPRE, SPACE(15) as PRENETES, SPACE(15) as PRENETEU, SPACE(15) as PREBRUES, round( ISNULL(c.preco1,0)/(1.16), 3 ) as PREBRUEU, SPACE(15) as PVPES, round( ISNULL(c.preco1,0), 3 ) as PVPEU, GETDATE() as FINIPRE, SPACE(94) as Blancos_1, RTRIM(ISNULL( f.desc_composicao, '''') ) as TEXTO1, E.PRODUTO, E.COR_PRODUTO, E.TAMANHO, A.CLIFOR, D.COLECAO, C.CODIGO_TAB_PRECO from cadastro_cli_for a left join clientes_atacado b on a.nome_clifor = b.cliente_atacado left join produtos_preco_cor c on b.codigo_tab_preco = c.codigo_tab_preco left join produtos d on c.produto = d.produto left join produtos_barra e on c.produto = e.produto and c.cor_produto = e.cor_produto left join materiais_composicao f on d.composicao = f.composicao where d.varia_preco_cor = 1 /* and a.clifor = ''010001'' and d.colecao = ''032'' and b.codigo_tab_preco = ''00'' */ and d.inativo = 0 and d.varia_preco_cor = 1 and d.tipo_status_produto = 3 and exists( select * from produtos_barra where produto = c.produto ) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUTOS_PRECO_LOG]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUTOS_PRECO_LOG] AS SELECT Produtos_preco_log.CODIGO_TAB_PRECO, Tabelas_preco.TABELA, Produtos_preco_log.PRODUTO, convert(char(10),'''') AS cor_produto, Produtos_preco_log.PRECO1, Produtos_preco_log.PRECO2, Produtos_preco_log.PRECO3, Produtos_preco_log.PRECO4, Produtos_preco_log.DATA_DIGITACAO, Produtos_preco_log.DATA_ATIVACAO, Produtos_preco_log.PROCESSADO FROM dbo.PRODUTOS_PRECO_LOG Produtos_preco_log, dbo.TABELAS_PRECO Tabelas_preco WHERE Produtos_preco_log.CODIGO_TAB_PRECO = Tabelas_preco.CODIGO_TAB_PRECO union all SELECT Produtos_preco_cor_log.CODIGO_TAB_PRECO, Tabelas_preco.TABELA, Produtos_preco_cor_log.PRODUTO, Produtos_preco_cor_log.COR_PRODUTO, Produtos_preco_cor_log.PRECO1, Produtos_preco_cor_log.PRECO2, Produtos_preco_cor_log.PRECO3, Produtos_preco_cor_log.PRECO4, Produtos_preco_cor_log.DATA_DIGITACAO, Produtos_preco_cor_log.DATA_ATIVACAO, Produtos_preco_cor_log.PROCESSADO FROM dbo.PRODUTOS_PRECO_COR_LOG Produtos_preco_cor_log, dbo.TABELAS_PRECO Tabelas_preco WHERE Produtos_preco_cor_log.CODIGO_TAB_PRECO = Tabelas_preco.CODIGO_TAB_PRECO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_CONTROL_MAT_PRINCIPAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_CONTROL_MAT_PRINCIPAL] @IDOBJ INTEGER AS -- Declaraciones de Variables DECLARE @n_ErrNo INT, @n_ErrMsg VARCHAR(255), @n_IDVARCOLOR INTEGER, @n_Valor_Act INTEGER, @n_Lang_Id INTEGER, @n_Num_Comp INTEGER, @s_Num_Comp VARCHAR(50), @n_Valor_Act_2 INTEGER, @IDTEJIDO INTEGER, @n_TEJIDO_PRINC INTEGER, @n_COMP_TEJIDO INTEGER, @s_Param_Error1 VARCHAR(50), @s_Param_Error2 VARCHAR(50) -- Datos por defecto -- -- Identificador de idioma y nº de materiales para composición SET @n_Lang_Id = 1 SET @n_Num_Comp = 1 SET @s_Num_Comp = ''un'' -- Escribir aquí el literal del Nº anterior; para uso en msg de error. SET @n_ErrNo = 0 -- Carga del cursor de Variantes en la Selección Activa DECLARE VARIANTES_SELECCIONADAS CURSOR FOR SELECT DISTINCT IDVARCOLOR FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @IDOBJ ORDER BY IDVARCOLOR OPEN VARIANTES_SELECCIONADAS FETCH NEXT FROM VARIANTES_SELECCIONADAS INTO @n_IDVARCOLOR WHILE @@FETCH_STATUS = 0 BEGIN -- INICIO DE 1ª PARTE - TEJIDO_PRINCIPAL ------------------------------------------------------------- SELECT @n_Valor_Act = SUM( CONVERT( INTEGER, ISNULL(TEJIDO_PRINC,0) ) ) FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @n_IDVARCOLOR SELECT @n_Valor_Act_2 = SUM( CONVERT( INTEGER, ISNULL(COMP_TEJIDO,0) ) ) FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @n_IDVARCOLOR IF ( @n_Valor_Act = 0 ) -- No hay material principal BEGIN SET @n_ErrNo = 30005 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' END ELSE IF ( @n_Valor_Act > 1 ) -- Hay más de un material principal BEGIN SET @n_ErrNo = 30004 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' END ELSE IF ( @n_Valor_Act_2 = 0 ) -- No hay material para Composición BEGIN SET @n_ErrNo = 30006 SET @s_Param_Error1 = '''' SET @s_Param_Error2 = '''' END /* ELSE IF ( @n_Valor_Act_2 > @n_Num_Comp ) -- Hay más de los establecidos BEGIN SET @n_ErrNo = 30007 SET @s_Param_Error1 = RTRIM( LTRIM( @s_Num_Comp ) ) SET @s_Param_Error2 = '''' END */ -- FIN DE 1ª PARTE ----------------------------------------------------------------------------------- -- INICIO DE 2ª PARTE - TEJIDO_PRINCIPAL ------------------------------------------------------------- -- Sólo pasará por aquí <==> no hay errores anteriores ----------------------------------------------- IF ( @n_ErrNo = 0 ) BEGIN DECLARE LISTA_MATERIALES CURSOR FOR SELECT IDTEJIDO, TEJIDO_PRINC, COMP_TEJIDO FROM RCOMPVARCOLOR WHERE IDVARCOLOR = @IDOBJ ORDER BY ORDENPM OPEN LISTA_MATERIALES FETCH NEXT FROM LISTA_MATERIALES INTO @IDTEJIDO, @n_TEJIDO_PRINC, @n_COMP_TEJIDO WHILE @@FETCH_STATUS = 0 BEGIN IF ( CONVERT( INTEGER, @n_TEJIDO_PRINC ) + CONVERT( INTEGER, @n_COMP_TEJIDO ) <> 0 ) BEGIN IF ( SELECT CONVERT( INTEGER, USO_TEJIDOS ) FROM GF_MATERIAIS_GRU WHERE ID = ( SELECT GF_GRUPO FROM ETEJI WHERE ID = @IDTEJIDO ) ) = 0 BEGIN SET @n_ErrNo = 30008 SELECT @s_Param_Error1 = NOMBRE FROM ETEJI WHERE ID = @IDTEJIDO SELECT @s_Param_Error2 = '''' END END FETCH NEXT FROM LISTA_MATERIALES INTO @IDTEJIDO, @n_TEJIDO_PRINC, @n_COMP_TEJIDO END CLOSE LISTA_MATERIALES DEALLOCATE LISTA_MATERIALES END -- FIN DE 2ª PARTE - TEJIDO_PRINCIPAL ---------------------------------------------------------------- FETCH NEXT FROM VARIANTES_SELECCIONADAS INTO @n_IDVARCOLOR END CLOSE VARIANTES_SELECCIONADAS DEALLOCATE VARIANTES_SELECCIONADAS -- Lanzamiento del posible error IF ( @n_ErrNo <> 0 ) BEGIN EXEC GF_GET_MESSAGE @n_ErrNo, @s_Param_Error1, @s_Param_Error2, @n_Lang_Id, @sMessage = @n_ErrMsg OUTPUT RAISERROR @n_ErrNo @n_ErrMsg END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_REPRESENTANTES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_REPRESENTANTES] AS SELECT REPRESENTANTES.REPRESENTANTE, REPRESENTANTES.GERENTE, REPRESENTANTES.REGIAO, REPRESENTANTES.TIPO, REPRESENTANTES.COMISSAO, REPRESENTANTES.PORCENTAGEM_ACERTO, REPRESENTANTES.ACERTO_PGTO, REPRESENTANTES.INATIVO, REPRESENTANTES.MARGEM_NEGOCIACAO, REPRESENTANTES.DESCONTO_COMISSAO, REPRESENTANTES.CGC_CPF, REPRESENTANTES.CLIFOR, REPRESENTANTES.SEQUENCIAL, REPRESENTANTES.COMISSAO_GERENTE, REPRESENTANTES.IRRF, REPRESENTANTES.COD_REPRESENTANTE, REPRESENTANTES.DATA_PARA_TRANSFERENCIA, Cadastro_cli_for.RAZAO_SOCIAL, Cadastro_cli_for.ENTREGA_IE, Cadastro_cli_for.PJ_PF, Cadastro_cli_for.RG_IE, Cadastro_cli_for.CEP, Cadastro_cli_for.ENDERECO, Cadastro_cli_for.CIDADE, Cadastro_cli_for.UF, Cadastro_cli_for.TELEFONE1, Cadastro_cli_for.PAIS, Cadastro_cli_for.DDI, Cadastro_cli_for.TELEFONE2, Cadastro_cli_for.FAX, Cadastro_cli_for.DDD1, Cadastro_cli_for.RAMAL1, Cadastro_cli_for.RAMAL2, Cadastro_cli_for.DDD2, Cadastro_cli_for.COBRANCA_ENDERECO, Cadastro_cli_for.COBRANCA_CIDADE, Cadastro_cli_for.DDDFAX, Cadastro_cli_for.COBRANCA_UF, Cadastro_cli_for.COBRANCA_CEP, Cadastro_cli_for.COBRANCA_TELEFONE, Cadastro_cli_for.ENTREGA_ENDERECO, Cadastro_cli_for.ENTREGA_CIDADE, Cadastro_cli_for.ENTREGA_UF, Cadastro_cli_for.ENTREGA_CEP, Cadastro_cli_for.ENTREGA_TELEFONE, Cadastro_cli_for.COBRANCA_DDD, Cadastro_cli_for.CONTATO, Cadastro_cli_for.COBRANCA_CGC, Cadastro_cli_for.CADASTRAMENTO, Cadastro_cli_for.COBRANCA_IE, Cadastro_cli_for.ANIVERSARIO, Cadastro_cli_for.INDICA_FORNECEDOR, Cadastro_cli_for.INDICA_CLIENTE, Cadastro_cli_for.IND_REPRESENTANTE,Cadastro_cli_for.INDICA_FILIAL, Cadastro_cli_for.ENTREGA_DDD, Cadastro_cli_for.ENTREGA_CGC FROM DBO.REPRESENTANTES REPRESENTANTES, dbo.CADASTRO_CLI_FOR Cadastro_cli_for WHERE Cadastro_cli_for.NOME_CLIFOR = REPRESENTANTES.REPRESENTANTE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[cabecera_documento]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [cabecera_documento] @DataInicio datetime, @DataFin datetime as select cabecera = isnull((select convert(char(4),datepart(yyyy,emissao)) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor),'''')+'';''+ rtrim(convert(char(10),rtrim(left(b.natureza_saida,5))))+'';''+ ''C''+'';''+ -- isnull((select rtrim(clifor) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''')+'';''+ isnull((select rtrim(clifor) from clientes_atacado where cliente_atacado=b.nome_clifor),'''')+'';''+ ''0''+'';''+ -- rtrim('' '')+'';''+ --rtrim(b.FATURA)+'';''+ RTRIM(RIGHT (B.FATURA,9))+'';''+ isnull((select right(''0''+rtrim(convert(char(2),datepart(dd,emissao))),2) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)+''-''+ (select right(''0''+rtrim(convert(char(2),datepart(mm,emissao))),2) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)+''-''+ (select rtrim(convert(char(4),datepart(yyyy,emissao))) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor),'''')+'';''+ ''0''+'';''+ case when substring(b.condicao_pgto,1,1) = ''3'' then ''BB'' + rtrim(b.condicao_pgto) when substring(b.condicao_pgto,1,1) = ''2'' then ''RB'' + rtrim(b.condicao_pgto) when substring(b.condicao_pgto,1,1) = ''1'' then ''RD'' + rtrim(b.condicao_pgto) else ''RD---'' end +'';''+ ''0''+'';''+ isnull((select right(''0''+rtrim(convert(char(2),datepart(dd,emissao))),2) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)+''-''+ (select right(''0''+rtrim(convert(char(2),datepart(mm,emissao))),2) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)+''-''+ (select rtrim(convert(char(4),datepart(yyyy,emissao))) from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor),'''')+'';''+ isnull((select rtrim(banco) from a_receber_parcelas where fatura=b.fatura and nome_clifor=b.nome_clifor and parcela=''A''),'''')+'';''+ ''''+'';''+ isnull((select rtrim(substring(convert(char(255),obs_de_faturamento),1,10)) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''')+'';''+ isnull((select rtrim(substring(convert(char(255),obs_de_faturamento),12,10)) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''')+'';''+ isnull((select rtrim(substring(convert(char(255),obs_de_faturamento),23,5)) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''')+'';''+ ''N''+'';''+ ''N''+'';''+ ''I''+'';''+ rtrim(b.moeda)+'';''+ ''1''+'';''+ ''N''+'';''+ ''''+'';''+ ''0''+'';''+ -- rtrim(convert(char(9),convert(int,sum(b.valor_total))))+'',''+right(rtrim(convert(char(12),sum(b.valor_total))),2)+'';''+ // este es un valor con decimales rtrim(convert(char(19),convert(int,sum(b.valor_total)*100)))+'';''+ ''0''+'';''+ -- rtrim(convert(char(9),convert(int,sum(b.ipi_valor))))+'',''+right(rtrim(convert(char(12),sum(b.ipi_valor))),2)+'';''+ // este es un valor con decimales rtrim(convert(char(19),convert(int,sum(b.ipi_valor)*100)))+'',''+ ''0''+'';''+ ''0''+'';''+ ''''+'';''+ ''0''+'';''+ ''''+'';''+ ''0''+'';''+ ''0''+'';''+ ''0''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ ''0''+'';''+ ''0''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ ''0''+'';''+ ''0''+'';''+ ''0''+'';''+ ''N''+'';''+ ''0''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ ''''+'';''+ isnull((select rtrim(substring(convert(char(255),obs_de_faturamento),29,10)) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''')+'';''+ isnull((select rtrim(substring(convert(char(255),obs_de_faturamento),40,10)) from cadastro_cli_for where nome_clifor=b.nome_clifor),'''') from faturamento b where b.fatura is not null and (select emissao from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)>= @DataInicio --''01-01-2001'' and (select emissao from a_receber_fatura where fatura=b.fatura and nome_clifor=b.nome_clifor)<= @DataFin --''31-12-2002'' --and b.nome_clifor=''SPORTS WEAR'' group by b.nome_clifor,b.natureza_saida,b.condicao_pgto,b.moeda,b.fatura,b.representante,b.comissao order by b.fatura ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CLIENTES_ATACADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CLIENTES_ATACADO] AS SELECT Clientes_atacado.CLIENTE_ATACADO, Cadastro_cli_for.CLIFOR, Cadastro_cli_for.RAZAO_SOCIAL, Cadastro_cli_for.ENTREGA_IE, Cadastro_cli_for.CGC_CPF, Cadastro_cli_for.PJ_PF, Cadastro_cli_for.RG_IE, Cadastro_cli_for.CEP, Cadastro_cli_for.ENDERECO, Cadastro_cli_for.CIDADE, Cadastro_cli_for.UF, Cadastro_cli_for.TELEFONE1, Cadastro_cli_for.PAIS, Cadastro_cli_for.DDI, Cadastro_cli_for.TELEFONE2, Cadastro_cli_for.FAX, Cadastro_cli_for.DDD1, Cadastro_cli_for.RAMAL1, Cadastro_cli_for.RAMAL2, Cadastro_cli_for.DDD2, Cadastro_cli_for.COBRANCA_ENDERECO, Cadastro_cli_for.COBRANCA_CIDADE, Cadastro_cli_for.DDDFAX, Cadastro_cli_for.COBRANCA_UF, Cadastro_cli_for.COBRANCA_CEP, Cadastro_cli_for.COBRANCA_TELEFONE, Cadastro_cli_for.ENTREGA_ENDERECO, Cadastro_cli_for.ENTREGA_CIDADE, Cadastro_cli_for.ENTREGA_UF, Cadastro_cli_for.ENTREGA_CEP, Cadastro_cli_for.ENTREGA_TELEFONE, Cadastro_cli_for.COBRANCA_DDD, Cadastro_cli_for.CONTATO, Cadastro_cli_for.COBRANCA_CGC, Cadastro_cli_for.CADASTRAMENTO, Cadastro_cli_for.COBRANCA_IE, Cadastro_cli_for.ANIVERSARIO, Cadastro_cli_for.INDICA_FORNECEDOR, Cadastro_cli_for.INDICA_CLIENTE, Cadastro_cli_for.IND_REPRESENTANTE, Cadastro_cli_for.INDICA_FILIAL, Cadastro_cli_for.ENTREGA_DDD, Cadastro_cli_for.ENTREGA_CGC, Clientes_atacado.ACEITA_JUNTAR_PED, Clientes_atacado.TIPO_BLOQUEIO, Clientes_atacado.BLOQUEIO_FATURAMENTO, Clientes_atacado.BLOQUEIO_EXPEDICAO, Clientes_atacado.BLOQUEIO_PEDIDOS, Clientes_atacado.LIMITE_CREDITO, Clientes_atacado.SEM_CREDITO, Clientes_atacado.PRIORIDADE, Clientes_atacado.TIPO, Clientes_atacado.FRETE_A_PAGAR, Clientes_atacado.CONCEITO, Clientes_atacado.FILIAL, Clientes_atacado.TRANSPORTADORA, Clientes_atacado.PONTUALIDADE, Clientes_atacado.REGIAO, Clientes_atacado.MATRIZ_CLIENTE FROM CLIENTES_ATACADO Clientes_atacado, CADASTRO_CLI_FOR Cadastro_cli_for WHERE Cadastro_cli_for.NOME_CLIFOR = Clientes_atacado.CLIENTE_ATACADO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CLIENTES_VAREJO_ESTATISTICAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CLIENTES_VAREJO_ESTATISTICAS] AS SELECT A.CLIENTE_VAREJO, A.CODIGO_CLIENTE, SUM(CASE WHEN B.TICKET IS NULL THEN 0 ELSE 1 END) AS NUMERO_COMPRAS, MIN(DATA_VENDA) AS PRIMEIRA_COMPRA, MAX(DATA_VENDA) AS ULTIMA_COMPRA, CONVERT(NUMERIC(16,2),ISNULL(MIN(VALOR_TIKET),0)) AS MENOR_COMPRA, CONVERT(NUMERIC(16,2),ISNULL(MAX(VALOR_TIKET),0)) AS MAIOR_COMPRA, CONVERT(NUMERIC(16,2),ISNULL(AVG(VALOR_TIKET),0)) AS VALOR_MEDIO, CONVERT(NUMERIC(16,2),AVG(CASE WHEN QTDE_TOTAL > 0 THEN VALOR_VENDA_BRUTA/QTDE_TOTAL ELSE 0 END)) AS VALOR_MEDIO_PRODUTO, CONVERT(INT,ISNULL(SUM(QTDE_TOTAL-QTDE_TROCA_TOTAL),0)) AS QTDE_TOTAL_PRODUTOS, CONVERT(NUMERIC(16,2),ISNULL(SUM(VALOR_TIKET),0)) AS VALOR_TOTAL_COMPRA, CONVERT(NUMERIC(16,2),ISNULL(SUM(VALOR_VENDA_BRUTA),0)) AS VALOR_TOTAL_BRUTO, CONVERT(NUMERIC(16,2),ISNULL(SUM(VALOR_TROCA),0)) AS VALOR_TOTAL_TROCA, CONVERT(INT,ISNULL(SUM(QTDE_TROCA_TOTAL),0)) AS QTDE_TOTAL_TROCA, CONVERT(NUMERIC(16,2),ISNULL(SUM(VALOR_VENDA_BRUTA-VALOR_TIKET),0)) AS VALOR_TOTAL_DESCONTO, CONVERT(NUMERIC(16,2),ISNULL(AVG(VALOR_VENDA_BRUTA-VALOR_TIKET),0)) AS DESCONTO_MEDIO FROM CLIENTES_VAREJO A LEFT JOIN LOJA_VENDA B ON A.CODIGO_CLIENTE=B.CODIGO_CLIENTE GROUP BY A.CLIENTE_VAREJO,A.CODIGO_CLIENTE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_ACTUALIZA_IMAGENES_MATERIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_ACTUALIZA_IMAGENES_MATERIAL] @ID_MATERIAL INTEGER AS -- Procedimiento para copiar las imágenes del material que se pasa como parámetro de -- la clase Materiales con Colores y Tallas(ETEJI_RAIZIMG) en la clase Materias Primas(ETEJIIMG) -- Realizado por: Bernardo Castellanos -- Fecha: 17-05-02 DECLARE @n_CLASIF SMALLINT, @s_GF_MATERIAL VARCHAR(80), @n_PAGINA SMALLINT, @n_Contador SMALLINT, @n_IDVOL SMALLINT, @n_GF_COR_MATERIAL SMALLINT, @s_FICHERO VARCHAR(80), @n_ID_MATERIAL INTEGER, @s_IDDOC VARCHAR(80), @n_OFFSET SMALLINT, @n_IDIMG SMALLINT, @s_UNIDAD VARCHAR(8), @s_FILEPATH VARCHAR(255), @s_NOMVOL VARCHAR(80), @n_TRANSFER SMALLINT, @n_Num_Tallas SMALLINT, @s_Cod_Meds VARCHAR(255), @s_Cod_Med VARCHAR(25), @n_Cont_Tallas SMALLINT, @n_Pos SMALLINT, @s_Copia_Cod_Meds VARCHAR(255) BEGIN -- Buscamos todas las medidas en el detalle de medidas del material actual SELECT @n_Num_Tallas = 0 SELECT @s_Cod_Meds = '''' DECLARE LISTA_MEDIDAS CURSOR FOR SELECT GF_COD_MAT_TAM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @ID_MATERIAL ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @s_Cod_Med WHILE @@FETCH_STATUS=0 BEGIN -- En LINX los materiales están normalizados por color (tabla MATERIAIS_CORES) -- pero no están normalizados por medida, por lo que cada medida nueva supone -- crear un material nuevo en ETEJI (y en MATERIAIS) -- El código del material será en ETEJI: GF_COD_MAT_TAM (campo calculado con secuencial) -- Y su descripción: GF_DESC_MATERIAL (Valor_Medida) IF (@s_Cod_Meds != '''') BEGIN SELECT @s_Cod_Meds = @s_Cod_Meds + ''*'' END SELECT @s_Cod_Meds = @s_Cod_Meds + @s_Cod_Med SELECT @n_Num_Tallas = @n_Num_Tallas + 1 FETCH NEXT FROM LISTA_MEDIDAS INTO @s_Cod_Med END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS -- Se extrae la información de almacenamiento interno de imágenes SELECT @s_UNIDAD = UNIDAD, @s_NomVol = NOMVOL FROM VOLUMENES WHERE IDENT#=0 -- Identificamos el NOMBRE del material SELECT @s_GF_MATERIAL = GF_MATERIAL, @n_TRANSFER=TRANSFER FROM ETEJI_RAIZ WHERE ID = @ID_MATERIAL -- Utilizamos un contador para alinear n-esima imagen = n-esimo color SELECT @n_Contador = 1 -- Buscamos todas las imágenes de la clase Materiales con Colores y Tallas DECLARE LISTA_IMAGENES CURSOR FOR SELECT CLASIF,PAGINA,IDVOL,FICHERO,IDDOC,IDIMG,OFFSET,FILEPATH FROM ETEJI_RAIZIMG WHERE CARPETA# = @ID_MATERIAL ORDER BY IDIMG OPEN LISTA_IMAGENES FETCH NEXT FROM LISTA_IMAGENES INTO @n_CLASIF,@n_PAGINA,@n_IDVOL,@s_FICHERO,@s_IDDOC,@n_IDIMG,@n_OFFSET,@s_FILEPATH WHILE @@FETCH_STATUS=0 BEGIN -- Selección del color n-esimo SELECT @n_GF_COR_MATERIAL = GF_COR_MATERIAL FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @ID_MATERIAL AND ORDENPM=@n_Contador IF (@n_IDVOL != -1) -- Si la imagen es interna se construye el path a la imagen interna para apuntarla como externa en ETEJI BEGIN SELECT @s_FILEPATH = @s_UNIDAD + ''\'' + @s_NOMVOL + ''\ETEJI_RAIZ\'' + CONVERT(VARCHAR(5),@n_OFFSET) + ''\'' + @s_FICHERO END -- Se comprueba la existencia de imágenes asociadas al material-color (cada material-color sólo tiene 1 imagen!) IF EXISTS(SELECT * FROM ETEJIIMG WHERE CARPETA# IN (SELECT ID FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL)) BEGIN UPDATE ETEJIIMG SET FILEPATH = @s_FILEPATH WHERE CARPETA# IN (SELECT ID FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL) -- Traspaso a LINX IF (@n_TRANSFER>=50) BEGIN IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @n_Num_Tallas = 1 END SELECT @s_Copia_Cod_Meds = @s_Cod_Meds SELECT @n_Cont_Tallas = 1 WHILE (@n_Cont_Tallas <= @n_Num_Tallas) BEGIN -- Parsing de los códigos de Material y de los precios por talla IF (@n_Cont_Tallas < @n_Num_Tallas) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Med = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE BEGIN SELECT @s_Cod_Med = @s_Copia_Cod_Meds END UPDATE MATERIAIS_FOTO SET PATH_FOTO=@s_FILEPATH,LEGENDA_FOTO=(SELECT GF_COR FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_MATERIAL) WHERE NUMERO_FOTO=@n_Contador AND MATERIAL=@s_Cod_Med SELECT @n_Cont_Tallas = @n_Cont_Tallas + 1 END END END ELSE BEGIN -- Para cada material-talla se inserta la misma imagen fijando el color DECLARE LISTA_MATERIALES CURSOR FOR SELECT ID FROM ETEJI WHERE NOMBRE=@s_GF_MATERIAL AND GF_COR_MATERIAL=@n_GF_COR_MATERIAL OPEN LISTA_MATERIALES FETCH NEXT FROM LISTA_MATERIALES INTO @n_ID_MATERIAL WHILE @@FETCH_STATUS=0 BEGIN INSERT INTO ETEJIIMG(CARPETA#,CLASIF,PAGINA,IDVOL,FICHERO,IDDOC,IDIMG,FILEPATH) VALUES( @n_ID_MATERIAL,0,1,-1,'''',''VIEW'',1,@s_FILEPATH) --PRINT CONVERT(VARCHAR(10),@n_ID_MATERIAL) + '',0,1,-1,''+''''''''+''''''''+'',''+''''''''+''VIEW''+''''''''+'',1,''+@s_FILEPATH FETCH NEXT FROM LISTA_MATERIALES INTO @n_ID_MATERIAL END CLOSE LISTA_MATERIALES DEALLOCATE LISTA_MATERIALES -- Traspaso a LINX IF (@n_TRANSFER>=50) BEGIN IF (@n_Num_Tallas = 0) BEGIN SELECT @s_Cod_Meds = @s_GF_MATERIAL SELECT @n_Num_Tallas = 1 END SELECT @s_Copia_Cod_Meds = @s_Cod_Meds SELECT @n_Cont_Tallas = 1 WHILE (@n_Cont_Tallas <= @n_Num_Tallas) BEGIN -- Parsing de los códigos de Material y de los precios por talla IF (@n_Cont_Tallas < @n_Num_Tallas) BEGIN SELECT @n_Pos = PATINDEX(''%*%'',@s_Copia_Cod_Meds) SELECT @s_Cod_Med = SUBSTRING(@s_Copia_Cod_Meds,1,@n_Pos-1) SELECT @s_Copia_Cod_Meds = RIGHT(@s_Copia_Cod_Meds,LEN(@s_Copia_Cod_Meds)-@n_Pos) END ELSE BEGIN SELECT @s_Cod_Med = @s_Copia_Cod_Meds END INSERT INTO MATERIAIS_FOTO (NUMERO_FOTO,MATERIAL,LEGENDA_FOTO,PATH_FOTO) SELECT @n_Contador,@s_Cod_Med, GF_COR,@s_FILEPATH FROM GF_CORES_BASICAS WHERE ID=@n_GF_COR_MATERIAL SELECT @n_Cont_Tallas = @n_Cont_Tallas + 1 END END END SELECT @n_Contador = @n_Contador + 1 FETCH NEXT FROM LISTA_IMAGENES INTO @n_CLASIF,@n_PAGINA,@n_IDVOL,@s_FICHERO,@s_IDDOC,@n_IDIMG,@n_OFFSET,@s_FILEPATH END CLOSE LISTA_IMAGENES DEALLOCATE LISTA_IMAGENES END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIO_STOCK_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_INVENTARIO_STOCK_DESGLOSADO] AS SELECT ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.CENTRO, RDX_V_ULTIMO_INVENTARIO.FILIAL) as CENTRO, ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.CODIGO, RDX_V_ULTIMO_INVENTARIO.CODIGO) as CODIGO, ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.PRODUCTO, RDX_V_ULTIMO_INVENTARIO.PRODUCTO) as PRODUCTO, ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.COLOR, RDX_V_ULTIMO_INVENTARIO.COLOR) as COLOR, ISNULL(RDX_V_STOCK_CALCULADO_DESGLOSADO.TALLA, RDX_V_ULTIMO_INVENTARIO.TALLA) as TALLA, RDX_V_STOCK_CALCULADO_DESGLOSADO.TIPO_PRODUCTO, RDX_V_STOCK_CALCULADO_DESGLOSADO.GRUPO_PRODUCTO, RDX_V_STOCK_CALCULADO_DESGLOSADO.COLECCION, RDX_V_STOCK_CALCULADO_DESGLOSADO.CANTIDAD as CANTIDAD_STOCK, RDX_V_ULTIMO_INVENTARIO.CANTIDAD as CANTIDAD_INVENTARIO FROM RDX_V_ULTIMO_INVENTARIO FULL OUTER JOIN RDX_V_STOCK_CALCULADO_DESGLOSADO ON (RDX_V_ULTIMO_INVENTARIO.FILIAL = RDX_V_STOCK_CALCULADO_DESGLOSADO.CENTRO) AND (RDX_V_ULTIMO_INVENTARIO.CODIGO = RDX_V_STOCK_CALCULADO_DESGLOSADO.CODIGO) AND (RDX_V_ULTIMO_INVENTARIO.COLOR = RDX_V_STOCK_CALCULADO_DESGLOSADO.COLOR) AND (RDX_V_ULTIMO_INVENTARIO.TALLA = RDX_V_STOCK_CALCULADO_DESGLOSADO.TALLA) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[REPRESENTANTE_COMISSAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [REPRESENTANTE_COMISSAO] as select ''Comissao Faturamento '' as lancamento_tipo,REPRESENTANTE,FATURA,'' '' as parcela ,NOME_CLIFOR as cliente ,DOCUMENTO,TIPO,EMISSAO, emissao as vencimento, VALOR_FATURA as valor ,PORCENTAGEM_ACERTO, COMISSAO , convert(numeric(14,2),(PORCENTAGEM_ACERTO/100)* ((COMISSAO/100) * VALOR_FATURA) ) as valor_credito_comissao from a_receber_fatura where valor_fatura>0 and comissao>0 and PORCENTAGEM_ACERTO>0 and emissao>=''19991101'' and emissao<=''19991130'' union all select ''Comissao Faturamento Gerente'',gerente ,FATURA,'' '' as parcela,NOME_CLIFOR,DOCUMENTO,TIPO,EMISSAO, emissao as vencimento, VALOR_FATURA,PORCENTAGEM_ACERTO, COMISSAO , convert(numeric(14,2),(PORCENTAGEM_ACERTO/100)* ((COMISSAO_gerente/100) * VALOR_FATURA) ) as valor_credito_comissao from a_receber_fatura where valor_fatura>0 and comissao_gerente>0 and PORCENTAGEM_ACERTO>0 and emissao>=''19991101'' and emissao<=''19991130'' union all select ''Comissao vencimento '',REPRESENTANTE,a.FATURA,parcela,a.NOME_CLIFOR,DOCUMENTO,TIPO,EMISSAO, vencimento, VALOR_original ,PORCENTAGEM_ACERTO, COMISSAO , convert(numeric(14,2), (1-(PORCENTAGEM_ACERTO/100))* ((COMISSAO/100) * VALOR_original) ) as valor_credito_comissao from a_receber_parcelas a , a_receber_fatura b where a.fatura=b.fatura and a.nome_clifor=b.nome_clifor and valor_original >0 and comissao>0 and PORCENTAGEM_ACERTO<100 and vencimento >=''19991101'' and vencimento <=''19991130'' union all select ''Comissao vencimento gerente'',gerente ,a.FATURA,parcela,a.NOME_CLIFOR,DOCUMENTO,TIPO,EMISSAO, vencimento, VALOR_original ,PORCENTAGEM_ACERTO, COMISSAO_gerente , convert(numeric(14,2), (1-(PORCENTAGEM_ACERTO/100))* ((COMISSAO_gerente /100) * VALOR_original) ) as valor_credito_comissao from a_receber_parcelas a , a_receber_fatura b where a.fatura=b.fatura and a.nome_clifor=b.nome_clifor and valor_original >0 and comissao_gerente>0 and PORCENTAGEM_ACERTO<100 and vencimento >=''19991101'' and vencimento <=''19991130'' union all SELECT DISTINCT ''Devolucao '' , REPRESENTANTE, Entradas.NF_ENTRADA AS FATURA, '' '' as PARCELA, faturamento.nome_clifor, '' '','' '', Entradas.EMISSAO ,Entradas.EMISSAO, convert(numeric(14,2), SUM(valor-(valor*((Entradas.desconto/(Entradas.desconto-Entradas.encargo+Entradas.valor_total-entradas.ipi_valor))))+ (valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor)))))AS valor, PORCENTAGEM_ACERTO, COMISSAO, -1*convert(numeric(14,2), SUM((valor-(valor*((Entradas.desconto/(Entradas.desconto-Entradas.encargo+Entradas.valor_total-entradas.ipi_valor))))+ (valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor))))*comissao/100*porcentagem_acerto/100)) FROM Entradas_pro_devol,Faturamento,Entradas WHERE Entradas_pro_devol.NF_SAIDA = Faturamento.NF_SAIDA AND Faturamento.FILIAL = Entradas_pro_devol.FILIAL AND Entradas_pro_devol.NF_ENTRADA = Entradas.NF_ENTRADA AND Entradas_pro_devol.NOME_CLIFOR = Entradas.NOME_CLIFOR AND Faturamento.NOME_CLIFOR = Entradas_pro_devol.NOME_CLIFOR and (Entradas.desconto-Entradas.encargo+Entradas.valor_total-entradas.ipi_valor)<>0 and entradas.emissao>=''19991101'' and entradas.emissao<=''19991130'' and comissao > 0 GROUP BY Entradas.NF_ENTRADA, REPRESENTANTE, Faturamento.NOME_CLIFOR, Entradas.EMISSAO, COMISSAO, PORCENTAGEM_ACERTO, Entradas.VALOR_TOTAL, Entradas.DESCONTO, Entradas.ENCARGO' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PA_ENTRADA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PA_ENTRADA] AS SELECT ENTRADAS.FILIAL,ENTRADAS_PRODUTO.PRODUTO,COR_PRODUTO,SUM(TOTAL_ENTRADAS) AS QTDE, MAX(RECEBIMENTO) AS ULTIMA_ENTRADA, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN EN2*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN EN3*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN EN4*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN EN6*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN EN7*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN EN8*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48*CUSTO1 ELSE 0 END)) AS TOTAL_CUSTO1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN EN1*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN EN2*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN EN3*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN EN4*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN EN5*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN EN6*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN EN7*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN EN8*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN EN9*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48*CUSTO2 ELSE 0 END)) AS TOTAL_CUSTO2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN EN1*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN EN2*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN EN3*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN EN5*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN EN6*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN EN7*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN EN9*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48*CUSTO3 ELSE 0 END)) AS TOTAL_CUSTO3, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN EN1*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN EN2*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN EN3*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN EN4*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN EN5*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN EN6*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN EN7*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN EN8*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN EN9*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48*CUSTO4 ELSE 0 END)) AS TOTAL_CUSTO4, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN48 ELSE 0 END)) AS TOTAL_QTDE1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN48 ELSE 0 END)) AS TOTAL_QTDE2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN48 ELSE 0 END)) AS TOTAL_QTDE3, CONVERT(INT,SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN EN1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN EN2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN EN3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN EN4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN EN5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN EN6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN EN7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN EN8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN EN9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN48 ELSE 0 END)) AS TOTAL_QTDE4, SUM(EN1) AS Q1,SUM(EN2) AS Q2,SUM(EN3) AS Q3,SUM(EN4) AS Q4,SUM(EN5) AS Q5,SUM(EN6) AS Q6, SUM(EN7) AS Q7,SUM(EN8) AS Q8,SUM(EN9) AS Q9,SUM(EN10) AS Q10,SUM(EN11) AS Q11,SUM(EN12) AS Q12, SUM(EN13) AS Q13,SUM(EN14) AS Q14,SUM(EN15) AS Q15,SUM(EN16) AS Q16,SUM(EN17) AS Q17,SUM(EN18) AS Q18, SUM(EN19) AS Q19,SUM(EN20) AS Q20,SUM(EN21) AS Q21,SUM(EN22) AS Q22,SUM(EN23) AS Q23,SUM(EN24) AS Q24, SUM(EN25) AS Q25,SUM(EN26) AS Q26,SUM(EN27) AS Q27,SUM(EN28) AS Q28,SUM(EN29) AS Q29,SUM(EN30) AS Q30, SUM(EN31) AS Q31,SUM(EN32) AS Q32,SUM(EN33) AS Q33,SUM(EN34) AS Q34,SUM(EN35) AS Q35,SUM(EN36) AS Q36, SUM(EN37) AS Q37,SUM(EN38) AS Q38,SUM(EN39) AS Q39,SUM(EN40) AS Q40,SUM(EN41) AS Q41,SUM(EN42) AS Q42, SUM(EN43) AS Q43,SUM(EN44) AS Q44,SUM(EN45) AS Q45,SUM(EN46) AS Q46,SUM(EN47) AS Q47,SUM(EN48) AS Q48 FROM ENTRADAS JOIN ENTRADAS_PRODUTO ON ENTRADAS.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR AND ENTRADAS.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA JOIN PRODUTOS ON ENTRADAS_PRODUTO.PRODUTO=PRODUTOS.PRODUTO GROUP BY ENTRADAS.FILIAL,ENTRADAS_PRODUTO.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PA_ENTRADA_DEVOL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PA_ENTRADA_DEVOL] AS SELECT ENTRADAS.FILIAL,ENTRADAS_PRO_DEVOL.PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, MAX(EMISSAO) AS ULTIMA_ENTRADA, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=1 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=1 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=1 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO3, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO4, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN F48 ELSE 0 END)) AS TOTAL_QTDE1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN F48 ELSE 0 END)) AS TOTAL_QTDE2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN F48 ELSE 0 END)) AS TOTAL_QTDE3, CONVERT(INT,SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN F48 ELSE 0 END)) AS TOTAL_QTDE4, SUM(F1) AS Q1,SUM(F2) AS Q2,SUM(F3) AS Q3,SUM(F4) AS Q4,SUM(F5) AS Q5,SUM(F6) AS Q6, SUM(F7) AS Q7,SUM(F8) AS Q8,SUM(F9) AS Q9,SUM(F10) AS Q10,SUM(F11) AS Q11,SUM(F12) AS Q12, SUM(F13) AS Q13,SUM(F14) AS Q14,SUM(F15) AS Q15,SUM(F16) AS Q16,SUM(F17) AS Q17,SUM(F18) AS Q18, SUM(F19) AS Q19,SUM(F20) AS Q20,SUM(F21) AS Q21,SUM(F22) AS Q22,SUM(F23) AS Q23,SUM(F24) AS Q24, SUM(F25) AS Q25,SUM(F26) AS Q26,SUM(F27) AS Q27,SUM(F28) AS Q28,SUM(F29) AS Q29,SUM(F30) AS Q30, SUM(F31) AS Q31,SUM(F32) AS Q32,SUM(F33) AS Q33,SUM(F34) AS Q34,SUM(F35) AS Q35,SUM(F36) AS Q36, SUM(F37) AS Q37,SUM(F38) AS Q38,SUM(F39) AS Q39,SUM(F40) AS Q40,SUM(F41) AS Q41,SUM(F42) AS Q42, SUM(F43) AS Q43,SUM(F44) AS Q44,SUM(F45) AS Q45,SUM(F46) AS Q46,SUM(F47) AS Q47,SUM(F48) AS Q48 FROM ENTRADAS JOIN ENTRADAS_PRO_DEVOL ON ENTRADAS.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND ENTRADAS.NF_ENTRADA = ENTRADAS_PRO_DEVOL.NF_ENTRADA JOIN PRODUTOS ON PRODUTOS.PRODUTO=ENTRADAS_PRO_DEVOL.PRODUTO GROUP BY ENTRADAS.FILIAL,ENTRADAS_PRO_DEVOL.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_GERENTES_COMISSAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_GERENTES_COMISSAO] AS select ''02'' as tipo, gerente as representante, gerente, filial, nome_clifor, nf_saida as fatura, '''' as parcela, emissao as data_movimento, convert(DATETIME, '''') as vencimento, convert(numeric(14, 2), ((valor_total - frete - seguro - ipi_valor) * case when cambio_na_data = 0 or cambio_na_data is null then 1 else (cambio_na_data) end)) as valor, condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), (((valor_total - frete - seguro - ipi_valor) * (comissao_gerente / 100) * (porcentagem_acerto / 100)) * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, timestamp, case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end as cambio_na_data, (valor_total - frete - seguro - ipi_valor) as valor_moeda from faturamento where gerente is not null and porcentagem_acerto <> 0 and nota_cancelada = 0 and (valor_total - frete - seguro - ipi_valor) <> 0 union all select ''11'' as tipo, gerente as representante, gerente, filial, nome_clifor, nf_saida as fatura, '''' as parcela, emissao as data_movimento, convert(DATETIME, '''') as vencimento, valor_total as valor, condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, timestamp, cambio_na_data, convert(numeric(14, 2), 0) as valor_moeda from faturamento where gerente is not null and timestamp is not null and timestamp <> '''' and porcentagem_acerto <> 0 union all select ''04'' as tipo, gerente as representante, gerente, faturamento.filial, a_receber_pgtos.nome_clifor, a_receber_pgtos.fatura, a_receber_pgtos.parcela, a_receber_pgtos.data_pagamento as data_movimento, a_receber_pgtos.vencimento, convert(numeric(14, 2), ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.ipi_valor * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.frete * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.seguro * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)))) as valor, condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.ipi_valor * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.frete * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.seguro * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end))) * (comissao_gerente / 100) * (1 - porcentagem_acerto / 100)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, '''' as timestamp, case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end as cambio_na_data, convert(numeric(14, 2), ((valor_recebido) - ((valor_recebido) * (faturamento.ipi_valor) / (faturamento.valor_total)) - ((valor_recebido) * (faturamento.frete) / (faturamento.valor_total)) - ((valor_recebido) * (faturamento.seguro) / (faturamento.valor_total)))) as valor_moeda from a_receber_pgtos, faturamento where a_receber_pgtos.fatura = faturamento.fatura and a_receber_pgtos.nome_clifor = faturamento.nome_clifor and porcentagem_acerto <> 100 and serie_nf <> (select rtrim(ltrim(valor_atual)) from parametros where parametro = ''tipo_producao'') union all select ''13'' as tipo, gerente as representante, gerente, filial, a_receber_pgtos.nome_clifor, a_receber_pgtos.fatura, a_receber_pgtos.parcela, a_receber_pgtos.data_pagamento as data_movimento, a_receber_pgtos.vencimento, convert(numeric(14, 2), (valor_recebido * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end)) as valor, '''' as condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), (valor_recebido * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end) * (comissao_gerente / 100) * (1 - porcentagem_acerto / 100)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, '''' as timestamp, case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end as cambio_na_data, valor_recebido as valor_moeda from a_receber_pgtos, a_receber_fatura where a_receber_pgtos.nome_clifor = a_receber_fatura.nome_clifor and a_receber_pgtos.fatura = a_receber_fatura.fatura and comissao_gerente <> 0 and porcentagem_acerto <> 100 and a_receber_fatura.tipo = (select rtrim(ltrim(valor_atual)) from parametros where parametro = ''tipo_producao_mat'') union all select distinct ''06'', gerente as representante, gerente, faturamento.filial, faturamento.nome_clifor, entradas.nf_entrada as fatura, '''' as parcela, entradas.emissao as data_movimento, convert(DATETIME, '''') as data_pagamento, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))))) else convert(numeric(14, 2), sum(valor)) end valor, faturamento.condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor))))) *(comissao_gerente / 100) * (porcentagem_acerto / 100)) else convert(numeric(14, 2), sum(valor) *(comissao_gerente / 100) * (porcentagem_acerto / 100)) end as debito, convert(numeric(14, 2), 0) as saldo , '''' timestamp, convert(numeric(14, 2), 1) as cambio_na_data, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))))) else convert(numeric(14, 2), sum(valor)) end as valor_moeda from entradas_pro_devol, faturamento, entradas where entradas_pro_devol.nf_saida = faturamento.nf_saida and faturamento.filial = entradas_pro_devol.filial and faturamento.serie_nf = entradas_pro_devol.serie_nf and entradas_pro_devol.nf_entrada = entradas.nf_entrada and entradas_pro_devol.nome_clifor = entradas.nome_clifor and faturamento.nome_clifor = entradas_pro_devol.nome_clifor and (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 and porcentagem_acerto <> 0 and comissao_gerente <> 0 group by entradas.nf_entrada, gerente, gerente, faturamento.filial, faturamento.nome_clifor, faturamento.condicao_pgto, entradas.emissao, comissao_gerente, porcentagem_acerto, entradas.valor_total, entradas.desconto, entradas.encargo, entradas.ipi_valor union all select distinct ''08'', gerente as representante, gerente, faturamento.filial, faturamento.nome_clifor, entradas.nf_entrada as fatura, '' '' as parcela, entradas.emissao as data_movimento, convert(DATETIME, '''') as vencimento, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (entradas_material.valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor))))) else convert(numeric(14, 2), sum(entradas_material.valor)) end as valor, faturamento.condicao_pgto, comissao_gerente as comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum((entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total))))) * comissao_gerente / 100 * porcentagem_acerto/100)) else convert(numeric(14, 2), sum(entradas_material.valor * (comissao_gerente / 100) * (porcentagem_acerto / 100))) end as debito, convert(numeric(14, 2), 0) as saldo , '''' as timestamp, convert(numeric(14, 2), 1) as cambio_na_data, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (entradas_material.valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor))))) else convert(numeric(14, 2), sum(entradas_material.valor)) end as valor_moeda from entradas_material, faturamento, entradas, estoque_sai1_mat where entradas.filial = estoque_sai1_mat.filial and entradas_material.devolucao_req_material = estoque_sai1_mat.req_material and entradas_material.devolucao_item = estoque_sai1_mat.item and entradas_material.material = estoque_sai1_mat.material and entradas_material.cor_material = estoque_sai1_mat.cor_material and estoque_sai1_mat.filial_faturamento = faturamento.filial and estoque_sai1_mat.serie_nf = faturamento.serie_nf and estoque_sai1_mat.nf_saida = faturamento.nf_saida and entradas.nf_entrada = entradas_material.nf_entrada and entradas.nome_clifor = entradas_material.nome_clifor and entradas.devolucao = 1 and (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)<>0 group by entradas.nf_entrada, gerente, gerente, faturamento.filial, faturamento.nome_clifor, faturamento.condicao_pgto, entradas.emissao, comissao_gerente, porcentagem_acerto, entradas.valor_total, entradas.desconto, entradas.encargo, entradas.ipi_valor ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_REPRESENTANTES_COMISSAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_REPRESENTANTES_COMISSAO] AS select ''01'' as tipo, representante, gerente, filial, nome_clifor, nf_saida as fatura, '''' as parcela, emissao as data_movimento, convert(datetime, '''') as vencimento, convert(numeric(14, 2), ((valor_total - frete - seguro - ipi_valor) * case when cambio_na_data = 0 or cambio_na_data is null then 1 else (cambio_na_data) end)) as valor, condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), (((valor_total - frete - seguro - ipi_valor) * (comissao / 100) * (porcentagem_acerto / 100)) * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, timestamp, case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end as cambio_na_data, (valor_total - frete - seguro - ipi_valor) as valor_moeda from faturamento where representante is not null and porcentagem_acerto <> 0 and nota_cancelada = 0 and (valor_total - frete - seguro - ipi_valor) <> 0 union all select ''10'' as tipo, representante, gerente, filial, nome_clifor, nf_saida as fatura, '''' as parcela, emissao as data_movimento, convert(datetime, '''') as vencimento, valor_total as valor, condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, timestamp, cambio_na_data, convert(numeric(14, 2), 0) as valor_moeda from faturamento where representante is not null and timestamp is not null and timestamp <> '''' and porcentagem_acerto <> 0 union all select ''03'' as tipo, representante, gerente, faturamento.filial, a_receber_pgtos.nome_clifor, a_receber_pgtos.fatura, a_receber_pgtos.parcela, a_receber_pgtos.data_pagamento as data_movimento, a_receber_pgtos.vencimento, convert(numeric(14, 2), ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.ipi_valor * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.frete * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.seguro * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)))) as valor, condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.ipi_valor * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.frete * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end)) - ((valor_recebido * case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end) * (faturamento.seguro * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end) / (faturamento.valor_total * case when faturamento.cambio_na_data is null or faturamento.cambio_na_data = 0 then 1 else faturamento.cambio_na_data end))) * (comissao / 100) * (1 - porcentagem_acerto / 100)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, '''' as timestamp, case when a_receber_pgtos.cambio_na_data is null or a_receber_pgtos.cambio_na_data = 0 then 1 else a_receber_pgtos.cambio_na_data end as cambio_na_data, convert(numeric(14, 2), ((valor_recebido) - ((valor_recebido) * (faturamento.ipi_valor) / (faturamento.valor_total)) - ((valor_recebido) * (faturamento.frete) / (faturamento.valor_total)) - ((valor_recebido) * (faturamento.seguro) / (faturamento.valor_total)))) as valor_moeda from a_receber_pgtos, faturamento where a_receber_pgtos.fatura = faturamento.fatura and a_receber_pgtos.nome_clifor = faturamento.nome_clifor and porcentagem_acerto <> 100 and serie_nf <> (select rtrim(ltrim(valor_atual)) from parametros where parametro = ''tipo_producao'') union all select ''12'' as tipo, representante, gerente, filial, a_receber_pgtos.nome_clifor, a_receber_pgtos.fatura, a_receber_pgtos.parcela, a_receber_pgtos.data_pagamento as data_movimento, a_receber_pgtos.vencimento, convert(numeric(14, 2), (valor_recebido * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end)) as valor, '''' as condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), (valor_recebido * case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end) * (comissao / 100) * (1 - porcentagem_acerto / 100)) as credito, convert(numeric(14, 2), 0) as debito, convert(numeric(14, 2), 0) as saldo, '''' as timestamp, case when cambio_na_data is null or cambio_na_data = 0 then 1 else cambio_na_data end as cambio_na_data, valor_recebido as valor_moeda from a_receber_pgtos, a_receber_fatura where a_receber_pgtos.nome_clifor = a_receber_fatura.nome_clifor and a_receber_pgtos.fatura = a_receber_fatura.fatura and comissao <> 0 and porcentagem_acerto <> 100 and a_receber_fatura.tipo = (select rtrim(ltrim(valor_atual)) from parametros where parametro = ''tipo_producao_mat'') union all select distinct ''05'', representante, gerente, faturamento.filial, faturamento.nome_clifor, entradas.nf_entrada as fatura, '''' as parcela, entradas.emissao as data_movimento, convert(DATETIME, '''') as data_pagamento, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))))) else convert(numeric(14, 2), sum(valor)) end valor, faturamento.condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor))))) *(comissao / 100) * (porcentagem_acerto / 100)) else convert(numeric(14, 2), sum(valor) *(comissao / 100) * (porcentagem_acerto / 100)) end as debito, convert(numeric(14, 2), 0) as saldo , '''' timestamp, convert(numeric(14, 2), 1) as cambio_na_data, case when (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(valor - (valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (valor * ((entradas.encargo / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))))) else convert(numeric(14, 2), sum(valor)) end as valor_moeda from entradas_pro_devol, faturamento, entradas where entradas_pro_devol.nf_saida = faturamento.nf_saida and faturamento.filial = entradas_pro_devol.filial and faturamento.serie_nf = entradas_pro_devol.serie_nf and entradas_pro_devol.nf_entrada = entradas.nf_entrada and entradas_pro_devol.nome_clifor = entradas.nome_clifor and faturamento.nome_clifor = entradas_pro_devol.nome_clifor and (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 and porcentagem_acerto <> 0 and comissao <> 0 group by entradas.nf_entrada, representante, gerente, faturamento.filial, faturamento.nome_clifor, faturamento.condicao_pgto, entradas.emissao, comissao, porcentagem_acerto, entradas.valor_total, entradas.desconto, entradas.encargo, entradas.ipi_valor union all select distinct ''07'', representante, gerente, faturamento.filial, faturamento.nome_clifor, entradas.nf_entrada as fatura, '' '' as parcela, entradas.emissao as data_movimento, convert(DATETIME, '''') as vencimento, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (entradas_material.valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor))))) else convert(numeric(14, 2), sum(entradas_material.valor)) end as valor, faturamento.condicao_pgto, comissao, porcentagem_acerto, convert(numeric(14, 2), 0) as credito, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum((entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total))))) * comissao / 100 * porcentagem_acerto/100)) else convert(numeric(14, 2), sum(entradas_material.valor * (comissao / 100) * (porcentagem_acerto / 100))) end as debito, convert(numeric(14, 2), 0) as saldo , '''' as timestamp, convert(numeric(14, 2), 1) as cambio_na_data, case when (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor) <> 0 then convert(numeric(14, 2), sum(entradas_material.valor - (entradas_material.valor * ((entradas.desconto / (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)))) + (entradas_material.valor * (entradas.encargo / (entradas.valor_total + entradas.desconto - entradas.encargo - entradas.ipi_valor))))) else convert(numeric(14, 2), sum(entradas_material.valor)) end as valor_moeda from entradas_material, faturamento, entradas, estoque_sai1_mat where entradas.filial = estoque_sai1_mat.filial and entradas_material.devolucao_req_material = estoque_sai1_mat.req_material and entradas_material.devolucao_item = estoque_sai1_mat.item and entradas_material.material = estoque_sai1_mat.material and entradas_material.cor_material = estoque_sai1_mat.cor_material and estoque_sai1_mat.filial_faturamento = faturamento.filial and estoque_sai1_mat.serie_nf = faturamento.serie_nf and estoque_sai1_mat.nf_saida = faturamento.nf_saida and entradas.nf_entrada = entradas_material.nf_entrada and entradas.nome_clifor = entradas_material.nome_clifor and entradas.devolucao = 1 and (entradas.desconto - entradas.encargo + entradas.valor_total - entradas.ipi_valor)<>0 group by entradas.nf_entrada, representante, gerente, faturamento.filial, faturamento.nome_clifor, faturamento.condicao_pgto, entradas.emissao, comissao, porcentagem_acerto, entradas.valor_total, entradas.desconto, entradas.encargo, entradas.ipi_valor union all select ''09'' as tipo, representante, '''' as gerente, '''' as filial, '''' as nome_clifor, documento as fatura, '''' as parcela, data_lancamento as data_movimento, vencimento, valor_documento as valor, '' '' as condicao_pgto, comissao, 0 as porcentagem_acerto, credito, debito, convert(numeric(14, 2), 0) as saldo, '''' as timestamp, convert(numeric(14, 2), 1) as cambio_na_data, convert(numeric(14, 2), 0) as valor_moeda from representante_lancamentos ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_ENTRADA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_ENTRADA] AS SELECT ENTRADAS.FILIAL,PRODUTO,COR_PRODUTO,SUM(TOTAL_ENTRADAS) AS QTDE, SUM(EN1) AS Q1,SUM(EN2) AS Q2,SUM(EN3) AS Q3,SUM(EN4) AS Q4,SUM(EN5) AS Q5,SUM(EN6) AS Q6, SUM(EN7) AS Q7,SUM(EN8) AS Q8,SUM(EN9) AS Q9,SUM(EN10) AS Q10,SUM(EN11) AS Q11,SUM(EN12) AS Q12, SUM(EN13) AS Q13,SUM(EN14) AS Q14,SUM(EN15) AS Q15,SUM(EN16) AS Q16,SUM(EN17) AS Q17,SUM(EN18) AS Q18, SUM(EN19) AS Q19,SUM(EN20) AS Q20,SUM(EN21) AS Q21,SUM(EN22) AS Q22,SUM(EN23) AS Q23,SUM(EN24) AS Q24, SUM(EN25) AS Q25,SUM(EN26) AS Q26,SUM(EN27) AS Q27,SUM(EN28) AS Q28,SUM(EN29) AS Q29,SUM(EN30) AS Q30, SUM(EN31) AS Q31,SUM(EN32) AS Q32,SUM(EN33) AS Q33,SUM(EN34) AS Q34,SUM(EN35) AS Q35,SUM(EN36) AS Q36, SUM(EN37) AS Q37,SUM(EN38) AS Q38,SUM(EN39) AS Q39,SUM(EN40) AS Q40,SUM(EN41) AS Q41,SUM(EN42) AS Q42, SUM(EN43) AS Q43,SUM(EN44) AS Q44,SUM(EN45) AS Q45,SUM(EN46) AS Q46,SUM(EN47) AS Q47,SUM(EN48) AS Q48 FROM ENTRADAS JOIN ENTRADAS_PRODUTO ON ENTRADAS.NOME_CLIFOR = ENTRADAS_PRODUTO.NOME_CLIFOR AND ENTRADAS.NF_ENTRADA = ENTRADAS_PRODUTO.NF_ENTRADA GROUP BY ENTRADAS.FILIAL,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_ENTRADA_DEVOL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_ENTRADA_DEVOL] AS SELECT ENTRADAS.FILIAL,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(F1) AS Q1,SUM(F2) AS Q2,SUM(F3) AS Q3,SUM(F4) AS Q4,SUM(F5) AS Q5,SUM(F6) AS Q6, SUM(F7) AS Q7,SUM(F8) AS Q8,SUM(F9) AS Q9,SUM(F10) AS Q10,SUM(F11) AS Q11,SUM(F12) AS Q12, SUM(F13) AS Q13,SUM(F14) AS Q14,SUM(F15) AS Q15,SUM(F16) AS Q16,SUM(F17) AS Q17,SUM(F18) AS Q18, SUM(F19) AS Q19,SUM(F20) AS Q20,SUM(F21) AS Q21,SUM(F22) AS Q22,SUM(F23) AS Q23,SUM(F24) AS Q24, SUM(F25) AS Q25,SUM(F26) AS Q26,SUM(F27) AS Q27,SUM(F28) AS Q28,SUM(F29) AS Q29,SUM(F30) AS Q30, SUM(F31) AS Q31,SUM(F32) AS Q32,SUM(F33) AS Q33,SUM(F34) AS Q34,SUM(F35) AS Q35,SUM(F36) AS Q36, SUM(F37) AS Q37,SUM(F38) AS Q38,SUM(F39) AS Q39,SUM(F40) AS Q40,SUM(F41) AS Q41,SUM(F42) AS Q42, SUM(F43) AS Q43,SUM(F44) AS Q44,SUM(F45) AS Q45,SUM(F46) AS Q46,SUM(F47) AS Q47,SUM(F48) AS Q48 FROM ENTRADAS JOIN ENTRADAS_PRO_DEVOL ON ENTRADAS.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND ENTRADAS.NF_ENTRADA = ENTRADAS_PRO_DEVOL.NF_ENTRADA GROUP BY ENTRADAS.FILIAL,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_REPRESENTANTES_COMISSAO_ES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_REPRESENTANTES_COMISSAO_ES] AS SELECT TIPO = ''01'', A.REPRESENTANTE, A.GERENTE, A.FILIAL, B.NOME_CLIFOR, B.FATURA, PARCELA = '''', DATA_MOVIMENTO = B.EMISSAO, VENCIMENTO = CONVERT(DATETIME, ''''), VALOR = SUM(CONVERT(NUMERIC(14, 2), ((A.VALOR_TOTAL - A.FRETE - A.SEGURO - A.IPI_VALOR - a.recargo - a.encargo) * CASE WHEN B.CAMBIO_NA_DATA_EMISSAO = 0 OR B.CAMBIO_NA_DATA_EMISSAO IS NULL THEN 1 ELSE (B.CAMBIO_NA_DATA_EMISSAO) END))), A.CONDICAO_PGTO, B.COMISSAO, A.PORCENTAGEM_ACERTO, CREDITO = SUM(CONVERT(NUMERIC(14, 2), (((A.VALOR_TOTAL - A.FRETE - A.SEGURO - A.IPI_VALOR - a.recargo - a.encargo) * (A.COMISSAO_MEDIA / 100) * (A.PORCENTAGEM_ACERTO / 100)) * CASE WHEN B.CAMBIO_NA_DATA_EMISSAO IS NULL OR B.CAMBIO_NA_DATA_EMISSAO = 0 THEN 1 ELSE B.CAMBIO_NA_DATA_EMISSAO END))), DEBITO = CONVERT(NUMERIC(14, 2), 0), SALDO = CONVERT(NUMERIC(14, 2), 0), TIMESTAMP = '''', CAMBIO_NA_DATA = CASE WHEN B.CAMBIO_NA_DATA_EMISSAO IS NULL OR B.CAMBIO_NA_DATA_EMISSAO = 0 THEN 1 ELSE B.CAMBIO_NA_DATA_EMISSAO END, VALOR_MOEDA = SUM(A.VALOR_TOTAL - A.FRETE - A.SEGURO - A.IPI_VALOR - a.recargo - a.encargo), SERIE_FATURA = B.SERIE, NF_SAIDA = a.nf_saida, SERIE_NF = a.serie_nf, SUM(A.DESCONTO_COND_PGTO) AS DESCONTO_COND_PGTO FROM FATURAMENTO A JOIN A_RECEBER_FATURA B ON A.NOME_CLIFOR = B.NOME_CLIFOR AND A.FATURA = B.FATURA WHERE A.REPRESENTANTE IS NOT NULL AND A.PORCENTAGEM_ACERTO <> 0 AND A.NOTA_CANCELADA = 0 AND (A.VALOR_TOTAL - A.FRETE - A.SEGURO - A.IPI_VALOR - a.recargo - a.encargo) <> 0 AND ISNULL(TIMESTAMP, '''') = '''' GROUP BY A.REPRESENTANTE, A.GERENTE, A.FILIAL, B.NOME_CLIFOR, B.FATURA, B.EMISSAO, A.CONDICAO_PGTO, B.COMISSAO, A.PORCENTAGEM_ACERTO, B.CAMBIO_NA_DATA_EMISSAO, B.SERIE, a.nf_saida, a.serie_nf UNION ALL SELECT TIPO = ''10'', A.REPRESENTANTE, A.GERENTE, A.FILIAL, B.NOME_CLIFOR, B.FATURA, PARCELA = '''', DATA_MOVIMENTO = B.EMISSAO, VENCIMENTO = CONVERT(DATETIME, ''''), VALOR = VALOR_TOTAL, A.CONDICAO_PGTO, B.COMISSAO, A.PORCENTAGEM_ACERTO, CREDITO = CONVERT(NUMERIC(14, 2), 0), DEBITO = CONVERT(NUMERIC(14, 2), 0), SALDO = CONVERT(NUMERIC(14, 2), 0), TIMESTAMP, CAMBIO_NA_DATA = CASE WHEN B.CAMBIO_NA_DATA_EMISSAO IS NULL OR B.CAMBIO_NA_DATA_EMISSAO = 0 THEN 1 ELSE B.CAMBIO_NA_DATA_EMISSAO END, VALOR_MOEDA = (A.VALOR_TOTAL - A.FRETE - A.SEGURO - A.IPI_VALOR - a.recargo - a.encargo), SERIE_FATURA = B.SERIE, A.NF_SAIDA, A.SERIE_NF, A.DESCONTO_COND_PGTO FROM FATURAMENTO A JOIN A_RECEBER_FATURA B ON A.NOME_CLIFOR = B.NOME_CLIFOR AND A.FATURA = B.FATURA WHERE A.REPRESENTANTE IS NOT NULL AND TIMESTAMP IS NOT NULL AND TIMESTAMP <> '''' AND A.PORCENTAGEM_ACERTO <> 0 UNION ALL SELECT ''03'' AS TIPO, FATURAMENTO.REPRESENTANTE, FATURAMENTO.GERENTE, FATURAMENTO.FILIAL, A_RECEBER_PGTOS.NOME_CLIFOR, A_RECEBER_PGTOS.FATURA, A_RECEBER_PGTOS.PARCELA, A_RECEBER_PGTOS.DATA_PAGAMENTO AS DATA_MOVIMENTO, A_RECEBER_PGTOS.VENCIMENTO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.IPI_VALOR * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.recargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.encargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)))) AS VALOR, CONDICAO_PGTO, FATURAMENTO.COMISSAO_MEDIA AS COMISSAO, FATURAMENTO.PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.IPI_VALOR * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.recargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.encargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END))) * (FATURAMENTO.COMISSAO_MEDIA / 100) * (1 - FATURAMENTO.PORCENTAGEM_ACERTO / 100)) AS CREDITO, CONVERT(NUMERIC(14, 2), 0) AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END AS CAMBIO_NA_DATA, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO) - ((VALOR_RECEBIDO) * (FATURAMENTO.IPI_VALOR) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.FRETE) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.SEGURO) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.recargo) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.encargo) / (FATURAMENTO.VALOR_TOTAL)))) AS VALOR_MOEDA, SERIE_FATURA = A_RECEBER_FATURA.SERIE, FATURAMENTO.NF_SAIDA, FATURAMENTO.SERIE_NF, (VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.DESCONTO_COND_PGTO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) AS DESCONTO_COND_PGTO FROM A_RECEBER_PGTOS, FATURAMENTO, A_RECEBER_FATURA WHERE A_RECEBER_PGTOS.FATURA = FATURAMENTO.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = FATURAMENTO.NOME_CLIFOR AND A_RECEBER_PGTOS.FATURA = A_RECEBER_FATURA.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR AND FATURAMENTO.PORCENTAGEM_ACERTO <> 100 AND SERIE_NF <> (SELECT RTRIM(LTRIM(VALOR_ATUAL)) FROM PARAMETROS WHERE PARAMETRO = ''TIPO_PRODUCAO'') UNION ALL SELECT ''12'' AS TIPO, A_RECEBER_FATURA.REPRESENTANTE, A_RECEBER_FATURA.GERENTE, A_RECEBER_FATURA.FILIAL, A_RECEBER_PGTOS.NOME_CLIFOR, A_RECEBER_PGTOS.FATURA, A_RECEBER_PGTOS.PARCELA, A_RECEBER_PGTOS.DATA_PAGAMENTO AS DATA_MOVIMENTO, A_RECEBER_PGTOS.VENCIMENTO, CONVERT(NUMERIC(14, 2), (VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END)) AS VALOR, FATURAMENTO.CONDICAO_PGTO, A_RECEBER_FATURA.COMISSAO, A_RECEBER_FATURA.PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), (VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (A_RECEBER_FATURA.COMISSAO / 100) * (1 - A_RECEBER_FATURA.PORCENTAGEM_ACERTO / 100)) AS CREDITO, CONVERT(NUMERIC(14, 2), 0) AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END AS CAMBIO_NA_DATA, VALOR_RECEBIDO AS VALOR_MOEDA, SERIE_FATURA = A_RECEBER_FATURA.SERIE, FATURAMENTO.NF_SAIDA, FATURAMENTO.SERIE_NF, 0 AS DESCONTO_COND_PGTO FROM A_RECEBER_PGTOS, A_RECEBER_FATURA, FATURAMENTO WHERE A_RECEBER_PGTOS.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR AND A_RECEBER_PGTOS.FATURA = A_RECEBER_FATURA.FATURA AND A_RECEBER_FATURA.COMISSAO <> 0 AND A_RECEBER_FATURA.PORCENTAGEM_ACERTO <> 100 AND A_RECEBER_FATURA.TIPO = (SELECT RTRIM(LTRIM(VALOR_ATUAL)) FROM PARAMETROS WHERE PARAMETRO = ''TIPO_PRODUCAO_MAT'') AND A_RECEBER_PGTOS.FATURA = FATURAMENTO.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = FATURAMENTO.NOME_CLIFOR UNION ALL SELECT DISTINCT ''05'', REPRESENTANTE, GERENTE, FATURAMENTO.FILIAL, FATURAMENTO.NOME_CLIFOR, B.fatura AS FATURA, '''' AS PARCELA, B.EMISSAO AS DATA_MOVIMENTO, CONVERT(DATETIME, '''') AS DATA_PAGAMENTO, CASE WHEN (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM(VALOR - (VALOR * ((B.RECARGO / (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO)))))) ELSE CONVERT(NUMERIC(14, 2), SUM(VALOR)) END VALOR, FATURAMENTO.CONDICAO_PGTO, B.COMISSAO_MEDIA AS COMISSAO, PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), 0) AS CREDITO, CASE WHEN (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM(VALOR - (VALOR * ((B.RECARGO / (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO)))))) * (b.COMISSAO_MEDIA / 100) * (PORCENTAGEM_ACERTO / 100) ELSE CONVERT(NUMERIC(14, 2), SUM(VALOR) * (b.COMISSAO_MEDIA / 100) * (PORCENTAGEM_ACERTO / 100)) END AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' TIMESTAMP, CONVERT(NUMERIC(14, 2), 1) AS CAMBIO_NA_DATA, CASE WHEN (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM(VALOR - (VALOR * ((B.RECARGO / (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO)))))) ELSE CONVERT(NUMERIC(14, 2), SUM(VALOR)) END AS VALOR_MOEDA, SERIE_FATURA = B.SERIE_NF, A.nf_entrada, A.serie_nf, SUM(A.DESC_FINAN) AS DESCONTO_COND_PGTO FROM ENTRADAS_PRO_DEVOL, FATURAMENTO, ENTRADAS A, ENTRADAS B WHERE ENTRADAS_PRO_DEVOL.NF_SAIDA = FATURAMENTO.NF_SAIDA AND FATURAMENTO.FILIAL = ENTRADAS_PRO_DEVOL.FILIAL AND FATURAMENTO.SERIE_NF = ENTRADAS_PRO_DEVOL.SERIE_NF AND ENTRADAS_PRO_DEVOL.NF_ENTRADA = A.NF_ENTRADA AND ENTRADAS_PRO_DEVOL.NOME_CLIFOR = A.NOME_CLIFOR AND FATURAMENTO.NOME_CLIFOR = ENTRADAS_PRO_DEVOL.NOME_CLIFOR AND (B.VALOR_TOTAL - B.RECARGO - B.IPI_VALOR - B.FRETE - B.SEGURO - b.encargo) <> 0 AND PORCENTAGEM_ACERTO <> 0 AND B.COMISSAO_MEDIA <> 0 AND a.acerto_contas_p_r = 1 AND A.FATURA_NUMERO = B.NF_ENTRADA GROUP BY A.NF_ENTRADA, A.SERIE_NF, B.FATURA, B.SERIE_NF, REPRESENTANTE, GERENTE, FATURAMENTO.FILIAL, FATURAMENTO.NOME_CLIFOR, FATURAMENTO.CONDICAO_PGTO, B.EMISSAO, B.COMISSAO_MEDIA, PORCENTAGEM_ACERTO, B.VALOR_TOTAL, B.DESCONTO, B.RECARGO, B.IPI_VALOR, B.FRETE, B.SEGURO UNION ALL SELECT DISTINCT ''07'', REPRESENTANTE, GERENTE, FATURAMENTO.FILIAL, FATURAMENTO.NOME_CLIFOR, ENTRADAS.NF_ENTRADA AS FATURA, '' '' AS PARCELA, ENTRADAS.EMISSAO AS DATA_MOVIMENTO, CONVERT(DATETIME, '''') AS VENCIMENTO, CASE WHEN (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM(ENTRADAS_MATERIAL.VALOR + (ENTRADAS_MATERIAL.VALOR * (ENTRADAS.ENCARGO / (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR))))) ELSE CONVERT(NUMERIC(14, 2), SUM(ENTRADAS_MATERIAL.VALOR)) END AS VALOR, FATURAMENTO.CONDICAO_PGTO, FATURAMENTO.comissao_media, PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), 0) AS CREDITO, CASE WHEN (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM((ENTRADAS_MATERIAL.VALOR)* FATURAMENTO.comissao_media / 100 * PORCENTAGEM_ACERTO / 100)) ELSE CONVERT(NUMERIC(14, 2), SUM(ENTRADAS_MATERIAL.VALOR * (FATURAMENTO.comissao_media / 100) * (PORCENTAGEM_ACERTO / 100))) END AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CONVERT(NUMERIC(14, 2), 1) AS CAMBIO_NA_DATA, CASE WHEN (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR) <> 0 THEN CONVERT(NUMERIC(14, 2), SUM(ENTRADAS_MATERIAL.VALOR + (ENTRADAS_MATERIAL.VALOR * (ENTRADAS.ENCARGO / (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR))))) ELSE CONVERT(NUMERIC(14, 2), SUM(ENTRADAS_MATERIAL.VALOR)) END AS VALOR_MOEDA, SERIE_FATURA = NULL, NULL, NULL, NULL FROM ENTRADAS_MATERIAL, FATURAMENTO, ENTRADAS, ESTOQUE_SAI1_MAT WHERE ENTRADAS.FILIAL = ESTOQUE_SAI1_MAT.FILIAL AND ENTRADAS_MATERIAL.DEVOLUCAO_REQ_MATERIAL = ESTOQUE_SAI1_MAT.REQ_MATERIAL AND ENTRADAS_MATERIAL.DEVOLUCAO_ITEM = ESTOQUE_SAI1_MAT.ITEM AND ENTRADAS_MATERIAL.MATERIAL = ESTOQUE_SAI1_MAT.MATERIAL AND ENTRADAS_MATERIAL.COR_MATERIAL = ESTOQUE_SAI1_MAT.COR_MATERIAL AND ESTOQUE_SAI1_MAT.FILIAL_FATURAMENTO = FATURAMENTO.FILIAL AND ESTOQUE_SAI1_MAT.SERIE_NF = FATURAMENTO.SERIE_NF AND ESTOQUE_SAI1_MAT.NF_SAIDA = FATURAMENTO.NF_SAIDA AND ENTRADAS.NF_ENTRADA = ENTRADAS_MATERIAL.NF_ENTRADA AND ENTRADAS.NOME_CLIFOR = ENTRADAS_MATERIAL.NOME_CLIFOR AND ENTRADAS.DEVOLUCAO = 1 AND (ENTRADAS.VALOR_TOTAL - ENTRADAS.ENCARGO - ENTRADAS.IPI_VALOR) <> 0 GROUP BY ENTRADAS.NF_ENTRADA, REPRESENTANTE, GERENTE, FATURAMENTO.FILIAL, FATURAMENTO.NOME_CLIFOR, FATURAMENTO.CONDICAO_PGTO, ENTRADAS.EMISSAO, FATURAMENTO.COMISSAO_MEDIA, PORCENTAGEM_ACERTO, ENTRADAS.VALOR_TOTAL, ENTRADAS.DESCONTO, ENTRADAS.ENCARGO, ENTRADAS.IPI_VALOR UNION ALL SELECT ''09'' AS TIPO, REPRESENTANTE, '''' AS GERENTE, '''' AS FILIAL, '''' AS NOME_CLIFOR, DOCUMENTO AS FATURA, '''' AS PARCELA, DATA_LANCAMENTO AS DATA_MOVIMENTO, VENCIMENTO, VALOR_DOCUMENTO AS VALOR, '' '' AS CONDICAO_PGTO, COMISSAO, 0 AS PORCENTAGEM_ACERTO, CREDITO, DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CONVERT(NUMERIC(14, 2), 1) AS CAMBIO_NA_DATA, CONVERT(NUMERIC(14, 2), 0) AS VALOR_MOEDA, SERIE_FATURA = NULL, NULL, NULL, NULL FROM REPRESENTANTE_LANCAMENTOS UNION ALL SELECT ''20'' AS TIPO, FATURAMENTO.REPRESENTANTE, FATURAMENTO.GERENTE, FATURAMENTO.FILIAL, A_RECEBER_PGTOS.NOME_CLIFOR, A_RECEBER_PGTOS.FATURA, A_RECEBER_PGTOS.PARCELA, A_RECEBER_PGTOS.DATA_PAGAMENTO AS DATA_MOVIMENTO, A_RECEBER_PGTOS.VENCIMENTO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.IPI_VALOR * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.recargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.encargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)))) AS VALOR, CONDICAO_PGTO, FATURAMENTO.COMISSAO_MEDIA AS COMISSAO, FATURAMENTO.PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), 0) AS CREDITO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.IPI_VALOR * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.recargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.encargo * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END))) * (FATURAMENTO.COMISSAO_MEDIA / 100)) AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END AS CAMBIO_NA_DATA, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO) - ((VALOR_RECEBIDO) * (FATURAMENTO.IPI_VALOR) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.FRETE) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.SEGURO) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.recargo) / (FATURAMENTO.VALOR_TOTAL)) - ((VALOR_RECEBIDO) * (FATURAMENTO.encargo) / (FATURAMENTO.VALOR_TOTAL)))) AS VALOR_MOEDA, SERIE_FATURA = A_RECEBER_FATURA.SERIE, FATURAMENTO.NF_SAIDA, FATURAMENTO.SERIE_NF, (VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.DESCONTO_COND_PGTO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (FATURAMENTO.VALOR_TOTAL * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) AS DESCONTO_COND_PGTO FROM A_RECEBER_PGTOS,FATURAMENTO, A_RECEBER_FATURA, CONTAS_LANCAMENTOS WHERE A_RECEBER_PGTOS.FATURA = FATURAMENTO.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = FATURAMENTO.NOME_CLIFOR AND A_RECEBER_PGTOS.FATURA = A_RECEBER_FATURA.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR AND A_RECEBER_PGTOS.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO AND CONTAS_LANCAMENTOS.TIPO_LANCAMENTO like (SELECT ''%''+RTRIM(LTRIM(VALOR_ATUAL))+''%'' FROM PARAMETROS WHERE PARAMETRO = ''TIPO_LANZAMIENTO_IMPAGADO'') AND FATURAMENTO.SERIE_NF <> (SELECT RTRIM(LTRIM(VALOR_ATUAL)) FROM PARAMETROS WHERE PARAMETRO = ''TIPO_PRODUCAO'') UNION ALL SELECT ''21'' AS TIPO, FATURAMENTO.REPRESENTANTE, FATURAMENTO.GERENTE, FATURAMENTO.FILIAL, A_RECEBER_PGTOS.NOME_CLIFOR, A_RECEBER_PGTOS.FATURA, A_RECEBER_PGTOS.PARCELA, A_RECEBER_PGTOS.DATA_PAGAMENTO AS DATA_MOVIMENTO, A_RECEBER_PGTOS.VENCIMENTO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (A_RECEBER_FATURA.VALOR_FATURA * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (A_RECEBER_FATURA.VALOR_FATURA * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)))) AS VALOR, CONDICAO_PGTO, A_RECEBER_FATURA.COMISSAO, FATURAMENTO.PORCENTAGEM_ACERTO, CONVERT(NUMERIC(14, 2), 0) AS CREDITO, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.FRETE * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (A_RECEBER_FATURA.VALOR_FATURA * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END)) - ((VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.SEGURO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (A_RECEBER_FATURA.VALOR_FATURA * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END))) * (A_RECEBER_FATURA.COMISSAO / 100)) AS DEBITO, CONVERT(NUMERIC(14, 2), 0) AS SALDO, '''' AS TIMESTAMP, CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END AS CAMBIO_NA_DATA, CONVERT(NUMERIC(14, 2), ((VALOR_RECEBIDO) - ((VALOR_RECEBIDO) * (FATURAMENTO.FRETE) / (A_RECEBER_FATURA.VALOR_FATURA)) - ((VALOR_RECEBIDO) * (FATURAMENTO.SEGURO) / (A_RECEBER_FATURA.VALOR_FATURA)))) AS VALOR_MOEDA, SERIE_FATURA = A_RECEBER_FATURA.SERIE, FATURAMENTO.NF_SAIDA, FATURAMENTO.SERIE_NF, (VALOR_RECEBIDO * CASE WHEN A_RECEBER_PGTOS.CAMBIO_NA_DATA IS NULL OR A_RECEBER_PGTOS.CAMBIO_NA_DATA = 0 THEN 1 ELSE A_RECEBER_PGTOS.CAMBIO_NA_DATA END) * (FATURAMENTO.DESCONTO_COND_PGTO * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) / (A_RECEBER_FATURA.VALOR_FATURA * CASE WHEN FATURAMENTO.CAMBIO_NA_DATA IS NULL OR FATURAMENTO.CAMBIO_NA_DATA = 0 THEN 1 ELSE FATURAMENTO.CAMBIO_NA_DATA END) AS DESCONTO_COND_PGTO FROM A_RECEBER_PGTOS,FATURAMENTO, A_RECEBER_FATURA, CONTAS_LANCAMENTOS WHERE A_RECEBER_PGTOS.FATURA = FATURAMENTO.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = FATURAMENTO.NOME_CLIFOR AND A_RECEBER_PGTOS.FATURA = A_RECEBER_FATURA.FATURA AND A_RECEBER_PGTOS.NOME_CLIFOR = A_RECEBER_FATURA.NOME_CLIFOR AND A_RECEBER_PGTOS.LANCAMENTO = CONTAS_LANCAMENTOS.LANCAMENTO AND CONTAS_LANCAMENTOS.TIPO_LANCAMENTO like (SELECT ''%''+RTRIM(LTRIM(VALOR_ATUAL))+''%'' FROM PARAMETROS WHERE PARAMETRO = ''TIPO_LANZAMIENTO_IMPAGADO'') AND FATURAMENTO.SERIE_NF = (SELECT RTRIM(LTRIM(VALOR_ATUAL)) FROM PARAMETROS WHERE PARAMETRO = ''TIPO_PRODUCAO'') ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FATURAMENTO_GUIA_PROD]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE view [FATURAMENTO_GUIA_PROD] AS SELECT FATURAMENTO.FATURA_FILIAL, FATURAMENTO.FATURA_NUMERO, FATURAMENTO.FATURA_SERIE, FATURAMENTO.FILIAL, FATURAMENTO.NF_SAIDA, FATURAMENTO.SERIE_NF, FATURAMENTO_PROD.PRODUTO, FATURAMENTO_PROD.COR_PRODUTO, FATURAMENTO_PROD.ITEM, FATURAMENTO_PROD.PEDIDO, convert(char(8),'''') as ORDEM_PRODUCAO, FATURAMENTO_PROD.ITEM_IMPRESSAO ,FATURAMENTO_PROD.ITEM_IMPRESSAO_FATURA, FATURAMENTO_PROD.CODIGO_LOCAL_ENTREGA, FATURAMENTO_PROD.PEDIDO_PRODUTO, FATURAMENTO_PROD.PEDIDO_COR, FATURAMENTO_PROD.ENTREGA, FATURAMENTO_PROD.CAIXA, FATURAMENTO_PROD.IPI, FATURAMENTO_PROD.ICMS, FATURAMENTO_PROD.DESCONTO_ITEM, FATURAMENTO_PROD.QTDE, FATURAMENTO_PROD.PRECO, FATURAMENTO_PROD.VALOR, FATURAMENTO_PROD.PACKS, FATURAMENTO_PROD.MATA_SALDO, FATURAMENTO_PROD.F1, FATURAMENTO_PROD.F2, FATURAMENTO_PROD.F3, FATURAMENTO_PROD.F4, FATURAMENTO_PROD.F5, FATURAMENTO_PROD.F6, FATURAMENTO_PROD.F7, FATURAMENTO_PROD.F8, FATURAMENTO_PROD.F9, FATURAMENTO_PROD.F10, FATURAMENTO_PROD.F11, FATURAMENTO_PROD.F12, FATURAMENTO_PROD.F13, FATURAMENTO_PROD.F14, FATURAMENTO_PROD.F15, FATURAMENTO_PROD.F16, FATURAMENTO_PROD.F17, FATURAMENTO_PROD.F18, FATURAMENTO_PROD.F19, FATURAMENTO_PROD.F20, FATURAMENTO_PROD.F21, FATURAMENTO_PROD.F22, FATURAMENTO_PROD.F23, FATURAMENTO_PROD.F24, FATURAMENTO_PROD.F25, FATURAMENTO_PROD.F26, FATURAMENTO_PROD.F27, FATURAMENTO_PROD.F28, FATURAMENTO_PROD.F29, FATURAMENTO_PROD.F30, FATURAMENTO_PROD.F31, FATURAMENTO_PROD.F32, FATURAMENTO_PROD.F33, FATURAMENTO_PROD.F34, FATURAMENTO_PROD.F35, FATURAMENTO_PROD.F36, FATURAMENTO_PROD.F37, FATURAMENTO_PROD.F38, FATURAMENTO_PROD.F39, FATURAMENTO_PROD.F40, FATURAMENTO_PROD.F41, FATURAMENTO_PROD.F42, FATURAMENTO_PROD.F43, FATURAMENTO_PROD.F44, FATURAMENTO_PROD.F45, FATURAMENTO_PROD.F46, FATURAMENTO_PROD.F47, FATURAMENTO_PROD.F48, FATURAMENTO_PROD.FAIXA, FATURAMENTO_PROD.ORIGEM, FATURAMENTO_PROD.ROMANEIO, FATURAMENTO_PROD.CUSTO_NA_DATA, FATURAMENTO_PROD.TIMESTAMP, FATURAMENTO_PROD.MOEDA, FATURAMENTO_PROD.CAMBIO_NA_DATA, FATURAMENTO_PROD.ORIGEM_EMB, FATURAMENTO_PROD.DATA_PARA_TRANSFERENCIA FROM FATURAMENTO_PROD JOIN FATURAMENTO ON FATURAMENTO.NF_SAIDA=FATURAMENTO_PROD.NF_SAIDA AND FATURAMENTO.FILIAL=FATURAMENTO_PROD.FILIAL AND FATURAMENTO.SERIE_NF=FATURAMENTO_PROD.SERIE_NF ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_FATURAMENTO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_FATURAMENTO] AS SELECT FATURAMENTO_PROD.FILIAL,FATURAMENTO_PROD.PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, MAX(EMISSAO) AS ULTIMA_SAIDA, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=1 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=1 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=1 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO1, CONVERT(NUMERIC(14,2),SUM(CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO2, CONVERT(NUMERIC(14,2),SUM(CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO3, CONVERT(NUMERIC(14,2),SUM(CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN F1*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN F2*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN F3*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN F4*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN F5*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN F6*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN F7*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN F8*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN F9*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN F10*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN F11*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN F12*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN F13*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN F14*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN F15*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN F16*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN F17*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN F18*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN F19*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN F20*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN F21*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN F22*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN F23*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN F24*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN F25*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN F26*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN F27*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN F28*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN F29*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN F30*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN F31*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN F32*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN F33*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN F34*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN F35*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN F36*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN F37*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN F38*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN F39*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN F40*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN F41*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN F42*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN F43*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN F44*VALOR ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN F45*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN F46*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN F47*VALOR ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN F48*VALOR ELSE 0 END)) AS TOTAL_CUSTO4, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN F48 ELSE 0 END)) AS TOTAL_QTDE1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN F48 ELSE 0 END)) AS TOTAL_QTDE2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN F48 ELSE 0 END)) AS TOTAL_QTDE3, CONVERT(INT,SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN F1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN F2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN F3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN F4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN F5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN F6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN F7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN F8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN F9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN F10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN F11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN F12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN F13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN F14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN F15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN F16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN F17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN F18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN F19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN F20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN F21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN F22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN F23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN F24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN F25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN F26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN F27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN F28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN F29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN F30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN F31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN F32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN F33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN F34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN F35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN F36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN F37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN F38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN F39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN F40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN F41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN F42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN F43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN F44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN F45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN F46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN F47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN F48 ELSE 0 END)) AS TOTAL_QTDE4, SUM(F1) AS Q1,SUM(F2) AS Q2,SUM(F3) AS Q3,SUM(F4) AS Q4,SUM(F5) AS Q5,SUM(F6) AS Q6, SUM(F7) AS Q7,SUM(F8) AS Q8,SUM(F9) AS Q9,SUM(F10) AS Q10,SUM(F11) AS Q11,SUM(F12) AS Q12, SUM(F13) AS Q13,SUM(F14) AS Q14,SUM(F15) AS Q15,SUM(F16) AS Q16,SUM(F17) AS Q17,SUM(F18) AS Q18, SUM(F19) AS Q19,SUM(F20) AS Q20,SUM(F21) AS Q21,SUM(F22) AS Q22,SUM(F23) AS Q23,SUM(F24) AS Q24, SUM(F25) AS Q25,SUM(F26) AS Q26,SUM(F27) AS Q27,SUM(F28) AS Q28,SUM(F29) AS Q29,SUM(F30) AS Q30, SUM(F31) AS Q31,SUM(F32) AS Q32,SUM(F33) AS Q33,SUM(F34) AS Q34,SUM(F35) AS Q35,SUM(F36) AS Q36, SUM(F37) AS Q37,SUM(F38) AS Q38,SUM(F39) AS Q39,SUM(F40) AS Q40,SUM(F41) AS Q41,SUM(F42) AS Q42, SUM(F43) AS Q43,SUM(F44) AS Q44,SUM(F45) AS Q45,SUM(F46) AS Q46,SUM(F47) AS Q47,SUM(F48) AS Q48 FROM FATURAMENTO JOIN FATURAMENTO_PROD ON FATURAMENTO.FILIAL = FATURAMENTO_PROD.FILIAL AND FATURAMENTO.NF_SAIDA = FATURAMENTO_PROD.NF_SAIDA AND FATURAMENTO.SERIE_NF = FATURAMENTO_PROD.SERIE_NF JOIN PRODUTOS ON PRODUTOS.PRODUTO=FATURAMENTO_PROD.PRODUTO GROUP BY FATURAMENTO_PROD.FILIAL,FATURAMENTO_PROD.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_FATURAMENTO_DEVOL]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_FATURAMENTO_DEVOL] AS SELECT FATURAM_DEV_PROD.FILIAL,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(F1) AS Q1,SUM(F2) AS Q2,SUM(F3) AS Q3,SUM(F4) AS Q4,SUM(F5) AS Q5,SUM(F6) AS Q6, SUM(F7) AS Q7,SUM(F8) AS Q8,SUM(F9) AS Q9,SUM(F10) AS Q10,SUM(F11) AS Q11,SUM(F12) AS Q12, SUM(F13) AS Q13,SUM(F14) AS Q14,SUM(F15) AS Q15,SUM(F16) AS Q16,SUM(F17) AS Q17,SUM(F18) AS Q18, SUM(F19) AS Q19,SUM(F20) AS Q20,SUM(F21) AS Q21,SUM(F22) AS Q22,SUM(F23) AS Q23,SUM(F24) AS Q24, SUM(F25) AS Q25,SUM(F26) AS Q26,SUM(F27) AS Q27,SUM(F28) AS Q28,SUM(F29) AS Q29,SUM(F30) AS Q30, SUM(F31) AS Q31,SUM(F32) AS Q32,SUM(F33) AS Q33,SUM(F34) AS Q34,SUM(F35) AS Q35,SUM(F36) AS Q36, SUM(F37) AS Q37,SUM(F38) AS Q38,SUM(F39) AS Q39,SUM(F40) AS Q40,SUM(F41) AS Q41,SUM(F42) AS Q42, SUM(F43) AS Q43,SUM(F44) AS Q44,SUM(F45) AS Q45,SUM(F46) AS Q46,SUM(F47) AS Q47,SUM(F48) AS Q48 FROM FATURAMENTO JOIN FATURAM_DEV_PROD ON FATURAMENTO.FILIAL = FATURAM_DEV_PROD.FILIAL AND FATURAMENTO.NF_SAIDA = FATURAM_DEV_PROD.NF_SAIDA AND FATURAMENTO.SERIE_NF = FATURAM_DEV_PROD.SERIE_NF GROUP BY FATURAM_DEV_PROD.FILIAL,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURA_SOMA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FATURA_SOMA] AS SELECT FATURA,SERIE_NF,FILIAL,NATUREZA_SAIDA,CONDICAO_PGTO,DATA_FATURAMENTO_RELATIVO,COD_TRANSACAO,SUM(VALOR_TOTAL) AS VALOR_TOTAL_FATURA ,SUM(IPI_VALOR) AS IPI_VALOR_FATURA, SUM(FRETE) AS FRETE_FATURA, SUM(DESCONTO) AS DESCONTO_FATURA, SUM(SEGURO) AS SEGURO_FATURA, SUM(DESCONTO_COND_PGTO) AS DESCONTO_COND_PGTO_FATURA,SUM(ENCARGO) AS ENCARGO_FATURA, SUM(RECARGO) AS RECARGO_FATURA,SUM(ICMS) AS ICMS_FATURA,SUM(ICMS_BASE) AS ICMS_BASE_FATURA,SUM(IRRF) AS IRRF_FATURA FROM FATURAMENTO WHERE FATURA IS NOT NULL AND NOTA_CANCELADA = 0 GROUP BY FATURA,SERIE_NF,FILIAL,NATUREZA_SAIDA,CONDICAO_PGTO,DATA_FATURAMENTO_RELATIVO,COD_TRANSACAO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GFT_CONTROL_VERSION]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [GFT_CONTROL_VERSION] AS UPDATE GFT_VERSION SET V_LINX=(SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO LIKE ''LINX_VERSAO'') UPDATE GFT_VERSION SET V_INVMARK=(SELECT NUMERO FROM VERSIONDB) UPDATE GFT_VERSION SET V_PM=(SELECT NUMERO FROM PMVERSIONDB ) UPDATE GFT_VERSION SET V_PM65=(SELECT NUMERO FROM PMVERSIONDB65 ) ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_LOJA_SAIDA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_LOJA_SAIDA] AS SELECT LOJA_SAIDAS_PRODUTO.FILIAL,LOJA_SAIDAS_PRODUTO.PRODUTO,COR_PRODUTO,SUM(QTDE_SAIDA) AS QTDE, SUM(EN1) AS Q1,SUM(EN2) AS Q2,SUM(EN3) AS Q3,SUM(EN4) AS Q4,SUM(EN5) AS Q5,SUM(EN6) AS Q6, SUM(EN7) AS Q7,SUM(EN8) AS Q8,SUM(EN9) AS Q9,SUM(EN10) AS Q10,SUM(EN11) AS Q11,SUM(EN12) AS Q12, SUM(EN13) AS Q13,SUM(EN14) AS Q14,SUM(EN15) AS Q15,SUM(EN16) AS Q16,SUM(EN17) AS Q17,SUM(EN18) AS Q18, SUM(EN19) AS Q19,SUM(EN20) AS Q20,SUM(EN21) AS Q21,SUM(EN22) AS Q22,SUM(EN23) AS Q23,SUM(EN24) AS Q24, SUM(EN25) AS Q25,SUM(EN26) AS Q26,SUM(EN27) AS Q27,SUM(EN28) AS Q28,SUM(EN29) AS Q29,SUM(EN30) AS Q30, SUM(EN31) AS Q31,SUM(EN32) AS Q32,SUM(EN33) AS Q33,SUM(EN34) AS Q34,SUM(EN35) AS Q35,SUM(EN36) AS Q36, SUM(EN37) AS Q37,SUM(EN38) AS Q38,SUM(EN39) AS Q39,SUM(EN40) AS Q40,SUM(EN41) AS Q41,SUM(EN42) AS Q42, SUM(EN43) AS Q43,SUM(EN44) AS Q44,SUM(EN45) AS Q45,SUM(EN46) AS Q46,SUM(EN47) AS Q47,SUM(EN48) AS Q48 FROM LOJA_SAIDAS JOIN LOJA_SAIDAS_PRODUTO ON LOJA_SAIDAS.FILIAL = LOJA_SAIDAS_PRODUTO.FILIAL AND LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO JOIN PRODUTOS ON PRODUTOS.PRODUTO=LOJA_SAIDAS_PRODUTO.PRODUTO GROUP BY LOJA_SAIDAS_PRODUTO.FILIAL,LOJA_SAIDAS_PRODUTO.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_HOJAS_DEVOLUCIONES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_HOJAS_DEVOLUCIONES] AS SELECT LOJA_SAIDAS.ROMANEIO_PRODUTO AS NUMHOJA, LOJA_SAIDAS.EMISSAO AS FECHA, RDX_FILIALES_ORI.CODBARRA AS CENTRO_ORIGEN, LOJA_SAIDAS.FILIAL AS FILIAL_ORIGEN, RDX_FILIALES_DES.CODBARRA AS CENTRO_DESTINO, LOJA_SAIDAS.FILIAL_DESTINO AS FILIAL_DESTINO, PRODUTOS_BARRA.CODIGO_BARRA, LOJA_SAIDAS_PRODUTO.PRODUTO AS CODIGO, PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, ''*** ERROR REFERENCIA ****''), PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.GRADE AS TALLA, CANTIDAD = CASE PRODUTOS_BARRA.GRADE WHEN ''38'' THEN EN1 WHEN ''40'' THEN EN2 WHEN ''42'' THEN EN3 WHEN ''44'' THEN EN4 WHEN ''46'' THEN EN5 WHEN ''48'' THEN EN6 END, RDX_AJUSTES_HOJA_DEVOLUCIONES.ESTADO, RDX_AJUSTES_HOJA_DEVOLUCIONES.OBSERVACIONES, CONTABILIZAR = ISNULL(RDX_AJUSTES_HOJA_DEVOLUCIONES.CONTABILIZAR, ''S'') FROM LOJA_SAIDAS_PRODUTO INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO) INNER JOIN PRODUTOS_BARRA on (((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND (PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_PRODUTO)) AND ((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN ''38'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN ''40'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN ''42'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN ''44'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN ''46'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN ''48'' END))) INNER JOIN PRODUTOS on (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO) INNER JOIN FILIAIS AS FILIAIS_ORI ON (FILIAIS_ORI.FILIAL = LOJA_SAIDAS.FILIAL) INNER JOIN RDX_FILIALES AS RDX_FILIALES_ORI ON (RDX_FILIALES_ORI.CODFILIAL = FILIAIS_ORI.COD_FILIAL) INNER JOIN FILIAIS AS FILIAIS_DES ON (FILIAIS_DES.FILIAL = LOJA_SAIDAS.FILIAL_DESTINO) INNER JOIN RDX_FILIALES AS RDX_FILIALES_DES ON (RDX_FILIALES_DES.CODFILIAL = FILIAIS_DES.COD_FILIAL) LEFT OUTER JOIN RDX_AJUSTES_HOJA_DEVOLUCIONES ON (RDX_AJUSTES_HOJA_DEVOLUCIONES.NUMHOJA = LOJA_SAIDAS.ROMANEIO_PRODUTO) WHERE LOJA_SAIDAS.TIPO_ENTRADA_SAIDA = 2 /* DEVOLUCION DE PRENDAS A VARELA */ AND LOJA_SAIDAS.EMISSAO >= ''2006.07.01'' /* PARA NO COGER AÑOS ANTERIORES */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_HOJAS_TRASPASOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_HOJAS_TRASPASOS] AS SELECT LOJA_SAIDAS.ROMANEIO_PRODUTO AS NUMHOJA, LOJA_SAIDAS.EMISSAO AS FECHA, RDX_FILIALES_ORI.CODBARRA AS CENTRO_ORIGEN, LOJA_SAIDAS.FILIAL AS FILIAL_ORIGEN, RDX_FILIALES_DES.CODBARRA AS CENTRO_DESTINO, LOJA_SAIDAS.FILIAL_DESTINO AS FILIAL_DESTINO, PRODUTOS_BARRA.CODIGO_BARRA, LOJA_SAIDAS_PRODUTO.PRODUTO AS CODIGO, PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, ''*** ERROR REFERENCIA ****''), PRODUTOS_BARRA.COR_PRODUTO AS COLOR, PRODUTOS_BARRA.GRADE AS TALLA, CANTIDAD = CASE PRODUTOS_BARRA.GRADE WHEN ''38'' THEN EN1 WHEN ''40'' THEN EN2 WHEN ''42'' THEN EN3 WHEN ''44'' THEN EN4 WHEN ''46'' THEN EN5 WHEN ''48'' THEN EN6 END FROM LOJA_SAIDAS_PRODUTO INNER JOIN LOJA_SAIDAS ON (LOJA_SAIDAS.ROMANEIO_PRODUTO = LOJA_SAIDAS_PRODUTO.ROMANEIO_PRODUTO) INNER JOIN PRODUTOS_BARRA on (((PRODUTOS_BARRA.PRODUTO = LOJA_SAIDAS_PRODUTO.PRODUTO) AND (PRODUTOS_BARRA.COR_PRODUTO = LOJA_SAIDAS_PRODUTO.COR_PRODUTO)) AND ((PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN1 <> 0) THEN ''38'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN2 <> 0) THEN ''40'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN3 <> 0) THEN ''42'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN4 <> 0) THEN ''44'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN5 <> 0) THEN ''46'' END) OR (PRODUTOS_BARRA.GRADE = CASE WHEN (LOJA_SAIDAS_PRODUTO.EN6 <> 0) THEN ''48'' END))) INNER JOIN PRODUTOS on (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO) INNER JOIN FILIAIS AS FILIAIS_ORI ON (FILIAIS_ORI.FILIAL = LOJA_SAIDAS.FILIAL) INNER JOIN RDX_FILIALES AS RDX_FILIALES_ORI ON (RDX_FILIALES_ORI.CODFILIAL = FILIAIS_ORI.COD_FILIAL) INNER JOIN FILIAIS AS FILIAIS_DES ON (FILIAIS_DES.FILIAL = LOJA_SAIDAS.FILIAL_DESTINO) INNER JOIN RDX_FILIALES AS RDX_FILIALES_DES ON (RDX_FILIALES_DES.CODFILIAL = FILIAIS_DES.COD_FILIAL) WHERE LOJA_SAIDAS.TIPO_ENTRADA_SAIDA = 1 /* TRASPASOS DE PRENDAS A OTRO CENTRO */ AND LOJA_SAIDAS.EMISSAO >= ''2006.07.01'' /* PARA NO COGER AÑOS ANTERIORES */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_lojas_saidas_produto]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_lojas_saidas_produto] (FILIAL, PRODUTO, qtde_saida, ultima_saida) AS SELECT LOJA_SAIDAS_PRODUTO.FILIAL, LOJA_SAIDAS_PRODUTO.PRODUTO, sum(qtde_saida), max(emissao) FROM LOJA_SAIDAS_PRODUTO, LOJA_SAIDAS WHERE loja_saidas_produto.romaneio_produto = loja_saidas.romaneio_produto AND loja_saidas_produto.filial = loja_saidas.filial AND emissao >= ''19980101 00:00:00.000'' AND emissao <= ''19980201 00:00:00.000'' GROUP BY loja_saidas_produto.filial, loja_saidas.filial, loja_saidas_produto.produto ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASEDI_RESUELTAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASEDI_RESUELTAS] AS SELECT RDX_V_VENTASEDI.NUMINF, RDX_V_VENTASEDI.CLAVE1, RDX_V_VENTASEDI.CLAVE2, RDX_V_VENTASEDI.CLAVE3, RDX_V_VENTASEDI.PERVENINI, RDX_V_VENTASEDI.NUMTALON, RDX_V_VENTASEDI.EANLUG, RDX_V_VENTASEDI.FILIAL, RDX_V_VENTASEDI.EANVEN, RDX_V_VENTASEDI.CODVEN, RDX_V_VENTASEDI.VENDEDOR, EANART = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART), RDX_V_VENTASEDI.CODCOM, PRODUTO = ISNULL(PRODUTOS_BARRA.PRODUTO, RDX_V_VENTASEDI.PRODUTO), DESC_PRODUTO = ISNULL(PRODUTOS.DESC_PRODUTO, RDX_V_VENTASEDI.DESC_PRODUTO), COR_PRODUTO = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, RDX_V_VENTASEDI.COR_PRODUTO), GRADE = ISNULL(PRODUTOS_BARRA.GRADE, RDX_V_VENTASEDI.GRADE), TIPO_PRODUTO = ISNULL(PRODUTOS.TIPO_PRODUTO, RDX_V_VENTASEDI.TIPO_PRODUTO), GRUPO_PRODUTO = ISNULL(PRODUTOS.GRUPO_PRODUTO, RDX_V_VENTASEDI.GRUPO_PRODUTO), PRODUTOS.COLECAO, DESC_COLECAO = ISNULL(COLECOES.DESC_COLECAO, RDX_V_VENTASEDI.DESC_COLECAO), RDX_V_VENTASEDI.VALVEN, RDX_V_VENTASEDI.CANVEN, RDX_V_VENTASEDI.CANDEV, RDX_V_VENTASEDI.CANVENNET, RDX_V_VENTASEDI.CANESP FROM RDX_V_VENTASEDI LEFT JOIN RDX_V_REFERENCIAS_RESUELTAS ON ( (RDX_V_REFERENCIAS_RESUELTAS.NUMINF = RDX_V_VENTASEDI.NUMINF) AND (RDX_V_REFERENCIAS_RESUELTAS.CLAVE1 = RDX_V_VENTASEDI.CLAVE1) AND (RDX_V_REFERENCIAS_RESUELTAS.CLAVE2 = RDX_V_VENTASEDI.CLAVE2) AND (RDX_V_REFERENCIAS_RESUELTAS.CLAVE3 = RDX_V_VENTASEDI.CLAVE3)) LEFT JOIN PRODUTOS_BARRA ON ( (PRODUTOS_BARRA.CODIGO_BARRA = ISNULL(RDX_V_REFERENCIAS_RESUELTAS.CODIGO_BARRA, RDX_V_VENTASEDI.EANART))) LEFT JOIN PRODUTOS ON ( (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO)) LEFT JOIN COLECOES ON ( (COLECOES.COLECAO = PRODUTOS.COLECAO)) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_LOJA_VENDA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_LOJA_VENDA] AS SELECT FILIAL,LOJA_VENDA_PRODUTO.PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END) AS Q1,SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END) AS Q2, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END) AS Q3,SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END) AS Q4, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END) AS Q5,SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END) AS Q6, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END) AS Q7,SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END) AS Q8, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END) AS Q9,SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END) AS Q10, SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END) AS Q11,SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END) AS Q12, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END) AS Q13,SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END) AS Q14, SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END) AS Q15,SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END) AS Q16, SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END) AS Q17,SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END) AS Q18, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END) AS Q19,SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END) AS Q20, SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END) AS Q21,SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END) AS Q22, SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END) AS Q23,SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END) AS Q24, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END) AS Q25,SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END) AS Q26, SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END) AS Q27,SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END) AS Q28, SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END) AS Q29,SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END) AS Q30, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END) AS Q31,SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END) AS Q32, SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END) AS Q33,SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END) AS Q34, SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END) AS Q35,SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END) AS Q36, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END) AS Q37,SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END) AS Q38, SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END) AS Q39,SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END) AS Q40, SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END) AS Q41,SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END) AS Q42, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END) AS Q43,SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END) AS Q44, SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END) AS Q45,SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END) AS Q46, SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END) AS Q47,SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) AS Q48 FROM LOJA_VENDA_PRODUTO JOIN LOJAS_VAREJO ON LOJA_VENDA_PRODUTO.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL JOIN PRODUTOS ON PRODUTOS.PRODUTO=LOJA_VENDA_PRODUTO.PRODUTO GROUP BY FILIAL,LOJA_VENDA_PRODUTO.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_REFERENCIA_GENERICA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_REFERENCIA_GENERICA] AS SELECT DISTINCT VENTAS.NUMINF, VENTAS.CLAVE1, VENTAS.CLAVE2, VENTAS.CLAVE3, NUMCON = ISNULL(REF.NUMCON, 0), VENTAS.PERVENINI AS FECHA, VENTAS.EANLUG AS CODCENTRO, VENTAS.FILIAL AS CENTRO, VENTAS.EANVEN AS CODVENDEDOR, VENTAS.VENDEDOR, VENTAS.NUMTALON, CODIGO_BARRA = ISNULL(PRODUTOS_BARRA.CODIGO_BARRA, VENTAS.EANART), CODIGO = ISNULL(PRODUTOS_BARRA.PRODUTO, VENTAS.PRODUTO), PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, VENTAS.DESC_PRODUTO), COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, VENTAS.COR_PRODUTO), TALLA = ISNULL(PRODUTOS_BARRA.GRADE, VENTAS.GRADE), VTAPROCESO = ISNULL(REF.CANESP, VENTAS.CANESP), VTAFINAL = ISNULL(REF.CANVENNET, VENTAS.CANVENNET), VTATERM = ISNULL(REF.CANVEN, VENTAS.CANVEN), VALTOT = ISNULL(REF.VALVEN, VENTAS.VALVEN), REF.ESTADO, REF.FECHACAMBIO FROM RDX_V_VENTASEDI_ERRONEAS VENTAS LEFT OUTER JOIN RDX_REFERENCIA_GENERICA REF ON (REF.NUMINF = VENTAS.NUMINF AND REF.CLAVE1 = VENTAS.CLAVE1 AND REF.CLAVE2 = VENTAS.CLAVE2 AND REF.CLAVE3 = VENTAS.CLAVE3) LEFT OUTER JOIN PRODUTOS_BARRA on (PRODUTOS_BARRA.CODIGO_BARRA = REF.CODIGO_BARRA) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO) WHERE NOT ((VENTAS.VALVEN < 1) AND (VENTAS.VALVEN > 0)) /* QUITAR COMPOSTURAS */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASEDI]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASEDI] AS SELECT RDX_CABVEN.NUMINF, RDX_ARTVEN.CLAVE1, RDX_ARTVEN.CLAVE2, RDX_ARTVEN.CLAVE3, RDX_LUGVEN.PERVENINI, RDX_ARTVEN.NUMTALON, RDX_LUGVEN.EANLUG, FILIAL = ISNULL(FILIAIS.FILIAL, RDX_LUGVEN.EANLUG), RDX_ARTVEN.EANVEN, LOJA_VENDEDORES.VENDEDOR AS CODVEN, VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + '' '' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_ARTVEN.EANVEN), RDX_ARTVEN.EANART, RDX_ARTVEN.CODCOM, produtos.PRODUTO, ISNULL(produtos.DESC_PRODUTO, ''*** ERROR REFERENCIA **** LLAMAR AL CI'') AS DESC_PRODUTO, PRODUTOS_BARRA.COR_PRODUTO, PRODUTOS_BARRA.GRADE, produtos.TIPO_PRODUTO, produtos.GRUPO_PRODUTO, COLECOES.DESC_COLECAO, RDX_ARTVEN.VALVEN, RDX_ARTVEN.CANVEN, RDX_ARTVEN.CANDEV, RDX_ARTVEN.CANVENNET, RDX_ARTVEN.CANESP FROM RDX_ARTVEN INNER JOIN RDX_LUGVEN ON (RDX_ARTVEN.CLAVE1 = RDX_LUGVEN.CLAVE1 AND RDX_ARTVEN.CLAVE2 = RDX_LUGVEN.CLAVE2) INNER JOIN RDX_CABVEN ON (RDX_LUGVEN.CLAVE1 = RDX_CABVEN.CLAVE1) left outer join RDX_FILIALES on (RDX_FILIALES.CODBARRA = RDX_LUGVEN.EANLUG) left outer join FILIAIS on (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL) LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG LIKE ''%'' + RDX_ARTVEN.EANVEN + ''%'') LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.EANART) or (PRODUTOS_BARRA.CODIGO_BARRA = RDX_ARTVEN.CODCOM)) LEFT OUTER JOIN PRODUTOS on (produtos.PRODUTO = PRODUTOS_BARRA.PRODUTO) LEFT OUTER JOIN COLECOES on (COLECOES.COLECAO = PRODUTOS.COLECAO) WHERE (RDX_CABVEN.IGNORAR IS NULL) OR (RDX_CABVEN.IGNORAR <> ''S'') ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_PRODUCAO_ENT]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_PRODUCAO_ENT] AS SELECT ESTOQUE_PROD1_ENT.FILIAL,ESTOQUE_PROD1_ENT.PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, MAX(EMISSAO) AS ULTIMA_ENTRADA, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=1 THEN EN_1*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN EN_2*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN EN_3*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN EN_4*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=1 THEN EN_5*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN EN_6*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN EN_7*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN EN_8*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=1 THEN EN_9*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN_10*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN_11*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN_12*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN_13*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN_14*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN_15*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN_16*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN_17*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN_18*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN_19*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN_20*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN_21*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN_22*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN_23*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN_24*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN_25*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN_26*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN_27*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN_28*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN_29*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN_30*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN_31*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN_32*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN_33*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN_34*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN_35*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN_36*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN_37*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN_38*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN_39*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN_40*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN_41*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN_42*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN_43*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN_44*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN_45*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN_46*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN_47*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN_48*CUSTO1 ELSE 0 END)) AS TOTAL_CUSTO1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN EN_1*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN EN_2*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN EN_3*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN EN_4*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN EN_5*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN EN_6*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN EN_7*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN EN_8*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN EN_9*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN_10*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN_11*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN_12*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN_13*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN_14*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN_15*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN_16*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN_17*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN_18*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN_19*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN_20*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN_21*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN_22*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN_23*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN_24*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN_25*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN_26*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN_27*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN_28*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN_29*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN_30*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN_31*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN_32*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN_33*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN_34*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN_35*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN_36*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN_37*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN_38*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN_39*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN_40*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN_41*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN_42*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN_43*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN_44*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN_45*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN_46*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN_47*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN_48*CUSTO2 ELSE 0 END)) AS TOTAL_CUSTO2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN EN_1*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN EN_2*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN EN_3*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN_4*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN EN_5*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN EN_6*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN EN_7*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN_8*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN EN_9*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN_10*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN_11*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN_12*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN_13*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN_14*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN_15*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN_16*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN_17*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN_18*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN_19*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN_20*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN_21*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN_22*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN_23*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN_24*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN_25*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN_26*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN_27*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN_28*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN_29*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN_30*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN_31*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN_32*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN_33*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN_34*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN_35*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN_36*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN_37*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN_38*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN_39*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN_40*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN_41*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN_42*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN_43*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN_44*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN_45*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN_46*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN_47*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN_48*CUSTO3 ELSE 0 END)) AS TOTAL_CUSTO3, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN EN_1*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN EN_2*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN EN_3*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN EN_4*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN EN_5*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN EN_6*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN EN_7*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN EN_8*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN EN_9*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN_10*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN_11*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN_12*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN_13*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN_14*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN_15*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN_16*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN_17*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN_18*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN_19*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN_20*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN_21*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN_22*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN_23*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN_24*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN_25*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN_26*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN_27*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN_28*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN_29*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN_30*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN_31*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN_32*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN_33*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN_34*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN_35*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN_36*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN_37*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN_38*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN_39*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN_40*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN_41*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN_42*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN_43*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN_44*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN_45*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN_46*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN_47*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN_48*CUSTO4 ELSE 0 END)) AS TOTAL_CUSTO4, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN EN_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN EN_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN EN_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN EN_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN EN_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN EN_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN EN_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN EN_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN EN_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN EN_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN EN_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN EN_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN EN_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN EN_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN EN_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN EN_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN EN_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN EN_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN EN_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN EN_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN EN_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN EN_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN EN_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN EN_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN EN_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN EN_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN EN_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN EN_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN EN_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN EN_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN EN_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN EN_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN EN_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN EN_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN EN_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN EN_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN EN_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN EN_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN EN_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN EN_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN EN_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN EN_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN EN_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN EN_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN EN_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN EN_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN EN_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN EN_48 ELSE 0 END)) AS TOTAL_QTDE1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN EN_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN EN_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN EN_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN EN_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN EN_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN EN_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN EN_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN EN_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN EN_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN EN_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN EN_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN EN_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN EN_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN EN_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN EN_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN EN_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN EN_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN EN_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN EN_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN EN_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN EN_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN EN_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN EN_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN EN_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN EN_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN EN_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN EN_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN EN_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN EN_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN EN_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN EN_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN EN_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN EN_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN EN_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN EN_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN EN_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN EN_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN EN_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN EN_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN EN_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN EN_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN EN_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN EN_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN EN_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN EN_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN EN_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN EN_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN EN_48 ELSE 0 END)) AS TOTAL_QTDE2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN EN_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN EN_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN EN_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN EN_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN EN_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN EN_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN EN_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN EN_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN EN_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN EN_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN EN_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN EN_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN EN_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN EN_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN EN_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN EN_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN EN_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN EN_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN EN_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN EN_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN EN_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN EN_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN EN_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN EN_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN EN_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN EN_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN EN_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN EN_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN EN_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN EN_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN EN_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN EN_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN EN_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN EN_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN EN_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN EN_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN EN_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN EN_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN EN_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN EN_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN EN_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN EN_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN EN_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN EN_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN EN_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN EN_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN EN_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN EN_48 ELSE 0 END)) AS TOTAL_QTDE3, CONVERT(INT,SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN EN_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN EN_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN EN_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN EN_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN EN_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN EN_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN EN_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN EN_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN EN_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN EN_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN EN_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN EN_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN EN_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN EN_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN EN_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN EN_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN EN_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN EN_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN EN_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN EN_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN EN_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN EN_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN EN_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN EN_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN EN_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN EN_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN EN_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN EN_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN EN_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN EN_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN EN_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN EN_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN EN_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN EN_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN EN_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN EN_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN EN_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN EN_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN EN_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN EN_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN EN_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN EN_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN EN_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN EN_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN EN_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN EN_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN EN_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN EN_48 ELSE 0 END)) AS TOTAL_QTDE4, SUM(EN_1) AS Q1,SUM(EN_2) AS Q2,SUM(EN_3) AS Q3,SUM(EN_4) AS Q4,SUM(EN_5) AS Q5,SUM(EN_6) AS Q6, SUM(EN_7) AS Q7,SUM(EN_8) AS Q8,SUM(EN_9) AS Q9,SUM(EN_10) AS Q10,SUM(EN_11) AS Q11,SUM(EN_12) AS Q12, SUM(EN_13) AS Q13,SUM(EN_14) AS Q14,SUM(EN_15) AS Q15,SUM(EN_16) AS Q16,SUM(EN_17) AS Q17,SUM(EN_18) AS Q18, SUM(EN_19) AS Q19,SUM(EN_20) AS Q20,SUM(EN_21) AS Q21,SUM(EN_22) AS Q22,SUM(EN_23) AS Q23,SUM(EN_24) AS Q24, SUM(EN_25) AS Q25,SUM(EN_26) AS Q26,SUM(EN_27) AS Q27,SUM(EN_28) AS Q28,SUM(EN_29) AS Q29,SUM(EN_30) AS Q30, SUM(EN_31) AS Q31,SUM(EN_32) AS Q32,SUM(EN_33) AS Q33,SUM(EN_34) AS Q34,SUM(EN_35) AS Q35,SUM(EN_36) AS Q36, SUM(EN_37) AS Q37,SUM(EN_38) AS Q38,SUM(EN_39) AS Q39,SUM(EN_40) AS Q40,SUM(EN_41) AS Q41,SUM(EN_42) AS Q42, SUM(EN_43) AS Q43,SUM(EN_44) AS Q44,SUM(EN_45) AS Q45,SUM(EN_46) AS Q46,SUM(EN_47) AS Q47,SUM(EN_48) AS Q48 FROM ESTOQUE_PROD_ENT JOIN ESTOQUE_PROD1_ENT ON ESTOQUE_PROD_ENT.FILIAL = ESTOQUE_PROD1_ENT.FILIAL AND ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO = ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO JOIN PRODUTOS ON PRODUTOS.PRODUTO=ESTOQUE_PROD1_ENT.PRODUTO GROUP BY ESTOQUE_PROD1_ENT.FILIAL,ESTOQUE_PROD1_ENT.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_PRODUCAO_SAI]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_PRODUCAO_SAI] AS SELECT ESTOQUE_PROD1_SAI.FILIAL,ESTOQUE_PROD1_SAI.PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, MAX(EMISSAO) AS ULTIMA_SAIDA, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=1 THEN SA_1*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=1 THEN SA_2*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=1 THEN SA_3*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=1 THEN SA_4*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=1 THEN SA_5*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=1 THEN SA_6*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=1 THEN SA_7*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=1 THEN SA_8*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=1 THEN SA_9*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN SA_10*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN SA_11*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN SA_12*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN SA_13*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN SA_14*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN SA_15*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN SA_16*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN SA_17*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN SA_18*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN SA_19*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN SA_20*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN SA_21*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN SA_22*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN SA_23*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN SA_24*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN SA_25*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN SA_26*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN SA_27*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN SA_28*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN SA_29*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN SA_30*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN SA_31*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN SA_32*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN SA_33*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN SA_34*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN SA_35*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN SA_36*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN SA_37*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN SA_38*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN SA_39*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN SA_40*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN SA_41*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN SA_42*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN SA_43*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN SA_44*CUSTO1 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN SA_45*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN SA_46*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN SA_47*CUSTO1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN SA_48*CUSTO1 ELSE 0 END)) AS TOTAL_CUSTO1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=2 THEN SA_1*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=2 THEN SA_2*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=2 THEN SA_3*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=2 THEN SA_4*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=2 THEN SA_5*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=2 THEN SA_6*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=2 THEN SA_7*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=2 THEN SA_8*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=2 THEN SA_9*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN SA_10*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN SA_11*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN SA_12*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN SA_13*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN SA_14*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN SA_15*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN SA_16*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN SA_17*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN SA_18*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN SA_19*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN SA_20*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN SA_21*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN SA_22*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN SA_23*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN SA_24*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN SA_25*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN SA_26*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN SA_27*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN SA_28*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN SA_29*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN SA_30*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN SA_31*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN SA_32*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN SA_33*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN SA_34*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN SA_35*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN SA_36*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN SA_37*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN SA_38*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN SA_39*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN SA_40*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN SA_41*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN SA_42*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN SA_43*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN SA_44*CUSTO2 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN SA_45*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN SA_46*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN SA_47*CUSTO2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN SA_48*CUSTO2 ELSE 0 END)) AS TOTAL_CUSTO2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=3 THEN SA_1*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=3 THEN SA_2*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=3 THEN SA_3*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN SA_4*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=3 THEN SA_5*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=3 THEN SA_6*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=3 THEN SA_7*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN SA_8*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=3 THEN SA_9*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN SA_10*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN SA_11*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN SA_12*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN SA_13*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN SA_14*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN SA_15*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN SA_16*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN SA_17*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN SA_18*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN SA_19*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN SA_20*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN SA_21*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN SA_22*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN SA_23*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN SA_24*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN SA_25*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN SA_26*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN SA_27*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN SA_28*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN SA_29*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN SA_30*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN SA_31*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN SA_32*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN SA_33*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN SA_34*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN SA_35*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN SA_36*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN SA_37*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN SA_38*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN SA_39*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN SA_40*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN SA_41*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN SA_42*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN SA_43*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN SA_44*CUSTO3 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN SA_45*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN SA_46*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN SA_47*CUSTO3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN SA_48*CUSTO3 ELSE 0 END)) AS TOTAL_CUSTO3, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=4 THEN SA_1*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,2,1)=4 THEN SA_2*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,3,1)=4 THEN SA_3*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=4 THEN SA_4*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=4 THEN SA_5*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,6,1)=4 THEN SA_6*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,7,1)=4 THEN SA_7*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=4 THEN SA_8*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=4 THEN SA_9*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN SA_10*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN SA_11*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN SA_12*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN SA_13*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN SA_14*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN SA_15*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN SA_16*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN SA_17*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN SA_18*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN SA_19*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN SA_20*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN SA_21*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN SA_22*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN SA_23*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN SA_24*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN SA_25*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN SA_26*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN SA_27*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN SA_28*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN SA_29*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN SA_30*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN SA_31*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN SA_32*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN SA_33*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN SA_34*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN SA_35*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN SA_36*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN SA_37*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN SA_38*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN SA_39*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN SA_40*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN SA_41*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN SA_42*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN SA_43*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN SA_44*CUSTO4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN SA_45*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN SA_46*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN SA_47*CUSTO4 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN SA_48*CUSTO4 ELSE 0 END)) AS TOTAL_CUSTO4, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,1,1)=1 THEN SA_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=1 THEN SA_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=1 THEN SA_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=1 THEN SA_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,5,1)=1 THEN SA_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=1 THEN SA_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=1 THEN SA_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=1 THEN SA_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,9,1)=1 THEN SA_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=1 THEN SA_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=1 THEN SA_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=1 THEN SA_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=1 THEN SA_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=1 THEN SA_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=1 THEN SA_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=1 THEN SA_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=1 THEN SA_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=1 THEN SA_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=1 THEN SA_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=1 THEN SA_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=1 THEN SA_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=1 THEN SA_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=1 THEN SA_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=1 THEN SA_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=1 THEN SA_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=1 THEN SA_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=1 THEN SA_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=1 THEN SA_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=1 THEN SA_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=1 THEN SA_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=1 THEN SA_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=1 THEN SA_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=1 THEN SA_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=1 THEN SA_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=1 THEN SA_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=1 THEN SA_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=1 THEN SA_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=1 THEN SA_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=1 THEN SA_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=1 THEN SA_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=1 THEN SA_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=1 THEN SA_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=1 THEN SA_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=1 THEN SA_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=1 THEN SA_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=1 THEN SA_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=1 THEN SA_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=1 THEN SA_48 ELSE 0 END)) AS TOTAL_QTDE1, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=2 THEN SA_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=2 THEN SA_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=2 THEN SA_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=2 THEN SA_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=2 THEN SA_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=2 THEN SA_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=2 THEN SA_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=2 THEN SA_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=2 THEN SA_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=2 THEN SA_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=2 THEN SA_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=2 THEN SA_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=2 THEN SA_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=2 THEN SA_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=2 THEN SA_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=2 THEN SA_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=2 THEN SA_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=2 THEN SA_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=2 THEN SA_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=2 THEN SA_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=2 THEN SA_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=2 THEN SA_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=2 THEN SA_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=2 THEN SA_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=2 THEN SA_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=2 THEN SA_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=2 THEN SA_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=2 THEN SA_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=2 THEN SA_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=2 THEN SA_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=2 THEN SA_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=2 THEN SA_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=2 THEN SA_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=2 THEN SA_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=2 THEN SA_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=2 THEN SA_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=2 THEN SA_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=2 THEN SA_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=2 THEN SA_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=2 THEN SA_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=2 THEN SA_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=2 THEN SA_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=2 THEN SA_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=2 THEN SA_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=2 THEN SA_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=2 THEN SA_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=2 THEN SA_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=2 THEN SA_48 ELSE 0 END)) AS TOTAL_QTDE2, CONVERT(NUMERIC(14,2),SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=3 THEN SA_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=3 THEN SA_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=3 THEN SA_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,4,1)=3 THEN SA_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=3 THEN SA_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=3 THEN SA_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=3 THEN SA_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,8,1)=3 THEN SA_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=3 THEN SA_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=3 THEN SA_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=3 THEN SA_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=3 THEN SA_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=3 THEN SA_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=3 THEN SA_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=3 THEN SA_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=3 THEN SA_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=3 THEN SA_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=3 THEN SA_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=3 THEN SA_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=3 THEN SA_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=3 THEN SA_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=3 THEN SA_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=3 THEN SA_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=3 THEN SA_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=3 THEN SA_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=3 THEN SA_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=3 THEN SA_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=3 THEN SA_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=3 THEN SA_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=3 THEN SA_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=3 THEN SA_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=3 THEN SA_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=3 THEN SA_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=3 THEN SA_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=3 THEN SA_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=3 THEN SA_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=3 THEN SA_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=3 THEN SA_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=3 THEN SA_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=3 THEN SA_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=3 THEN SA_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=3 THEN SA_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=3 THEN SA_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=3 THEN SA_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=3 THEN SA_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=3 THEN SA_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=3 THEN SA_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=3 THEN SA_48 ELSE 0 END)) AS TOTAL_QTDE3, CONVERT(INT,SUM( CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 1,1)=4 THEN SA_1 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 2,1)=4 THEN SA_2 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 3,1)=4 THEN SA_3 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 4,1)=4 THEN SA_4 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 5,1)=4 THEN SA_5 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 6,1)=4 THEN SA_6 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 7,1)=4 THEN SA_7 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 8,1)=4 THEN SA_8 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM, 9,1)=4 THEN SA_9 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,10,1)=4 THEN SA_10 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,11,1)=4 THEN SA_11 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,12,1)=4 THEN SA_12 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,13,1)=4 THEN SA_13 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,14,1)=4 THEN SA_14 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,15,1)=4 THEN SA_15 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,16,1)=4 THEN SA_16 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,17,1)=4 THEN SA_17 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,18,1)=4 THEN SA_18 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,19,1)=4 THEN SA_19 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,20,1)=4 THEN SA_20 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,21,1)=4 THEN SA_21 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,22,1)=4 THEN SA_22 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,23,1)=4 THEN SA_23 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,24,1)=4 THEN SA_24 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,25,1)=4 THEN SA_25 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,26,1)=4 THEN SA_26 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,27,1)=4 THEN SA_27 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,28,1)=4 THEN SA_28 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,29,1)=4 THEN SA_29 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,30,1)=4 THEN SA_30 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,31,1)=4 THEN SA_31 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,32,1)=4 THEN SA_32 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,33,1)=4 THEN SA_33 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,34,1)=4 THEN SA_34 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,35,1)=4 THEN SA_35 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,36,1)=4 THEN SA_36 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,37,1)=4 THEN SA_37 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,38,1)=4 THEN SA_38 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,39,1)=4 THEN SA_39 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,40,1)=4 THEN SA_40 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,41,1)=4 THEN SA_41 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,42,1)=4 THEN SA_42 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,43,1)=4 THEN SA_43 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,44,1)=4 THEN SA_44 ELSE 0 END+ CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,45,1)=4 THEN SA_45 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,46,1)=4 THEN SA_46 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,47,1)=4 THEN SA_47 ELSE 0 END+CASE WHEN SUBSTRING(PONTEIRO_PRECO_TAM,48,1)=4 THEN SA_48 ELSE 0 END)) AS TOTAL_QTDE4, SUM(SA_1) AS Q1,SUM(SA_2) AS Q2,SUM(SA_3) AS Q3,SUM(SA_4) AS Q4,SUM(SA_5) AS Q5,SUM(SA_6) AS Q6, SUM(SA_7) AS Q7,SUM(SA_8) AS Q8,SUM(SA_9) AS Q9,SUM(SA_10) AS Q10,SUM(SA_11) AS Q11,SUM(SA_12) AS Q12, SUM(SA_13) AS Q13,SUM(SA_14) AS Q14,SUM(SA_15) AS Q15,SUM(SA_16) AS Q16,SUM(SA_17) AS Q17,SUM(SA_18) AS Q18, SUM(SA_19) AS Q19,SUM(SA_20) AS Q20,SUM(SA_21) AS Q21,SUM(SA_22) AS Q22,SUM(SA_23) AS Q23,SUM(SA_24) AS Q24, SUM(SA_25) AS Q25,SUM(SA_26) AS Q26,SUM(SA_27) AS Q27,SUM(SA_28) AS Q28,SUM(SA_29) AS Q29,SUM(SA_30) AS Q30, SUM(SA_31) AS Q31,SUM(SA_32) AS Q32,SUM(SA_33) AS Q33,SUM(SA_34) AS Q34,SUM(SA_35) AS Q35,SUM(SA_36) AS Q36, SUM(SA_37) AS Q37,SUM(SA_38) AS Q38,SUM(SA_39) AS Q39,SUM(SA_40) AS Q40,SUM(SA_41) AS Q41,SUM(SA_42) AS Q42, SUM(SA_43) AS Q43,SUM(SA_44) AS Q44,SUM(SA_45) AS Q45,SUM(SA_46) AS Q46,SUM(SA_47) AS Q47,SUM(SA_48) AS Q48 FROM ESTOQUE_PROD_SAI JOIN ESTOQUE_PROD1_SAI ON ESTOQUE_PROD_SAI.FILIAL = ESTOQUE_PROD1_SAI.FILIAL AND ESTOQUE_PROD_SAI.ROMANEIO_PRODUTO = ESTOQUE_PROD1_SAI.ROMANEIO_PRODUTO JOIN PRODUTOS ON PRODUTOS.PRODUTO=ESTOQUE_PROD1_SAI.PRODUTO GROUP BY ESTOQUE_PROD1_SAI.FILIAL,ESTOQUE_PROD1_SAI.PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK_VARELA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'-- -- Definition for view RDX_V_STOCK_VARELA : -- CREATE VIEW [RDX_V_STOCK_VARELA] AS SELECT ESTOQUE_PRODUTOS.FILIAL, ESTOQUE_PRODUTOS.PRODUTO AS CODIGO, ESTOQUE_PRODUTOS.COR_PRODUTO AS COLOR, PRODUCTO = PRODUTOS.DESC_PRODUTO, PRODUTOS.TIPO_PRODUTO, PRODUTOS.GRUPO_PRODUTO, COLECCION = PRODUTOS.COLECAO, ESTOQUE_PRODUTOS.ES1 as K38, ESTOQUE_PRODUTOS.ES2 as K40, ESTOQUE_PRODUTOS.ES3 as K42, ESTOQUE_PRODUTOS.ES4 as K44, ESTOQUE_PRODUTOS.ES5 as K46, ESTOQUE_PRODUTOS.ES6 as K48, ESTOQUE_PRODUTOS.ESTOQUE as KT FROM ESTOQUE_PRODUTOS LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ESTOQUE_PRODUTOS.PRODUTO) WHERE FILIAL LIKE ''%VARELA IMAGEN Y DISEÑO%'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_INVENTARIOEDI]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_INVENTARIOEDI] AS SELECT RDX_CANTINV.NUMDOC, RDX_CANTINV.NUMLIN, RDX_CANTINV.NUMCANT, RDX_CANTINV.TIPOCANT, RDX_CABINV.FECHALIQ AS FECHA, RDX_CABINV.CENTRO, FILIAL = ISNULL(FILIAIS.FILIAL, RDX_CABINV.CENTRO), RDX_CANTINV.IDVEN AS CODVEN, VENDEDOR = ISNULL(LTRIM(RTRIM(LOJA_VENDEDORES.NOME_VENDEDOR)) + '' '' + LTRIM(RTRIM(LOJA_VENDEDORES.VENDEDOR_APELIDO)), RDX_CANTINV.IDVEN), RDX_LININV.CODART AS CODIGO_BARRA, CODIGO = ISNULL(PRODUTOS.PRODUTO, ''107CH.EN.01''), PRODUCTO = ISNULL(PRODUTOS.DESC_PRODUTO, ''*** ERROR REFERENCIA **** LLAMAR AL CI''), COLOR = ISNULL(PRODUTOS_BARRA.COR_PRODUTO, 300), TALLA = PRODUTOS_BARRA.GRADE, RDX_CANTINV.CANTIDAD, CENTRO2 = RDX_CANTINV.CENTRO, FILIAL2 = ISNULL(FILIAIS2.FILIAL, RDX_CANTINV.CENTRO) FROM RDX_CANTINV INNER JOIN RDX_LININV ON ((RDX_LININV.NUMDOC = RDX_CANTINV.NUMDOC) AND (RDX_LININV.NUMLIN = RDX_CANTINV.NUMLIN)) INNER JOIN RDX_CABINV ON (RDX_CABINV.NUMDOC = RDX_LININV.NUMDOC) LEFT OUTER JOIN RDX_FILIALES ON (RDX_FILIALES.CODBARRA = RDX_CABINV.CENTRO) LEFT OUTER JOIN FILIAIS ON (FILIAIS.COD_FILIAL = RDX_FILIALES.CODFILIAL) LEFT OUTER JOIN RDX_FILIALES RDX_FILIALES2 ON (RDX_FILIALES2.CODBARRA = RDX_CANTINV.CENTRO) LEFT OUTER JOIN FILIAIS FILIAIS2 ON (FILIAIS2.COD_FILIAL = RDX_FILIALES2.CODFILIAL) LEFT OUTER JOIN LOJA_VENDEDORES ON (LOJA_VENDEDORES.RG LIKE ''%'' + RDX_CANTINV.IDVEN + ''%'') LEFT OUTER JOIN PRODUTOS_BARRA ON ((PRODUTOS_BARRA.CODIGO_BARRA = RDX_LININV.CODART)) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = PRODUTOS_BARRA.PRODUTO) WHERE RDX_CABINV.FECHALIQ >= convert(datetime, ''20060601'', 112) /* PARA NO COGER AÑOS ANTERIORES */ AND (RDX_CABINV.IGNORAR IS NULL) OR (RDX_CABINV.IGNORAR <> ''S'') ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_NINGUN_COLOR]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_NINGUN_COLOR] @n_ID_MATERIAL INTEGER AS -- Procedimiento que comprueba que haya algun color en eteji_color para el material pasado como parametro -- y en caso negativo inserta el material 2 (color 000) -- Realizado por: Alejandro Escribano C&S MAT -- Fecha: 4-11-02 -- Revisado por: Jorge Rodero --> 31/01/2003 DECLARE @n_NextKey_ETEJI_COLOR INTEGER, @n_Color INTEGER, @s_Desc_Color VARCHAR(25) BEGIN IF NOT EXISTS( SELECT * FROM ETEJI_COLOR WHERE ID_ETEJI_RAIZ = @n_ID_MATERIAL ) BEGIN SELECT @n_Color = ID, @s_Desc_Color = GF_DESC_COR FROM GF_CORES_BASICAS WHERE RTRIM(LTRIM(GF_COR)) = ( SELECT TOP 1 VALUE FROM SISCLSCONFIG WHERE VARNAME = ''DEFAULT_COLOUR'' ) EXEC GetNMaxValColSegunTbCnts ''ETEJI_COLOR'', ''ID'', @n_NextKey_ETEJI_COLOR OUTPUT, 1, 1 INSERT INTO ETEJI_COLOR ( ID, ID_ETEJI_RAIZ, ORDENPM, GF_COR_MATERIAL, GF_DESC_COR_MAT, GF_CUSTO_REPOSIC, GF_CUSTO_A_VISTA ) VALUES ( @n_NextKey_ETEJI_COLOR+1, @n_ID_MATERIAL, 1, @n_Color, @s_Desc_Color, 0, 0 ) END END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESUMO_PRODUTO_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [LOJA_RESUMO_PRODUTO_VIEW] AS SELECT FILIAL,LOJA_VENDA_PRODUTO.DATA_VENDA,PRODUTO,COR_PRODUTO, CONVERT(NUMERIC(14,2),SUM(QTDE*CUSTO)) AS TOTAL_CUSTO, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*(1-ISNULL(FATOR_DESCONTO_VENDA,1)))) AS TOTAL_VENDA, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*ISNULL(FATOR_DESCONTO_VENDA,0))) AS TOTAL_DESCONTO, CONVERT(INT,SUM(QTDE)) AS TOTAL_QTDE_VENDA, CONVERT(INT,COUNT(LOJA_VENDA_PRODUTO.TICKET)) AS NUMERO_TICKETS, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END) AS VE1, SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END) AS VE2, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END) AS VE3, SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END) AS VE4, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END) AS VE5, SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END) AS VE6, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END) AS VE7, SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END) AS VE8, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END) AS VE9, SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END) AS VE10, SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END) AS VE11, SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END) AS VE12, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END) AS VE13, SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END) AS VE14, SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END) AS VE15, SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END) AS VE16, SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END) AS VE17, SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END) AS VE18, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END) AS VE19, SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END) AS VE20, SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END) AS VE21, SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END) AS VE22, SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END) AS VE23, SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END) AS VE24, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END) AS VE25, SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END) AS VE26, SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END) AS VE27, SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END) AS VE28, SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END) AS VE29, SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END) AS VE30, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END) AS VE31, SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END) AS VE32, SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END) AS VE33, SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END) AS VE34, SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END) AS VE35, SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END) AS VE36, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END) AS VE37, SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END) AS VE38, SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END) AS VE39, SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END) AS VE40, SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END) AS VE41, SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END) AS VE42, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END) AS VE43, SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END) AS VE44, SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END) AS VE45, SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END) AS VE46, SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END) AS VE47, SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) AS VE48 FROM LOJAS_VAREJO inner join LOJA_VENDA_PRODUTO on LOJA_VENDA_PRODUTO.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL left join loja_venda on LOJA_VENDA_PRODUTO.ticket = loja_venda.ticket left join loja_venda_pgto on loja_venda.codigo_filial_pgto = LOJA_VENDA_pgto.codigo_filial and loja_venda.terminal_pgto = LOJA_VENDA_pgto.terminal and loja_venda.lancamento_caixa = LOJA_VENDA_pgto.lancamento_caixa WHERE (loja_venda_pgto.numero_cupom_fiscal <> '''' or loja_venda_pgto.numero_cupom_fiscal is not null) GROUP BY FILIAL, LOJA_VENDA_PRODUTO.DATA_VENDA, PRODUTO, COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_ATUALIZA_FATOR_LOJA_VENDA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_ATUALIZA_FATOR_LOJA_VENDA] @FILIAL VARCHAR(25)=''%'', @DATAINICIAL DATETIME, @DATAFINAL DATETIME=NULL AS SELECT @DATAFINAL=@DATAINICIAL WHERE @DATAFINAL IS NULL UPDATE C SET FATOR_DESCONTO_VENDA=1.*(Valor_Venda_Bruta-Valor_Troca-Valor_Pago)/(Valor_Venda_Bruta-Valor_Troca), FATOR_VENDA_LIQ=1.*(Valor_Pago)/(Valor_Venda_Bruta), DATA_PARA_TRANSFERENCIA=C.DATA_PARA_TRANSFERENCIA FROM Loja_Venda A JOIN LOJAS_VAREJO B ON A.CODIGO_FILIAL=B.CODIGO_FILIAL, LOJA_VENDA_PRODUTO C WHERE A.Codigo_Filial=C.Codigo_Filial AND A.Ticket=C.Ticket AND A.Data_Venda=C.Data_Venda AND Valor_Venda_Bruta-Valor_Troca <> 0 AND Valor_Venda_Bruta <> 0 AND B.FILIAL LIKE RTRIM(@FILIAL) AND A.DATA_VENDA >= @DATAINICIAL AND A.DATA_VENDA <= @DATAFINAL UPDATE C SET FATOR_DESCONTO_VENDA=1.*(Valor_Venda_Bruta-Valor_Troca-Valor_Pago)/(Valor_Venda_Bruta-Valor_Troca), DATA_PARA_TRANSFERENCIA=C.DATA_PARA_TRANSFERENCIA FROM Loja_Venda A JOIN LOJAS_VAREJO B ON A.CODIGO_FILIAL=B.CODIGO_FILIAL, LOJA_VENDA_TROCA C WHERE A.Codigo_Filial=C.Codigo_Filial AND A.Ticket=C.Ticket AND A.Data_Venda=C.Data_Venda AND Valor_Venda_Bruta-Valor_Troca <> 0 AND Valor_Venda_Bruta <> 0 AND B.FILIAL LIKE RTRIM(@FILIAL) AND A.DATA_VENDA >= @DATAINICIAL AND A.DATA_VENDA <= @DATAFINAL ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_LOJA_VENDA_LIQUIDA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_LOJA_VENDA_LIQUIDA] AS SELECT A.DATA_VENDA,A.CODIGO_FILIAL,A.PRODUTO,A.COR_PRODUTO, CONVERT(INT,SUM(A.QTDE) - ISNULL((SELECT SUM(QTDE) FROM LOJA_VENDA_TROCA B WHERE B.DATA_VENDA=A.DATA_VENDA AND B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.PRODUTO=A.PRODUTO AND B.COR_PRODUTO=A.COR_PRODUTO),0)) AS QTDE_LIQ, CONVERT(NUMERIC(14,2),SUM(A.QTDE*A.PRECO_LIQUIDO*A.FATOR_VENDA_LIQ)) AS VALOR_VENDA_LIQ FROM LOJA_VENDA_PRODUTO A GROUP BY A.DATA_VENDA,A.CODIGO_FILIAL,A.PRODUTO,A.COR_PRODUTO UNION SELECT B.DATA_VENDA,B.CODIGO_FILIAL,B.PRODUTO,B.COR_PRODUTO,SUM(B.QTDE)*-1,0 FROM LOJA_VENDA_TROCA B LEFT JOIN LOJA_VENDA_PRODUTO A ON B.DATA_VENDA=A.DATA_VENDA AND B.CODIGO_FILIAL=A.CODIGO_FILIAL AND B.PRODUTO=A.PRODUTO AND B.COR_PRODUTO=A.COR_PRODUTO WHERE A.CODIGO_FILIAL IS NULL GROUP BY B.DATA_VENDA,B.CODIGO_FILIAL,B.PRODUTO,B.COR_PRODUTO' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESUMO_PRODUTO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [LOJA_RESUMO_PRODUTO] AS SELECT FILIAL,DATA_VENDA,PRODUTO,COR_PRODUTO, CONVERT(NUMERIC(14,2),SUM(QTDE*CUSTO)) AS TOTAL_CUSTO, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*(1-ISNULL(FATOR_DESCONTO_VENDA,1)))) AS TOTAL_VENDA, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*ISNULL(FATOR_DESCONTO_VENDA,0))) AS TOTAL_DESCONTO, CONVERT(INT,SUM(QTDE)) AS TOTAL_QTDE_VENDA, CONVERT(INT,COUNT(TICKET)) AS NUMERO_TICKETS, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END) AS VE1, SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END) AS VE2, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END) AS VE3, SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END) AS VE4, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END) AS VE5, SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END) AS VE6, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END) AS VE7, SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END) AS VE8, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END) AS VE9, SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END) AS VE10, SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END) AS VE11, SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END) AS VE12, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END) AS VE13, SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END) AS VE14, SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END) AS VE15, SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END) AS VE16, SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END) AS VE17, SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END) AS VE18, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END) AS VE19, SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END) AS VE20, SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END) AS VE21, SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END) AS VE22, SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END) AS VE23, SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END) AS VE24, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END) AS VE25, SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END) AS VE26, SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END) AS VE27, SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END) AS VE28, SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END) AS VE29, SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END) AS VE30, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END) AS VE31, SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END) AS VE32, SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END) AS VE33, SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END) AS VE34, SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END) AS VE35, SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END) AS VE36, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END) AS VE37, SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END) AS VE38, SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END) AS VE39, SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END) AS VE40, SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END) AS VE41, SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END) AS VE42, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END) AS VE43, SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END) AS VE44, SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END) AS VE45, SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END) AS VE46, SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END) AS VE47, SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) AS VE48 FROM LOJA_VENDA_PRODUTO, LOJAS_VAREJO WHERE LOJA_VENDA_PRODUTO.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL GROUP BY FILIAL,DATA_VENDA,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_LOJA_TROCA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_LOJA_TROCA] AS SELECT FILIAL,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END) AS Q1,SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END) AS Q2, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END) AS Q3,SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END) AS Q4, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END) AS Q5,SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END) AS Q6, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END) AS Q7,SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END) AS Q8, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END) AS Q9,SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END) AS Q10, SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END) AS Q11,SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END) AS Q12, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END) AS Q13,SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END) AS Q14, SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END) AS Q15,SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END) AS Q16, SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END) AS Q17,SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END) AS Q18, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END) AS Q19,SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END) AS Q20, SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END) AS Q21,SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END) AS Q22, SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END) AS Q23,SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END) AS Q24, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END) AS Q25,SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END) AS Q26, SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END) AS Q27,SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END) AS Q28, SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END) AS Q29,SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END) AS Q30, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END) AS Q31,SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END) AS Q32, SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END) AS Q33,SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END) AS Q34, SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END) AS Q35,SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END) AS Q36, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END) AS Q37,SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END) AS Q38, SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END) AS Q39,SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END) AS Q40, SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END) AS Q41,SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END) AS Q42, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END) AS Q43,SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END) AS Q44, SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END) AS Q45,SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END) AS Q46, SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END) AS Q47,SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) AS Q48 FROM LOJA_VENDA_TROCA JOIN LOJAS_VAREJO ON LOJA_VENDA_TROCA.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL GROUP BY FILIAL,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LOJA_RESUMO_TROCA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [LOJA_RESUMO_TROCA] AS SELECT FILIAL,DATA_VENDA,PRODUTO,COR_PRODUTO, CONVERT(NUMERIC(14,2),SUM(QTDE*CUSTO)) AS TOTAL_CUSTO_TROCA, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*(1-ISNULL(FATOR_DESCONTO_VENDA,0)))) AS TOTAL_TROCA, CONVERT(NUMERIC(14,2),SUM(QTDE*PRECO_LIQUIDO*ISNULL(FATOR_DESCONTO_VENDA,0))) AS TOTAL_DESCONTO_TROCA, CONVERT(INT,SUM(QTDE)) AS TOTAL_QTDE_TROCA, CONVERT(INT,COUNT(TICKET)) AS NUMERO_TICKETS, SUM(CASE WHEN TAMANHO=1 THEN QTDE ELSE 0 END) AS TR1, SUM(CASE WHEN TAMANHO=2 THEN QTDE ELSE 0 END) AS TR2, SUM(CASE WHEN TAMANHO=3 THEN QTDE ELSE 0 END) AS TR3, SUM(CASE WHEN TAMANHO=4 THEN QTDE ELSE 0 END) AS TR4, SUM(CASE WHEN TAMANHO=5 THEN QTDE ELSE 0 END) AS TR5, SUM(CASE WHEN TAMANHO=6 THEN QTDE ELSE 0 END) AS TR6, SUM(CASE WHEN TAMANHO=7 THEN QTDE ELSE 0 END) AS TR7, SUM(CASE WHEN TAMANHO=8 THEN QTDE ELSE 0 END) AS TR8, SUM(CASE WHEN TAMANHO=9 THEN QTDE ELSE 0 END) AS TR9, SUM(CASE WHEN TAMANHO=10 THEN QTDE ELSE 0 END) AS TR10, SUM(CASE WHEN TAMANHO=11 THEN QTDE ELSE 0 END) AS TR11, SUM(CASE WHEN TAMANHO=12 THEN QTDE ELSE 0 END) AS TR12, SUM(CASE WHEN TAMANHO=13 THEN QTDE ELSE 0 END) AS TR13, SUM(CASE WHEN TAMANHO=14 THEN QTDE ELSE 0 END) AS TR14, SUM(CASE WHEN TAMANHO=15 THEN QTDE ELSE 0 END) AS TR15, SUM(CASE WHEN TAMANHO=16 THEN QTDE ELSE 0 END) AS TR16, SUM(CASE WHEN TAMANHO=17 THEN QTDE ELSE 0 END) AS TR17, SUM(CASE WHEN TAMANHO=18 THEN QTDE ELSE 0 END) AS TR18, SUM(CASE WHEN TAMANHO=19 THEN QTDE ELSE 0 END) AS TR19, SUM(CASE WHEN TAMANHO=20 THEN QTDE ELSE 0 END) AS TR20, SUM(CASE WHEN TAMANHO=21 THEN QTDE ELSE 0 END) AS TR21, SUM(CASE WHEN TAMANHO=22 THEN QTDE ELSE 0 END) AS TR22, SUM(CASE WHEN TAMANHO=23 THEN QTDE ELSE 0 END) AS TR23, SUM(CASE WHEN TAMANHO=24 THEN QTDE ELSE 0 END) AS TR24, SUM(CASE WHEN TAMANHO=25 THEN QTDE ELSE 0 END) AS TR25, SUM(CASE WHEN TAMANHO=26 THEN QTDE ELSE 0 END) AS TR26, SUM(CASE WHEN TAMANHO=27 THEN QTDE ELSE 0 END) AS TR27, SUM(CASE WHEN TAMANHO=28 THEN QTDE ELSE 0 END) AS TR28, SUM(CASE WHEN TAMANHO=29 THEN QTDE ELSE 0 END) AS TR29, SUM(CASE WHEN TAMANHO=30 THEN QTDE ELSE 0 END) AS TR30, SUM(CASE WHEN TAMANHO=31 THEN QTDE ELSE 0 END) AS TR31, SUM(CASE WHEN TAMANHO=32 THEN QTDE ELSE 0 END) AS TR32, SUM(CASE WHEN TAMANHO=33 THEN QTDE ELSE 0 END) AS TR33, SUM(CASE WHEN TAMANHO=34 THEN QTDE ELSE 0 END) AS TR34, SUM(CASE WHEN TAMANHO=35 THEN QTDE ELSE 0 END) AS TR35, SUM(CASE WHEN TAMANHO=36 THEN QTDE ELSE 0 END) AS TR36, SUM(CASE WHEN TAMANHO=37 THEN QTDE ELSE 0 END) AS TR37, SUM(CASE WHEN TAMANHO=38 THEN QTDE ELSE 0 END) AS TR38, SUM(CASE WHEN TAMANHO=39 THEN QTDE ELSE 0 END) AS TR39, SUM(CASE WHEN TAMANHO=40 THEN QTDE ELSE 0 END) AS TR40, SUM(CASE WHEN TAMANHO=41 THEN QTDE ELSE 0 END) AS TR41, SUM(CASE WHEN TAMANHO=42 THEN QTDE ELSE 0 END) AS TR42, SUM(CASE WHEN TAMANHO=43 THEN QTDE ELSE 0 END) AS TR43, SUM(CASE WHEN TAMANHO=44 THEN QTDE ELSE 0 END) AS TR44, SUM(CASE WHEN TAMANHO=45 THEN QTDE ELSE 0 END) AS TR45, SUM(CASE WHEN TAMANHO=46 THEN QTDE ELSE 0 END) AS TR46, SUM(CASE WHEN TAMANHO=47 THEN QTDE ELSE 0 END) AS TR47, SUM(CASE WHEN TAMANHO=48 THEN QTDE ELSE 0 END) AS TR48 FROM LOJA_VENDA_TROCA, LOJAS_VAREJO WHERE LOJA_VENDA_TROCA.CODIGO_FILIAL=LOJAS_VAREJO.CODIGO_FILIAL GROUP BY FILIAL,DATA_VENDA,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_DATAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_DATAS] AS SELECT DATA = CONVERT(DATETIME, A.DATA), ANO = DATEPART(YEAR, A.DATA), MES = DATEPART(MONTH, A.DATA), SEMANA= DATEPART(WEEK,A.DATA), DIA_SEMANA = CASE CASE WHEN DATEPART(WEEKDAY, A.DATA)>(7-@@DATEFIRST) THEN DATEPART(WEEKDAY, A.DATA)-(7-@@DATEFIRST) ELSE DATEPART(WEEKDAY, A.DATA)+(@@DATEFIRST) END WHEN 1 THEN ''DOM'' WHEN 2 THEN ''SEG'' WHEN 3 THEN ''TER'' WHEN 4 THEN ''QUA'' WHEN 5 THEN ''QUI'' WHEN 6 THEN ''SEX'' WHEN 7 THEN ''SAB'' ELSE '' '' END, DIA_SEMANA_ORDEM = DATEPART(WEEKDAY, A.DATA), DIA = DATEPART(DAY, A.DATA), QUINZENA = FLOOR((DATEPART(WEEK, A.DATA) / 2.0) + 0.5), BIMESTRE = FLOOR((DATEPART(MONTH, A.DATA) / 2.0) + 0.5), TRIMESTRE = DATEPART(QUARTER, A.DATA), SEMESTRE = CASE WHEN DATEPART(MONTH, A.DATA) <= 6 THEN 1 ELSE 2 END, DIA_DO_ANO = DATEPART(DAYOFYEAR, A.DATA), ANO454 = B.ANO454, MES454 = B.MES454, SEMANA454 = B.SEMANA454, QUINZENA454 = FLOOR((B.SEMANA454 / 2.0) + 0.5), BIMESTRE454 = FLOOR((B.MES454 / 2.0) + 0.5), TRIMESTRE454 = FLOOR((B.MES454 / 3.0) + 0.7), SEMESTRE454 = CASE WHEN B.MES454 >= 1 AND B.MES454 <= 3 THEN 1 WHEN B.MES454 >= 4 AND B.MES454 <= 6 THEN 2 WHEN B.MES454 >= 7 AND B.MES454 <= 9 THEN 3 WHEN B.MES454 >= 10 AND B.MES454 <= 12 THEN 4 END, DIA_DO_ANO454 = B.DIA_DO_ANO454 FROM ( /*SELECT DISTINCT CONVERT(CHAR(8), RECEBIMENTO, 112) AS DATA FROM ENTRADAS UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM ENTRADAS UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM FATURAMENTO UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM COMPRAS UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM VENDAS UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM ESTOQUE_PROD_ENT UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM ESTOQUE_PROD_SAI UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM LOJA_ENTRADAS UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM LOJA_SAIDAS UNION SELECT DISTINCT CONVERT(CHAR(8), DATA_VENDA, 112) AS DATA FROM LOJA_VENDA UNION SELECT DISTINCT CONVERT(CHAR(8), EMISSAO, 112) AS DATA FROM ESTOQUE_PROD_CONTAGEM UNION*/ SELECT DISTINCT CONVERT(CHAR(8), DATA, 112) AS DATA FROM DATAS) A left JOIN DATAS B ON A.DATA = B.DATA WHERE A.DATA <= (SELECT MAX(MAX_DATA) FROM (SELECT MAX(ENTREGA) AS MAX_DATA FROM COMPRAS_PRODUTO UNION SELECT MAX(ENTREGA) FROM VENDAS_PRODUTO) D) --AND A.DATA >= (SELECT MIN(DATA_VENDA) FROM LOJA_VENDA) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUTOS_VENDAS_COR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUTOS_VENDAS_COR] (PRODUTO, COR_PRODUTO, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_valor_original, SUM_valor_entregar, SUM_vo1, SUM_vo2, SUM_vo3, SUM_vo4, SUM_vo5, SUM_vo6, SUM_vo7, SUM_vo8, SUM_vo9, SUM_vo10, SUM_vo11, SUM_vo12, SUM_vo13, SUM_vo14, SUM_vo15, SUM_vo16, SUM_vo17, SUM_vo18, SUM_vo19, SUM_vo20, SUM_vo21, SUM_vo22, SUM_vo23, SUM_vo24, SUM_vo25, SUM_vo26, SUM_vo27, SUM_vo28, SUM_vo29, SUM_vo30, SUM_vo31, SUM_vo32, SUM_vo33, SUM_vo34, SUM_vo35, SUM_vo36, SUM_vo37, SUM_vo38, SUM_vo39, SUM_vo40, SUM_vo41, SUM_vo42, SUM_vo43, SUM_vo44, SUM_vo45, SUM_vo46, SUM_vo47, SUM_vo48, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48) AS SELECT Vendas_produto.PRODUTO, Vendas_produto.COR_PRODUTO, SUM(Vendas_produto.qtde_original), SUM(Vendas_produto.qtde_entregar), SUM(Vendas_produto.qtde_entregue), SUM(Vendas_produto.qtde_cancelada), SUM(Vendas_produto.qtde_embalada), SUM(Vendas_produto.valor_original), SUM(Vendas_produto.valor_entregar), SUM(Vendas_produto.vo1), SUM(Vendas_produto.vo2), SUM(Vendas_produto.vo3), SUM(Vendas_produto.vo4), SUM(Vendas_produto.vo5), SUM(Vendas_produto.vo6), SUM(Vendas_produto.vo7), SUM(Vendas_produto.vo8), SUM(Vendas_produto.vo9), SUM(Vendas_produto.vo10), SUM(Vendas_produto.vo11), SUM(Vendas_produto.vo12), SUM(Vendas_produto.vo13), SUM(Vendas_produto.vo14), SUM(Vendas_produto.vo15), SUM(Vendas_produto.vo16), SUM(Vendas_produto.vo17), SUM(Vendas_produto.vo18), SUM(Vendas_produto.vo19), SUM(Vendas_produto.vo20), SUM(Vendas_produto.vo21), SUM(Vendas_produto.vo22), SUM(Vendas_produto.vo23), SUM(Vendas_produto.vo24), SUM(Vendas_produto.vo25), SUM(Vendas_produto.vo26), SUM(Vendas_produto.vo27), SUM(Vendas_produto.vo28), SUM(Vendas_produto.vo29), SUM(Vendas_produto.vo30), SUM(Vendas_produto.vo31), SUM(Vendas_produto.vo32), SUM(Vendas_produto.vo33), SUM(Vendas_produto.vo34), SUM(Vendas_produto.vo35), SUM(Vendas_produto.vo36), SUM(Vendas_produto.vo37), SUM(Vendas_produto.vo38), SUM(Vendas_produto.vo39), SUM(Vendas_produto.vo40), SUM(Vendas_produto.vo41), SUM(Vendas_produto.vo42), SUM(Vendas_produto.vo43), SUM(Vendas_produto.vo44), SUM(Vendas_produto.vo45), SUM(Vendas_produto.vo46), SUM(Vendas_produto.vo47), SUM(Vendas_produto.vo48), SUM(Vendas_produto.ve1), SUM(Vendas_produto.ve2), SUM(Vendas_produto.ve3), SUM(Vendas_produto.ve4), SUM(Vendas_produto.ve5), SUM(Vendas_produto.ve6), SUM(Vendas_produto.ve7), SUM(Vendas_produto.ve8), SUM(Vendas_produto.ve9), SUM(Vendas_produto.ve10), SUM(Vendas_produto.ve11), SUM(Vendas_produto.ve12), SUM(Vendas_produto.ve13), SUM(Vendas_produto.ve14), SUM(Vendas_produto.ve15), SUM(Vendas_produto.ve16), SUM(Vendas_produto.ve17), SUM(Vendas_produto.ve18), SUM(Vendas_produto.ve19), SUM(Vendas_produto.ve20), SUM(Vendas_produto.ve21), SUM(Vendas_produto.ve22), SUM(Vendas_produto.ve23), SUM(Vendas_produto.ve24), SUM(Vendas_produto.ve25), SUM(Vendas_produto.ve26), SUM(Vendas_produto.ve27), SUM(Vendas_produto.ve28), SUM(Vendas_produto.ve29), SUM(Vendas_produto.ve30), SUM(Vendas_produto.ve31), SUM(Vendas_produto.ve32), SUM(Vendas_produto.ve33), SUM(Vendas_produto.ve34), SUM(Vendas_produto.ve35), SUM(Vendas_produto.ve36), SUM(Vendas_produto.ve37), SUM(Vendas_produto.ve38), SUM(Vendas_produto.ve39), SUM(Vendas_produto.ve40), SUM(Vendas_produto.ve41), SUM(Vendas_produto.ve42), SUM(Vendas_produto.ve43), SUM(Vendas_produto.ve44), SUM(Vendas_produto.ve45), SUM(Vendas_produto.ve46), SUM(Vendas_produto.ve47), SUM(Vendas_produto.ve48) FROM VENDAS_PRODUTO Vendas_produto GROUP BY PRODUTO, COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_VENDAS_ESTOQUE_PRODUCAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_VENDAS_ESTOQUE_PRODUCAO] AS SELECT ''3 - VENDAS '' AS TIPO , VENDAS_PRODUTO.PRODUTO, VENDAS_PRODUTO.COR_PRODUTO, VENDAS_PRODUTO.ENTREGA AS ENTREGA , DATEPART(MM,VENDAS_PRODUTO.ENTREGA)AS MES , -(VENDAS_PRODUTO.QTDE_ORIGINAL) AS SUM_QTDE_ORIGINAL, -(VENDAS_PRODUTO.QTDE_ENTREGAR) AS SUM_QTDE_ENTREGAR, -(VENDAS_PRODUTO.QTDE_ENTREGUE) AS SUM_QTDE_ENTREGUE, -(VENDAS_PRODUTO.QTDE_CANCELADA) AS SUM_QTDE_CANCELADA, -(VENDAS_PRODUTO.QTDE_EMBALADA) AS SUM_QTDE_EMBALADA, -(VENDAS_PRODUTO.QTDE_DEVOLVIDA) AS SUM_QTDE_DEVOLVIDA, -(VENDAS_PRODUTO.VALOR_ORIGINAL)AS SUM_VALOR_ORIGINAL, -(VENDAS_PRODUTO.VALOR_ENTREGAR) AS SUM_VALOR_ENTREGAR, -(VENDAS_PRODUTO.VALOR_ENTREGUE) AS SUM_VALOR_ENTREGUE, -(VENDAS_PRODUTO.VALOR_CANCELADO)AS SUM_VALOR_CANCELADO, -(VENDAS_PRODUTO.VALOR_DEVOLVIDO) AS SUM_VALOR_DEVOLVIDO, -(VENDAS_PRODUTO.VE1) AS SUM_VE1 , -(VENDAS_PRODUTO.VE2) AS SUM_VE2, -(VENDAS_PRODUTO.VE3) AS SUM_VE3, -(VENDAS_PRODUTO.VE4) AS SUM_VE4, -(VENDAS_PRODUTO.VE5) AS SUM_VE5, -(VENDAS_PRODUTO.VE6) AS SUM_VE6, -(VENDAS_PRODUTO.VE7) AS SUM_VE7, -(VENDAS_PRODUTO.VE8) AS SUM_VE8, -(VENDAS_PRODUTO.VE9) AS SUM_VE9, -(VENDAS_PRODUTO.VE10) AS SUM_VE10, -(VENDAS_PRODUTO.VE11) AS SUM_VE11, -(VENDAS_PRODUTO.VE12) AS SUM_VE12, -(VENDAS_PRODUTO.VE13) AS SUM_VE13, -(VENDAS_PRODUTO.VE14) AS SUM_VE14, -(VENDAS_PRODUTO.VE15) AS SUM_VE15, -(VENDAS_PRODUTO.VE16) AS SUM_VE16, -(VENDAS_PRODUTO.VE17) AS SUM_VE17, -(VENDAS_PRODUTO.VE18) AS SUM_VE18, -(VENDAS_PRODUTO.VE19) AS SUM_VE19, -(VENDAS_PRODUTO.VE20) AS SUM_VE20, -(VENDAS_PRODUTO.VE21) AS SUM_VE21, -(VENDAS_PRODUTO.VE22) AS SUM_VE22, -(VENDAS_PRODUTO.VE23) AS SUM_VE23, -(VENDAS_PRODUTO.VE24) AS SUM_VE24, -(VENDAS_PRODUTO.VE25) AS SUM_VE25, -(VENDAS_PRODUTO.VE26) AS SUM_VE26, -(VENDAS_PRODUTO.VE27) AS SUM_VE27, -(VENDAS_PRODUTO.VE28) AS SUM_VE28, -(VENDAS_PRODUTO.VE29) AS SUM_VE29, -(VENDAS_PRODUTO.VE30) AS SUM_VE30, -(VENDAS_PRODUTO.VE31) AS SUM_VE31, -(VENDAS_PRODUTO.VE32) AS SUM_VE32, -(VENDAS_PRODUTO.VE33) AS SUM_VE33, -(VENDAS_PRODUTO.VE34) AS SUM_VE34, -(VENDAS_PRODUTO.VE35) AS SUM_VE35, -(VENDAS_PRODUTO.VE36) AS SUM_VE36, -(VENDAS_PRODUTO.VE37) AS SUM_VE37, -(VENDAS_PRODUTO.VE38) AS SUM_VE38, -(VENDAS_PRODUTO.VE39) AS SUM_VE39, -(VENDAS_PRODUTO.VE40) AS SUM_VE40, -(VENDAS_PRODUTO.VE41) AS SUM_VE41, -(VENDAS_PRODUTO.VE42) AS SUM_VE42, -(VENDAS_PRODUTO.VE43) AS SUM_VE43, -(VENDAS_PRODUTO.VE44) AS SUM_VE44, -(VENDAS_PRODUTO.VE45) AS SUM_VE45, -(VENDAS_PRODUTO.VE46) AS SUM_VE46, -(VENDAS_PRODUTO.VE47) AS SUM_VE47, -(VENDAS_PRODUTO.VE48) AS SUM_VE48, -(VENDAS_PRODUTO.QTDE_ENTREGAR) AS SUM_QTDE_VE FROM DBO.VENDAS_PRODUTO VENDAS_PRODUTO UNION ALL SELECT ''2 - PRODUÇÃO '', DBO.PRODUCAO_ORDEM.PRODUTO, DBO.PRODUCAO_ORDEM_COR.COR_PRODUTO, DBO.PRODUCAO_ORDEM.PREVISAO_FIM, DATEPART(MM,PRODUCAO_ORDEM.PREVISAO_FIM), (QTDE_O), (QTDE_P), 0, 0, 0, 0, 0, 0, 0, 0, 0, (PRODUCAO_ORDEM_COR.P1), (PRODUCAO_ORDEM_COR.P2), (PRODUCAO_ORDEM_COR.P3), (PRODUCAO_ORDEM_COR.P4), (PRODUCAO_ORDEM_COR.P5), (PRODUCAO_ORDEM_COR.P6), (PRODUCAO_ORDEM_COR.P7), (PRODUCAO_ORDEM_COR.P8), (PRODUCAO_ORDEM_COR.P9), (PRODUCAO_ORDEM_COR.P10), (PRODUCAO_ORDEM_COR.P11), (PRODUCAO_ORDEM_COR.P12), (PRODUCAO_ORDEM_COR.P13), (PRODUCAO_ORDEM_COR.P14),(PRODUCAO_ORDEM_COR.P15), (PRODUCAO_ORDEM_COR.P16), (PRODUCAO_ORDEM_COR.P17), (PRODUCAO_ORDEM_COR.P18), (PRODUCAO_ORDEM_COR.P19), (PRODUCAO_ORDEM_COR.P20), (PRODUCAO_ORDEM_COR.P21), (PRODUCAO_ORDEM_COR.P22), (PRODUCAO_ORDEM_COR.P23), (PRODUCAO_ORDEM_COR.P24), (PRODUCAO_ORDEM_COR.P25), (PRODUCAO_ORDEM_COR.P26), (PRODUCAO_ORDEM_COR.P27), (PRODUCAO_ORDEM_COR.P28), (PRODUCAO_ORDEM_COR.P29), (PRODUCAO_ORDEM_COR.P30), (PRODUCAO_ORDEM_COR.P31), (PRODUCAO_ORDEM_COR.P32), (PRODUCAO_ORDEM_COR.P33), (PRODUCAO_ORDEM_COR.P34), (PRODUCAO_ORDEM_COR.P35), (PRODUCAO_ORDEM_COR.P36), (PRODUCAO_ORDEM_COR.P37), (PRODUCAO_ORDEM_COR.P38), (PRODUCAO_ORDEM_COR.P39), (PRODUCAO_ORDEM_COR.P40), (PRODUCAO_ORDEM_COR.P41), (PRODUCAO_ORDEM_COR.P42), (PRODUCAO_ORDEM_COR.P43), (PRODUCAO_ORDEM_COR.P44), (PRODUCAO_ORDEM_COR.P45), (PRODUCAO_ORDEM_COR.P46), (PRODUCAO_ORDEM_COR.P47), (PRODUCAO_ORDEM_COR.P48),(QTDE_P) FROM DBO.PRODUCAO_ORDEM_COR, DBO.PRODUCAO_ORDEM WHERE PRODUCAO_ORDEM.ORDEM_PRODUCAO = PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO UNION ALL SELECT ''1 - ESTOQUE '', DBO.ESTOQUE_PRODUTOS.PRODUTO, DBO.ESTOQUE_PRODUTOS.COR_PRODUTO, '''', 1, (CASE WHEN ESTOQUE>=0 THEN ESTOQUE ELSE 0 END), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (CASE WHEN ES1>=0 THEN ES1 ELSE 0 END), (CASE WHEN ES2>=0 THEN ES2 ELSE 0 END), (CASE WHEN ES3>=0 THEN ES3 ELSE 0 END), (CASE WHEN ES4>=0 THEN ES4 ELSE 0 END), (CASE WHEN ES5>=0 THEN ES5 ELSE 0 END), (CASE WHEN ES6>=0 THEN ES6 ELSE 0 END), (CASE WHEN ES7>=0 THEN ES7 ELSE 0 END), (CASE WHEN ES8>=0 THEN ES8 ELSE 0 END), (CASE WHEN ES9>=0 THEN ES9 ELSE 0 END), (CASE WHEN ES10>=0 THEN ES10 ELSE 0 END), (CASE WHEN ES11>=0 THEN ES11 ELSE 0 END), (CASE WHEN ES12>=0 THEN ES12 ELSE 0 END), (CASE WHEN ES13>=0 THEN ES13 ELSE 0 END), (CASE WHEN ES14>=0 THEN ES14 ELSE 0 END), (CASE WHEN ES15>=0 THEN ES15 ELSE 0 END), (CASE WHEN ES16>=0 THEN ES16 ELSE 0 END), (CASE WHEN ES17>=0 THEN ES17 ELSE 0 END), (CASE WHEN ES18>=0 THEN ES18 ELSE 0 END), (CASE WHEN ES19>=0 THEN ES19 ELSE 0 END), (CASE WHEN ES20>=0 THEN ES20 ELSE 0 END), (CASE WHEN ES21>=0 THEN ES21 ELSE 0 END), (CASE WHEN ES22>=0 THEN ES22 ELSE 0 END), (CASE WHEN ES23>=0 THEN ES23 ELSE 0 END), (CASE WHEN ES24>=0 THEN ES24 ELSE 0 END), (CASE WHEN ES25>=0 THEN ES25 ELSE 0 END), (CASE WHEN ES26>=0 THEN ES26 ELSE 0 END), (CASE WHEN ES27>=0 THEN ES27 ELSE 0 END), (CASE WHEN ES28>=0 THEN ES28 ELSE 0 END), (CASE WHEN ES29>=0 THEN ES29 ELSE 0 END), (CASE WHEN ES30>=0 THEN ES30 ELSE 0 END), (CASE WHEN ES31>=0 THEN ES31 ELSE 0 END), (CASE WHEN ES32>=0 THEN ES32 ELSE 0 END), (CASE WHEN ES33>=0 THEN ES33 ELSE 0 END), (CASE WHEN ES34>=0 THEN ES34 ELSE 0 END), (CASE WHEN ES35>=0 THEN ES35 ELSE 0 END), (CASE WHEN ES36>=0 THEN ES36 ELSE 0 END), (CASE WHEN ES37>=0 THEN ES37 ELSE 0 END), (CASE WHEN ES38>=0 THEN ES38 ELSE 0 END), (CASE WHEN ES39>=0 THEN ES39 ELSE 0 END), (CASE WHEN ES40>=0 THEN ES40 ELSE 0 END), (CASE WHEN ES41>=0 THEN ES41 ELSE 0 END), (CASE WHEN ES42>=0 THEN ES42 ELSE 0 END), (CASE WHEN ES43>=0 THEN ES43 ELSE 0 END), (CASE WHEN ES44>=0 THEN ES44 ELSE 0 END), (CASE WHEN ES45>=0 THEN ES45 ELSE 0 END), (CASE WHEN ES46>=0 THEN ES46 ELSE 0 END), (CASE WHEN ES47>=0 THEN ES47 ELSE 0 END), (CASE WHEN ES48>=0 THEN ES48 ELSE 0 END), (CASE WHEN ESTOQUE>=0 THEN ESTOQUE ELSE 0 END) FROM DBO.ESTOQUE_PRODUTOS WHERE FILIAL LIKE (SELECT RTRIM(VALOR_ATUAL) FROM PARAMETROS WHERE PARAMETRO=''FILIAL_PADRAO'') UNION ALL SELECT ''4 - COMPRAS '', COMPRAS_PRODUTO.PRODUTO, COMPRAS_PRODUTO.COR_PRODUTO, COMPRAS_PRODUTO.ENTREGA, DATEPART(MM,COMPRAS_PRODUTO.ENTREGA), (COMPRAS_PRODUTO.QTDE_ORIGINAL), (COMPRAS_PRODUTO.QTDE_ENTREGAR), (COMPRAS_PRODUTO.QTDE_ENTREGUE), (COMPRAS_PRODUTO.QTDE_CANCELADA), 0 AS QTDE_EMBALADA, 0 AS QTDE_DEVOLVIDA, (COMPRAS_PRODUTO.VALOR_ORIGINAL), (COMPRAS_PRODUTO.VALOR_ENTREGAR), (COMPRAS_PRODUTO.VALOR_ENTREGUE), 0 AS VALOR_CANCELADO, 0 AS VALOR_DEVOLVIDO, (COMPRAS_PRODUTO.CE1), (COMPRAS_PRODUTO.CE2), (COMPRAS_PRODUTO.CE3), (COMPRAS_PRODUTO.CE4), (COMPRAS_PRODUTO.CE5), (COMPRAS_PRODUTO.CE6), (COMPRAS_PRODUTO.CE7), (COMPRAS_PRODUTO.CE8), (COMPRAS_PRODUTO.CE9), (COMPRAS_PRODUTO.CE10), (COMPRAS_PRODUTO.CE11), (COMPRAS_PRODUTO.CE12), (COMPRAS_PRODUTO.CE13), (COMPRAS_PRODUTO.CE14), (COMPRAS_PRODUTO.CE15), (COMPRAS_PRODUTO.CE16), (COMPRAS_PRODUTO.CE17), (COMPRAS_PRODUTO.CE18), (COMPRAS_PRODUTO.CE19), (COMPRAS_PRODUTO.CE20), (COMPRAS_PRODUTO.CE21), (COMPRAS_PRODUTO.CE22), (COMPRAS_PRODUTO.CE23), (COMPRAS_PRODUTO.CE24), (COMPRAS_PRODUTO.CE25), (COMPRAS_PRODUTO.CE26), (COMPRAS_PRODUTO.CE27), (COMPRAS_PRODUTO.CE28), (COMPRAS_PRODUTO.CE29), (COMPRAS_PRODUTO.CE30), (COMPRAS_PRODUTO.CE31), (COMPRAS_PRODUTO.CE32), (COMPRAS_PRODUTO.CE33), (COMPRAS_PRODUTO.CE34), (COMPRAS_PRODUTO.CE35), (COMPRAS_PRODUTO.CE36), (COMPRAS_PRODUTO.CE37), (COMPRAS_PRODUTO.CE38), (COMPRAS_PRODUTO.CE39), (COMPRAS_PRODUTO.CE40), (COMPRAS_PRODUTO.CE41), (COMPRAS_PRODUTO.CE42), (COMPRAS_PRODUTO.CE43), (COMPRAS_PRODUTO.CE44), (COMPRAS_PRODUTO.CE45), (COMPRAS_PRODUTO.CE46), (COMPRAS_PRODUTO.CE47), (COMPRAS_PRODUTO.CE48), (COMPRAS_PRODUTO.QTDE_ENTREGAR) FROM COMPRAS_PRODUTO UNION ALL SELECT ''5 - PROGRAMAÇÃO '', PRODUCAO_PROG_PROD.PRODUTO, PRODUCAO_PROG_PROD.COR_PRODUTO, ISNULL(PRODUCAO_PROG_PROD.ENTREGA_INICIAL,''01/01/1900''), ISNULL(DATEPART(MM,PRODUCAO_PROG_PROD.ENTREGA_INICIAL),1), (QTDE_PROGRAMADA), (QTDE_SALDO_EMITIR_OP), 0, 0, 0, 0, 0, 0, 0, 0, 0, (PRODUCAO_PROG_PROD.S1), (PRODUCAO_PROG_PROD.S2), (PRODUCAO_PROG_PROD.S3), (PRODUCAO_PROG_PROD.S4), (PRODUCAO_PROG_PROD.S5), (PRODUCAO_PROG_PROD.S6), (PRODUCAO_PROG_PROD.S7), (PRODUCAO_PROG_PROD.S8), (PRODUCAO_PROG_PROD.S9), (PRODUCAO_PROG_PROD.S10), (PRODUCAO_PROG_PROD.S11), (PRODUCAO_PROG_PROD.S12), (PRODUCAO_PROG_PROD.S13), (PRODUCAO_PROG_PROD.S14), (PRODUCAO_PROG_PROD.S15), (PRODUCAO_PROG_PROD.S16), (PRODUCAO_PROG_PROD.S17), (PRODUCAO_PROG_PROD.S18), (PRODUCAO_PROG_PROD.S19), (PRODUCAO_PROG_PROD.S20), (PRODUCAO_PROG_PROD.S21), (PRODUCAO_PROG_PROD.S22), (PRODUCAO_PROG_PROD.S23), (PRODUCAO_PROG_PROD.S24), (PRODUCAO_PROG_PROD.S25), (PRODUCAO_PROG_PROD.S26), (PRODUCAO_PROG_PROD.S27), (PRODUCAO_PROG_PROD.S28), (PRODUCAO_PROG_PROD.S29), (PRODUCAO_PROG_PROD.S30), (PRODUCAO_PROG_PROD.S31), (PRODUCAO_PROG_PROD.S32), (PRODUCAO_PROG_PROD.S33), (PRODUCAO_PROG_PROD.S34), (PRODUCAO_PROG_PROD.S35), (PRODUCAO_PROG_PROD.S36), (PRODUCAO_PROG_PROD.S37), (PRODUCAO_PROG_PROD.S38), (PRODUCAO_PROG_PROD.S39), (PRODUCAO_PROG_PROD.S40), (PRODUCAO_PROG_PROD.S41), (PRODUCAO_PROG_PROD.S42), (PRODUCAO_PROG_PROD.S43), (PRODUCAO_PROG_PROD.S44), (PRODUCAO_PROG_PROD.S45), (PRODUCAO_PROG_PROD.S46), (PRODUCAO_PROG_PROD.S47), (PRODUCAO_PROG_PROD.S48), (QTDE_SALDO_EMITIR_OP) FROM DBO.PRODUCAO_PROG_PROD, PRODUCAO_PROGRAMA WHERE PRODUCAO_PROG_PROD.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO AND PRODUCAO_PROGRAMA.TIPO_PROGRAMACAO = 2 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_COMPRAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_COMPRAS] (TIPO, PRODUTO, COR_PRODUTO, entrega, MES, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48) AS SELECT ''4 - COMPRAS '', Compras_produto.PRODUTO, compras_produto.COR_PRODUTO, compras_produto.ENTREGA, datepart(mm,compras_produto.ENTREGA), SUM(compras_produto.qtde_original), SUM(compras_produto.qtde_entregar), SUM(compras_produto.qtde_entregue), SUM(compras_produto.qtde_cancelada), 0 as qtde_embalada, 0 as qtde_devolvida, SUM(compras_produto.valor_original), SUM(compras_produto.valor_entregar), SUM(compras_produto.valor_entregue), 0 as valor_cancelado, 0 as valor_devolvido, SUM(compras_produto.co1), SUM(compras_produto.co2), SUM(compras_produto.co3), SUM(compras_produto.co4), SUM(compras_produto.co5), SUM(compras_produto.co6), SUM(compras_produto.co7), SUM(compras_produto.co8), SUM(compras_produto.co9), SUM(compras_produto.co10), SUM(compras_produto.co11), SUM(compras_produto.co12), SUM(compras_produto.co13), SUM(compras_produto.co14), SUM(compras_produto.co15), SUM(compras_produto.co16), SUM(compras_produto.co17), SUM(compras_produto.co18), SUM(compras_produto.co19), SUM(compras_produto.co20), SUM(compras_produto.co21), SUM(compras_produto.co22), SUM(compras_produto.co23), SUM(compras_produto.co24), SUM(compras_produto.co25), SUM(compras_produto.co26), SUM(compras_produto.co27), SUM(compras_produto.co28), SUM(compras_produto.co29), SUM(compras_produto.co30), SUM(compras_produto.co31), SUM(compras_produto.co32), SUM(compras_produto.co33), SUM(compras_produto.co34), SUM(compras_produto.co35), SUM(compras_produto.co36), SUM(compras_produto.co37), SUM(compras_produto.co38), SUM(compras_produto.co39), SUM(compras_produto.co40), SUM(compras_produto.co41), SUM(compras_produto.co42), SUM(compras_produto.co43), SUM(compras_produto.co44), SUM(compras_produto.co45), SUM(compras_produto.co46), SUM(compras_produto.co47), SUM(compras_produto.co48) FROM dbo.compras_PRODUTO compras_produto GROUP BY PRODUTO, COR_PRODUTO, entrega ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_REQUISICAO_MESES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_REQUISICAO_MESES] AS select material,cor_material,sum(QTDE_APROVADA)as requisicao, sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2)<=convert(char(4),DATEPART(year,dateadd(mm,-2,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,-2,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_MESES_ATRAS , sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,-1,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,-1,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_UM_MES_ATRAS , sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm, 0,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm, 0,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_MES_ATUAL, sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,+1,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+1,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_UM_MES_APOS , sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2) =convert(char(4),DATEPART(year,dateadd(mm,+2,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+2,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_DOIS_MESES_APOS, sum(case when convert(char(4),DATEPART(year,entrega))+SUBSTRING( str(DATEPART(month,entrega)+100,3),2,2)>=convert(char(4),DATEPART(year,dateadd(mm,+3,getdate())))+ SUBSTRING(str(DATEPART(month,dateadd(mm,+3,getdate()))+100,3),2,2) then convert(numeric(20,3),QTDE_APROVADA) else 0 end) as requisicao_TRES_MESES_APOS from requisicao_material where status IN (''A'',''E'') group by material,cor_material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_DIARIO2]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_DIARIO2] AS SELECT Contas_lancamentos.LANCAMENTO, Contas_lancamentos.DATA_LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lancamentos.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lancamentos.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lancamentos.HISTORICO, Contas_lanc_itens.debito , Contas_lanc_itens.credito, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=Contas_lancamentos.CONTA_CONTABIL , historico_contra=Contas_lancamentos.HISTORICO, codigo_historico_contra=Contas_lancamentos.codigo_HISTORICO, historico_padrao_contra=historico_contra.historico_padrao, desc_contra_partida=contra_partida.desc_conta, contas_lancamentos.Filial FROM CONTAS_LANC_ITENS JOIN CONTAS_LANCAMENTOS ON CONTAS_LANC_ITENS.LANCAMENTO=CONTAS_LANCAMENTOS.LANCAMENTO JOIN CONTAS_PLANO ON CONTAS_LANC_ITENS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANC_ITENS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO JOIN CONTAS_PLANO CONTRA_PARTIDA ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTRA_PARTIDA.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO HISTORICO_CONTRA ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=HISTORICO_CONTRA.CODIGO_HISTORICO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_DIARIO1]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_DIARIO1] AS SELECT Contas_lanc_itens.LANCAMENTO, Contas_lancamentos.DATA_LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lanc_itens.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lanc_itens.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lanc_itens.HISTORICO, debito=Contas_lanc_itens.CREDITO , credito=Contas_lanc_itens.DEBITO, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=Contas_lancamentos.CONTA_CONTABIL , historico_contra=Contas_lancamentos.HISTORICO, codigo_historico_contra=Contas_lancamentos.codigo_HISTORICO, historico_padrao_contra=historico_contra.historico_padrao, desc_contra_partida=contra_partida.desc_conta, contas_lancamentos.Filial FROM CONTAS_LANC_ITENS JOIN CONTAS_LANCAMENTOS ON CONTAS_LANC_ITENS.LANCAMENTO=CONTAS_LANCAMENTOS.LANCAMENTO JOIN CONTAS_PLANO ON CONTAS_LANC_ITENS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANC_ITENS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO JOIN CONTAS_PLANO CONTRA_PARTIDA ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTRA_PARTIDA.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO HISTORICO_CONTRA ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=HISTORICO_CONTRA.CODIGO_HISTORICO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_DIARIO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_DIARIO] AS SELECT Contas_lanc_itens.LANCAMENTO, Contas_lancamentos.DATA_LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lanc_itens.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lanc_itens.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lanc_itens.HISTORICO, credito=Contas_lanc_itens.CREDITO , debito=Contas_lanc_itens.DEBITO, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=Contas_lancamentos.CONTA_CONTABIL , historico_contra=Contas_lancamentos.HISTORICO, codigo_historico_contra=Contas_lancamentos.codigo_HISTORICO, historico_padrao_contra=historico_contra.historico_padrao, desc_contra_partida=contra_partida.desc_conta, contas_lancamentos.Filial FROM CONTAS_LANC_ITENS JOIN CONTAS_LANCAMENTOS ON CONTAS_LANC_ITENS.LANCAMENTO=CONTAS_LANCAMENTOS.LANCAMENTO JOIN CONTAS_PLANO ON CONTAS_LANC_ITENS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANC_ITENS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO JOIN CONTAS_PLANO CONTRA_PARTIDA ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTRA_PARTIDA.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO HISTORICO_CONTRA ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=HISTORICO_CONTRA.CODIGO_HISTORICO union all SELECT Contas_lancamentos.LANCAMENTO, Contas_lancamentos.DATA_LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lancamentos.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lancamentos.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lancamentos.HISTORICO, debito=Contas_lanc_itens.debito , credito=Contas_lanc_itens.credito, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=Contas_lanc_itens.CONTA_CONTABIL , historico_contra=Contas_lanc_itens.HISTORICO, codigo_historico_contra=Contas_lanc_itens.codigo_HISTORICO, historico_padrao_contra=historico_contra.historico_padrao, desc_contra_partida=contra_partida.desc_conta , contas_lancamentos.Filial FROM CONTAS_LANC_ITENS JOIN CONTAS_LANCAMENTOS ON CONTAS_LANC_ITENS.LANCAMENTO=CONTAS_LANCAMENTOS.LANCAMENTO JOIN CONTAS_PLANO ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO JOIN CONTAS_PLANO CONTRA_PARTIDA ON CONTAS_LANC_ITENS.CONTA_CONTABIL=CONTRA_PARTIDA.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO HISTORICO_CONTRA ON CONTAS_LANC_ITENS.CODIGO_HISTORICO=HISTORICO_CONTRA.CODIGO_HISTORICO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_DIARIO_SINTETICO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_CONTAS_DIARIO_SINTETICO] AS SELECT Contas_lanc_itens.LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lancamentos.DATA_LANCAMENTO, Contas_lanc_itens.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lanc_itens.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lanc_itens.HISTORICO, credito=Contas_lanc_itens.CREDITO , debito=Contas_lanc_itens.DEBITO, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=Contas_lancamentos.CONTA_CONTABIL , historico_contra=Contas_lancamentos.HISTORICO, codigo_historico_contra=Contas_lancamentos.codigo_HISTORICO, historico_padrao_contra=historico_contra.historico_padrao, desc_contra_partida=contra_partida.desc_conta, CONTAS_LANCAMENTOS.Filial, FILIAIS.EMPRESA FROM CONTAS_LANC_ITENS JOIN CONTAS_LANCAMENTOS ON CONTAS_LANC_ITENS.LANCAMENTO=CONTAS_LANCAMENTOS.LANCAMENTO JOIN CONTAS_PLANO ON CONTAS_LANC_ITENS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANC_ITENS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO JOIN CONTAS_PLANO CONTRA_PARTIDA ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTRA_PARTIDA.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO HISTORICO_CONTRA ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=HISTORICO_CONTRA.CODIGO_HISTORICO LEFT JOIN FILIAIS ON CONTAS_LANCAMENTOS.FILIAL = FILIAIS.FILIAL UNION ALL SELECT Contas_lancamentos.LANCAMENTO, item =''***'', Contas_lancamentos.DATA_LANCAMENTO, Contas_lancamentos.CONTA_CONTABIL , Contas_plano.desc_conta , Contas_lancamentos.codigo_HISTORICO, contas_hist_padrao.historico_padrao, Contas_lancamentos.HISTORICO, Contas_lancamentos.CREDITO_total , Contas_lancamentos.DEBITO_total, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.CONCILIADO, Contas_lancamentos.TIPO_LANCAMENTO, contra_partida=''***'', historico_contra=''***'', codigo_historico_contra=''***'', historico_padrao_contra=''***'', desc_contra_partida=''***'', CONTAS_LANCAMENTOS.Filial, FILIAIS.EMPRESA FROM CONTAS_LANCAMENTOS JOIN CONTAS_PLANO ON CONTAS_LANCAMENTOS.CONTA_CONTABIL=CONTAS_PLANO.CONTA_CONTABIL LEFT JOIN CONTAS_HIST_PADRAO ON CONTAS_LANCAMENTOS.CODIGO_HISTORICO=CONTAS_HIST_PADRAO.CODIGO_HISTORICO LEFT JOIN FILIAIS ON CONTAS_LANCAMENTOS.FILIAL = FILIAIS.FILIAL' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_EXTRATO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_EXTRATO] (TIPO_LANCAMENTO, DATA_LANCAMENTO, LANCAMENTO, CONTA, CONTRAPARTIDA, DEBITO, CREDITO, HISTORICO, CODIGO_HISTORICO, ITEM, DOCUMENTO) AS SELECT CONTAS_LANCAMENTOS.TIPO_LANCAMENTO, CONTAS_LANCAMENTOS.DATA_LANCAMENTO, CONTAS_LANCAMENTOS.LANCAMENTO, CONTAS_LANCAMENTOS.CONTA_CONTABIL, CONTAS_LANC_ITENS.CONTA_CONTABIL, CONTAS_LANC_ITENS.DEBITO, CONTAS_LANC_ITENS.CREDITO, CONTAS_LANC_ITENS.HISTORICO, CONTAS_LANC_ITENS.CODIGO_HISTORICO, CONTAS_LANC_ITENS.ITEM, CONTAS_LANCAMENTOS.DOCUMENTO FROM CONTAS_LANCAMENTOS, CONTAS_LANC_ITENS WHERE CONTAS_LANCAMENTOS.LANCAMENTO =* CONTAS_LANC_ITENS.LANCAMENTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_LANCAMENTOS_ITENS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_LANCAMENTOS_ITENS] AS SELECT Contas_lanc_itens.LANCAMENTO, Contas_lanc_itens.ITEM, Contas_lanc_itens.CONTA_CONTABIL, Contas_lanc_itens.CREDITO, Contas_lanc_itens.DEBITO, Contas_lanc_itens.HISTORICO, Contas_lanc_itens.CODIGO_HISTORICO, Contas_lanc_itens.COMPETENCIA_MES, Contas_plano.DESC_CONTA, Contas_plano.TIPO_CONTA, Contas_plano.INATIVA, Contas_plano.CODIGO_RESUMIDO, Contas_plano.INDICA_SINTETICA, Contas_plano.DESATIVADA FROM contas_lanc_itens Contas_lanc_itens, contas_plano Contas_plano WHERE Contas_lanc_itens.CONTA_CONTABIL = Contas_plano.CONTA_CONTABIL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[ETEJI_RAIZ_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [ETEJI_RAIZ_VIEW] (ID,REF,REFVAR,REFCOLOR) AS SELECT A.ID,B.NOMBRE + '' '' + A.GF_MATERIAL,B.NOMBRE ,A.GF_MATERIAL FROM ETEJI_RAIZ A,FACT B WHERE A.EMP=B.ID ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_CONTAS_LANCAMENTOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_CONTAS_LANCAMENTOS] AS SELECT Contas_lancamentos.LANCAMENTO, Contas_lancamentos.DATA_LANCAMENTO, Contas_lancamentos.CONTA_CONTABIL, Contas_plano.DESC_CONTA, Contas_lancamentos.DOCUMENTO, Contas_lancamentos.DATA_DIGITACAO, Contas_lancamentos.CREDITO_TOTAL, Contas_lancamentos.DEBITO_TOTAL, Contas_lancamentos.CONCILIADO, Contas_lancamentos.PRE_DATADO, Contas_lancamentos.EMISSAO_PRE, Contas_lancamentos.TIPO_LANCAMENTO, Contas_lancamentos.CHEQUE, Contas_lancamentos.EMITIDO, Contas_lancamentos.FAVORECIDO_CHEQUE, Contas_plano.CONTA_CORRENTE, Contas_plano.INDICA_SINTETICA, Contas_tipo_lanc.INDICADOR_TIPO FROM CONTAS_LANCAMENTOS Contas_lancamentos, CONTAS_PLANO Contas_plano, CONTAS_TIPO_LANC Contas_tipo_lanc WHERE Contas_lancamentos.CONTA_CONTABIL = Contas_plano.CONTA_CONTABIL AND Contas_lancamentos.TIPO_LANCAMENTO = Contas_tipo_lanc.TIPO_LANCAMENTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_DISTRIBUICAO_PORCENTAGEM]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_DISTRIBUICAO_PORCENTAGEM] @CODIGO_AGRUPAMENTO INT, @DATA_INICIAL DATETIME, @DATA_FINAL DATETIME, @FILTRO VARCHAR(250)=NULL AS SET NOCOUNT ON DECLARE @CODIGO_BASE INT, @STRING_GROUP1 VARCHAR(250),@STRING_GROUP2 VARCHAR(250), @PORCENTAGEM_FIXA REAL, @AGR2 TINYINT, @AGR3 TINYINT, @AGR4 TINYINT, @AGR5 TINYINT, @AGR6 TINYINT SELECT @CODIGO_BASE=CODIGO_VALOR_AGRUPAMENTO_BASE FROM DISTRIBUICAO_TIPO_AGRUPAMENTO WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO SELECT @STRING_GROUP1= RTRIM(AGRUPAMENTO1) + '' AS AGRUPAMENTO1, '' + RTRIM(AGRUPAMENTO2) + '' AS AGRUPAMENTO2, '' + RTRIM(AGRUPAMENTO3) + '' AS AGRUPAMENTO3, '' + RTRIM(AGRUPAMENTO4) + '' AS AGRUPAMENTO4, '' + RTRIM(AGRUPAMENTO5) + '' AS AGRUPAMENTO5, '' + RTRIM(AGRUPAMENTO6) + '' AS AGRUPAMENTO6 '' , @STRING_GROUP2= RTRIM(AGRUPAMENTO1) + '', '' + RTRIM(AGRUPAMENTO2) + '', '' + RTRIM(AGRUPAMENTO3) + '', '' + RTRIM(AGRUPAMENTO4) + '', '' + RTRIM(AGRUPAMENTO5) + '', '' + RTRIM(AGRUPAMENTO6), @AGR2 = CASE WHEN AGRUPAMENTO2<>AGRUPAMENTO1 THEN 1 ELSE 0 END, @AGR3 = CASE WHEN AGRUPAMENTO3<>AGRUPAMENTO2 THEN 1 ELSE 0 END, @AGR4 = CASE WHEN AGRUPAMENTO4<>AGRUPAMENTO3 THEN 1 ELSE 0 END, @AGR5 = CASE WHEN AGRUPAMENTO5<>AGRUPAMENTO4 THEN 1 ELSE 0 END, @AGR6 = CASE WHEN AGRUPAMENTO6<>AGRUPAMENTO5 THEN 1 ELSE 0 END FROM DISTRIBUICAO_TIPO_AGRUPAMENTO WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO CREATE TABLE #TMP_DISTRIBUICAO_PORCENTAGEM (CODIGO_AGRUPAMENTO int NOT NULL, FILIAL varchar(25) NOT NULL, AGRUPAMENTO1 varchar(25) NOT NULL, AGRUPAMENTO2 varchar(25) NOT NULL, AGRUPAMENTO3 varchar(25) NOT NULL, AGRUPAMENTO4 varchar(25) NOT NULL, AGRUPAMENTO5 varchar(25) NOT NULL, AGRUPAMENTO6 varchar(25) NOT NULL, QTDE int NOT NULL, TOTAL_AGRUPAMENTO int NOT NULL, PORCENTAGEM real NOT NULL) CREATE TABLE #TEMP_DISTRIBUICAO_AGRUPAMENTO ( CODIGO_AGRUPAMENTO int NOT NULL, VALOR_AGRUPAMENTO1 varchar(25) NOT NULL, VALOR_AGRUPAMENTO2 varchar(25) NOT NULL, VALOR_AGRUPAMENTO3 varchar(25) NOT NULL, VALOR_AGRUPAMENTO4 varchar(25) NOT NULL, VALOR_AGRUPAMENTO5 varchar(25) NOT NULL, VALOR_AGRUPAMENTO6 varchar(25) NOT NULL) SELECT @FILTRO='''' WHERE @FILTRO IS NULL INSERT INTO #TMP_DISTRIBUICAO_PORCENTAGEM EXECUTE('' SELECT ''+@CODIGO_AGRUPAMENTO+'',B.FILIAL, ''+@STRING_GROUP1+'', SUM(A.QTDE) AS QTDE, 0 AS TOTAL_AGRUPAMENTO, CONVERT(REAL,0) AS PORCENTAGEM FROM LOJA_VENDA_PRODUTO A JOIN LOJAS_VAREJO B ON A.CODIGO_FILIAL=B.CODIGO_FILIAL JOIN PRODUTOS ON A.PRODUTO=PRODUTOS.PRODUTO JOIN ( SELECT DISTINCT FILIAL FROM DISTRIBUICAO_PORCENTAGEM WHERE FIXA_PORCENTAGEM<>1 AND CODIGO_AGRUPAMENTO=''+@CODIGO_AGRUPAMENTO+'' AND CODIGO_VALOR_AGRUPAMENTO=''+@CODIGO_BASE+'') D ON D.FILIAL=B.FILIAL WHERE DATA_VENDA >= ''''''+@DATA_INICIAL+'''''' AND DATA_VENDA <= ''''''+@DATA_FINAL +''''''''+ @FILTRO+'' GROUP BY B.FILIAL, ''+@STRING_GROUP2) UPDATE A SET TOTAL_AGRUPAMENTO=B.TOTAL_AGRUPAMENTO FROM #TMP_DISTRIBUICAO_PORCENTAGEM A JOIN (SELECT AGRUPAMENTO1,AGRUPAMENTO2,AGRUPAMENTO3,AGRUPAMENTO4,AGRUPAMENTO5,AGRUPAMENTO6,SUM(QTDE) AS TOTAL_AGRUPAMENTO FROM #TMP_DISTRIBUICAO_PORCENTAGEM GROUP BY AGRUPAMENTO1,AGRUPAMENTO2,AGRUPAMENTO3,AGRUPAMENTO4,AGRUPAMENTO5,AGRUPAMENTO6) B ON A.AGRUPAMENTO1=B.AGRUPAMENTO1 AND A.AGRUPAMENTO2=B.AGRUPAMENTO2 AND A.AGRUPAMENTO3=B.AGRUPAMENTO3 AND A.AGRUPAMENTO4=B.AGRUPAMENTO4 AND A.AGRUPAMENTO5=B.AGRUPAMENTO5 AND A.AGRUPAMENTO6=B.AGRUPAMENTO6 UPDATE #TMP_DISTRIBUICAO_PORCENTAGEM SET PORCENTAGEM=100.*QTDE/TOTAL_AGRUPAMENTO IF @AGR2=0 INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,B.AGRUPAMENTO1,B.AGRUPAMENTO1,B.AGRUPAMENTO1,B.AGRUPAMENTO1,B.AGRUPAMENTO1 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B ELSE IF @AGR3=0 INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,C.AGRUPAMENTO2,C.AGRUPAMENTO2,C.AGRUPAMENTO2,C.AGRUPAMENTO2,C.AGRUPAMENTO2 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B CROSS JOIN (SELECT DISTINCT AGRUPAMENTO2 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) C ELSE IF @AGR4=0 INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,C.AGRUPAMENTO2,D.AGRUPAMENTO3,D.AGRUPAMENTO3,D.AGRUPAMENTO3,D.AGRUPAMENTO3 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B CROSS JOIN (SELECT DISTINCT AGRUPAMENTO2 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) C CROSS JOIN (SELECT DISTINCT AGRUPAMENTO3 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) D ELSE IF @AGR5=0 INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,C.AGRUPAMENTO2,D.AGRUPAMENTO3,E.AGRUPAMENTO4,E.AGRUPAMENTO4,E.AGRUPAMENTO4 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B CROSS JOIN (SELECT DISTINCT AGRUPAMENTO2 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) C CROSS JOIN (SELECT DISTINCT AGRUPAMENTO3 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) D CROSS JOIN (SELECT DISTINCT AGRUPAMENTO4 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) E ELSE IF @AGR6=0 INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,C.AGRUPAMENTO2,D.AGRUPAMENTO3,E.AGRUPAMENTO4,F.AGRUPAMENTO5,F.AGRUPAMENTO5 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B CROSS JOIN (SELECT DISTINCT AGRUPAMENTO2 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) C CROSS JOIN (SELECT DISTINCT AGRUPAMENTO3 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) D CROSS JOIN (SELECT DISTINCT AGRUPAMENTO4 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) E CROSS JOIN (SELECT DISTINCT AGRUPAMENTO5 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) F ELSE INSERT INTO #TEMP_DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) SELECT @CODIGO_AGRUPAMENTO,B.AGRUPAMENTO1,C.AGRUPAMENTO2,D.AGRUPAMENTO3,E.AGRUPAMENTO4,F.AGRUPAMENTO5,G.AGRUPAMENTO6 FROM (SELECT DISTINCT AGRUPAMENTO1 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) B CROSS JOIN (SELECT DISTINCT AGRUPAMENTO2 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) C CROSS JOIN (SELECT DISTINCT AGRUPAMENTO3 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) D CROSS JOIN (SELECT DISTINCT AGRUPAMENTO4 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) E CROSS JOIN (SELECT DISTINCT AGRUPAMENTO5 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) F CROSS JOIN (SELECT DISTINCT AGRUPAMENTO6 FROM #TMP_DISTRIBUICAO_PORCENTAGEM) G DECLARE @VALOR1 VARCHAR(25),@VALOR2 VARCHAR(25),@VALOR3 VARCHAR(25),@VALOR4 VARCHAR(25),@VALOR5 VARCHAR(25),@VALOR6 VARCHAR(25), @CONTADOR INT DECLARE CUR_DISTRIBUICAO CURSOR FOR SELECT DISTINCT VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6 FROM #TEMP_DISTRIBUICAO_AGRUPAMENTO OPEN CUR_DISTRIBUICAO FETCH NEXT FROM CUR_DISTRIBUICAO INTO @VALOR1,@VALOR2,@VALOR3,@VALOR4,@VALOR5,@VALOR6 WHILE @@FETCH_STATUS=0 BEGIN IF NOT EXISTS (SELECT * FROM DISTRIBUICAO_AGRUPAMENTO WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO AND VALOR_AGRUPAMENTO1=@VALOR1 AND VALOR_AGRUPAMENTO2=@VALOR2 AND VALOR_AGRUPAMENTO3=@VALOR3 AND VALOR_AGRUPAMENTO4=@VALOR4 AND VALOR_AGRUPAMENTO5=@VALOR5 AND VALOR_AGRUPAMENTO6=@VALOR6) BEGIN SELECT @CONTADOR=MAX(CODIGO_VALOR_AGRUPAMENTO) FROM DISTRIBUICAO_AGRUPAMENTO WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO SELECT @CONTADOR=ISNULL(@CONTADOR,0)+1 INSERT INTO DISTRIBUICAO_AGRUPAMENTO (CODIGO_AGRUPAMENTO,CODIGO_VALOR_AGRUPAMENTO, VALOR_AGRUPAMENTO1,VALOR_AGRUPAMENTO2,VALOR_AGRUPAMENTO3,VALOR_AGRUPAMENTO4,VALOR_AGRUPAMENTO5,VALOR_AGRUPAMENTO6) VALUES (@CODIGO_AGRUPAMENTO,@CONTADOR,@VALOR1,@VALOR2,@VALOR3,@VALOR4,@VALOR5,@VALOR6) END FETCH NEXT FROM CUR_DISTRIBUICAO INTO @VALOR1,@VALOR2,@VALOR3,@VALOR4,@VALOR5,@VALOR6 END CLOSE CUR_DISTRIBUICAO DEALLOCATE CUR_DISTRIBUICAO INSERT INTO DISTRIBUICAO_PORCENTAGEM (FILIAL,CODIGO_AGRUPAMENTO,CODIGO_VALOR_AGRUPAMENTO,PORCENTAGEM_TOTAL,FIXA_PORCENTAGEM, A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24, A25,A26,A27,A28,A29,A30,A31,A32,A33,A34,A35,A36,A37,A38,A39,A40,A41,A42,A43,A44,A45,A46,A47,A48) SELECT A.FILIAL,A.CODIGO_AGRUPAMENTO,A.CODIGO_VALOR_AGRUPAMENTO,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 FROM (SELECT @CODIGO_AGRUPAMENTO AS CODIGO_AGRUPAMENTO, FILIAL,CODIGO_VALOR_AGRUPAMENTO FROM (SELECT DISTINCT FILIAL FROM DISTRIBUICAO_PORCENTAGEM WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO AND CODIGO_VALOR_AGRUPAMENTO=@CODIGO_BASE) A CROSS JOIN (SELECT DISTINCT CODIGO_VALOR_AGRUPAMENTO FROM DISTRIBUICAO_AGRUPAMENTO WHERE CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO) B) A LEFT JOIN DISTRIBUICAO_PORCENTAGEM B ON A.FILIAL=B.FILIAL AND A.CODIGO_AGRUPAMENTO=B.CODIGO_AGRUPAMENTO AND A.CODIGO_VALOR_AGRUPAMENTO=B.CODIGO_VALOR_AGRUPAMENTO WHERE B.FILIAL IS NULL SELECT @PORCENTAGEM_FIXA=ISNULL(SUM(PORCENTAGEM_TOTAL),0) FROM DISTRIBUICAO_PORCENTAGEM WHERE FIXA_PORCENTAGEM<>1 AND CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO AND CODIGO_VALOR_AGRUPAMENTO=@CODIGO_BASE UPDATE A SET PORCENTAGEM_TOTAL=B.PORCENTAGEM_TOTAL FROM DISTRIBUICAO_PORCENTAGEM A JOIN (SELECT DISTINCT CODIGO_AGRUPAMENTO,FILIAL,PORCENTAGEM_TOTAL FROM DISTRIBUICAO_PORCENTAGEM WHERE FIXA_PORCENTAGEM=1 AND CODIGO_AGRUPAMENTO=@CODIGO_AGRUPAMENTO AND CODIGO_VALOR_AGRUPAMENTO=@CODIGO_BASE) B ON A.CODIGO_AGRUPAMENTO=B.CODIGO_AGRUPAMENTO AND A.FILIAL=B.FILIAL UPDATE C SET PORCENTAGEM_TOTAL = (ISNULL(A.PORCENTAGEM,0)/100.)*(100-ISNULL(@PORCENTAGEM_FIXA,0)) FROM (#TMP_DISTRIBUICAO_PORCENTAGEM A JOIN DISTRIBUICAO_AGRUPAMENTO B ON A.CODIGO_AGRUPAMENTO=B.CODIGO_AGRUPAMENTO AND A.AGRUPAMENTO1=B.VALOR_AGRUPAMENTO1 AND A.AGRUPAMENTO2=B.VALOR_AGRUPAMENTO2 AND A.AGRUPAMENTO3=B.VALOR_AGRUPAMENTO3 AND A.AGRUPAMENTO4=B.VALOR_AGRUPAMENTO4 AND A.AGRUPAMENTO5=B.VALOR_AGRUPAMENTO5 AND A.AGRUPAMENTO6=B.VALOR_AGRUPAMENTO6) JOIN DISTRIBUICAO_PORCENTAGEM C ON C.CODIGO_AGRUPAMENTO=A.CODIGO_AGRUPAMENTO AND C.CODIGO_VALOR_AGRUPAMENTO=B.CODIGO_VALOR_AGRUPAMENTO AND C.FILIAL=A.FILIAL WHERE (B.LANCAMENTO_MANUAL=0 OR B.LANCAMENTO_MANUAL IS NULL) AND (C.FIXA_PORCENTAGEM=0 OR C.FIXA_PORCENTAGEM IS NULL) DROP TABLE #TMP_DISTRIBUICAO_PORCENTAGEM DROP TABLE #TEMP_DISTRIBUICAO_AGRUPAMENTO SET NOCOUNT OFF ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_GERA_CALENDARIO_454]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_GERA_CALENDARIO_454] @ANO454 SMALLINT, @Dia_Primeira_Semana DATETIME, @TIPO_454_545 CHAR(3)=''454'', @Gera_Semana_53 bit = 0, @MES_SEMANA_53 SMALLINT = 12 AS DECLARE @DATA DATETIME, @SEMANA TINYINT, @MES TINYINT, @DIA_DO_ANO SMALLINT, @DIA_SEMANA TINYINT, @INDICA TINYINT, @SEMANAS_MES TINYINT SELECT @DATA=@Dia_Primeira_Semana, @DIA_DO_ANO=1, @MES=1, @SEMANA=1, @DIA_SEMANA=1, @INDICA = CASE WHEN @TIPO_454_545 = ''545'' THEN 5 ELSE 4 END+ CASE WHEN @MES_SEMANA_53=1 THEN 1 ELSE 0 END, @SEMANAS_MES=1 WHILE @SEMANA < 53+CASE WHEN @Gera_Semana_53=1 THEN 1 ELSE 0 END BEGIN INSERT INTO DATAS (DATA,SEMANA454,MES454,ANO454,DIA_DO_ANO454) VALUES (@DATA,@SEMANA,@MES,@ANO454,@DIA_DO_ANO) SELECT @DATA = DATEADD(DAY,1,@DATA), @DIA_DO_ANO = @DIA_DO_ANO+1, @DIA_SEMANA = @DIA_SEMANA+1 SELECT @SEMANA=@SEMANA+1 , @SEMANAS_MES=@SEMANAS_MES+1, @DIA_SEMANA=1 WHERE @DIA_SEMANA=8 SELECT @MES=@MES+1, @SEMANAS_MES=1 WHERE @SEMANAS_MES=@INDICA+1 SELECT @INDICA=CASE WHEN @MES IN ( 1,3,4,6,7,9,10,12 ) THEN CASE WHEN @TIPO_454_545 = ''545'' THEN 5 ELSE 4 END WHEN @MES IN ( 2,5,8,11 ) THEN CASE WHEN @TIPO_454_545 = ''545'' THEN 4 ELSE 5 END END + CASE WHEN @Gera_Semana_53=1 AND @MES_SEMANA_53=@MES THEN 1 ELSE 0 END END' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_DATAS_CALENDARIO_454]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_DATAS_CALENDARIO_454] as SELECT ANO454 = ANO454, MES454 = MES454, MES = (SELECT DATEPART(MONTH,DATA) AS MES FROM DATAS X WHERE X.MES454=D.MES454 AND X.ANO454=D.ANO454 GROUP BY X.MES454,DATEPART(MONTH,X.DATA) HAVING COUNT(*) > 15 ), SEMANA454 = SEMANA454, DOM = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=1 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)), SEG = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=2 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , TER = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=3 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , QUA = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=4 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , QUI = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=5 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , SEX = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=6 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , SAB = '' ''+CONVERT(CHAR(2),RIGHT(SUM(CASE WHEN DATEPART(WEEKDAY,DATA)=7 THEN DATEPART(DAY,DATA) ELSE 0 END)+100,2)) , PORCENTAGEM = ISNULL(SUM(PORCENTAGEM_MES454),0) FROM DATAS D GROUP BY ANO454, SEMANA454, MES454 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_PROCESSOS]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_PROCESSOS] AS DECLARE @ID INT,@COMANDO VARCHAR(1000),@STATUS TINYINT, @DESC_STATUS VARCHAR(500) , @ERRO INT SET NOCOUNT ON IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = ''LX_PROCESSO_LOG'') IF EXISTS (SELECT * FROM LX_PROCESSO_LOG WHERE STATUS=0 OR STATUS=10) BEGIN DECLARE CUR_PROCESSO CURSOR FOR SELECT SEQUENCIA,COMANDO FROM LX_PROCESSO_LOG WHERE (STATUS=0 OR STATUS=10) AND DATA_LOG <= DATEADD(MI,-1,GETDATE()) OPEN CUR_PROCESSO FETCH NEXT FROM CUR_PROCESSO INTO @ID, @COMANDO WHILE @@FETCH_STATUS=0 BEGIN IF EXISTS (SELECT * FROM LX_PROCESSO_LOG WHERE SEQUENCIA=@ID AND (STATUS=0 OR STATUS=10)) BEGIN EXECUTE(@COMANDO) SELECT @ERRO=@@ERROR IF @ERRO=0 SELECT @STATUS=1, @DESC_STATUS=''PROCESSADO SEM ERROS'' ELSE SELECT @STATUS=9, @DESC_STATUS=''OCORREU UM ERRO DURANTE O PROCESSO ! (ERRO=''+STR(@ERRO)+'')'' UPDATE LX_PROCESSO_LOG SET STATUS=@STATUS, LOG_PROCESSO=@DESC_STATUS, DATA_PROCESSADO=GETDATE() WHERE COMANDO=@COMANDO AND STATUS=0 OR STATUS=10 END FETCH NEXT FROM CUR_PROCESSO INTO @ID, @COMANDO END CLOSE CUR_PROCESSO DEALLOCATE CUR_PROCESSO DELETE FROM LX_PROCESSO_LOG WHERE STATUS=1 AND DATA_PROCESSADO<=DATEADD(MONTH,-1,GETDATE()) END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_COMPRAS_QTDE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_COMPRAS_QTDE] (MATERIAL, COR_MATERIAL, COMPRAS) AS SELECT COMPRAS_MATERIAL.MATERIAL, COMPRAS_MATERIAL.COR_MATERIAL, sum(qtde_entregar) FROM COMPRAS_MATERIAL WHERE QTDE_ENTREGAR > 0 GROUP BY material, cor_material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PROGRAMACAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PROGRAMACAO] (TIPO, PRODUTO, COR_PRODUTO, ENTREGA_INICIAL, MES, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48) AS SELECT ''5 - PROGRAMAÇÃO '', PRODUCAO_PROG_PROD.PRODUTO, PRODUCAO_PROG_PROD.COR_PRODUTO, ISNULL(PRODUCAO_PROG_PROD.ENTREGA_INICIAL,''01/01/1900''), ISNULL(datepart(mm,PRODUCAO_PROG_PROD.ENTREGA_INICIAL),1), SUM(QTDE_PROGRAMADA), SUM(QTDE_PROGRAMADA), 0, 0, 0, 0, 0, 0, 0, 0, 0, SUM(PRODUCAO_PROG_PROD.p1), SUM(PRODUCAO_PROG_PROD.p2), SUM(PRODUCAO_PROG_PROD.p3), SUM(PRODUCAO_PROG_PROD.p4), SUM(PRODUCAO_PROG_PROD.p5), SUM(PRODUCAO_PROG_PROD.p6), SUM(PRODUCAO_PROG_PROD.p7), SUM(PRODUCAO_PROG_PROD.p8), SUM(PRODUCAO_PROG_PROD.p9), SUM(PRODUCAO_PROG_PROD.p10), SUM(PRODUCAO_PROG_PROD.p11), SUM(PRODUCAO_PROG_PROD.p12), SUM(PRODUCAO_PROG_PROD.p13), SUM(PRODUCAO_PROG_PROD.p14), SUM(PRODUCAO_PROG_PROD.p15), SUM(PRODUCAO_PROG_PROD.p16), SUM(PRODUCAO_PROG_PROD.p17), SUM(PRODUCAO_PROG_PROD.p18), SUM(PRODUCAO_PROG_PROD.p19), SUM(PRODUCAO_PROG_PROD.p20), SUM(PRODUCAO_PROG_PROD.p21), SUM(PRODUCAO_PROG_PROD.p22), SUM(PRODUCAO_PROG_PROD.p23), SUM(PRODUCAO_PROG_PROD.p24), SUM(PRODUCAO_PROG_PROD.p25), SUM(PRODUCAO_PROG_PROD.p26), SUM(PRODUCAO_PROG_PROD.p27), SUM(PRODUCAO_PROG_PROD.p28), SUM(PRODUCAO_PROG_PROD.p29), SUM(PRODUCAO_PROG_PROD.p30), SUM(PRODUCAO_PROG_PROD.p31), SUM(PRODUCAO_PROG_PROD.p32), SUM(PRODUCAO_PROG_PROD.p33), SUM(PRODUCAO_PROG_PROD.p34), SUM(PRODUCAO_PROG_PROD.p35), SUM(PRODUCAO_PROG_PROD.p36), SUM(PRODUCAO_PROG_PROD.p37), SUM(PRODUCAO_PROG_PROD.p38), SUM(PRODUCAO_PROG_PROD.p39), SUM(PRODUCAO_PROG_PROD.p40), SUM(PRODUCAO_PROG_PROD.p41), SUM(PRODUCAO_PROG_PROD.p42), SUM(PRODUCAO_PROG_PROD.p43), SUM(PRODUCAO_PROG_PROD.p44), SUM(PRODUCAO_PROG_PROD.p45), SUM(PRODUCAO_PROG_PROD.p46), SUM(PRODUCAO_PROG_PROD.p47), SUM(PRODUCAO_PROG_PROD.p48) FROM dbo.PRODUCAO_PROG_PROD, producao_programa WHERE PRODUCAO_PROG_PROD.PROGRAMACAO = PRODUCAO_PROGRAMA.PROGRAMACAO AND PRODUCAO_PROGRAMA.TIPO_PROGRAMACAO = 1 GROUP BY PRODUCAO_PROG_PROD.PRODUTO, COR_PRODUTO, ENTREGA_INICIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_ZERA_OP]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create PROCEDURE [LX_ZERA_OP] @ORDEM_PRODUCAO CHAR(08)=NULL,@MOSTRA CHAR(1)=NULL AS DECLARE -- @ORDEM_PRODUCAO CHAR(8), @PRODUTO CHAR(12), @COR_PRODUTO CHAR(10), @TAREFA CHAR(10), @TAREFA_INI CHAR(10), @TAREFA_AUX CHAR(10), @TAREFA_AUX_1 CHAR(10), @TAREFA_ANTERIOR CHAR(10), @SALDO QTDE_PRODUTO, @QTDE_O QTDE_PRODUTO, @QTDE_P QTDE_PRODUTO, @QTDE_A QTDE_PRODUTO, @QTDE_EN QTDE_PRODUTO, @QTDE_S QTDE_PRODUTO, @QTDE_S_AUX QTDE_PRODUTO, @QTDE_S_AUX_1 QTDE_PRODUTO, @SEQUENCIA_PRODUTIVA CHAR(2), @SETOR_PARALELO_NUMERO CHAR(1), @SEQUENCIA_ANTERIOR VARCHAR(25), @INSSEQ_PRO CHAR(2), @INSSEQ_ANT VARCHAR(25), @RECURSO_PRODUTIVO CHAR(5), @FASE_PRODUCAO VARCHAR(25), @FASE_PRODUCAO_INI VARCHAR(25), @SETOR_PRODUCAO VARCHAR(25), @TEM_DIVISAO_RECURSO BIT, @QTDE_PREVISTA_INICIAL NUMERIC(10,2), @QTDE_PREVISTA_AUX2 NUMERIC(10,2), @QTDE_PREVISTA QTDE_PRODUTO, @QTDE_PREVISTA_AUX NUMERIC(10,2), @QTDE_A_PRODUZIR QTDE_PRODUTO, @QTDE_A_PRODUZIR_AUX QTDE_PRODUTO, @QTDE_EM_PROCESSO QTDE_PRODUTO, @QTDE_EM_PROCESSO_AUX QTDE_PRODUTO, @QTDE_PCP_PERDA_OS QTDE_PRODUTO, @QTDE_PCP_PERDA_OS_AUX QTDE_PRODUTO, @QTDE_FINALIZADA QTDE_PRODUTO, @QTDE_FINALIZADA_AUX QTDE_PRODUTO, @QTDE_ALTERACAO_OP QTDE_PRODUTO, @QTDE_ALTERACAO_OP_AUX QTDE_PRODUTO, @QTDE_PERDAS QTDE_PRODUTO, @QTDE_PERDAS_AUX QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS_AUX QTDE_PRODUTO, @QTDE_SEGUNDA QTDE_PRODUTO, @PRIMEIRA_TAREFA BIT, @PRIMEIRA_ALT_PCP BIT, @TEM_ERRO CHAR(1), @TEM_ERRO_AUX CHAR(3), @INDICADOR_TIPO_MOV NUMERIC(2), @LINHAS NUMERIC(4), @MENSAGEM CHAR(50), @O1 QTDE_PRODUTO, @O2 QTDE_PRODUTO, @O3 QTDE_PRODUTO, @O4 QTDE_PRODUTO, @O5 QTDE_PRODUTO, @O6 QTDE_PRODUTO, @O7 QTDE_PRODUTO, @O8 QTDE_PRODUTO, @O9 QTDE_PRODUTO, @O10 QTDE_PRODUTO, @O11 QTDE_PRODUTO, @O12 QTDE_PRODUTO, @O13 QTDE_PRODUTO, @O14 QTDE_PRODUTO, @O15 QTDE_PRODUTO, @O16 QTDE_PRODUTO, @O17 QTDE_PRODUTO, @O18 QTDE_PRODUTO, @O19 QTDE_PRODUTO, @O20 QTDE_PRODUTO, @O21 QTDE_PRODUTO, @O22 QTDE_PRODUTO, @O23 QTDE_PRODUTO, @O24 QTDE_PRODUTO, @O25 QTDE_PRODUTO, @O26 QTDE_PRODUTO, @O27 QTDE_PRODUTO, @O28 QTDE_PRODUTO, @O29 QTDE_PRODUTO, @O30 QTDE_PRODUTO, @O31 QTDE_PRODUTO, @O32 QTDE_PRODUTO, @O33 QTDE_PRODUTO, @O34 QTDE_PRODUTO, @O35 QTDE_PRODUTO, @O36 QTDE_PRODUTO, @O37 QTDE_PRODUTO, @O38 QTDE_PRODUTO, @O39 QTDE_PRODUTO, @O40 QTDE_PRODUTO, @O41 QTDE_PRODUTO, @O42 QTDE_PRODUTO, @O43 QTDE_PRODUTO, @O44 QTDE_PRODUTO, @O45 QTDE_PRODUTO, @O46 QTDE_PRODUTO, @O47 QTDE_PRODUTO, @O48 QTDE_PRODUTO, @EN_1 QTDE_PRODUTO, @EN_2 QTDE_PRODUTO, @EN_3 QTDE_PRODUTO, @EN_4 QTDE_PRODUTO, @EN_5 QTDE_PRODUTO, @EN_6 QTDE_PRODUTO, @EN_7 QTDE_PRODUTO, @EN_8 QTDE_PRODUTO, @EN_9 QTDE_PRODUTO, @EN_10 QTDE_PRODUTO, @EN_11 QTDE_PRODUTO, @EN_12 QTDE_PRODUTO, @EN_13 QTDE_PRODUTO, @EN_14 QTDE_PRODUTO, @EN_15 QTDE_PRODUTO, @EN_16 QTDE_PRODUTO, @EN_17 QTDE_PRODUTO, @EN_18 QTDE_PRODUTO, @EN_19 QTDE_PRODUTO, @EN_20 QTDE_PRODUTO, @EN_21 QTDE_PRODUTO, @EN_22 QTDE_PRODUTO, @EN_23 QTDE_PRODUTO, @EN_24 QTDE_PRODUTO, @EN_25 QTDE_PRODUTO, @EN_26 QTDE_PRODUTO, @EN_27 QTDE_PRODUTO, @EN_28 QTDE_PRODUTO, @EN_29 QTDE_PRODUTO, @EN_30 QTDE_PRODUTO, @EN_31 QTDE_PRODUTO, @EN_32 QTDE_PRODUTO, @EN_33 QTDE_PRODUTO, @EN_34 QTDE_PRODUTO, @EN_35 QTDE_PRODUTO, @EN_36 QTDE_PRODUTO, @EN_37 QTDE_PRODUTO, @EN_38 QTDE_PRODUTO, @EN_39 QTDE_PRODUTO, @EN_40 QTDE_PRODUTO, @EN_41 QTDE_PRODUTO, @EN_42 QTDE_PRODUTO, @EN_43 QTDE_PRODUTO, @EN_44 QTDE_PRODUTO, @EN_45 QTDE_PRODUTO, @EN_46 QTDE_PRODUTO, @EN_47 QTDE_PRODUTO, @EN_48 QTDE_PRODUTO, @P1 QTDE_PRODUTO, @P2 QTDE_PRODUTO, @P3 QTDE_PRODUTO, @P4 QTDE_PRODUTO, @P5 QTDE_PRODUTO, @P6 QTDE_PRODUTO, @P7 QTDE_PRODUTO, @P8 QTDE_PRODUTO, @P9 QTDE_PRODUTO, @P10 QTDE_PRODUTO, @P11 QTDE_PRODUTO, @P12 QTDE_PRODUTO, @P13 QTDE_PRODUTO, @P14 QTDE_PRODUTO, @P15 QTDE_PRODUTO, @P16 QTDE_PRODUTO, @P17 QTDE_PRODUTO, @P18 QTDE_PRODUTO, @P19 QTDE_PRODUTO, @P20 QTDE_PRODUTO, @P21 QTDE_PRODUTO, @P22 QTDE_PRODUTO, @P23 QTDE_PRODUTO, @P24 QTDE_PRODUTO, @P25 QTDE_PRODUTO, @P26 QTDE_PRODUTO, @P27 QTDE_PRODUTO, @P28 QTDE_PRODUTO, @P29 QTDE_PRODUTO, @P30 QTDE_PRODUTO, @P31 QTDE_PRODUTO, @P32 QTDE_PRODUTO, @P33 QTDE_PRODUTO, @P34 QTDE_PRODUTO, @P35 QTDE_PRODUTO, @P36 QTDE_PRODUTO, @P37 QTDE_PRODUTO, @P38 QTDE_PRODUTO, @P39 QTDE_PRODUTO, @P40 QTDE_PRODUTO, @P41 QTDE_PRODUTO, @P42 QTDE_PRODUTO, @P43 QTDE_PRODUTO, @P44 QTDE_PRODUTO, @P45 QTDE_PRODUTO, @P46 QTDE_PRODUTO, @P47 QTDE_PRODUTO, @P48 QTDE_PRODUTO SELECT @TEM_ERRO = ''N'' /**********************************************************************************************/ /*VERIFICA SE EXISTE INCONSISTENCIA ENTRE A QTDE A PROGRAMAR E A QTDE ORIGINAL-QTDE NO ESTOQUE*/ /**********************************************************************************************/ SELECT @QTDE_O=SUM(QTDE_O),@QTDE_P =SUM(QTDE_P), @O1 = SUM(O1), @O2 = SUM(O2), @O3 = SUM(O3) ,@O4 = SUM(O4), @O5 = SUM(O5), @O6 = SUM(O6), @O7 = SUM(O7) ,@O8 = SUM(O8), @O9 = SUM(O9), @O10 = SUM(O10),@O11 = SUM(O11),@O12 = SUM(O12), @O13 = SUM(O13),@O14 = SUM(O14),@O15 = SUM(O15),@O16 = SUM(O16), @O17 = SUM(O17),@O18 = SUM(O18),@O19 = SUM(O19),@O20 = SUM(O20), @O21 = SUM(O21),@O22 = SUM(O22),@O23 = SUM(O23),@O24 = SUM(O24), @O25 = SUM(O25),@O26 = SUM(O26),@O27 = SUM(O27),@O28 = SUM(O28), @O29 = SUM(O29),@O30 = SUM(O30),@O31 = SUM(O31),@O32 = SUM(O32), @O33 = SUM(O33),@O34 = SUM(O34),@O35 = SUM(O35),@O36 = SUM(O36), @O37 = SUM(O37),@O38 = SUM(O38),@O39 = SUM(O39),@O40 = SUM(O40), @O41 = SUM(O41),@O42 = SUM(O42),@O43 = SUM(O43),@O44 = SUM(O44), @O45 = SUM(O45),@O46 = SUM(O46),@O47 = SUM(O47),@O48 = SUM(O48), @P1 = SUM(P1), @P2 = SUM(P2), @P3 = SUM(P3) ,@P4 = SUM(P4), @P5 = SUM(P5), @P6 = SUM(P6), @P7 = SUM(P7) ,@P8 = SUM(P8), @P9 = SUM(P9), @P10 = SUM(P10),@P11 = SUM(P11),@P12 = SUM(P12), @P13 = SUM(P13),@P14 = SUM(P14),@P15 = SUM(P15),@P16 = SUM(P16), @P17 = SUM(P17),@P18 = SUM(P18),@P19 = SUM(P19),@P20 = SUM(P20), @P21 = SUM(P21),@P22 = SUM(P22),@P23 = SUM(P23),@P24 = SUM(P24), @P25 = SUM(P25),@P26 = SUM(P26),@P27 = SUM(P27),@P28 = SUM(P28), @P29 = SUM(P29),@P30 = SUM(P30),@P31 = SUM(P31),@P32 = SUM(P32), @P33 = SUM(P33),@P34 = SUM(P34),@P35 = SUM(P35),@P36 = SUM(P36), @P37 = SUM(P37),@P38 = SUM(P38),@P39 = SUM(P39),@P40 = SUM(P40), @P41 = SUM(P41),@P42 = SUM(P42),@P43 = SUM(P43),@P44 = SUM(P44), @P45 = SUM(P45),@P46 = SUM(P46),@P47 = SUM(P47),@P48 = SUM(P48) FROM PRODUCAO_ORDEM_COR WHERE PRODUCAO_ORDEM_COR.ORDEM_PRODUCAO = @ORDEM_PRODUCAO SELECT @QTDE_EN=SUM(QTDE), @EN_1 = SUM(EN_1), @EN_2 = SUM(EN_2), @EN_3 = SUM(EN_3) ,@EN_4 = SUM(EN_4), @EN_5 = SUM(EN_5), @EN_6 = SUM(EN_6), @EN_7 = SUM(EN_7) ,@EN_8 = SUM(EN_8), @EN_9 = SUM(EN_9), @EN_10 = SUM(EN_10),@EN_11 = SUM(EN_11),@EN_12 = SUM(EN_12), @EN_13 = SUM(EN_13),@EN_14 = SUM(EN_14),@EN_15 = SUM(EN_15),@EN_16 = SUM(EN_16), @EN_17 = SUM(EN_17),@EN_18 = SUM(EN_18),@EN_19 = SUM(EN_19),@EN_20 = SUM(EN_20), @EN_21 = SUM(EN_21),@EN_22 = SUM(EN_22),@EN_23 = SUM(EN_23),@EN_24 = SUM(EN_24), @EN_25 = SUM(EN_25),@EN_26 = SUM(EN_26),@EN_27 = SUM(EN_27),@EN_28 = SUM(EN_28), @EN_29 = SUM(EN_29),@EN_30 = SUM(EN_30),@EN_31 = SUM(EN_31),@EN_32 = SUM(EN_32), @EN_33 = SUM(EN_33),@EN_34 = SUM(EN_34),@EN_35 = SUM(EN_35),@EN_36 = SUM(EN_36), @EN_37 = SUM(EN_37),@EN_38 = SUM(EN_38),@EN_39 = SUM(EN_39),@EN_40 = SUM(EN_40), @EN_41 = SUM(EN_41),@EN_42 = SUM(EN_42),@EN_43 = SUM(EN_43),@EN_44 = SUM(EN_44), @EN_45 = SUM(EN_45),@EN_46 = SUM(EN_46),@EN_47 = SUM(EN_47),@EN_48 = SUM(EN_48) FROM ESTOQUE_PROD1_ENT WHERE ORDEM_PRODUCAO=@ORDEM_PRODUCAO IF @O1 -ISNULL(@EN_1,0) <> @P1 OR @O2 -ISNULL(@EN_2,0) <> @P2 OR @O3 -ISNULL(@EN_3,0) <>@P3 OR @O4 -ISNULL(@EN_4,0) <> @P4 OR @O5 -ISNULL(@EN_5,0) <> @P5 OR @O6 -ISNULL(@EN_6,0) <>@P6 OR @O7 -ISNULL(@EN_7,0) <> @P7 OR @O8 -ISNULL(@EN_8,0) <> @P8 OR @O9 -ISNULL(@EN_9,0) <>@P9 OR @O10-ISNULL(@EN_10,0) <> @P10 OR @O11-ISNULL(@EN_11,0) <> @P11 OR @O12-ISNULL(@EN_12,0)<>@P12 OR @O13-ISNULL(@EN_13,0) <> @P13 OR @O14-ISNULL(@EN_14,0) <> @P14 OR @O15-ISNULL(@EN_15,0)<>@P15 OR @O16-ISNULL(@EN_16,0) <> @P16 OR @O17-ISNULL(@EN_17,0) <> @P17 OR @O18-ISNULL(@EN_18,0)<>@P18 OR @O19-ISNULL(@EN_19,0) <> @P19 OR @O20-ISNULL(@EN_20,0) <> @P20 OR @O21-ISNULL(@EN_21,0)<>@P21 OR @O22-ISNULL(@EN_22,0) <> @P22 OR @O23-ISNULL(@EN_23,0) <> @P23 OR @O24-ISNULL(@EN_24,0)<>@P24 OR @O25-ISNULL(@EN_25,0) <> @P25 OR @O26-ISNULL(@EN_26,0) <> @P26 OR @O27-ISNULL(@EN_27,0)<>@P27 OR @O28-ISNULL(@EN_28,0) <> @P28 OR @O29-ISNULL(@EN_29,0) <> @P29 OR @O30-ISNULL(@EN_30,0)<>@P30 OR @O31-ISNULL(@EN_31,0) <> @P31 OR @O32-ISNULL(@EN_32,0) <> @P32 OR @O33-ISNULL(@EN_33,0)<>@P33 OR @O34-ISNULL(@EN_34,0) <> @P34 OR @O35-ISNULL(@EN_35,0) <> @P35 OR @O36-ISNULL(@EN_36,0)<>@P36 OR @O37-ISNULL(@EN_37,0) <> @P37 OR @O38-ISNULL(@EN_38,0) <> @P38 OR @O39-ISNULL(@EN_39,0)<>@P39 OR @O40-ISNULL(@EN_40,0) <> @P40 OR @O41-ISNULL(@EN_41,0) <> @P41 OR @O42-ISNULL(@EN_42,0)<>@P42 OR @O43-ISNULL(@EN_43,0) <> @P43 OR @O44-ISNULL(@EN_44,0) <> @P44 OR @O45-ISNULL(@EN_45,0)<>@P45 OR @O46-ISNULL(@EN_46,0) <> @P46 OR @O47-ISNULL(@EN_47,0) <> @P47 OR @O48-ISNULL(@EN_48,0)<>@P48 BEGIN SELECT @TEM_ERRO = ''S'' END IF @TEM_ERRO = ''N'' BEGIN IF @MOSTRA IS NULL SELECT @MOSTRA=''N'' /***********************************************/ /* GERA CURSOR TEMPORARIO COM AS QTDE CORRETAS */ /***********************************************/ IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_TAREFAS_AUX SELECT *,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN INTO TMP_TAREFAS_AUX FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR /*CRIA CURSOR DAS TAREFAS*/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 1--,@QTDE_PREVISTA_INICIAL = @QTDE_PREVISTA SELECT @QTDE_PREVISTA_INICIAL = SUM(QTDE_P) FROM PRODUCAO_ORDEM_COR WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO WHILE @@FETCH_STATUS = 0 BEGIN IF @PRIMEIRA_TAREFA =0 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = @QTDE_PREVISTA_INICIAL, QTDE_EM_PROCESSO= 0, QTDE_A_PRODUZIR = @QTDE_PREVISTA_INICIAL, QTDE_FINALIZADA =0 , QTDE_ALTERACAO_OP=0, QTDE_PERDAS=0, QTDE_ALT_OUTRAS_TAREFAS=0 WHERE TAREFA = @TAREFA END IF @PRIMEIRA_TAREFA=1 BEGIN SELECT @PRIMEIRA_TAREFA = 0 UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = @QTDE_PREVISTA_INICIAL, QTDE_EM_PROCESSO= @QTDE_PREVISTA_INICIAL, QTDE_A_PRODUZIR = 0 , QTDE_FINALIZADA =0 , QTDE_ALTERACAO_OP=0, QTDE_PERDAS=0, QTDE_ALT_OUTRAS_TAREFAS=0 WHERE TAREFA = @TAREFA END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT ''-2'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX /****************************/ /*ATUALIZA AS QTDE PREVISTAS*/ /****************************/ /* DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 1,@TAREFA_INI= @TAREFA,@QTDE_PREVISTA_INICIAL = @QTDE_PREVISTA,@PRIMEIRA_ALT_PCP=0 WHILE @@FETCH_STATUS = 0 BEGIN SELECT @LINHAS=COUNT(*) FROM PRODUCAO_TAREFAS WHERE FASE_PRODUCAO =@FASE_PRODUCAO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO and SEQUENCIA_PRODUTIVA= @SEQUENCIA_PRODUTIVA SELECT @QTDE_S_AUX_1=@LINHAS IF @LINHAS>1 BEGIN SELECT @QTDE_PREVISTA_AUX=0--,@QTDE_PREVISTA_INICIAL=SUM(QTDE_PREVISTA) FROM PRODUCAO_TAREFAS WHERE FASE_PRODUCAO =@FASE_PRODUCAO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PREVISTA_AUX2=ROUND(@QTDE_PREVISTA_INICIAL/@QTDE_S_AUX_1,0) WHILE @LINHAS<>0 BEGIN IF @LINHAS = 1 SELECT @QTDE_PREVISTA_AUX2 = @QTDE_PREVISTA_INICIAL-@QTDE_PREVISTA_AUX ELSE SELECT @QTDE_PREVISTA_AUX= @QTDE_PREVISTA_AUX + @QTDE_PREVISTA_AUX2 UPDATE TMP_TAREFAS_AUX SET QTDE_A_PRODUZIR = @QTDE_PREVISTA_AUX2, QTDE_PREVISTA = @QTDE_PREVISTA_AUX2 WHERE TAREFA = @TAREFA SELECT @LINHAS=@LINHAS-1 FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT ''-1'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX */ /**********************************************/ /*ATUALIZA AS QTDE ALTERADAS POR PCP OU PERDAS*/ /**********************************************/ /* DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @QTDE_PCP_PERDA_OS_AUX=0,@PRIMEIRA_ALT_PCP=0 WHILE @@FETCH_STATUS = 0 BEGIN DECLARE TMP_PCP_PERDA_OS SCROLL CURSOR FOR SELECT SUM(QTDE_O),PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV OPEN TMP_PCP_PERDA_OS FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV WHILE @@FETCH_STATUS = 0 BEGIN SELECT @PRIMEIRA_ALT_PCP =1 SELECT @QTDE_PCP_PERDA_OS_AUX = @QTDE_PCP_PERDA_OS_AUX + @QTDE_PCP_PERDA_OS IF @INDICADOR_TIPO_MOV=2 UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP+@QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS+@QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV END SELECT @PRIMEIRA_ALT_PCP =0 CLOSE TMP_PCP_PERDA_OS DEALLOCATE TMP_PCP_PERDA_OS IF @PRIMEIRA_ALT_PCP =0 AND @QTDE_PCP_PERDA_OS_AUX<>0 BEGIN SELECT @INSSEQ_PRO=SEQUENCIA_PRODUTIVA, @INSSEQ_ANT=SEQUENCIA_ANTERIOR FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+@QTDE_PCP_PERDA_OS_AUX FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) SELECT @QTDE_PCP_PERDA_OS_AUX = 0 END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS */ /*******************/ /*ATUALIZA AS QTDE */ /*******************/ /* DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @TAREFA_AUX_1='''' IF @MOSTRA =''S'' SELECT ''0'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX WHILE @@FETCH_STATUS = 0 BEGIN SELECT @QTDE_O=SUM(QTDE_O) FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV SELECT @QTDE_EN =SUM(QTDE) FROM ESTOQUE_PROD1_ENT WHERE TAREFA =@TAREFA GROUP BY TAREFA SELECT @QTDE_S =SUM(QTDE_S) FROM PRODUCAO_TAREFAS_SALDO WHERE TAREFA =@TAREFA GROUP BY TAREFA IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_OS_TAREFAS WHERE TAREFA_ANTERIOR =@TAREFA AND PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_OS_TAREFAS.ORDEM_SERVICO AND PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO=PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO AND PRODUCAO_OS_ANTERIOR.PRODUTO=PRODUCAO_OS_TAREFAS.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO=PRODUCAO_OS_TAREFAS.COR_PRODUTO AND INDICADOR_TIPO_MOV<>5)>0 BEGIN DECLARE TMP_TAREFAS_ANTERIOR SCROLL CURSOR FOR SELECT PRODUCAO_OS_ANTERIOR.TAREFA,PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR,SUM(QTDE_A) FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_OS_TAREFAS WHERE TAREFA_ANTERIOR =@TAREFA AND PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_OS_TAREFAS.ORDEM_SERVICO AND PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO=PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO AND PRODUCAO_OS_ANTERIOR.PRODUTO=PRODUCAO_OS_TAREFAS.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO=PRODUCAO_OS_TAREFAS.COR_PRODUTO AND INDICADOR_TIPO_MOV<>5 GROUP BY PRODUCAO_OS_ANTERIOR.TAREFA,PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR OPEN TMP_TAREFAS_ANTERIOR FETCH NEXT FROM TMP_TAREFAS_ANTERIOR INTO @TAREFA_AUX,@TAREFA_ANTERIOR,@QTDE_A WHILE @@FETCH_STATUS = 0 BEGIN IF @PRIMEIRA_TAREFA = 1 UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_ANTERIOR ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A+ @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_ANTERIOR UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO + @QTDE_A-@QTDE_EN, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_AUX IF @TAREFA_AUX<>@TAREFA_AUX_1 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = QTDE_PREVISTA+(QTDE_ALTERACAO_OP+QTDE_PERDAS+QTDE_ALT_OUTRAS_TAREFAS) WHERE TAREFA = @TAREFA_AUX SELECT @TAREFA_AUX_1=@TAREFA_AUX END FETCH NEXT FROM TMP_TAREFAS_ANTERIOR INTO @TAREFA_AUX,@TAREFA_ANTERIOR,@QTDE_A END CLOSE TMP_TAREFAS_ANTERIOR DEALLOCATE TMP_TAREFAS_ANTERIOR END IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_OS_TAREFAS WHERE TAREFA_ANTERIOR =@TAREFA AND PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO=PRODUCAO_OS_TAREFAS.ORDEM_SERVICO AND PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO=PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO AND PRODUCAO_OS_ANTERIOR.PRODUTO=PRODUCAO_OS_TAREFAS.PRODUTO AND PRODUCAO_OS_ANTERIOR.COR_PRODUTO=PRODUCAO_OS_TAREFAS.COR_PRODUTO AND INDICADOR_TIPO_MOV<>5)=0 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR + @QTDE_A WHERE TAREFA = @TAREFA_ANTERIOR UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO + @QTDE_A-@QTDE_EN, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR - @QTDE_A+(QTDE_ALTERACAO_OP+QTDE_PERDAS+QTDE_ALT_OUTRAS_TAREFAS), QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 0 END UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_S CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT ''1'',* FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA) ,SETOR_PARALELO_NUMERO ,SEQUENCIA_ANTERIOR */ /*******************************/ /*ATUALIZA AS QTDE COM O SALDO */ /*******************************/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA),SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @QTDE_P=SUM(QTDE_P) FROM PRODUCAO_ORDEM_COR WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO SELECT @PRIMEIRA_TAREFA = 1,@FASE_PRODUCAO_INI=@FASE_PRODUCAO WHILE @@FETCH_STATUS = 0 BEGIN IF @PRIMEIRA_TAREFA = 1 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = @QTDE_P, QTDE_FINALIZADA = 0, QTDE_A_PRODUZIR = 0, ENCERRAMENTO = NULL, STATUS = 1 WHERE TAREFA = @TAREFA FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 0 END IF @PRIMEIRA_TAREFA = 0 BEGIN SELECT @LINHAS=COUNT(*) FROM TMP_TAREFAS_AUX WHERE FASE_PRODUCAO =@FASE_PRODUCAO and SEQUENCIA_PRODUTIVA= @SEQUENCIA_PRODUTIVA IF @LINHAS>1 BEGIN SELECT @QTDE_PREVISTA_AUX=0,@QTDE_PREVISTA_INICIAL=SUM(QTDE_PREVISTA) FROM TMP_TAREFAS_AUX WHERE FASE_PRODUCAO =@FASE_PRODUCAO WHILE @LINHAS<>0 BEGIN SELECT @QTDE_PREVISTA_AUX2=ROUND((QTDE_PREVISTA/@QTDE_PREVISTA_INICIAL)*@QTDE_P,0) FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA IF @LINHAS = 1 SELECT @QTDE_PREVISTA_AUX2 = @QTDE_P-@QTDE_PREVISTA_AUX ELSE SELECT @QTDE_PREVISTA_AUX= @QTDE_PREVISTA_AUX + @QTDE_PREVISTA_AUX2 UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = 0, QTDE_FINALIZADA = 0, QTDE_A_PRODUZIR = @QTDE_PREVISTA_AUX2, QTDE_PREVISTA = @QTDE_PREVISTA_AUX2, ENCERRAMENTO = NULL, STATUS = 2 WHERE TAREFA = @TAREFA SELECT @LINHAS=@LINHAS-1 FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END END UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = 0, QTDE_FINALIZADA = @QTDE_PREVISTA - @QTDE_P, QTDE_A_PRODUZIR = @QTDE_P, ENCERRAMENTO = NULL, STATUS = 2 WHERE TAREFA = @TAREFA FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT * FROM TMP_TAREFAS_AUX ORDER BY convert(numeric(3),SEQUENCIA_PRODUTIVA) ,SETOR_PARALELO_NUMERO ,SEQUENCIA_ANTERIOR /****************/ /*ZERA AS QTDES */ /****************/ IF @MOSTRA =''N'' BEGIN /*ZERA AS OS´S*/ /*ATUAL*/ ALTER TABLE PRODUCAO_OS_TAREFAS DISABLE TRIGGER ALL DELETE PRODUCAO_OS_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ALTER TABLE PRODUCAO_OS_TAREFAS ENABLE TRIGGER ALL /*TAREFA ANTERIOR*/ ALTER TABLE PRODUCAO_OS_ANTERIOR DISABLE TRIGGER ALL DELETE PRODUCAO_OS_ANTERIOR WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ALTER TABLE PRODUCAO_OS_ANTERIOR ENABLE TRIGGER ALL UPDATE PRODUCAO_TAREFAS SET PRODUCAO_TAREFAS.QTDE_PREVISTA = B.QTDE_PREVISTA, PRODUCAO_TAREFAS.QTDE_EM_PROCESSO = B.QTDE_EM_PROCESSO, PRODUCAO_TAREFAS.QTDE_A_PRODUZIR = B.QTDE_A_PRODUZIR, PRODUCAO_TAREFAS.QTDE_FINALIZADA = B.QTDE_FINALIZADA , PRODUCAO_TAREFAS.QTDE_ALTERACAO_OP = B.QTDE_ALTERACAO_OP, PRODUCAO_TAREFAS.QTDE_PERDAS = B.QTDE_PERDAS, PRODUCAO_TAREFAS.QTDE_ALT_OUTRAS_TAREFAS = B.QTDE_ALT_OUTRAS_TAREFAS, PRODUCAO_TAREFAS.ENCERRAMENTO = B.ENCERRAMENTO, PRODUCAO_TAREFAS.STATUS = B.STATUS FROM TMP_TAREFAS_AUX B WHERE PRODUCAO_TAREFAS.TAREFA =B.TAREFA ALTER TABLE PRODUCAO_TAREFAS_SALDO DISABLE TRIGGER ALL DELETE FROM PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO ALTER TABLE PRODUCAO_TAREFAS_SALDO ENABLE TRIGGER ALL SELECT @TAREFA = TAREFA FROM TMP_TAREFAS_AUX WHERE SEQUENCIA_PRODUTIVA IN (SELECT MIN(SEQUENCIA_PRODUTIVA) FROM TMP_TAREFAS_AUX ) INSERT INTO PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) SELECT @TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_P, P1, P2, P3, P4, P5 , P6 , P7 , P8 ,P9 , P10, P11, P12, P13, P14, P15, P16,P17, P18, P19, P20,P21, P22, P23, P24, P25, P26, P27, P28,P29, P30, P31, P32,P33, P34, P35, P36, P37, P38, P39, P40,P41, P42, P43, P44,P45, P46, P47, P48 FROM PRODUCAO_ORDEM_COR WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO AND QTDE_P>0 UPDATE PRODUCAO_ORDEM SET STATUS = ''S'' WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO END END IF @TEM_ERRO = ''N'' SELECT ''ORDEM PRODUCAO SEM ERROS'' AS MENSAGEM ELSE SELECT ''ORDEM PRODUCAO COM ERROS'' AS MENSAGEM IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_TAREFAS_AUX ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CORRIGE_SALDO]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CORRIGE_SALDO] @ORDEM_PRODUCAO CHAR(08)=NULL,@MOSTRA CHAR(1)=NULL,@ZERA CHAR(1)=NULL ,@MENSAGEM CHAR(50)=NULL OUTPUT AS DECLARE -- @ORDEM_PRODUCAO CHAR(8), @ORDEM_SERVICO CHAR(8), @PRODUTO CHAR(12), @COR_PRODUTO CHAR(10), @COR_PRODUTO_AUX CHAR(10), @TAREFA CHAR(10), @TAREFA_INI CHAR(10), @TAREFA_AUX CHAR(10), @TAREFA_ANTERIOR CHAR(10), @TAREFA_ANTERIOR_AUX CHAR(10), @SALDO QTDE_PRODUTO, @QTDE_O QTDE_PRODUTO, @QTDE_A QTDE_PRODUTO, @QTDE_P QTDE_PRODUTO, @QTDE_A_AUX QTDE_PRODUTO, @SEQUENCIA_PRODUTIVA CHAR(2), @SETOR_PARALELO_NUMERO CHAR(1), @SEQUENCIA_ANTERIOR VARCHAR(25), @INSSEQ_PRO CHAR(2), @INSSEQ_ANT VARCHAR(25), @RECURSO_PRODUTIVO CHAR(5), @FASE_PRODUCAO VARCHAR(25), @SETOR_PRODUCAO VARCHAR(25), @TEM_DIVISAO_RECURSO BIT, @QTDE_PREVISTA_INICIAL QTDE_PRODUTO, @QTDE_PREVISTA QTDE_PRODUTO, @QTDE_PREVISTA_AUX QTDE_PRODUTO, @QTDE_A_PRODUZIR QTDE_PRODUTO, @QTDE_A_PRODUZIR_AUX QTDE_PRODUTO, @QTDE_EM_PROCESSO QTDE_PRODUTO, @QTDE_EM_PROCESSO_AUX QTDE_PRODUTO, @QTDE_PCP_PERDA_OS QTDE_PRODUTO, @QTDE_PCP_PERDA_OS_AUX QTDE_PRODUTO, @QTDE_FINALIZADA QTDE_PRODUTO, @QTDE_FINALIZADA_AUX QTDE_PRODUTO, @QTDE_ALTERACAO_OP QTDE_PRODUTO, @QTDE_ALTERACAO_OP_AUX QTDE_PRODUTO, @QTDE_PERDAS QTDE_PRODUTO, @QTDE_PERDAS_AUX QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS_AUX QTDE_PRODUTO, @QTDE_SEGUNDA QTDE_PRODUTO, @PRIMEIRA_TAREFA BIT, @PRIMEIRA_ALT_PCP BIT, @TEM_ERRO CHAR(1), @TEM_ERRO_AUX CHAR(3), @INDICADOR_TIPO_MOV NUMERIC(2), @A1 QTDE_PRODUTO, @A2 QTDE_PRODUTO, @A3 QTDE_PRODUTO, @A4 QTDE_PRODUTO, @A5 QTDE_PRODUTO, @A6 QTDE_PRODUTO, @A7 QTDE_PRODUTO, @A8 QTDE_PRODUTO, @A9 QTDE_PRODUTO, @A10 QTDE_PRODUTO, @A11 QTDE_PRODUTO, @A12 QTDE_PRODUTO, @A13 QTDE_PRODUTO, @A14 QTDE_PRODUTO, @A15 QTDE_PRODUTO, @A16 QTDE_PRODUTO, @A17 QTDE_PRODUTO, @A18 QTDE_PRODUTO, @A19 QTDE_PRODUTO, @A20 QTDE_PRODUTO, @A21 QTDE_PRODUTO, @A22 QTDE_PRODUTO, @A23 QTDE_PRODUTO, @A24 QTDE_PRODUTO, @A25 QTDE_PRODUTO, @A26 QTDE_PRODUTO, @A27 QTDE_PRODUTO, @A28 QTDE_PRODUTO, @A29 QTDE_PRODUTO, @A30 QTDE_PRODUTO, @A31 QTDE_PRODUTO, @A32 QTDE_PRODUTO, @A33 QTDE_PRODUTO, @A34 QTDE_PRODUTO, @A35 QTDE_PRODUTO, @A36 QTDE_PRODUTO, @A37 QTDE_PRODUTO, @A38 QTDE_PRODUTO, @A39 QTDE_PRODUTO, @A40 QTDE_PRODUTO, @A41 QTDE_PRODUTO, @A42 QTDE_PRODUTO, @A43 QTDE_PRODUTO, @A44 QTDE_PRODUTO, @A45 QTDE_PRODUTO, @A46 QTDE_PRODUTO, @A47 QTDE_PRODUTO, @A48 QTDE_PRODUTO, @P1 QTDE_PRODUTO, @P2 QTDE_PRODUTO, @P3 QTDE_PRODUTO, @P4 QTDE_PRODUTO, @P5 QTDE_PRODUTO, @P6 QTDE_PRODUTO, @P7 QTDE_PRODUTO, @P8 QTDE_PRODUTO, @P9 QTDE_PRODUTO, @P10 QTDE_PRODUTO, @P11 QTDE_PRODUTO, @P12 QTDE_PRODUTO, @P13 QTDE_PRODUTO, @P14 QTDE_PRODUTO, @P15 QTDE_PRODUTO, @P16 QTDE_PRODUTO, @P17 QTDE_PRODUTO, @P18 QTDE_PRODUTO, @P19 QTDE_PRODUTO, @P20 QTDE_PRODUTO, @P21 QTDE_PRODUTO, @P22 QTDE_PRODUTO, @P23 QTDE_PRODUTO, @P24 QTDE_PRODUTO, @P25 QTDE_PRODUTO, @P26 QTDE_PRODUTO, @P27 QTDE_PRODUTO, @P28 QTDE_PRODUTO, @P29 QTDE_PRODUTO, @P30 QTDE_PRODUTO, @P31 QTDE_PRODUTO, @P32 QTDE_PRODUTO, @P33 QTDE_PRODUTO, @P34 QTDE_PRODUTO, @P35 QTDE_PRODUTO, @P36 QTDE_PRODUTO, @P37 QTDE_PRODUTO, @P38 QTDE_PRODUTO, @P39 QTDE_PRODUTO, @P40 QTDE_PRODUTO, @P41 QTDE_PRODUTO, @P42 QTDE_PRODUTO, @P43 QTDE_PRODUTO, @P44 QTDE_PRODUTO, @P45 QTDE_PRODUTO, @P46 QTDE_PRODUTO, @P47 QTDE_PRODUTO, @P48 QTDE_PRODUTO IF @MOSTRA IS NULL SELECT @MOSTRA=''N'' SELECT @TEM_ERRO = ''N'' /************************************************/ /* GERA CURSOR TEMPORARIO COM AS QTDES INICIAIS */ /************************************************/ --CRIANDO CURSOR ZERADO IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_PRODUCAO_TAREFAS_SALDO'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_PRODUCAO_TAREFAS_SALDO SELECT * INTO TMP_PRODUCAO_TAREFAS_SALDO FROM PRODUCAO_TAREFAS_SALDO WHERE 1=0 --PEGANDO QTDE E TAREFA INICIAIS SELECT @QTDE_PREVISTA_INICIAL = QTDE_PREVISTA,@TAREFA=TAREFA FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO ORDER BY SEQUENCIA_PRODUTIVA DESC ,SETOR_PARALELO_NUMERO DESC,SEQUENCIA_ANTERIOR DESC --GERANDO CURSOR COM AS QTDES INICIAS NA OS DECLARE TMP_SALDO SCROLL CURSOR FOR SELECT TAREFA_ANTERIOR,PRODUTO,COR_PRODUTO,SUM(QTDE_A) QTDE_A, SUM(A1) AS A1, SUM(A2) AS A2, SUM(A3) AS A3, SUM(A4) AS A4, SUM(A5) AS A5, SUM(A6) AS A6, SUM(A7) AS A7, SUM(A8) AS A8, SUM(A9) AS A9, SUM(A10) AS A10,SUM(A11) AS A11,SUM(A12) AS A12, SUM(A13) AS A13,SUM(A14) AS A14,SUM(A15) AS A15,SUM(A16) AS A16, SUM(A17) AS A17,SUM(A18) AS A18,SUM(A19) AS A19,SUM(A20) AS A20, SUM(A21) AS A21,SUM(A22) AS A22,SUM(A23) AS A23,SUM(A24) AS A24, SUM(A25) AS A25,SUM(A26) AS A26,SUM(A27) AS A27,SUM(A28) AS A28, SUM(A29) AS A29,SUM(A30) AS A30,SUM(A31) AS A31,SUM(A32) AS A32, SUM(A33) AS A33,SUM(A34) AS A34,SUM(A35) AS A35,SUM(A36) AS A36, SUM(A37) AS A37,SUM(A38) AS A38,SUM(A39) AS A39,SUM(A40) AS A40, SUM(A41) AS A41,SUM(A42) AS A42,SUM(A43) AS A43,SUM(A44) AS A44, SUM(A45) AS A45,SUM(A46) AS A46,SUM(A47) AS A47,SUM(A48) AS A48 FROM PRODUCAO_OS_ANTERIOR WHERE ORDEM_PRODUCAO= @ORDEM_PRODUCAO AND TAREFA_ANTERIOR = @TAREFA GROUP BY TAREFA_ANTERIOR,PRODUTO,COR_PRODUTO OPEN TMP_SALDO FETCH NEXT FROM TMP_SALDO INTO @TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA_ANTERIOR=@TAREFA AND ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY TAREFA_ANTERIOR HAVING SUM(QTDE_A) = @QTDE_PREVISTA_INICIAL)>0 BEGIN WHILE @@FETCH_STATUS = 0 BEGIN INSERT INTO TMP_PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@TAREFA_ANTERIOR,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48) FETCH NEXT FROM TMP_SALDO INTO @TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END END CLOSE TMP_SALDO DEALLOCATE TMP_SALDO /****************************************************/ /* ATUALIZA CURSOR TEMPORARIO COM AS QTDES DAS OS´S */ /****************************************************/ DECLARE TMP_ORDEM_SERVICO SCROLL CURSOR FOR SELECT SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, PRODUCAO_OS_TAREFAS.TAREFA,ISNULL(TAREFA_ANTERIOR,''ZZZZZZ'') TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.PRODUTO,PRODUCAO_OS_TAREFAS.COR_PRODUTO, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN QTDE_O ELSE QTDE_A END,0)) AS QTDE_A, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O1 ELSE A1 END,0)) AS A1, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O2 ELSE A2 END,0)) AS A2, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O3 ELSE A3 END,0)) AS A3, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O4 ELSE A4 END,0)) AS A4, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O5 ELSE A5 END,0)) AS A5, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O6 ELSE A6 END,0)) AS A6, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O7 ELSE A7 END,0)) AS A7, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O8 ELSE A8 END,0)) AS A8, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O9 ELSE A9 END,0)) AS A9, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O10 ELSE A10 END,0)) AS A10, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O11 ELSE A11 END,0)) AS A11, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O12 ELSE A12 END,0)) AS A12, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O13 ELSE A13 END,0)) AS A13, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O14 ELSE A14 END,0)) AS A14, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O15 ELSE A15 END,0)) AS A15, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O16 ELSE A16 END,0)) AS A16, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O17 ELSE A17 END,0)) AS A17, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O18 ELSE A18 END,0)) AS A18, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O19 ELSE A19 END,0)) AS A19, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O20 ELSE A20 END,0)) AS A20, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O21 ELSE A21 END,0)) AS A21, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O22 ELSE A22 END,0)) AS A22, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O23 ELSE A23 END,0)) AS A23, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O24 ELSE A24 END,0)) AS A24, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O25 ELSE A25 END,0)) AS A25, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O26 ELSE A26 END,0)) AS A26, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O27 ELSE A27 END,0)) AS A27, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O28 ELSE A28 END,0)) AS A28, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O29 ELSE A29 END,0)) AS A29, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O30 ELSE A30 END,0)) AS A30, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O31 ELSE A31 END,0)) AS A31, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O32 ELSE A32 END,0)) AS A32, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O33 ELSE A33 END,0)) AS A33, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O34 ELSE A34 END,0)) AS A34, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O35 ELSE A35 END,0)) AS A35, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O36 ELSE A36 END,0)) AS A36, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O37 ELSE A37 END,0)) AS A37, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O38 ELSE A38 END,0)) AS A38, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O39 ELSE A39 END,0)) AS A39, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O40 ELSE A40 END,0)) AS A40, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O41 ELSE A41 END,0)) AS A41, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O42 ELSE A42 END,0)) AS A42, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O43 ELSE A43 END,0)) AS A43, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O44 ELSE A44 END,0)) AS A44, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O45 ELSE A45 END,0)) AS A45, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O46 ELSE A46 END,0)) AS A46, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O47 ELSE A47 END,0)) AS A47, SUM(ISNULL(CASE WHEN INDICADOR_TIPO_MOV IN (''2'',''4'') THEN O48 ELSE A48 END,0)) AS A48 FROM PRODUCAO_OS_TAREFAS INNER JOIN PRODUCAO_TAREFAS ON PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_TAREFAS.TAREFA LEFT JOIN PRODUCAO_OS_ANTERIOR ON PRODUCAO_OS_TAREFAS.ORDEM_SERVICO = PRODUCAO_OS_ANTERIOR.ORDEM_SERVICO AND PRODUCAO_OS_TAREFAS.TAREFA = PRODUCAO_OS_ANTERIOR.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO AND PRODUCAO_OS_TAREFAS.PRODUTO = PRODUCAO_OS_ANTERIOR.PRODUTO AND PRODUCAO_OS_TAREFAS.COR_PRODUTO = PRODUCAO_OS_ANTERIOR.COR_PRODUTO WHERE PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, PRODUCAO_OS_TAREFAS.TAREFA,TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.PRODUTO, PRODUCAO_OS_TAREFAS.COR_PRODUTO ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, TAREFA_ANTERIOR,PRODUCAO_OS_TAREFAS.COR_PRODUTO,PRODUCAO_OS_TAREFAS.TAREFA OPEN TMP_ORDEM_SERVICO FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @SEQUENCIA_PRODUTIVA,@SETOR_PARALELO_NUMERO,@SEQUENCIA_ANTERIOR, @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 IF @MOSTRA =''S'' SELECT ''-1'',* FROM TMP_PRODUCAO_TAREFAS_SALDO WHILE @@FETCH_STATUS = 0 BEGIN IF @TAREFA_ANTERIOR <>''ZZZZZZ'' BEGIN UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET S1 =S1-@A1,S2 =S2-@A2,S3 = S3-@A3,S4 =S4 -@A4 , S5 =S5 -@A5 , S6=S6 -@A6 , S7 =S7 -@A7 , S8 =S8 -@A8 , S9=S9 -@A9,S10=S10-@A10 , S11=S11-@A11 , S12=S12-@A12 , S13=S13-@A13 , S14=S14-@A14 , S15=S15-@A15 ,S16=S16-@A16 , S17=S17-@A17 , S18=S18-@A18 , S19=S19-@A19 , S20=S20-@A20 , S21=S21-@A21 ,S22=S22-@A22 , S23=S23-@A23 , S24=S24-@A24 , S25=S25-@A25 , S26=S26-@A26 , S27=S27-@A27 ,S28=S28-@A28 , S29=S29-@A29 , S30=S30-@A30 , S31=S31-@A31 , S32=S32-@A32 , S33=S33-@A33 ,S34=S34-@A34 , S35=S35-@A35 , S36=S36-@A36 , S37=S37-@A37 , S38=S38-@A38 , S39=S39-@A39 ,S40=S40-@A40 , S41=S41-@A41 , S42=S42-@A42 , S43=S43-@A43 , S44=S44-@A44 , S45=S45-@A45 ,S46=S46-@A46 , S47=S47-@A47 , S48=S48-@A48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA_ANTERIOR AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET QTDE_S=S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + S19 + S20 + S21 + S22 + S23 + S24 + S25 + S26 + S27 + S28 + S29 + S30 + S31 + S32 + S33 + S34 + S35 + S36 + S37 + S38 + S39 + S40 + S41 + S42 + S43 + S44 + S45 + S46 + S47 + S48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA_ANTERIOR AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO END IF @QTDE_A <>0 BEGIN IF (SELECT COUNT(*) FROM TMP_PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO )>0 BEGIN UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET S1 =S1+@A1,S2 =S2+@A2,S3 = S3+@A3,S4 =S4 +@A4 , S5 =S5 +@A5 , S6=S6 +@A6 , S7 =S7 +@A7 , S8 =S8 +@A8 , S9=S9 +@A9,S10=S10+@A10 , S11=S11+@A11 , S12=S12+@A12 , S13=S13+@A13 , S14=S14+@A14 , S15=S15+@A15 ,S16=S16+@A16 , S17=S17+@A17 , S18=S18+@A18 , S19=S19+@A19 , S20=S20+@A20 , S21=S21+@A21 ,S22=S22+@A22 , S23=S23+@A23 , S24=S24+@A24 , S25=S25+@A25 , S26=S26+@A26 , S27=S27+@A27 ,S28=S28+@A28 , S29=S29+@A29 , S30=S30+@A30 , S31=S31+@A31 , S32=S32+@A32 , S33=S33+@A33 ,S34=S34+@A34 , S35=S35+@A35 , S36=S36+@A36 , S37=S37+@A37 , S38=S38+@A38 , S39=S39+@A39 ,S40=S40+@A40 , S41=S41+@A41 , S42=S42+@A42 , S43=S43+@A43 , S44=S44+@A44 , S45=S45+@A45 ,S46=S46+@A46 , S47=S47+@A47 , S48=S48+@A48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET QTDE_S=S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + S19 + S20 + S21 + S22 + S23 + S24 + S25 + S26 + S27 + S28 + S29 + S30 + S31 + S32 + S33 + S34 + S35 + S36 + S37 + S38 + S39 + S40 + S41 + S42 + S43 + S44 + S45 + S46 + S47 + S48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO END IF (SELECT COUNT(*) FROM TMP_PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO )=0 BEGIN INSERT INTO TMP_PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48) END END IF @MOSTRA =''S'' BEGIN SELECT @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 SELECT * FROM TMP_PRODUCAO_TAREFAS_SALDO END FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @SEQUENCIA_PRODUTIVA,@SETOR_PARALELO_NUMERO,@SEQUENCIA_ANTERIOR, @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 /* IF @TAREFA_ANTERIOR IS NULL BEGIN IF (SELECT COUNT(*) FROM TMP_PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO )>0 BEGIN UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET S1 =S1+@A1,S2 =S2+@A2,S3 = S3+@A3,S4 =S4 +@A4 , S5 =S5 +@A5 , S6=S6 +@A6 , S7 =S7 +@A7 , S8 =S8 +@A8 , S9=S9 +@A9,S10=S10+@A10 , S11=S11+@A11 , S12=S12+@A12 , S13=S13+@A13 , S14=S14+@A14 , S15=S15+@A15 ,S16=S16+@A16 , S17=S17+@A17 , S18=S18+@A18 , S19=S19+@A19 , S20=S20+@A20 , S21=S21+@A21 ,S22=S22+@A22 , S23=S23+@A23 , S24=S24+@A24 , S25=S25+@A25 , S26=S26+@A26 , S27=S27+@A27 ,S28=S28+@A28 , S29=S29+@A29 , S30=S30+@A30 , S31=S31+@A31 , S32=S32+@A32 , S33=S33+@A33 ,S34=S34+@A34 , S35=S35+@A35 , S36=S36+@A36 , S37=S37+@A37 , S38=S38+@A38 , S39=S39+@A39 ,S40=S40+@A40 , S41=S41+@A41 , S42=S42+@A42 , S43=S43+@A43 , S44=S44+@A44 , S45=S45+@A45 ,S46=S46+@A46 , S47=S47+@A47 , S48=S48+@A48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET QTDE_S=S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + S19 + S20 + S21 + S22 + S23 + S24 + S25 + S26 + S27 + S28 + S29 + S30 + S31 + S32 + S33 + S34 + S35 + S36 + S37 + S38 + S39 + S40 + S41 + S42 + S43 + S44 + S45 + S46 + S47 + S48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO END IF (SELECT COUNT(*) FROM TMP_PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO )=0 BEGIN INSERT INTO TMP_PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48) END FETCH NEXT FROM TMP_ORDEM_SERVICO INTO @SEQUENCIA_PRODUTIVA,@SETOR_PARALELO_NUMERO,@SEQUENCIA_ANTERIOR, @TAREFA,@TAREFA_ANTERIOR,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END */ END CLOSE TMP_ORDEM_SERVICO DEALLOCATE TMP_ORDEM_SERVICO DELETE TMP_PRODUCAO_TAREFAS_SALDO WHERE (S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + S19 + S20 + S21 + S22 + S23 + S24 + S25 + S26 + S27 + S28 + S29 + S30 + S31 + S32 + S33 + S34 + S35 + S36 + S37 + S38 + S39 + S40 + S41 + S42 + S43 + S44 + S45 + S46 + S47 + S48) = 0 IF @MOSTRA =''S'' SELECT ''0'',* FROM TMP_PRODUCAO_TAREFAS_SALDO /********************************************************/ /* ATUALIZA CURSOR TEMPORARIO COM AS QTDES DAS ENTRADAS */ /********************************************************/ DECLARE TMP_ESTOQUE_PROD1_ENT SCROLL CURSOR FOR SELECT TAREFA,PRODUTO,COR_PRODUTO,SUM(QTDE) AS QTDE_EN, SUM(ISNULL(EN_1,0)) AS EN_1, SUM(ISNULL(EN_2,0)) AS EN_2, SUM(ISNULL(EN_3,0)) AS EN_3, SUM(ISNULL(EN_4,0)) AS EN_4, SUM(ISNULL(EN_5,0)) AS EN_5, SUM(ISNULL(EN_6,0)) AS EN_6, SUM(ISNULL(EN_7,0)) AS EN_7, SUM(ISNULL(EN_8,0)) AS EN_8, SUM(ISNULL(EN_9,0)) AS EN_9, SUM(ISNULL(EN_10,0)) AS EN_10,SUM(ISNULL(EN_11,0)) AS EN_11,SUM(ISNULL(EN_12,0)) AS EN_12, SUM(ISNULL(EN_13,0)) AS EN_13,SUM(ISNULL(EN_14,0)) AS EN_14,SUM(ISNULL(EN_15,0)) AS EN_15,SUM(ISNULL(EN_16,0)) AS EN_16, SUM(ISNULL(EN_17,0)) AS EN_17,SUM(ISNULL(EN_18,0)) AS EN_18,SUM(ISNULL(EN_19,0)) AS EN_19,SUM(ISNULL(EN_20,0)) AS EN_20, SUM(ISNULL(EN_21,0)) AS EN_21,SUM(ISNULL(EN_22,0)) AS EN_22,SUM(ISNULL(EN_23,0)) AS EN_23,SUM(ISNULL(EN_24,0)) AS EN_24, SUM(ISNULL(EN_25,0)) AS EN_25,SUM(ISNULL(EN_26,0)) AS EN_26,SUM(ISNULL(EN_27,0)) AS EN_27,SUM(ISNULL(EN_28,0)) AS EN_28, SUM(ISNULL(EN_29,0)) AS EN_29,SUM(ISNULL(EN_30,0)) AS EN_30,SUM(ISNULL(EN_31,0)) AS EN_31,SUM(ISNULL(EN_32,0)) AS EN_32, SUM(ISNULL(EN_33,0)) AS EN_33,SUM(ISNULL(EN_34,0)) AS EN_34,SUM(ISNULL(EN_35,0)) AS EN_35,SUM(ISNULL(EN_36,0)) AS EN_36, SUM(ISNULL(EN_37,0)) AS EN_37,SUM(ISNULL(EN_38,0)) AS EN_38,SUM(ISNULL(EN_39,0)) AS EN_39,SUM(ISNULL(EN_40,0)) AS EN_40, SUM(ISNULL(EN_41,0)) AS EN_41,SUM(ISNULL(EN_42,0)) AS EN_42,SUM(ISNULL(EN_43,0)) AS EN_43,SUM(ISNULL(EN_44,0)) AS EN_44, SUM(ISNULL(EN_45,0)) AS EN_45,SUM(ISNULL(EN_46,0)) AS EN_46,SUM(ISNULL(EN_47,0)) AS EN_47,SUM(ISNULL(EN_48,0)) AS EN_48 FROM ESTOQUE_PROD1_ENT WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY TAREFA,PRODUTO,COR_PRODUTO OPEN TMP_ESTOQUE_PROD1_ENT FETCH NEXT FROM TMP_ESTOQUE_PROD1_ENT INTO @TAREFA,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 WHILE @@FETCH_STATUS = 0 BEGIN UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET S1 =CASE WHEN S1 - @A1 <0 THEN 0 ELSE S1 -@A1 END, S2 =CASE WHEN S2 - @A2 <0 THEN 0 ELSE S2 -@A2 END, S3 =CASE WHEN S3 - @A3 <0 THEN 0 ELSE S3 -@A3 END, S4 =CASE WHEN S4 - @A4 <0 THEN 0 ELSE S4 -@A4 END, S5 =CASE WHEN S5 - @A5 <0 THEN 0 ELSE S5 -@A5 END, S6 =CASE WHEN S6 - @A6 <0 THEN 0 ELSE S6 -@A6 END, S7 =CASE WHEN S7 - @A7 <0 THEN 0 ELSE S7 -@A7 END, S8 =CASE WHEN S8 - @A8 <0 THEN 0 ELSE S8 -@A8 END, S9 =CASE WHEN S9 - @A9 <0 THEN 0 ELSE S9 -@A9 END, S10 =CASE WHEN S10- @A10 <0 THEN 0 ELSE S10-@A10 END, S11 =CASE WHEN S11 -@A11 <0 THEN 0 ELSE S11-@A11 END, S12 =CASE WHEN S12 -@A12 <0 THEN 0 ELSE S12-@A12 END, S13 =CASE WHEN S13 -@A13 <0 THEN 0 ELSE S13-@A13 END, S14 =CASE WHEN S14 -@A14 <0 THEN 0 ELSE S14-@A14 END, S15 =CASE WHEN S15 -@A15 <0 THEN 0 ELSE S15-@A15 END, S16 =CASE WHEN S16 -@A16 <0 THEN 0 ELSE S16-@A16 END, S17 =CASE WHEN S17 -@A17 <0 THEN 0 ELSE S17-@A17 END, S18 =CASE WHEN S18 -@A18 <0 THEN 0 ELSE S18-@A18 END, S19 =CASE WHEN S19 -@A19 <0 THEN 0 ELSE S19-@A19 END, S20 =CASE WHEN S20- @A20 <0 THEN 0 ELSE S20-@A20 END, S21 =CASE WHEN S21 -@A21 <0 THEN 0 ELSE S21-@A21 END, S22 =CASE WHEN S22 -@A22 <0 THEN 0 ELSE S22-@A22 END, S23 =CASE WHEN S23 -@A23 <0 THEN 0 ELSE S23-@A23 END, S24 =CASE WHEN S24 -@A24 <0 THEN 0 ELSE S24-@A24 END, S25 =CASE WHEN S25 -@A25 <0 THEN 0 ELSE S25-@A25 END, S26 =CASE WHEN S26 -@A26 <0 THEN 0 ELSE S26-@A26 END, S27 =CASE WHEN S27 -@A27 <0 THEN 0 ELSE S27-@A27 END, S28 =CASE WHEN S28 -@A28 <0 THEN 0 ELSE S28-@A28 END, S29 =CASE WHEN S29 -@A29 <0 THEN 0 ELSE S29-@A29 END, S30 =CASE WHEN S30- @A30 <0 THEN 0 ELSE S30-@A30 END, S31 =CASE WHEN S31 -@A31 <0 THEN 0 ELSE S31-@A31 END, S32 =CASE WHEN S32 -@A32 <0 THEN 0 ELSE S32-@A32 END, S33 =CASE WHEN S33 -@A33 <0 THEN 0 ELSE S33-@A33 END, S34 =CASE WHEN S34 -@A34 <0 THEN 0 ELSE S34-@A34 END, S35 =CASE WHEN S35 -@A35 <0 THEN 0 ELSE S35-@A35 END, S36 =CASE WHEN S36 -@A36 <0 THEN 0 ELSE S36-@A36 END, S37 =CASE WHEN S37 -@A37 <0 THEN 0 ELSE S37-@A37 END, S38 =CASE WHEN S38 -@A38 <0 THEN 0 ELSE S38-@A38 END, S39 =CASE WHEN S39 -@A39 <0 THEN 0 ELSE S39-@A39 END, S40 =CASE WHEN S40- @A40 <0 THEN 0 ELSE S40-@A40 END, S41 =CASE WHEN S41 -@A41 <0 THEN 0 ELSE S41-@A41 END, S42 =CASE WHEN S42 -@A42 <0 THEN 0 ELSE S42-@A42 END, S43 =CASE WHEN S43 -@A43 <0 THEN 0 ELSE S43-@A43 END, S44 =CASE WHEN S44 -@A44 <0 THEN 0 ELSE S44-@A44 END, S45 =CASE WHEN S45 -@A45 <0 THEN 0 ELSE S45-@A45 END, S46 =CASE WHEN S46 -@A46 <0 THEN 0 ELSE S46-@A46 END, S47 =CASE WHEN S47 -@A47 <0 THEN 0 ELSE S47-@A47 END, S48 =CASE WHEN S48 -@A48 <0 THEN 0 ELSE S48-@A48 END WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO UPDATE TMP_PRODUCAO_TAREFAS_SALDO SET QTDE_S=S1 + S2 + S3 + S4 + S5 + S6 + S7 + S8 + S9 + S10 + S11 + S12 + S13 + S14 + S15 + S16 + S17 + S18 + S19 + S20 + S21 + S22 + S23 + S24 + S25 + S26 + S27 + S28 + S29 + S30 + S31 + S32 + S33 + S34 + S35 + S36 + S37 + S38 + S39 + S40 + S41 + S42 + S43 + S44 + S45 + S46 + S47 + S48 WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA=@TAREFA AND PRODUTO=@PRODUTO AND COR_PRODUTO=@COR_PRODUTO FETCH NEXT FROM TMP_ESTOQUE_PROD1_ENT INTO @TAREFA,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END CLOSE TMP_ESTOQUE_PROD1_ENT DEALLOCATE TMP_ESTOQUE_PROD1_ENT DELETE FROM TMP_PRODUCAO_TAREFAS_SALDO WHERE QTDE_S=0 IF @MOSTRA =''S'' SELECT ''1'',* FROM TMP_PRODUCAO_TAREFAS_SALDO /************************************************/ /* APAGA AS OS´S COM PROBLEMAS */ /************************************************/ DECLARE TMP_PRODUCAO_TAREFAS_SALDO_AUX SCROLL CURSOR FOR SELECT PRODUTO,COR_PRODUTO,SUM(QTDE_S), SUM(S1 ),SUM(S2) ,SUM(S3) ,SUM(S4) ,SUM(S5) ,SUM(S6) ,SUM(S7) ,SUM(S8) ,SUM(S9) ,SUM(S10), SUM(S11),SUM(S12),SUM(S13),SUM(S14),SUM(S15),SUM(S16),SUM(S17),SUM(S18),SUM(S19) ,SUM(S20) , SUM(S21),SUM(S22),SUM(S23),SUM(S24),SUM(S25),SUM(S26),SUM(S27),SUM(S28),SUM(S29) ,SUM(S30) , SUM(S31),SUM(S32),SUM(S33),SUM(S34),SUM(S35),SUM(S36),SUM(S37),SUM(S38),SUM(S39) ,SUM(S40) , SUM(S41),SUM(S42),SUM(S43),SUM(S44),SUM(S45),SUM(S46),SUM(S47),SUM(S48) FROM TMP_PRODUCAO_TAREFAS_SALDO GROUP BY PRODUTO,COR_PRODUTO OPEN TMP_PRODUCAO_TAREFAS_SALDO_AUX FETCH NEXT FROM TMP_PRODUCAO_TAREFAS_SALDO_AUX INTO @PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 WHILE @@FETCH_STATUS = 0 BEGIN SELECT @QTDE_P =SUM(QTDE_P), @P1 = SUM(P1), @P2 = SUM(P2), @P3 = SUM(P3) ,@P4 = SUM(P4), @P5 = SUM(P5), @P6 = SUM(P6), @P7 = SUM(P7) ,@P8 = SUM(P8), @P9 = SUM(P9), @P10 = SUM(P10),@P11 = SUM(P11),@P12 = SUM(P12), @P13 = SUM(P13),@P14 = SUM(P14),@P15 = SUM(P15),@P16 = SUM(P16), @P17 = SUM(P17),@P18 = SUM(P18),@P19 = SUM(P19),@P20 = SUM(P20), @P21 = SUM(P21),@P22 = SUM(P22),@P23 = SUM(P23),@P24 = SUM(P24), @P25 = SUM(P25),@P26 = SUM(P26),@P27 = SUM(P27),@P28 = SUM(P28), @P29 = SUM(P29),@P30 = SUM(P30),@P31 = SUM(P31),@P32 = SUM(P32), @P33 = SUM(P33),@P34 = SUM(P34),@P35 = SUM(P35),@P36 = SUM(P36), @P37 = SUM(P37),@P38 = SUM(P38),@P39 = SUM(P39),@P40 = SUM(P40), @P41 = SUM(P41),@P42 = SUM(P42),@P43 = SUM(P43),@P44 = SUM(P44), @P45 = SUM(P45),@P46 = SUM(P46),@P47 = SUM(P47),@P48 = SUM(P48) FROM PRODUCAO_ORDEM_COR WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND PRODUTO = @PRODUTO AND COR_PRODUTO =@COR_PRODUTO AND QTDE_P<>0 IF @A1 -ISNULL(@P1,0) <> 0 OR @A2 -ISNULL(@P2,0) <> 0 OR @A3 -ISNULL(@P3,0) <> 0 OR @A4 -ISNULL(@P4,0) <> 0 OR @A5 -ISNULL(@P5,0) <> 0 OR @A6 -ISNULL(@P6,0) <> 0 OR @A7 -ISNULL(@P7,0) <> 0 OR @A8 -ISNULL(@P8,0) <> 0 OR @A9 -ISNULL(@P9,0) <> 0 OR @A10-ISNULL(@P10,0) <> 0 OR @A11-ISNULL(@P11,0) <> 0 OR @A12-ISNULL(@P12,0)<> 0 OR @A13-ISNULL(@P13,0) <> 0 OR @A14-ISNULL(@P14,0) <> 0 OR @A15-ISNULL(@P15,0)<> 0 OR @A16-ISNULL(@P16,0) <> 0 OR @A17-ISNULL(@P17,0) <> 0 OR @A18-ISNULL(@P18,0)<> 0 OR @A19-ISNULL(@P19,0) <> 0 OR @A20-ISNULL(@P20,0) <> 0 OR @A21-ISNULL(@P21,0)<> 0 OR @A22-ISNULL(@P22,0) <> 0 OR @A23-ISNULL(@P23,0) <> 0 OR @A24-ISNULL(@P24,0)<> 0 OR @A25-ISNULL(@P25,0) <> 0 OR @A26-ISNULL(@P26,0) <> 0 OR @A27-ISNULL(@P27,0)<> 0 OR @A28-ISNULL(@P28,0) <> 0 OR @A29-ISNULL(@P29,0) <> 0 OR @A30-ISNULL(@P30,0)<> 0 OR @A31-ISNULL(@P31,0) <> 0 OR @A32-ISNULL(@P32,0) <> 0 OR @A33-ISNULL(@P33,0)<> 0 OR @A34-ISNULL(@P34,0) <> 0 OR @A35-ISNULL(@P35,0) <> 0 OR @A36-ISNULL(@P36,0)<> 0 OR @A37-ISNULL(@P37,0) <> 0 OR @A38-ISNULL(@P38,0) <> 0 OR @A39-ISNULL(@P39,0)<> 0 OR @A40-ISNULL(@P40,0) <> 0 OR @A41-ISNULL(@P41,0) <> 0 OR @A42-ISNULL(@P42,0)<> 0 OR @A43-ISNULL(@P43,0) <> 0 OR @A44-ISNULL(@P44,0) <> 0 OR @A45-ISNULL(@P45,0)<> 0 OR @A46-ISNULL(@P46,0) <> 0 OR @A47-ISNULL(@P47,0) <> 0 OR @A48-ISNULL(@P48,0)<> 0 BEGIN SELECT @TEM_ERRO = ''S'' END FETCH NEXT FROM TMP_PRODUCAO_TAREFAS_SALDO_AUX INTO @PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END CLOSE TMP_PRODUCAO_TAREFAS_SALDO_AUX DEALLOCATE TMP_PRODUCAO_TAREFAS_SALDO_AUX DECLARE TMP_PRODUCAO_TAREFAS_SALDO_AUX SCROLL CURSOR FOR SELECT TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48 FROM TMP_PRODUCAO_TAREFAS_SALDO OPEN TMP_PRODUCAO_TAREFAS_SALDO_AUX FETCH NEXT FROM TMP_PRODUCAO_TAREFAS_SALDO_AUX INTO @TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 IF @MOSTRA =''N'' AND @TEM_ERRO = ''N'' BEGIN ALTER TABLE PRODUCAO_TAREFAS_SALDO DISABLE TRIGGER ALL DELETE FROM PRODUCAO_TAREFAS_SALDO WHERE ORDEM_PRODUCAO = @ORDEM_PRODUCAO ALTER TABLE PRODUCAO_TAREFAS_SALDO ENABLE TRIGGER ALL END WHILE @@FETCH_STATUS = 0 BEGIN IF @MOSTRA =''N'' AND @TEM_ERRO = ''N'' BEGIN ALTER TABLE PRODUCAO_TAREFAS_SALDO DISABLE TRIGGER ALL INSERT INTO PRODUCAO_TAREFAS_SALDO (TAREFA,ORDEM_PRODUCAO,PRODUTO,COR_PRODUTO,QTDE_S, S1 ,S2 ,S3 ,S4 ,S5 ,S6 ,S7 ,S8 ,S9 ,S10,S11,S12,S13,S14,S15,S16, S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32, S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S46,S47,S48) VALUES (@TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48) ALTER TABLE PRODUCAO_TAREFAS_SALDO ENABLE TRIGGER ALL END FETCH NEXT FROM TMP_PRODUCAO_TAREFAS_SALDO_AUX INTO @TAREFA,@ORDEM_PRODUCAO,@PRODUTO,@COR_PRODUTO,@QTDE_A, @A1, @A2, @A3, @A4, @A5 , @A6 , @A7 , @A8 ,@A9 , @A10, @A11, @A12, @A13, @A14, @A15, @A16,@A17, @A18, @A19, @A20,@A21, @A22, @A23, @A24, @A25, @A26, @A27, @A28,@A29, @A30, @A31, @A32,@A33, @A34, @A35, @A36, @A37, @A38, @A39, @A40,@A41, @A42, @A43, @A44,@A45, @A46, @A47, @A48 END CLOSE TMP_PRODUCAO_TAREFAS_SALDO_AUX DEALLOCATE TMP_PRODUCAO_TAREFAS_SALDO_AUX IF @TEM_ERRO = ''N'' SELECT @MENSAGEM = ''ORDEM PRODUCAO SEM ERROS'' ELSE SELECT @MENSAGEM =''ORDEM PRODUCAO COM ERROS'' IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_PRODUCAO_TAREFAS_SALDO'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_PRODUCAO_TAREFAS_SALDO ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_ESTOQUE_QTDE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_ESTOQUE_QTDE] (MATERIAL, COR_MATERIAL, ESTOQUE,ESTOQUE_AUX, QTDE_FILIAL, QTDE_NAO_FILIAL) AS SELECT MATERIAL, COR_MATERIAL,SUM(QTDE_ESTOQUE), SUM(QTDE_ESTOQUE_AUX), SUM(CASE WHEN ESTOQUE_MATERIAIS.FILIAL LIKE B.FILIAL THEN QTDE_ESTOQUE ELSE 0 END), SUM(QTDE_ESTOQUE - CASE WHEN ESTOQUE_MATERIAIS.FILIAL LIKE B.FILIAL THEN QTDE_ESTOQUE ELSE 0 END) FROM ESTOQUE_MATERIAIS, (SELECT RTRIM(VALOR_ATUAL) AS FILIAL FROM PARAMETROS WHERE PARAMETRO=''FILTRO_FILIAL_ESTOQUE_MAT'') B WHERE ESTOQUE_MATERIAIS.FILIAL like B.FILIAL GROUP BY B.FILIAL,MATERIAL, COR_MATERIAL' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUCAO_ORDEM]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUCAO_ORDEM] (PRODUTO, PRODUZINDO, PROGRAMADO, PRODUZIDO) AS SELECT PRODUCAO_ORDEM.PRODUTO, sum(qtde_em_producao), sum(qtde_total), sum(qtde_total - qtde_em_producao) FROM PRODUCAO_ORDEM GROUP BY PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_PRODUCAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_PRODUCAO] (TIPO, PRODUTO, COR_PRODUTO, PREVISAO_FIM, MES, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48) AS SELECT ''2 - PRODUÇÃO '', dbo.PRODUCAO_ORDEM.PRODUTO, dbo.PRODUCAO_ORDEM_COR.COR_PRODUTO, dbo.PRODUCAO_ORDEM.PREVISAO_FIM, datepart(mm,PRODUCAO_ORDEM.PREVISAO_FIM), SUM(qtde_o), SUM(qtde_p), 0, 0, 0, 0, 0, 0, 0, 0, 0, SUM(producao_ordem_cor.p1), SUM(producao_ordem_cor.p2), SUM(producao_ordem_cor.p3), SUM(producao_ordem_cor.p4), SUM(producao_ordem_cor.p5), SUM(producao_ordem_cor.p6), SUM(producao_ordem_cor.p7), SUM(producao_ordem_cor.p8), SUM(producao_ordem_cor.p9), SUM(producao_ordem_cor.p10), SUM(producao_ordem_cor.p11), SUM(producao_ordem_cor.p12), SUM(producao_ordem_cor.p13), SUM(producao_ordem_cor.p14), SUM(producao_ordem_cor.p15), SUM(producao_ordem_cor.p16), SUM(producao_ordem_cor.p17), SUM(producao_ordem_cor.p18), SUM(producao_ordem_cor.p19), SUM(producao_ordem_cor.p20), SUM(producao_ordem_cor.p21), SUM(producao_ordem_cor.p22), SUM(producao_ordem_cor.p23), SUM(producao_ordem_cor.p24), SUM(producao_ordem_cor.p25), SUM(producao_ordem_cor.p26), SUM(producao_ordem_cor.p27), SUM(producao_ordem_cor.p28), SUM(producao_ordem_cor.p29), SUM(producao_ordem_cor.p30), SUM(producao_ordem_cor.p31), SUM(producao_ordem_cor.p32), SUM(producao_ordem_cor.p33), SUM(producao_ordem_cor.p34), SUM(producao_ordem_cor.p35), SUM(producao_ordem_cor.p36), SUM(producao_ordem_cor.p37), SUM(producao_ordem_cor.p38), SUM(producao_ordem_cor.p39), SUM(producao_ordem_cor.p40), SUM(producao_ordem_cor.p41), SUM(producao_ordem_cor.p42), SUM(producao_ordem_cor.p43), SUM(producao_ordem_cor.p44), SUM(producao_ordem_cor.p45), SUM(producao_ordem_cor.p46), SUM(producao_ordem_cor.p47), SUM(producao_ordem_cor.p48) FROM dbo.PRODUCAO_ORDEM_COR, dbo.PRODUCAO_ORDEM WHERE producao_ordem.ordem_producao = producao_ordem_cor.ordem_producao GROUP BY producao_ordem.PRODUTO, COR_PRODUTO, previsao_fim ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[PRODUCAO_CORTE_ORDEM]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [PRODUCAO_CORTE_ORDEM] (QTDE_TOTAL_OC, ORDEM_CORTE, QTDE_EM_PRODUCAO_OC, INICIO_LIBERADO_OC, INICIO_PREVISTO_OC, INICIO_REAL_OC, PRIORIDADE_OC, PREVISAO_FIM, PREVISAO_FIM_EMISSAO_OC, ENCERRAMENTO_OC, EMISSAO_OC) AS SELECT SUM(QTDE_TOTAL), PRODUCAO_ORDEM.ORDEM_CORTE, SUM(QTDE_EM_PRODUCAO), MIN(INICIO_LIBERADO), MIN(INICIO_PREVISTO), MIN(INICIO_REAL), MIN(PRIORIDADE), MAX(PREVISAO_FIM), MAX(PREVISAO_FIM_NA_EMISSAO), MAX(ENCERRAMENTO), MIN(EMISSAO) FROM PRODUCAO_ORDEM where ordem_corte is not null GROUP BY ORDEM_CORTE ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MOVIMENTACOES_RESERVA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MOVIMENTACOES_RESERVA] AS select ordem_producao,material,cor_material,sum(qtde) as qtde from estoque_sai1_mat where ordem_producao is not null group by ordem_producao,material,cor_material union all select ordem_producao,material,cor_material,sum(-qtde) as qtde from estoque_ret1_mat where ordem_producao is not null group by ordem_producao,material,cor_material ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_AJUSTE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_AJUSTE] AS SELECT ESTOQUE_PROD_CONTAGEM.FILIAL,PRODUTO,COR_PRODUTO,SUM(QTDE_AJUSTE) AS QTDE, MAX(EMISSAO) AS ULTIMO_AJUSTE, 0.00 AS TOTAL_CUSTO1, 0.00 AS TOTAL_CUSTO2, 0.00 AS TOTAL_CUSTO3, 0.00 AS TOTAL_CUSTO4, 0 AS TOTAL_QTDE1, 0 AS TOTAL_QTDE2, 0 AS TOTAL_QTDE3, 0 AS TOTAL_QTDE4, SUM(A1) AS Q1,SUM(A2) AS Q2,SUM(A3) AS Q3,SUM(A4) AS Q4,SUM(A5) AS Q5,SUM(A6) AS Q6, SUM(A7) AS Q7,SUM(A8) AS Q8,SUM(A9) AS Q9,SUM(A10) AS Q10,SUM(A11) AS Q11,SUM(A12) AS Q12, SUM(A13) AS Q13,SUM(A14) AS Q14,SUM(A15) AS Q15,SUM(A16) AS Q16,SUM(A17) AS Q17,SUM(A18) AS Q18, SUM(A19) AS Q19,SUM(A20) AS Q20,SUM(A21) AS Q21,SUM(A22) AS Q22,SUM(A23) AS Q23,SUM(A24) AS Q24, SUM(A25) AS Q25,SUM(A26) AS Q26,SUM(A27) AS Q27,SUM(A28) AS Q28,SUM(A29) AS Q29,SUM(A30) AS Q30, SUM(A31) AS Q31,SUM(A32) AS Q32,SUM(A33) AS Q33,SUM(A34) AS Q34,SUM(A35) AS Q35,SUM(A36) AS Q36, SUM(A37) AS Q37,SUM(A38) AS Q38,SUM(A39) AS Q39,SUM(A40) AS Q40,SUM(A41) AS Q41,SUM(A42) AS Q42, SUM(A43) AS Q43,SUM(A44) AS Q44,SUM(A45) AS Q45,SUM(A46) AS Q46,SUM(A47) AS Q47,SUM(A48) AS Q48 FROM ESTOQUE_PROD_CONTAGEM JOIN ESTOQUE_PROD_CTG_AJUSTE ON ESTOQUE_PROD_CONTAGEM.NOME_CONTAGEM = ESTOQUE_PROD_CTG_AJUSTE.NOME_CONTAGEM GROUP BY ESTOQUE_PROD_CONTAGEM.FILIAL,PRODUTO,COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MOEDAS_CONVERSAO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MOEDAS_CONVERSAO] (MOEDA, DATA, VALOR, CAMBIO_ATUAL, FATOR_CAMBIO, VALOR_MULTIPLICAR) AS SELECT A.MOEDA, A.DATA, A.VALOR, A.VALOR, ISNULL(C.FATOR_CAMBIO,1) AS FATOR_CAMBIO, VALOR_MULTIPLICAR = CONVERT(NUMERIC(14,6),POWER(CONVERT(REAL,A.VALOR),ISNULL(C.FATOR_CAMBIO,1))) FROM MOEDAS_CONVERSAO A INNER JOIN (SELECT MOEDA, MAX(DATA) AS DATA FROM MOEDAS_CONVERSAO B GROUP BY MOEDA) B ON A.MOEDA=B.MOEDA AND A.DATA=B.DATA LEFT JOIN (SELECT CASE WHEN VALOR_ATUAL=''.T.'' THEN 1 ELSE -1 END AS FATOR_CAMBIO FROM PARAMETROS WHERE PARAMETRO=''CAMBIO_NA_MOEDA_PADRAO'') C ON 1=1 /* CREATE VIEW W_MOEDAS_CONVERSAO (MOEDA, DATA, VALOR, CAMBIO_ATUAL, FATOR_CAMBIO) AS SELECT A.MOEDA, A.DATA, A.VALOR, A.VALOR, ISNULL(C.FATOR_CAMBIO,1) AS FATOR_CAMBIO FROM MOEDAS_CONVERSAO A INNER JOIN (SELECT MOEDA, MAX(DATA) AS DATA FROM MOEDAS_CONVERSAO B GROUP BY MOEDA) B ON A.MOEDA=B.MOEDA AND A.DATA=B.DATA LEFT JOIN (SELECT CASE WHEN VALOR_ATUAL=''.T.'' THEN 1 ELSE -1 END AS FATOR_CAMBIO FROM PARAMETROS WHERE PARAMETRO=''CAMBIO_NA_MOEDA_PADRAO'') C ON 1=1 */' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[pega_dado]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [pega_dado] AS SELECT VALOR_ATUAL FROM PARAMETROS WHERE PARAMETRO=''PRODUTO_CONSULTA'' ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ROMANEIOS_ESTOQUE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ROMANEIOS_ESTOQUE] AS SELECT W_ROMANEIOS_RESERVA.PRODUTO, W_ROMANEIOS_RESERVA.COR_PRODUTO, W_ROMANEIOS_RESERVA.FILIAL , (CASE WHEN (ISNULL(ES1, 0)) < 0 THEN 0 ELSE ISNULL(ES1, 0) END)-ISNULL(E1, 0) AS ES1, (CASE WHEN (ISNULL(ES2, 0)) < 0 THEN 0 ELSE ISNULL(ES2, 0) END)-ISNULL(E2, 0) AS ES2, (CASE WHEN (ISNULL(ES3, 0)) < 0 THEN 0 ELSE ISNULL(ES3, 0) END)-ISNULL(E3, 0) AS ES3, (CASE WHEN (ISNULL(ES4, 0)) < 0 THEN 0 ELSE ISNULL(ES4, 0) END)-ISNULL(E4, 0) AS ES4, (CASE WHEN (ISNULL(ES5, 0)) < 0 THEN 0 ELSE ISNULL(ES5, 0) END)-ISNULL(E5, 0) AS ES5, (CASE WHEN (ISNULL(ES6, 0)) < 0 THEN 0 ELSE ISNULL(ES6, 0) END)-ISNULL(E6, 0) AS ES6, (CASE WHEN (ISNULL(ES7, 0)) < 0 THEN 0 ELSE ISNULL(ES7, 0) END)-ISNULL(E7, 0) AS ES7, (CASE WHEN (ISNULL(ES8, 0)) < 0 THEN 0 ELSE ISNULL(ES8, 0) END)-ISNULL(E8, 0) AS ES8, (CASE WHEN (ISNULL(ES9, 0)) < 0 THEN 0 ELSE ISNULL(ES9, 0) END)-ISNULL(E9, 0) AS ES9, (CASE WHEN (ISNULL(ES10, 0)) < 0 THEN 0 ELSE ISNULL(ES10, 0) END)-ISNULL(E10, 0) AS ES10, (CASE WHEN (ISNULL(ES11, 0)) < 0 THEN 0 ELSE ISNULL(ES11, 0) END)-ISNULL(E11, 0) AS ES11, (CASE WHEN (ISNULL(ES12, 0)) < 0 THEN 0 ELSE ISNULL(ES12, 0) END)-ISNULL(E12, 0) AS ES12, (CASE WHEN (ISNULL(ES13, 0)) < 0 THEN 0 ELSE ISNULL(ES13, 0) END)-ISNULL(E13, 0) AS ES13, (CASE WHEN (ISNULL(ES14, 0)) < 0 THEN 0 ELSE ISNULL(ES14, 0) END)-ISNULL(E14, 0) AS ES14, (CASE WHEN (ISNULL(ES15, 0)) < 0 THEN 0 ELSE ISNULL(ES15, 0) END)-ISNULL(E15, 0) AS ES15, (CASE WHEN (ISNULL(ES16, 0)) < 0 THEN 0 ELSE ISNULL(ES16, 0) END)-ISNULL(E16, 0) AS ES16, (CASE WHEN (ISNULL(ES17, 0)) < 0 THEN 0 ELSE ISNULL(ES17, 0) END)-ISNULL(E17, 0) AS ES17, (CASE WHEN (ISNULL(ES18, 0)) < 0 THEN 0 ELSE ISNULL(ES18, 0) END)-ISNULL(E18, 0) AS ES18, (CASE WHEN (ISNULL(ES19, 0)) < 0 THEN 0 ELSE ISNULL(ES19, 0) END)-ISNULL(E19, 0) AS ES19, (CASE WHEN (ISNULL(ES20,0)) < 0 THEN 0 ELSE ISNULL(ES20, 0) END)-ISNULL(E20, 0) AS ES20, (CASE WHEN (ISNULL(ES21, 0)) < 0 THEN 0 ELSE ISNULL(ES21, 0) END)-ISNULL(E21, 0) AS ES21, (CASE WHEN (ISNULL(ES22, 0)) < 0 THEN 0 ELSE ISNULL(ES22, 0) END)-ISNULL(E22, 0) AS ES22, (CASE WHEN (ISNULL(ES23, 0)) < 0 THEN 0 ELSE ISNULL(ES23, 0) END)-ISNULL(E23, 0) AS ES23, (CASE WHEN (ISNULL(ES24, 0)) < 0 THEN 0 ELSE ISNULL(ES24, 0) END)-ISNULL(E24, 0) AS ES24, (CASE WHEN (ISNULL(ES25, 0)) < 0 THEN 0 ELSE ISNULL(ES25, 0) END)-ISNULL(E25, 0) AS ES25, (CASE WHEN (ISNULL(ES26, 0)) < 0 THEN 0 ELSE ISNULL(ES26, 0) END)-ISNULL(E26, 0) AS ES26, (CASE WHEN (ISNULL(ES27, 0)) < 0 THEN 0 ELSE ISNULL(ES27, 0) END)-ISNULL(E27, 0) AS ES27, (CASE WHEN (ISNULL(ES28, 0)) < 0 THEN 0 ELSE ISNULL(ES28, 0) END)-ISNULL(E28, 0) AS ES28, (CASE WHEN (ISNULL(ES29, 0)) < 0 THEN 0 ELSE ISNULL(ES29, 0) END)-ISNULL(E29, 0) AS ES29, (CASE WHEN (ISNULL(ES30, 0)) < 0 THEN 0 ELSE ISNULL(ES30 ,0) END)-ISNULL(E30, 0) AS ES30, (CASE WHEN (ISNULL(ES31, 0)) < 0 THEN 0 ELSE ISNULL(ES31, 0) END)-ISNULL(E31, 0) AS ES31, (CASE WHEN (ISNULL(ES32, 0)) < 0 THEN 0 ELSE ISNULL(ES32, 0) END)-ISNULL(E32, 0) AS ES32, (CASE WHEN (ISNULL(ES33, 0)) < 0 THEN 0 ELSE ISNULL(ES33, 0) END)-ISNULL(E33, 0) AS ES33, (CASE WHEN (ISNULL(ES34, 0)) < 0 THEN 0 ELSE ISNULL(ES34, 0) END)-ISNULL(E34, 0) AS ES34, (CASE WHEN (ISNULL(ES35, 0)) < 0 THEN 0 ELSE ISNULL(ES35, 0) END)-ISNULL(E35, 0) AS ES35, (CASE WHEN (ISNULL(ES36, 0)) < 0 THEN 0 ELSE ISNULL(ES36, 0) END)-ISNULL(E36, 0) AS ES36, (CASE WHEN (ISNULL(ES37, 0)) < 0 THEN 0 ELSE ISNULL(ES37, 0) END)-ISNULL(E37, 0) AS ES37, (CASE WHEN (ISNULL(ES38, 0)) < 0 THEN 0 ELSE ISNULL(ES38, 0) END)-ISNULL(E38, 0) AS ES38, (CASE WHEN (ISNULL(ES39, 0)) < 0 THEN 0 ELSE ISNULL(ES39, 0) END)-ISNULL(E39, 0)AS ES39, (CASE WHEN (ISNULL(ES40, 0)) < 0 THEN 0 ELSE ISNULL(ES40, 0) END)-ISNULL(E40, 0) AS ES40, (CASE WHEN (ISNULL(ES41, 0)) < 0 THEN 0 ELSE ISNULL(ES41, 0) END)-ISNULL(E41, 0) AS ES41, (CASE WHEN (ISNULL(ES42, 0)) < 0 THEN 0 ELSE ISNULL(ES42, 0) END)-ISNULL(E42, 0) AS ES42, (CASE WHEN (ISNULL(ES43, 0)) < 0 THEN 0 ELSE ISNULL(ES43, 0) END)-ISNULL(E43, 0) AS ES43, (CASE WHEN (ISNULL(ES44, 0)) < 0 THEN 0 ELSE ISNULL(ES44, 0) END)-ISNULL(E44, 0) AS ES44, (CASE WHEN (ISNULL(ES45, 0)) < 0 THEN 0 ELSE ISNULL(ES45, 0) END)-ISNULL(E45, 0) AS ES45, (CASE WHEN (ISNULL(ES46, 0)) < 0 THEN 0 ELSE ISNULL(ES46, 0) END)-ISNULL(E46, 0) AS ES46, (CASE WHEN (ISNULL(ES47, 0)) < 0 THEN 0 ELSE ISNULL(ES47, 0) END)-ISNULL(E47, 0) AS ES47, (CASE WHEN (ISNULL(ES48, 0)) < 0 THEN 0 ELSE ISNULL(ES48, 0) END)-ISNULL(E48, 0) AS ES48, R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R20,R21,R22,R23,R24,R25,R26,R27,R28, R29,R30,R31,R32,R33,R34,R35,R36,R37,R38,R39,R40,R41,R42,R43,R44,R45,R46,R47,R48, (CASE WHEN (ISNULL(ES1, 0)) < 0 THEN 0 ELSE ISNULL(ES1, 0) END)-R1-(ISNULL(E1, 0)) AS SALDO1, (CASE WHEN (ISNULL(ES2, 0)) < 0 THEN 0 ELSE ISNULL(ES2, 0) END)-R2-(ISNULL(E2, 0)) AS SALDO2, (CASE WHEN (ISNULL(ES3, 0)) < 0 THEN 0 ELSE ISNULL(ES3, 0) END)-R3-(ISNULL(E3, 0)) AS SALDO3, (CASE WHEN (ISNULL(ES4, 0)) < 0 THEN 0 ELSE ISNULL(ES4, 0) END)-R4-(ISNULL(E4, 0)) AS SALDO4, (CASE WHEN (ISNULL(ES5, 0)) < 0 THEN 0 ELSE ISNULL(ES5, 0) END)-R5-(ISNULL(E5, 0)) AS SALDO5, (CASE WHEN (ISNULL(ES6, 0)) < 0 THEN 0 ELSE ISNULL(ES6, 0) END)-R6-(ISNULL(E6, 0)) AS SALDO6, (CASE WHEN (ISNULL(ES7, 0)) < 0 THEN 0 ELSE ISNULL(ES7, 0) END)-R7-(ISNULL(E7, 0)) AS SALDO7, (CASE WHEN (ISNULL(ES8, 0)) < 0 THEN 0 ELSE ISNULL(ES8, 0) END)-R8-(ISNULL(E8, 0)) AS SALDO8, (CASE WHEN (ISNULL(ES9, 0)) < 0 THEN 0 ELSE ISNULL(ES9, 0) END)-R9-(ISNULL(E9, 0)) AS SALDO9, (CASE WHEN (ISNULL(ES10, 0)) < 0 THEN 0 ELSE ISNULL(ES10, 0) END)-R10-(ISNULL(E10, 0)) AS SALDO10, (CASE WHEN (ISNULL(ES11, 0)) < 0 THEN 0 ELSE ISNULL(ES11, 0) END)-R11-(ISNULL(E11, 0)) AS SALDO11, (CASE WHEN (ISNULL(ES12, 0)) < 0 THEN 0 ELSE ISNULL(ES12, 0) END)-R12-(ISNULL(E12, 0)) AS SALDO12, (CASE WHEN (ISNULL(ES13, 0)) < 0 THEN 0 ELSE ISNULL(ES13, 0) END)-R13-(ISNULL(E13, 0)) AS SALDO13, (CASE WHEN (ISNULL(ES14, 0)) <0 THEN 0 ELSE ISNULL(ES14, 0) END)-R14-(ISNULL(E14, 0)) AS SALDO14, (CASE WHEN (ISNULL(ES15, 0)) < 0 THEN 0 ELSE ISNULL(ES15, 0) END)-R15-(ISNULL(E15, 0)) AS SALDO15, (CASE WHEN (ISNULL(ES16, 0)) < 0 THEN 0 ELSE ISNULL(ES16, 0) END)-R16-(ISNULL(E16, 0)) AS SALDO16, (CASE WHEN (ISNULL(ES17, 0)) < 0 THEN 0 ELSE ISNULL(ES17, 0) END)-R17-(ISNULL(E17, 0)) AS SALDO17, (CASE WHEN (ISNULL(ES18, 0)) < 0 THEN 0 ELSE ISNULL(ES18, 0) END)-R18-(ISNULL(E18, 0)) AS SALDO18, (CASE WHEN (ISNULL(ES19, 0)) < 0 THEN 0 ELSE ISNULL(ES19, 0) END)-R19-(ISNULL(E19, 0)) AS SALDO19, (CASE WHEN (ISNULL(ES20, 0)) < 0 THEN 0 ELSE ISNULL(ES20, 0) END)-R20-(ISNULL(E20, 0)) AS SALDO20, (CASE WHEN (ISNULL(ES21, 0)) < 0 THEN 0 ELSE ISNULL(ES21, 0) END)-R21-(ISNULL(E21, 0)) AS SALDO21, (CASE WHEN (ISNULL(ES22, 0)) < 0 THEN 0 ELSE ISNULL(ES22, 0) END)-R22-(ISNULL(E22, 0)) AS SALDO22, (CASE WHEN (ISNULL(ES23, 0)) < 0 THEN 0 ELSE ISNULL(ES23, 0) END)-R23-(ISNULL(E23, 0)) AS SALDO23, (CASE WHEN (ISNULL(ES24, 0)) < 0 THEN 0 ELSE ISNULL(ES24, 0) END)-R24-(ISNULL(E24, 0)) AS SALDO24, (CASE WHEN (ISNULL(ES25, 0)) < 0 THEN 0 ELSE ISNULL(ES25, 0) END)-R25-(ISNULL(E25, 0)) AS SALDO25, (CASE WHEN (ISNULL(ES26, 0)) < 0 THEN 0 ELSE ISNULL(ES26, 0) END)-R26-(ISNULL(E26, 0)) AS SALDO26, (CASE WHEN (ISNULL(ES27, 0)) < 0 THEN 0 ELSE ISNULL(ES27, 0) END)-R27-(ISNULL(E27, 0)) AS SALDO27, (CASE WHEN (ISNULL(ES28, 0)) < 0 THEN 0 ELSE ISNULL(ES28, 0) END)-R28-(ISNULL(E28, 0)) AS SALDO28, (CASE WHEN (ISNULL(ES29, 0)) < 0 THEN 0 ELSE ISNULL(ES29, 0)END)-R29-(ISNULL(E29, 0)) AS SALDO29, (CASE WHEN (ISNULL(ES30, 0)) < 0 THEN 0 ELSE ISNULL(ES30 ,0) END)-R30-(ISNULL(E30, 0)) AS SALDO30, (CASE WHEN (ISNULL(ES31, 0)) < 0 THEN 0 ELSE ISNULL(ES31, 0) END)-R31-(ISNULL(E31, 0)) AS SALDO31, (CASE WHEN (ISNULL(ES32, 0)) < 0 THEN 0 ELSE ISNULL(ES32, 0) END)-R32-(ISNULL(E32, 0)) AS SALDO32, (CASE WHEN (ISNULL(ES33, 0)) < 0 THEN 0 ELSE ISNULL(ES33, 0) END)-R33-(ISNULL(E33, 0)) AS SALDO33, (CASE WHEN (ISNULL(ES34, 0)) < 0 THEN 0 ELSE ISNULL(ES34, 0) END)-R34-(ISNULL(E34, 0)) AS SALDO34, (CASE WHEN (ISNULL(ES35, 0)) < 0 THEN 0 ELSE ISNULL(ES35, 0) END)-R35-(ISNULL(E35, 0)) AS SALDO35, (CASE WHEN (ISNULL(ES36, 0)) < 0 THEN 0 ELSE ISNULL(ES36, 0) END)-R36-(ISNULL(E36, 0)) AS SALDO36, (CASE WHEN (ISNULL(ES37, 0)) < 0 THEN 0 ELSE ISNULL(ES37, 0) END)-R37-(ISNULL(E37, 0)) AS SALDO37, (CASE WHEN (ISNULL(ES38, 0)) < 0 THEN 0 ELSE ISNULL(ES38, 0) END)-R38-(ISNULL(E38, 0)) AS SALDO38, (CASE WHEN (ISNULL(ES39, 0)) < 0 THEN 0 ELSE ISNULL(ES39, 0) END)-R39-(ISNULL(E39, 0)) AS SALDO39, (CASE WHEN (ISNULL(ES40, 0)) < 0 THEN 0 ELSE ISNULL(ES40, 0) END)-R40-(ISNULL(E40, 0)) AS SALDO40, (CASE WHEN (ISNULL(ES41, 0)) < 0 THEN 0 ELSE ISNULL(ES41, 0) END)-R41-(ISNULL(E41, 0)) AS SALDO41, (CASE WHEN (ISNULL(ES42, 0)) < 0 THEN 0 ELSE ISNULL(ES42, 0) END)-R42-(ISNULL(E42, 0)) AS SALDO42, (CASE WHEN (ISNULL(ES43, 0)) < 0 THEN 0 ELSE ISNULL(ES43, 0) END)-R43-(ISNULL(E43, 0)) AS SALDO43, (CASE WHEN (ISNULL(ES44, 0)) < 0 THEN 0 ELSE ISNULL(ES44, 0) END)-R44-(ISNULL(E44, 0)) AS SALDO44, (CASE WHEN (ISNULL(ES45, 0)) < 0 THEN 0 ELSE ISNULL(ES45, 0) END)-R45-(ISNULL(E45, 0)) AS SALDO45, (CASE WHEN (ISNULL(ES46, 0)) < 0 THEN 0 ELSE ISNULL(ES46, 0) END)-R46-(ISNULL(E46, 0)) AS SALDO46, (CASE WHEN (ISNULL(ES47, 0)) < 0 THEN 0 ELSE ISNULL(ES47, 0) END)-R47-(ISNULL(E47, 0)) AS SALDO47, (CASE WHEN (ISNULL(ES48, 0)) < 0 THEN 0 ELSE ISNULL(ES48, 0) END)-R48-(ISNULL(E48, 0)) AS SALDO48 FROM W_ROMANEIOS_RESERVA,ESTOQUE_PRODUTOS,W_VENDAS_EMBALADO WHERE W_ROMANEIOS_RESERVA.PRODUTO *=ESTOQUE_PRODUTOS.PRODUTO AND W_ROMANEIOS_RESERVA.COR_PRODUTO*=ESTOQUE_PRODUTOS.COR_PRODUTO AND W_ROMANEIOS_RESERVA.FILIAL *=ESTOQUE_PRODUTOS.FILIAL AND W_ROMANEIOS_RESERVA.PRODUTO *=W_VENDAS_EMBALADO.PRODUTO AND W_ROMANEIOS_RESERVA.COR_PRODUTO*=W_VENDAS_EMBALADO.COR_PRODUTO AND W_ROMANEIOS_RESERVA.FILIAL *=W_VENDAS_EMBALADO.FILIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_filial_PRODUTO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_filial_PRODUTO] (PRODUTO, FILIAL, ESTOQUE) AS SELECT ESTOQUE_PRODUTOS.PRODUTO, ESTOQUE_PRODUTOS.FILIAL, sum(estoque) FROM ESTOQUE_PRODUTOS GROUP BY produto, filial ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE] (TIPO, PRODUTO, COR_PRODUTO, DATA, MES, SUM_QTDE_ORIGINAL, SUM_qtde_entregar, SUM_qtde_entregue, SUM_qtde_cancelada, SUM_qtde_embalada, SUM_qtde_devolvida, SUM_valor_original, SUM_valor_entregar, SUM_valor_entregue, SUM_valor_cancelado, SUM_valor_devolvido, SUM_vE1, SUM_vE2, SUM_vE3, SUM_vE4, SUM_vE5, SUM_vE6, SUM_vE7, SUM_vE8, SUM_vE9, SUM_vE10, SUM_vE11, SUM_vE12, SUM_vE13, SUM_vE14, SUM_vE15, SUM_vE16, SUM_vE17, SUM_vE18, SUM_vE19, SUM_vE20, SUM_vE21, SUM_vE22, SUM_vE23, SUM_vE24, SUM_vE25, SUM_vE26, SUM_vE27, SUM_vE28, SUM_vE29, SUM_vE30, SUM_vE31, SUM_vE32, SUM_vE33, SUM_vE34, SUM_vE35, SUM_vE36, SUM_vE37, SUM_vE38, SUM_vE39, SUM_vE40, SUM_vE41, SUM_vE42, SUM_vE43, SUM_vE44, SUM_vE45, SUM_vE46, SUM_vE47, SUM_vE48) AS SELECT ''1 - ESTOQUE '', dbo.ESTOQUE_PRODUTOS.PRODUTO, dbo.ESTOQUE_PRODUTOS.COR_PRODUTO, '''', 1, SUM(ESTOQUE), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, SUM(ES1), SUM(ES2), SUM(ES3), SUM(ES4), SUM(ES5), SUM(ES6), SUM(ES7), SUM(ES8), SUM(ES9), SUM(ES10), SUM(ES11), SUM(ES12), SUM(ES13), SUM(ES14), SUM(ES15), SUM(ES16), SUM(ES17), SUM(ES18), SUM(ES19), SUM(ES20), SUM(ES21), SUM(ES22), SUM(ES23), SUM(ES24), SUM(ES25), SUM(ES26), SUM(ES27), SUM(ES28), SUM(ES29), SUM(ES30), SUM(ES31), SUM(ES32), SUM(ES33), SUM(ES34), SUM(ES35), SUM(ES36), SUM(ES37), SUM(ES38), SUM(ES39), SUM(ES40), SUM(ES41), SUM(ES42), SUM(ES43), SUM(ES44), SUM(ES45), SUM(ES46), SUM(ES47), SUM(ES48) FROM dbo.ESTOQUE_PRODUTOS GROUP BY PRODUTO, COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PRODUTOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PRODUTOS] (PRODUTO, ESTOQUE) AS SELECT DISTINCT ESTOQUE_PRODUTOS.PRODUTO, sum(estoque) FROM ESTOQUE_PRODUTOS GROUP BY PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[VALES_A_RECEBER]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [VALES_A_RECEBER] AS SELECT A_RECEBER_CHEQUES.CHEQUE_CARTAO, A_RECEBER_CHEQUES.NUMERO_CONTRATO, A_RECEBER_CHEQUES.BANCO, A_RECEBER_CHEQUES.CARTEIRA, A_RECEBER_CHEQUES.FILIAL, A_RECEBER_CHEQUES.NOME_CLIFOR, A_RECEBER_CHEQUES.CODIGO_CLIENTE, A_RECEBER_CHEQUES.CODIGO_ADMINISTRADORA, A_RECEBER_CHEQUES.TIPO_PGTO, A_RECEBER_CHEQUES.EMISSAO, A_RECEBER_CHEQUES.DOCUMENTO, A_RECEBER_CHEQUES.NUMERO_TITULO, A_RECEBER_CHEQUES.CADASTRAMENTO, A_RECEBER_CHEQUES.INDICA_CARTAO, A_RECEBER_CHEQUES.AGENCIA, A_RECEBER_CHEQUES.VENCIMENTO, A_RECEBER_CHEQUES.CONTA_CORRENTE, A_RECEBER_CHEQUES.PRORROGACAO, A_RECEBER_CHEQUES.ORIGEM, A_RECEBER_CHEQUES.VALOR_TAXA_ADMINISTRACAO, A_RECEBER_CHEQUES.VALOR, A_RECEBER_CHEQUES.VALOR_ORIGINAL, A_RECEBER_CHEQUES.VALOR_TOTAL_QUITADO, A_RECEBER_CHEQUES.NUMERO_DEVOLUCOES, A_RECEBER_CHEQUES.GUIA_ENVIO, A_RECEBER_CHEQUES.BANCO_DO_CHEQUE, A_RECEBER_CHEQUES.PARCELAMENTO_NA_VENDA, A_RECEBER_CHEQUES.CARTAO_MANUAL, A_RECEBER_CHEQUES.LANCAMENTO_CAIXA, A_RECEBER_CHEQUES.TERMINAL, A_RECEBER_CHEQUES.LOCALIDADE, A_RECEBER_CHEQUES.DATA_PARA_TRANSFERENCIA FROM A_RECEBER_CHEQUES WHERE TIPO_PGTO=''V'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_SEQUENCIAL]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_SEQUENCIAL] @TABELA_COLUNA VARCHAR(37), @EMPRESA INT = NULL, @SEQUENCIA VARCHAR(20) OUTPUT AS BEGIN SET NOCOUNT ON DECLARE @SEQUENCIA_ANT VARCHAR(20), @TAMANHO INT, @PERMITE_POR_EMPRESA SMALLINT, @EXECUTA SMALLINT, @errno int, @errmsg varchar(255) SET SELECT @EXECUTA=1 WHILE @EXECUTA=1 BEGIN SELECT @SEQUENCIA_ANT = ISNULL(SEQUENCIA,0), @TAMANHO = ISNULL(TAMANHO,DATALENGTH(RTRIM(SEQUENCIA))), @PERMITE_POR_EMPRESA =0 FROM SEQUENCIAIS WHERE TABELA_COLUNA=@TABELA_COLUNA IF @@ROWCOUNT=0 BEGIN SELECT @ERRNO=50001, @ERRMSG=''O sequencial #''+RTRIM(@TABELA_COLUNA) +'' #nao existe na tabela de sequenciais !!!'' GOTO error END BEGIN SELECT @SEQUENCIA=RIGHT(REPLICATE(''0'',@TAMANHO)+CONVERT(VARCHAR(20),CONVERT(INT,@SEQUENCIA_ANT)+1),@TAMANHO) UPDATE SEQUENCIAIS SET SEQUENCIA = @SEQUENCIA WHERE TABELA_COLUNA=@TABELA_COLUNA AND SEQUENCIA=@SEQUENCIA_ANT END IF @@ROWCOUNT=1 OR @@ERROR <> 0 SELECT @EXECUTA=0 END RETURN error: raiserror @errno @errmsg RETURN END ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_MATERIAIS_COM_VIEW]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [GF_MATERIAIS_COM_VIEW] AS SELECT GF_COMPOSICAO=RIGHT(''000000''+RTRIM(CONVERT(CHAR(6),MAX(CONVERT(INT,SEQUENCIA)))),6) FROM SEQUENCIAIS WHERE TABELA_COLUNA=''MATERIAIS_COMPOSICAO.COMPOSICAO'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_MATERIAL_VENDAS_QTDE]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_MATERIAL_VENDAS_QTDE] (MATERIAL, COR_MATERIAL, VENDA_ENTREGAR, VENDA_ENTREGUE, VENDA_ORIGINAL, VENDA_CANCELADA, VENDA_RESERVADA) AS SELECT VENDAS_MATERIAL.MATERIAL, VENDAS_MATERIAL.COR_MATERIAL, SUM(QTDE_ENTREGAR), SUM(QTDE_ENTREGUE), SUM(QTDE_ORIGINAL), SUM(QTDE_CANCELADA), SUM(QTDE_RESERVADA) FROM VENDAS_MATERIAL GROUP BY MATERIAL,COR_MATERIAL' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[GF_SET_SECUENCIA_MATERIALES]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N' CREATE PROCEDURE [GF_SET_SECUENCIA_MATERIALES] @ID_MATERIAL INTEGER, @bInsert BIT AS -- Procedimiento para rellenar el campo GF_COD_MAT_TAM de la tabla ETEJI_MEDIDA (segundo detalle de la clase Materiales por Color y Talla) -- Se calcula a partir del @IDOBJ que es el ID del material actual (Clase Materiales por color y talla). -- Por otra parte, si no existen medidas para este objeto, siempre se actualiza el secuencial para el siguiente material que se inserte. -- Realizado por: Bernardo Castellanos -- Fecha: 18-02-02 DECLARE @n_ID_MEDIDA INTEGER, @s_COD_MAT VARCHAR(11), @n_ORDENPM SMALLINT -- Si el flag @bInsert está activo, se calcula un nuevo código de material IF (@bInsert = 1) BEGIN EXEC GF_SP_GET_CODIGO_MATERIAL @ID_MATERIAL,@s_COD_MAT OUTPUT END -- Buscamos todas las medidas en el detalle de medidas del material actual DECLARE LISTA_MEDIDAS CURSOR FOR SELECT ID,ORDENPM FROM ETEJI_MEDIDA WHERE ID_ETEJI_RAIZ = @ID_MATERIAL AND ((GF_COD_MAT_TAM IS NULL) OR (GF_COD_MAT_TAM='''')) ORDER BY ORDENPM OPEN LISTA_MEDIDAS FETCH NEXT FROM LISTA_MEDIDAS INTO @n_ID_MEDIDA,@n_ORDENPM WHILE @@FETCH_STATUS=0 BEGIN -- La primera medida toma el código del material con el secuencial actual, -- las sucesivas medidas actualizan el secuencial para el código de material IF (@n_ORDENPM = 1) BEGIN SELECT @s_COD_MAT = LEFT(GF_MATERIAL,8) FROM ETEJI_RAIZ WHERE ID=@ID_MATERIAL END ELSE BEGIN EXEC GF_SP_GET_CODIGO_MATERIAL @ID_MATERIAL,@s_COD_MAT OUTPUT END UPDATE ETEJI_MEDIDA SET GF_COD_MAT_TAM=@s_COD_MAT WHERE ID=@n_ID_MEDIDA FETCH NEXT FROM LISTA_MEDIDAS INTO @n_ID_MEDIDA,@n_ORDENPM END CLOSE LISTA_MEDIDAS DEALLOCATE LISTA_MEDIDAS ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[V_ESTOQUE_PA_PROD_DIA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [V_ESTOQUE_PA_PROD_DIA] AS SELECT TOP 100 PERCENT dbo.ESTOQUE_PROD_ENT.ORDEM_PRODUCAO, dbo.ESTOQUE_PROD1_ENT.PRODUTO, dbo.ESTOQUE_PROD1_ENT.COR_PRODUTO, dbo.ESTOQUE_PROD_ENT.EMISSAO, dbo.ESTOQUE_PROD1_ENT.FILIAL, SUM(dbo.ESTOQUE_PROD1_ENT.QTDE) AS TOTEN, SUM(dbo.ESTOQUE_PROD1_ENT.EN_1) AS [38EN], SUM(dbo.ESTOQUE_PROD1_ENT.EN_2) AS [40EN], SUM(dbo.ESTOQUE_PROD1_ENT.EN_3) AS [42EN], SUM(dbo.ESTOQUE_PROD1_ENT.EN_4) AS [44EN], SUM(dbo.ESTOQUE_PROD1_ENT.EN_5) AS [46EN], SUM(dbo.ESTOQUE_PROD1_ENT.EN_6) AS [48EN] FROM dbo.ESTOQUE_PROD_ENT INNER JOIN dbo.ESTOQUE_PROD1_ENT ON dbo.ESTOQUE_PROD_ENT.ROMANEIO_PRODUTO = dbo.ESTOQUE_PROD1_ENT.ROMANEIO_PRODUTO GROUP BY dbo.ESTOQUE_PROD_ENT.ORDEM_PRODUCAO, dbo.ESTOQUE_PROD_ENT.EMISSAO, dbo.ESTOQUE_PROD1_ENT.PRODUTO, dbo.ESTOQUE_PROD1_ENT.FILIAL, dbo.ESTOQUE_PROD1_ENT.COR_PRODUTO ORDER BY dbo.ESTOQUE_PROD_ENT.ORDEM_PRODUCAO, dbo.ESTOQUE_PROD1_ENT.PRODUTO, dbo.ESTOQUE_PROD1_ENT.COR_PRODUTO, dbo.ESTOQUE_PROD_ENT.EMISSAO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ITENS_LEITURA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_ITENS_LEITURA] AS select 1 origem, vendas.pedido, vendas.filial, vendas.cliente_atacado, vendas.romaneio, vendas_produto.produto, vendas_produto.cor_produto, vendas_produto.entrega, case when vendas_produto.ve1 - isnull(w_vendas_disponivel.t1, 0) < 0 then 0 else vendas_produto.ve1 - isnull(w_vendas_disponivel.t1, 0) end ve1, case when vendas_produto.ve2 - isnull(w_vendas_disponivel.t2, 0) < 0 then 0 else vendas_produto.ve2 - isnull(w_vendas_disponivel.t2, 0) end ve2, case when vendas_produto.ve3 - isnull(w_vendas_disponivel.t3, 0) < 0 then 0 else vendas_produto.ve3 - isnull(w_vendas_disponivel.t3, 0) end ve3, case when vendas_produto.ve4 - isnull(w_vendas_disponivel.t4, 0) < 0 then 0 else vendas_produto.ve4 - isnull(w_vendas_disponivel.t4, 0) end ve4, case when vendas_produto.ve5 - isnull(w_vendas_disponivel.t5, 0) < 0 then 0 else vendas_produto.ve5 - isnull(w_vendas_disponivel.t5, 0) end ve5, case when vendas_produto.ve6 - isnull(w_vendas_disponivel.t6, 0) < 0 then 0 else vendas_produto.ve6 - isnull(w_vendas_disponivel.t6, 0) end ve6, case when vendas_produto.ve7 - isnull(w_vendas_disponivel.t7, 0) < 0 then 0 else vendas_produto.ve7 - isnull(w_vendas_disponivel.t7, 0) end ve7, case when vendas_produto.ve8 - isnull(w_vendas_disponivel.t8, 0) < 0 then 0 else vendas_produto.ve8 - isnull(w_vendas_disponivel.t8, 0) end ve8, case when vendas_produto.ve9 - isnull(w_vendas_disponivel.t9, 0) < 0 then 0 else vendas_produto.ve9 - isnull(w_vendas_disponivel.t9, 0) end ve9, case when vendas_produto.ve10 - isnull(w_vendas_disponivel.t10, 0) < 0 then 0 else vendas_produto.ve10 - isnull(w_vendas_disponivel.t10, 0) end ve10, case when vendas_produto.ve11 - isnull(w_vendas_disponivel.t11, 0) < 0 then 0 else vendas_produto.ve11 - isnull(w_vendas_disponivel.t11, 0) end ve11, case when vendas_produto.ve12 - isnull(w_vendas_disponivel.t12, 0) < 0 then 0 else vendas_produto.ve12 - isnull(w_vendas_disponivel.t12, 0) end ve12, case when vendas_produto.ve13 - isnull(w_vendas_disponivel.t13, 0) < 0 then 0 else vendas_produto.ve13 - isnull(w_vendas_disponivel.t13, 0) end ve13, case when vendas_produto.ve14 - isnull(w_vendas_disponivel.t14, 0) < 0 then 0 else vendas_produto.ve14 - isnull(w_vendas_disponivel.t14, 0) end ve14, case when vendas_produto.ve15 - isnull(w_vendas_disponivel.t15, 0) < 0 then 0 else vendas_produto.ve15 - isnull(w_vendas_disponivel.t15, 0) end ve15, case when vendas_produto.ve16 - isnull(w_vendas_disponivel.t16, 0) < 0 then 0 else vendas_produto.ve16 - isnull(w_vendas_disponivel.t16, 0) end ve16, case when vendas_produto.ve17 - isnull(w_vendas_disponivel.t17, 0) < 0 then 0 else vendas_produto.ve17 - isnull(w_vendas_disponivel.t17, 0) end ve17, case when vendas_produto.ve18 - isnull(w_vendas_disponivel.t18, 0) < 0 then 0 else vendas_produto.ve18 - isnull(w_vendas_disponivel.t18, 0) end ve18, case when vendas_produto.ve19 - isnull(w_vendas_disponivel.t19, 0) < 0 then 0 else vendas_produto.ve19 - isnull(w_vendas_disponivel.t19, 0) end ve19, case when vendas_produto.ve20 - isnull(w_vendas_disponivel.t20, 0) < 0 then 0 else vendas_produto.ve20 - isnull(w_vendas_disponivel.t20, 0) end ve20, case when vendas_produto.ve21 - isnull(w_vendas_disponivel.t21, 0) < 0 then 0 else vendas_produto.ve21 - isnull(w_vendas_disponivel.t21, 0) end ve21, case when vendas_produto.ve22 - isnull(w_vendas_disponivel.t22, 0) < 0 then 0 else vendas_produto.ve22 - isnull(w_vendas_disponivel.t22, 0) end ve22, case when vendas_produto.ve23 - isnull(w_vendas_disponivel.t23, 0) < 0 then 0 else vendas_produto.ve23 - isnull(w_vendas_disponivel.t23, 0) end ve23, case when vendas_produto.ve24 - isnull(w_vendas_disponivel.t24, 0) < 0 then 0 else vendas_produto.ve24 - isnull(w_vendas_disponivel.t24, 0) end ve24, case when vendas_produto.ve25 - isnull(w_vendas_disponivel.t25, 0) < 0 then 0 else vendas_produto.ve25 - isnull(w_vendas_disponivel.t25, 0) end ve25, case when vendas_produto.ve26 - isnull(w_vendas_disponivel.t26, 0) < 0 then 0 else vendas_produto.ve26 - isnull(w_vendas_disponivel.t26, 0) end ve26, case when vendas_produto.ve27 - isnull(w_vendas_disponivel.t27, 0) < 0 then 0 else vendas_produto.ve27 - isnull(w_vendas_disponivel.t27, 0) end ve27, case when vendas_produto.ve28 - isnull(w_vendas_disponivel.t28, 0) < 0 then 0 else vendas_produto.ve28 - isnull(w_vendas_disponivel.t28, 0) end ve28, case when vendas_produto.ve29 - isnull(w_vendas_disponivel.t29, 0) < 0 then 0 else vendas_produto.ve29 - isnull(w_vendas_disponivel.t29, 0) end ve29, case when vendas_produto.ve30 - isnull(w_vendas_disponivel.t30, 0) < 0 then 0 else vendas_produto.ve30 - isnull(w_vendas_disponivel.t30, 0) end ve30, case when vendas_produto.ve31 - isnull(w_vendas_disponivel.t31, 0) < 0 then 0 else vendas_produto.ve31 - isnull(w_vendas_disponivel.t31, 0) end ve31, case when vendas_produto.ve32 - isnull(w_vendas_disponivel.t32, 0) < 0 then 0 else vendas_produto.ve32 - isnull(w_vendas_disponivel.t32, 0) end ve32, case when vendas_produto.ve33 - isnull(w_vendas_disponivel.t33, 0) < 0 then 0 else vendas_produto.ve33 - isnull(w_vendas_disponivel.t33, 0) end ve33, case when vendas_produto.ve34 - isnull(w_vendas_disponivel.t34, 0) < 0 then 0 else vendas_produto.ve34 - isnull(w_vendas_disponivel.t34, 0) end ve34, case when vendas_produto.ve35 - isnull(w_vendas_disponivel.t35, 0) < 0 then 0 else vendas_produto.ve35 - isnull(w_vendas_disponivel.t35, 0) end ve35, case when vendas_produto.ve36 - isnull(w_vendas_disponivel.t36, 0) < 0 then 0 else vendas_produto.ve36 - isnull(w_vendas_disponivel.t36, 0) end ve36, case when vendas_produto.ve37 - isnull(w_vendas_disponivel.t37, 0) < 0 then 0 else vendas_produto.ve37 - isnull(w_vendas_disponivel.t37, 0) end ve37, case when vendas_produto.ve38 - isnull(w_vendas_disponivel.t38, 0) < 0 then 0 else vendas_produto.ve38 - isnull(w_vendas_disponivel.t38, 0) end ve38, case when vendas_produto.ve39 - isnull(w_vendas_disponivel.t39, 0) < 0 then 0 else vendas_produto.ve39 - isnull(w_vendas_disponivel.t39, 0) end ve39, case when vendas_produto.ve40 - isnull(w_vendas_disponivel.t40, 0) < 0 then 0 else vendas_produto.ve40 - isnull(w_vendas_disponivel.t40, 0) end ve40, case when vendas_produto.ve41 - isnull(w_vendas_disponivel.t41, 0) < 0 then 0 else vendas_produto.ve41 - isnull(w_vendas_disponivel.t41, 0) end ve41, case when vendas_produto.ve42 - isnull(w_vendas_disponivel.t42, 0) < 0 then 0 else vendas_produto.ve42 - isnull(w_vendas_disponivel.t42, 0) end ve42, case when vendas_produto.ve43 - isnull(w_vendas_disponivel.t43, 0) < 0 then 0 else vendas_produto.ve43 - isnull(w_vendas_disponivel.t43, 0) end ve43, case when vendas_produto.ve44 - isnull(w_vendas_disponivel.t44, 0) < 0 then 0 else vendas_produto.ve44 - isnull(w_vendas_disponivel.t44, 0) end ve44, case when vendas_produto.ve45 - isnull(w_vendas_disponivel.t45, 0) < 0 then 0 else vendas_produto.ve45 - isnull(w_vendas_disponivel.t45, 0) end ve45, case when vendas_produto.ve46 - isnull(w_vendas_disponivel.t46, 0) < 0 then 0 else vendas_produto.ve46 - isnull(w_vendas_disponivel.t46, 0) end ve46, case when vendas_produto.ve47 - isnull(w_vendas_disponivel.t47, 0) < 0 then 0 else vendas_produto.ve47 - isnull(w_vendas_disponivel.t47, 0) end ve47, case when vendas_produto.ve48 - isnull(w_vendas_disponivel.t48, 0) < 0 then 0 else vendas_produto.ve48 - isnull(w_vendas_disponivel.t48, 0) end ve48, (case when vendas_produto.ve1 - isnull(w_vendas_disponivel.t1, 0) < 0 then 0 else vendas_produto.ve1 - isnull(w_vendas_disponivel.t1, 0) end + case when vendas_produto.ve2 - isnull(w_vendas_disponivel.t2, 0) < 0 then 0 else vendas_produto.ve2 - isnull(w_vendas_disponivel.t2, 0) end + case when vendas_produto.ve3 - isnull(w_vendas_disponivel.t3, 0) < 0 then 0 else vendas_produto.ve3 - isnull(w_vendas_disponivel.t3, 0) end + case when vendas_produto.ve4 - isnull(w_vendas_disponivel.t4, 0) < 0 then 0 else vendas_produto.ve4 - isnull(w_vendas_disponivel.t4, 0) end + case when vendas_produto.ve5 - isnull(w_vendas_disponivel.t5, 0) < 0 then 0 else vendas_produto.ve5 - isnull(w_vendas_disponivel.t5, 0) end + case when vendas_produto.ve6 - isnull(w_vendas_disponivel.t6, 0) < 0 then 0 else vendas_produto.ve6 - isnull(w_vendas_disponivel.t6, 0) end + case when vendas_produto.ve7 - isnull(w_vendas_disponivel.t7, 0) < 0 then 0 else vendas_produto.ve7 - isnull(w_vendas_disponivel.t7, 0) end + case when vendas_produto.ve8 - isnull(w_vendas_disponivel.t8, 0) < 0 then 0 else vendas_produto.ve8 - isnull(w_vendas_disponivel.t8, 0) end + case when vendas_produto.ve9 - isnull(w_vendas_disponivel.t9, 0) < 0 then 0 else vendas_produto.ve9 - isnull(w_vendas_disponivel.t9, 0) end + case when vendas_produto.ve10 - isnull(w_vendas_disponivel.t10, 0) < 0 then 0 else vendas_produto.ve10 - isnull(w_vendas_disponivel.t10, 0) end + case when vendas_produto.ve11 - isnull(w_vendas_disponivel.t11, 0) < 0 then 0 else vendas_produto.ve11 - isnull(w_vendas_disponivel.t11, 0) end + case when vendas_produto.ve12 - isnull(w_vendas_disponivel.t12, 0) < 0 then 0 else vendas_produto.ve12 - isnull(w_vendas_disponivel.t12, 0) end + case when vendas_produto.ve13 - isnull(w_vendas_disponivel.t13, 0) < 0 then 0 else vendas_produto.ve13 - isnull(w_vendas_disponivel.t13, 0) end + case when vendas_produto.ve14 - isnull(w_vendas_disponivel.t14, 0) < 0 then 0 else vendas_produto.ve14 - isnull(w_vendas_disponivel.t14, 0) end + case when vendas_produto.ve15 - isnull(w_vendas_disponivel.t15, 0) < 0 then 0 else vendas_produto.ve15 - isnull(w_vendas_disponivel.t15, 0) end + case when vendas_produto.ve16 - isnull(w_vendas_disponivel.t16, 0) < 0 then 0 else vendas_produto.ve16 - isnull(w_vendas_disponivel.t16, 0) end + case when vendas_produto.ve17 - isnull(w_vendas_disponivel.t17, 0) < 0 then 0 else vendas_produto.ve17 - isnull(w_vendas_disponivel.t17, 0) end + case when vendas_produto.ve18 - isnull(w_vendas_disponivel.t18, 0) < 0 then 0 else vendas_produto.ve18 - isnull(w_vendas_disponivel.t18, 0) end + case when vendas_produto.ve19 - isnull(w_vendas_disponivel.t19, 0) < 0 then 0 else vendas_produto.ve19 - isnull(w_vendas_disponivel.t19, 0) end + case when vendas_produto.ve20 - isnull(w_vendas_disponivel.t20, 0) < 0 then 0 else vendas_produto.ve20 - isnull(w_vendas_disponivel.t20, 0) end + case when vendas_produto.ve21 - isnull(w_vendas_disponivel.t21, 0) < 0 then 0 else vendas_produto.ve21 - isnull(w_vendas_disponivel.t21, 0) end + case when vendas_produto.ve22 - isnull(w_vendas_disponivel.t22, 0) < 0 then 0 else vendas_produto.ve22 - isnull(w_vendas_disponivel.t22, 0) end + case when vendas_produto.ve23 - isnull(w_vendas_disponivel.t23, 0) < 0 then 0 else vendas_produto.ve23 - isnull(w_vendas_disponivel.t23, 0) end + case when vendas_produto.ve24 - isnull(w_vendas_disponivel.t24, 0) < 0 then 0 else vendas_produto.ve24 - isnull(w_vendas_disponivel.t24, 0) end + case when vendas_produto.ve25 - isnull(w_vendas_disponivel.t25, 0) < 0 then 0 else vendas_produto.ve25 - isnull(w_vendas_disponivel.t25, 0) end + case when vendas_produto.ve26 - isnull(w_vendas_disponivel.t26, 0) < 0 then 0 else vendas_produto.ve26 - isnull(w_vendas_disponivel.t26, 0) end + case when vendas_produto.ve27 - isnull(w_vendas_disponivel.t27, 0) < 0 then 0 else vendas_produto.ve27 - isnull(w_vendas_disponivel.t27, 0) end + case when vendas_produto.ve28 - isnull(w_vendas_disponivel.t28, 0) < 0 then 0 else vendas_produto.ve28 - isnull(w_vendas_disponivel.t28, 0) end + case when vendas_produto.ve29 - isnull(w_vendas_disponivel.t29, 0) < 0 then 0 else vendas_produto.ve29 - isnull(w_vendas_disponivel.t29, 0) end + case when vendas_produto.ve30 - isnull(w_vendas_disponivel.t30, 0) < 0 then 0 else vendas_produto.ve30 - isnull(w_vendas_disponivel.t30, 0) end + case when vendas_produto.ve31 - isnull(w_vendas_disponivel.t31, 0) < 0 then 0 else vendas_produto.ve31 - isnull(w_vendas_disponivel.t31, 0) end + case when vendas_produto.ve32 - isnull(w_vendas_disponivel.t32, 0) < 0 then 0 else vendas_produto.ve32 - isnull(w_vendas_disponivel.t32, 0) end + case when vendas_produto.ve33 - isnull(w_vendas_disponivel.t33, 0) < 0 then 0 else vendas_produto.ve33 - isnull(w_vendas_disponivel.t33, 0) end + case when vendas_produto.ve34 - isnull(w_vendas_disponivel.t34, 0) < 0 then 0 else vendas_produto.ve34 - isnull(w_vendas_disponivel.t34, 0) end + case when vendas_produto.ve35 - isnull(w_vendas_disponivel.t35, 0) < 0 then 0 else vendas_produto.ve35 - isnull(w_vendas_disponivel.t35, 0) end + case when vendas_produto.ve36 - isnull(w_vendas_disponivel.t36, 0) < 0 then 0 else vendas_produto.ve36 - isnull(w_vendas_disponivel.t36, 0) end + case when vendas_produto.ve37 - isnull(w_vendas_disponivel.t37, 0) < 0 then 0 else vendas_produto.ve37 - isnull(w_vendas_disponivel.t37, 0) end + case when vendas_produto.ve38 - isnull(w_vendas_disponivel.t38, 0) < 0 then 0 else vendas_produto.ve38 - isnull(w_vendas_disponivel.t38, 0) end + case when vendas_produto.ve39 - isnull(w_vendas_disponivel.t39, 0) < 0 then 0 else vendas_produto.ve39 - isnull(w_vendas_disponivel.t39, 0) end + case when vendas_produto.ve40 - isnull(w_vendas_disponivel.t40, 0) < 0 then 0 else vendas_produto.ve40 - isnull(w_vendas_disponivel.t40, 0) end + case when vendas_produto.ve41 - isnull(w_vendas_disponivel.t41, 0) < 0 then 0 else vendas_produto.ve41 - isnull(w_vendas_disponivel.t41, 0) end + case when vendas_produto.ve42 - isnull(w_vendas_disponivel.t42, 0) < 0 then 0 else vendas_produto.ve42 - isnull(w_vendas_disponivel.t42, 0) end + case when vendas_produto.ve43 - isnull(w_vendas_disponivel.t43, 0) < 0 then 0 else vendas_produto.ve43 - isnull(w_vendas_disponivel.t43, 0) end + case when vendas_produto.ve44 - isnull(w_vendas_disponivel.t44, 0) < 0 then 0 else vendas_produto.ve44 - isnull(w_vendas_disponivel.t44, 0) end + case when vendas_produto.ve45 - isnull(w_vendas_disponivel.t45, 0) < 0 then 0 else vendas_produto.ve45 - isnull(w_vendas_disponivel.t45, 0) end + case when vendas_produto.ve46 - isnull(w_vendas_disponivel.t46, 0) < 0 then 0 else vendas_produto.ve46 - isnull(w_vendas_disponivel.t46, 0) end + case when vendas_produto.ve47 - isnull(w_vendas_disponivel.t47, 0) < 0 then 0 else vendas_produto.ve47 - isnull(w_vendas_disponivel.t47, 0) end + case when vendas_produto.ve48 - isnull(w_vendas_disponivel.t48, 0) < 0 then 0 else vendas_produto.ve48 - isnull(w_vendas_disponivel.t48, 0) end) qtde_entregar from vendas join vendas_produto on vendas.pedido = vendas_produto.pedido join filiais on vendas.filial = filiais.filial left join w_vendas_disponivel on vendas_produto.produto = w_vendas_disponivel.produto and vendas_produto.cor_produto = w_vendas_disponivel.cor_produto and vendas_produto.entrega = w_vendas_disponivel.entrega and vendas_produto.pedido = w_vendas_disponivel.pedido and vendas.aprovacao = ''A'' union all select 2 origem, romaneios_reservas.pedido, romaneios_reservas.filial, vendas.cliente_atacado, romaneios_reservas.romaneio, romaneios_reservas.produto, romaneios_reservas.cor_produto, romaneios_reservas.entrega, isnull(romaneios_reservas.r1, 0) r1, isnull(romaneios_reservas.r2, 0) r2, isnull(romaneios_reservas.r3, 0) r3, isnull(romaneios_reservas.r4, 0) r4, isnull(romaneios_reservas.r5, 0) r5, isnull(romaneios_reservas.r6, 0) r6, isnull(romaneios_reservas.r7, 0) r7, isnull(romaneios_reservas.r8, 0) r8, isnull(romaneios_reservas.r9, 0) r9, isnull(romaneios_reservas.r10, 0) r10, isnull(romaneios_reservas.r11, 0) r11, isnull(romaneios_reservas.r12, 0) r12, isnull(romaneios_reservas.r13, 0) r13, isnull(romaneios_reservas.r14, 0) r14, isnull(romaneios_reservas.r15, 0) r15, isnull(romaneios_reservas.r16, 0) r16, isnull(romaneios_reservas.r17, 0) r17, isnull(romaneios_reservas.r18, 0) r18, isnull(romaneios_reservas.r19, 0) r19, isnull(romaneios_reservas.r20, 0) r20, isnull(romaneios_reservas.r21, 0) r21, isnull(romaneios_reservas.r22, 0) r22, isnull(romaneios_reservas.r23, 0) r23, isnull(romaneios_reservas.r24, 0) r24, isnull(romaneios_reservas.r25, 0) r25, isnull(romaneios_reservas.r26, 0) r26, isnull(romaneios_reservas.r27, 0) r27, isnull(romaneios_reservas.r28, 0) r28, isnull(romaneios_reservas.r29, 0) r29, isnull(romaneios_reservas.r30, 0) r30, isnull(romaneios_reservas.r31, 0) r31, isnull(romaneios_reservas.r32, 0) r32, isnull(romaneios_reservas.r33, 0) r33, isnull(romaneios_reservas.r34, 0) r34, isnull(romaneios_reservas.r35, 0) r35, isnull(romaneios_reservas.r36, 0) r36, isnull(romaneios_reservas.r37, 0) r37, isnull(romaneios_reservas.r38, 0) r38, isnull(romaneios_reservas.r39, 0) r39, isnull(romaneios_reservas.r40, 0) r40, isnull(romaneios_reservas.r41, 0) r41, isnull(romaneios_reservas.r42, 0) r42, isnull(romaneios_reservas.r43, 0) r43, isnull(romaneios_reservas.r44, 0) r44, isnull(romaneios_reservas.r45, 0) r45, isnull(romaneios_reservas.r46, 0) r46, isnull(romaneios_reservas.r47, 0) r47, isnull(romaneios_reservas.r48, 0) r48, isnull(qtde_r, 0) qtde_r from vendas join romaneios_reservas on vendas.pedido = romaneios_reservas.pedido join romaneios on romaneios_reservas.romaneio = romaneios.romaneio and romaneios_reservas.filial = romaneios.filial join filiais on vendas.filial = filiais.filial where liberado_expedicao = 1 and isnull(qtde_r, 0) <> 0 union all select 3 origem, vendas_prod_embalado.pedido, vendas_prod_embalado.filial, vendas_prod_embalado.nome_clifor, vendas_prod_embalado.romaneio, vendas_prod_embalado.produto, vendas_prod_embalado.cor_produto, vendas_prod_embalado.entrega, isnull(vendas_prod_embalado.e1, 0) e1, isnull(vendas_prod_embalado.e2, 0) e2, isnull(vendas_prod_embalado.e3, 0) e3, isnull(vendas_prod_embalado.e4, 0) e4, isnull(vendas_prod_embalado.e5, 0) e5, isnull(vendas_prod_embalado.e6, 0) e6, isnull(vendas_prod_embalado.e7, 0) e7, isnull(vendas_prod_embalado.e8, 0) e8, isnull(vendas_prod_embalado.e9, 0) e9, isnull(vendas_prod_embalado.e10, 0) e10, isnull(vendas_prod_embalado.e11, 0) e11, isnull(vendas_prod_embalado.e12, 0) e12, isnull(vendas_prod_embalado.e13, 0) e13, isnull(vendas_prod_embalado.e14, 0) e14, isnull(vendas_prod_embalado.e15, 0) e15, isnull(vendas_prod_embalado.e16, 0) e16, isnull(vendas_prod_embalado.e17, 0) e17, isnull(vendas_prod_embalado.e18, 0) e18, isnull(vendas_prod_embalado.e19, 0) e19, isnull(vendas_prod_embalado.e20, 0) e20, isnull(vendas_prod_embalado.e21, 0) e21, isnull(vendas_prod_embalado.e22, 0) e22, isnull(vendas_prod_embalado.e23, 0) e23, isnull(vendas_prod_embalado.e24, 0) e24, isnull(vendas_prod_embalado.e25, 0) e25, isnull(vendas_prod_embalado.e26, 0) e26, isnull(vendas_prod_embalado.e27, 0) e27, isnull(vendas_prod_embalado.e28, 0) e28, isnull(vendas_prod_embalado.e29, 0) e29, isnull(vendas_prod_embalado.e30, 0) e30, isnull(vendas_prod_embalado.e31, 0) e31, isnull(vendas_prod_embalado.e32, 0) e32, isnull(vendas_prod_embalado.e33, 0) e33, isnull(vendas_prod_embalado.e34, 0) e34, isnull(vendas_prod_embalado.e35, 0) e35, isnull(vendas_prod_embalado.e36, 0) e36, isnull(vendas_prod_embalado.e37, 0) e37, isnull(vendas_prod_embalado.e38, 0) e38, isnull(vendas_prod_embalado.e39, 0) e39, isnull(vendas_prod_embalado.e40, 0) e40, isnull(vendas_prod_embalado.e41, 0) e41, isnull(vendas_prod_embalado.e42, 0) e42, isnull(vendas_prod_embalado.e43, 0) e43, isnull(vendas_prod_embalado.e44, 0) e44, isnull(vendas_prod_embalado.e45, 0) e45, isnull(vendas_prod_embalado.e46, 0) e46, isnull(vendas_prod_embalado.e47, 0) e47, isnull(vendas_prod_embalado.e48, 0) e48, isnull(qtde_embalada, 0) qtde_embalada from vendas_prod_embalado join filiais on vendas_prod_embalado.filial = filiais.filial where isnull(caixa, '''') = '''' and caixa_fechada = 0 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURA_ITENS_COR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FATURA_ITENS_COR] AS SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''PRODUTO SAIDA '' TIPO, FFILHA.PRODUTO, CONVERT(VARCHAR(100), DESC_PROD_NF) DESC_PROD_NF, PRODC.COR_PRODUTO, PRODC.DESC_COR_PRODUTO, COMP.DESC_COMPOSICAO, PROD.GRADE, CONVERT(VARCHAR(120), '''') OBS_PRODUTO, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), SUM(QTDE)) QTDE, SUM(FFILHA.F1) AS F1, SUM(FFILHA.F2) AS F2, SUM(FFILHA.F3) AS F3, SUM(FFILHA.F4) AS F4, SUM(FFILHA.F5) AS F5, SUM(FFILHA.F6) AS F6, SUM(FFILHA.F7) AS F7, SUM(FFILHA.F8) AS F8, SUM(FFILHA.F9) AS F9, SUM(FFILHA.F10) AS F10, SUM(FFILHA.F11) AS F11, SUM(FFILHA.F12) AS F12, SUM(FFILHA.F13) AS F13, SUM(FFILHA.F14) AS F14, SUM(FFILHA.F15) AS F15, SUM(FFILHA.F16) AS F16, SUM(FFILHA.F17) AS F17, SUM(FFILHA.F18) AS F18, SUM(FFILHA.F19) AS F19, SUM(FFILHA.F20) AS F20, SUM(FFILHA.F21) AS F21, SUM(FFILHA.F22) AS F22, SUM(FFILHA.F23) AS F23, SUM(FFILHA.F24) AS F24, SUM(FFILHA.F25) AS F25, SUM(FFILHA.F26) AS F26, SUM(FFILHA.F27) AS F27, SUM(FFILHA.F28) AS F28, SUM(FFILHA.F29) AS F29, SUM(FFILHA.F30) AS F30, SUM(FFILHA.F31) AS F31, SUM(FFILHA.F32) AS F32, SUM(FFILHA.F33) AS F33, SUM(FFILHA.F34) AS F34, SUM(FFILHA.F35) AS F35, SUM(FFILHA.F36) AS F36, SUM(FFILHA.F37) AS F37, SUM(FFILHA.F38) AS F38, SUM(FFILHA.F39) AS F39, SUM(FFILHA.F40) AS F40, SUM(FFILHA.F41) AS F41, SUM(FFILHA.F42) AS F42, SUM(FFILHA.F43) AS F43, SUM(FFILHA.F44) AS F44, SUM(FFILHA.F45) AS F45, SUM(FFILHA.F46) AS F46, SUM(FFILHA.F47) AS F47, SUM(FFILHA.F48) AS F48, CONVERT(NUMERIC(15, 5), (PRECO)) PRECO, FFILHA.IPI, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100)) VAL_IPI, CONVERT(NUMERIC(14, 2), 0) ICMS, CONVERT(NUMERIC(14, 2), 0) IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)) VALOR, FAIXA, CONVERT(NUMERIC(15, 5), (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))) PRECO_MOEDA, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) VAL_IPI_MOEDA, (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) DESCONTO_ITEM_MOEDA, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))) VALOR_MOEDA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAMENTO_PROD FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN PRODUTOS PROD ON FFILHA.PRODUTO = PROD.PRODUTO INNER JOIN PRODUTO_CORES PRODC ON FFILHA.COR_PRODUTO = PRODC.COR_PRODUTO AND PROD.PRODUTO = PRODC.PRODUTO LEFT JOIN MATERIAIS MAT ON PROD.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = PROD.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.PRODUTO, DESC_PROD_NF, PRODC.COR_PRODUTO, PRODC.DESC_COR_PRODUTO, FFILHA.PRECO, COMP.DESC_COMPOSICAO, PROD.GRADE, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, PRECO, FFILHA.IPI, DESCONTO_ITEM, FAIXA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''CONSUMIVEL SAIDA '', CONSUMIVEL_ITEM, CONVERT(VARCHAR(100), DESC_CONSUMIVEL), CONVERT(VARCHAR(10), ''''), CONVERT(VARCHAR(40), ''''), CONVERT(VARCHAR(150), ''''), '''', CONVERT(VARCHAR(120), ''''), FFILHA.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), QTDE), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(15, 5), (CUSTO - DESCONTO_ITEM)), FFILHA.IPI, ((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100), FFILHA.ICMS, CONVERT(NUMERIC(14, 2), 0), DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), FFILHA.VALOR), '''', CONVERT(NUMERIC(15, 5), ((CUSTO - DESCONTO_ITEM) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), (((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) AS DESCONTO_ITEM_MOEDA, CONVERT(NUMERIC(14, 2), (FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAMENTO_CONSUMO FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = FFILHA.CLASSIF_FISCAL LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''MATERIAL SAIDA '', FFILHA.MATERIAL, CONVERT(VARCHAR(100), MAT.DESC_MATERIAL), MATC.COR_MATERIAL, MATC.DESC_COR_MATERIAL, COMP.DESC_COMPOSICAO, '''', CONVERT(VARCHAR(120), ''''), MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(15, 5), PRECO), FFILHA.IPI, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100)), FPAI.ICMS, CONVERT(NUMERIC(14, 2), 0), DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), '''', CONVERT(NUMERIC(15, 5), (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), SUM((((PRECO * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN ESTOQUE_SAI1_MAT FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL_FATURAMENTO INNER JOIN MATERIAIS MAT ON FFILHA.MATERIAL = MAT.MATERIAL INNER JOIN MATERIAIS_CORES MATC ON FFILHA.COR_MATERIAL = MATC.COR_MATERIAL AND MAT.MATERIAL = MATC.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = MAT.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.MATERIAL, MAT.DESC_MATERIAL, MATC.COR_MATERIAL, MATC.DESC_COR_MATERIAL, FFILHA.PRECO, COMP.DESC_COMPOSICAO, MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, FFILHA.IPI, DESCONTO_ITEM, FPAI.ICMS, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''DEVOLUÇAO MATERIAL '', FFILHA.MATERIAL, CONVERT(VARCHAR(100), MAT.DESC_MATERIAL), MATC.COR_MATERIAL, MATC.DESC_COR_MATERIAL, COMP.DESC_COMPOSICAO, '''', CONVERT(VARCHAR(120), ''''), MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(4), 0), CONVERT(NUMERIC(15, 5), (CUSTO - DESCONTO_ITEM)), FFILHA.IPI, SUM(((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100)), CONVERT(NUMERIC(14, 2), 0), CONVERT(NUMERIC(14, 2), 0), DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), '''', CONVERT(NUMERIC(15, 5), ((CUSTO - DESCONTO_ITEM) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), SUM((((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAM_DEV_MAT FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN MATERIAIS MAT ON FFILHA.MATERIAL = MAT.MATERIAL INNER JOIN MATERIAIS_CORES MATC ON FFILHA.MATERIAL = MATC.COR_MATERIAL AND MAT.MATERIAL = MATC.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = MAT.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.MATERIAL, MAT.DESC_MATERIAL, MATC.COR_MATERIAL, MATC.DESC_COR_MATERIAL, COMP.DESC_COMPOSICAO, MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, MAT.TRIBUT_ICMS, MAT.TRIBUT_ORIGEM, MAT.UNID_ESTOQUE, FFILHA.CUSTO, FFILHA.IPI, FFILHA.DESCONTO_ITEM, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''DEVOLUÇÃO PRODUTO '', FFILHA.PRODUTO, CONVERT(VARCHAR(100), DESC_PROD_NF), PRODC.COR_PRODUTO, PRODC.DESC_COR_PRODUTO, COMP.DESC_COMPOSICAO, PROD.GRADE, CONVERT(VARCHAR(120), ''''), PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), SUM(FFILHA.F1) AS F1, SUM(FFILHA.F2) AS F2, SUM(FFILHA.F3) AS F3, SUM(FFILHA.F4) AS F4, SUM(FFILHA.F5) AS F5, SUM(FFILHA.F6) AS F6, SUM(FFILHA.F7) AS F7, SUM(FFILHA.F8) AS F8, SUM(FFILHA.F9) AS F9, SUM(FFILHA.F10) AS F10, SUM(FFILHA.F11) AS F11, SUM(FFILHA.F12) AS F12, SUM(FFILHA.F13) AS F13, SUM(FFILHA.F14) AS F14, SUM(FFILHA.F15) AS F15, SUM(FFILHA.F16) AS F16, SUM(FFILHA.F17) AS F17, SUM(FFILHA.F18) AS F18, SUM(FFILHA.F19) AS F19, SUM(FFILHA.F20) AS F20, SUM(FFILHA.F21) AS F21, SUM(FFILHA.F22) AS F22, SUM(FFILHA.F23) AS F23, SUM(FFILHA.F24) AS F24, SUM(FFILHA.F25) AS F25, SUM(FFILHA.F26) AS F26, SUM(FFILHA.F27) AS F27, SUM(FFILHA.F28) AS F28, SUM(FFILHA.F29) AS F29, SUM(FFILHA.F30) AS F30, SUM(FFILHA.F31) AS F31, SUM(FFILHA.F32) AS F32, SUM(FFILHA.F33) AS F33, SUM(FFILHA.F34) AS F34, SUM(FFILHA.F35) AS F35, SUM(FFILHA.F36) AS F36, SUM(FFILHA.F37) AS F37, SUM(FFILHA.F38) AS F38, SUM(FFILHA.F39) AS F39, SUM(FFILHA.F40) AS F40, SUM(FFILHA.F41) AS F41, SUM(FFILHA.F42) AS F42, SUM(FFILHA.F43) AS F43, SUM(FFILHA.F44) AS F44, SUM(FFILHA.F45) AS F45, SUM(FFILHA.F46) AS F46, SUM(FFILHA.F47) AS F47, SUM(FFILHA.F48) AS F48, CONVERT(NUMERIC(15, 5), PRECO), FFILHA.IPI, SUM(((PRECO * QTDE) * FFILHA.IPI) / 100), FFILHA.ICMS, CONVERT(NUMERIC(14, 2), 0), DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), FAIXA, CONVERT(NUMERIC(15, 5), (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), SUM((((PRECO * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAM_DEV_PROD FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN PRODUTOS PROD ON FFILHA.PRODUTO = PROD.PRODUTO INNER JOIN PRODUTO_CORES PRODC ON FFILHA.COR_PRODUTO = PRODC.COR_PRODUTO AND PROD.PRODUTO = PRODC.PRODUTO LEFT JOIN MATERIAIS MAT ON PROD.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = PROD.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.PRODUTO, PROD.DESC_PROD_NF, PRODC.COR_PRODUTO, PRODC.DESC_COR_PRODUTO, PROD.GRADE, COMP.DESC_COMPOSICAO, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, PROD.UNIDADE, FFILHA.PRECO, FFILHA.IPI, FFILHA.ICMS, FFILHA.DESCONTO_ITEM, FFILHA.FAIXA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION_DESGLOSADO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N' -- -- Definition for view RDX_V_CONTROL_RECEPCION_DESGLOSADO : -- CREATE VIEW [RDX_V_CONTROL_RECEPCION_DESGLOSADO] AS SELECT FECHA = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.FECHA, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA), CENTRO = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CENTRO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO), FILIAL = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.FILIAL, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FILIAL), CODIGO = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CODIGO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO), PRODUCTO = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.PRODUCTO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.PRODUCTO), COLOR = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.COLOR, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR), TALLA = ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.TALLA, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA), CANTIDAD = SUM(ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_INVENTARIOEDI_RECEPCION.CANTIDAD)) FROM RDX_V_RECEPCION_AJUSTES_DESGLOSADO FULL OUTER JOIN RDX_V_INVENTARIOEDI_RECEPCION ON (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI_RECEPCION.FECHA) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI_RECEPCION.CENTRO) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI_RECEPCION.CODIGO) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI_RECEPCION.COLOR) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI_RECEPCION.TALLA) GROUP BY ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.FECHA, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CENTRO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.FILIAL, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FILIAL), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.CODIGO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.PRODUCTO, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.PRODUCTO), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.COLOR, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR), ISNULL(RDX_V_INVENTARIOEDI_RECEPCION.TALLA, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_TRASPASOS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_CONTROL_TRASPASOS] AS SELECT RDX_V_TRASPASOS.TIPO, RDX_V_TRASPASOS.FECHA, RDX_V_TRASPASOS.CENTRO, RDX_V_TRASPASOS.FILIAL, RDX_V_TRASPASOS.CENTRO2, RDX_V_TRASPASOS.FILIAL2, APROBADO = ISNULL(RDX_TRASPASOS_AJUSTES.APROBADO, ''N''), ESTADO_TRASPASO = RDX_TRASPASOS_AJUSTES.ESTADO, OBSERVACIONES = RDX_TRASPASOS_AJUSTES.OBSERVACIONES, CONTABILIZAR = ISNULL(RDX_TRASPASOS_AJUSTES.CONTABILIZAR, ''S''), RDX_TRASPASOS_AJUSTES.FECHACAMBIO, RDX_V_TRASPASOS.CODIGO, RDX_V_TRASPASOS.PRODUCTO, RDX_V_TRASPASOS.COLOR, RDX_V_TRASPASOS.T38, RDX_V_TRASPASOS.T40, RDX_V_TRASPASOS.T42, RDX_V_TRASPASOS.T44, RDX_V_TRASPASOS.T46, RDX_V_TRASPASOS.T48, RDX_V_TRASPASOS.TOTAL, TR38 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT38, RDX_V_TRASPASOS.T38), TR40 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT40, RDX_V_TRASPASOS.T40), TR42 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT42, RDX_V_TRASPASOS.T42), TR44 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT44, RDX_V_TRASPASOS.T44), TR46 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT46, RDX_V_TRASPASOS.T46), TR48 = ISNULL(RDX_TRASPASOS_AJUSTES.CANT48, RDX_V_TRASPASOS.T48), TOTAL_RECT = ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT38, RDX_V_TRASPASOS.T38), 0) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT40, RDX_V_TRASPASOS.T40), 0) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT42, RDX_V_TRASPASOS.T42), 0) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT44, RDX_V_TRASPASOS.T44), 0) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT46, RDX_V_TRASPASOS.T46), 0) + ISNULL(ISNULL(RDX_TRASPASOS_AJUSTES.CANT48, RDX_V_TRASPASOS.T48), 0) FROM RDX_V_TRASPASOS LEFT OUTER JOIN RDX_TRASPASOS_AJUSTES ON ((RDX_TRASPASOS_AJUSTES.CENTRO = RDX_V_TRASPASOS.CENTRO) AND (RDX_TRASPASOS_AJUSTES.CENTRO2 = RDX_V_TRASPASOS.CENTRO2) AND (RDX_TRASPASOS_AJUSTES.CODIGO = RDX_V_TRASPASOS.CODIGO) AND (RDX_TRASPASOS_AJUSTES.COLOR = RDX_V_TRASPASOS.COLOR) AND (RDX_TRASPASOS_AJUSTES.FECHA = RDX_V_TRASPASOS.FECHA) AND (RDX_TRASPASOS_AJUSTES.TIPOCANT = RDX_V_TRASPASOS.TIPO)) ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[LX_CORRIGE_TAREFA]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [LX_CORRIGE_TAREFA] @ORDEM_PRODUCAO CHAR(08)=NULL,@MOSTRA CHAR(1)=NULL,@ZERA CHAR(1)=NULL,@MENSAGEM CHAR(50)=NULL OUTPUT AS DECLARE -- @ORDEM_PRODUCAO CHAR(8), @PRODUTO CHAR(12), @COR_PRODUTO CHAR(10), @TAREFA CHAR(10), @TAREFA_INI CHAR(10), @TAREFA_AUX CHAR(10), @TAREFA_AUX_1 CHAR(10), @TAREFA_ANTERIOR CHAR(10), @TAREFA_ANTERIOR_AUX CHAR(10), @SALDO QTDE_PRODUTO, @QTDE_O QTDE_PRODUTO, @QTDE_A QTDE_PRODUTO, @QTDE_O_AUX QTDE_PRODUTO, @QTDE_A_AUX QTDE_PRODUTO, @QTDE_EN QTDE_PRODUTO, @QTDE_S QTDE_PRODUTO, @QTDE_S_AUX QTDE_PRODUTO, @SEQUENCIA_PRODUTIVA CHAR(2), @SEQUENCIA_PRODUTIVA_AUX CHAR(2), @SETOR_PARALELO_NUMERO CHAR(1), @SEQUENCIA_ANTERIOR VARCHAR(25), @SEQ NUMERIC(2), @INSSEQ_PRO CHAR(2), @INSSEQ_ANT VARCHAR(25), @RECURSO_PRODUTIVO CHAR(5), @FASE_PRODUCAO VARCHAR(25), @SETOR_PRODUCAO VARCHAR(25), @TEM_DIVISAO_RECURSO BIT, @QTDE_PREVISTA_INICIAL QTDE_PRODUTO, @QTDE_PREVISTA QTDE_PRODUTO, @QTDE_PCP_PERDA_OS_AUX QTDE_PRODUTO, @QTDE_PREVISTA_AUX QTDE_PRODUTO, @QTDE_A_PRODUZIR QTDE_PRODUTO, @QTDE_A_PRODUZIR_AUX QTDE_PRODUTO, @QTDE_EM_PROCESSO QTDE_PRODUTO, @QTDE_EM_PROCESSO_AUX QTDE_PRODUTO, @QTDE_PCP_PERDA_OS QTDE_PRODUTO, @QTDE_FINALIZADA QTDE_PRODUTO, @QTDE_FINALIZADA_AUX QTDE_PRODUTO, @QTDE_ALTERACAO_OP QTDE_PRODUTO, @QTDE_ALTERACAO_OP_AUX QTDE_PRODUTO, @QTDE_PERDAS QTDE_PRODUTO, @QTDE_PERDAS_AUX QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS QTDE_PRODUTO, @QTDE_ALT_OUTRAS_TAREFAS_AUX QTDE_PRODUTO, @QTDE_SEGUNDA QTDE_PRODUTO, @PRIMEIRA_TAREFA BIT, @PRIMEIRA_ALT_PCP BIT, @TEM_ERRO CHAR(1), @TEM_ERRO_AUX CHAR(3), @INDICADOR_TIPO_MOV NUMERIC(2), @LINHAS NUMERIC(4), @QTDE_S_AUX_1 QTDE_PRODUTO, @QTDE_PREVISTA_AUX2 NUMERIC(10,2) /*CORRIGE AS OS*/ EXECUTE LX_CORRIGE_OS @ORDEM_PRODUCAO =@ORDEM_PRODUCAO,@MOSTRA = @MOSTRA,@MENSAGEM=@MENSAGEM OUTPUT IF @MENSAGEM = ''ORDEM PRODUCAO COM ERROS'' GOTO ERROR /*CORRIGUE O SALDO*/ EXECUTE LX_CORRIGE_SALDO @ORDEM_PRODUCAO =@ORDEM_PRODUCAO,@MOSTRA = @MOSTRA,@MENSAGEM=@MENSAGEM OUTPUT IF @MENSAGEM = ''ORDEM PRODUCAO COM ERROS'' GOTO ERROR /*VERIFICA SE EXISTE LANCAMENTO NA ENTRADA DO ESTOQUE NAS TAREFAS QUE NAO ESTÃO NA ULTIMA */ IF (SELECT COUNT(*) FROM ESTOQUE_PROD1_ENT WHERE QTDE>0 AND TAREFA+ORDEM_PRODUCAO IN (SELECT TAREFA+ORDEM_PRODUCAO FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO AND SEQUENCIA_PRODUTIVA NOT IN (SELECT MAX(SEQUENCIA_PRODUTIVA)FROM PRODUCAO_TAREFAS A WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO )))>1 BEGIN SELECT @MENSAGEM = ''ORDEM PRODUCAO COM ERROS NA ENTRADA DO ESTOQUE'' GOTO ERROR END /***********************************************/ /* GERA CURSOR TEMPORARIO COM AS QTDE CORRETAS */ /***********************************************/ IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_TAREFAS_AUX SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS INTO TMP_TAREFAS_AUX FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR /*CRIA CURSOR DAS TAREFAS*/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM PRODUCAO_TAREFAS WHERE ORDEM_PRODUCAO =@ORDEM_PRODUCAO ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 1,@QTDE_PREVISTA_INICIAL = @QTDE_PREVISTA IF @MOSTRA =''S'' SELECT ''-3'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX WHILE @@FETCH_STATUS = 0 BEGIN IF @PRIMEIRA_TAREFA =0 BEGIN FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA_AUX, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS IF @SEQUENCIA_PRODUTIVA <>@SEQUENCIA_ANTERIOR BEGIN -- IF PATINDEX(''%.%'',@SEQUENCIA_ANTERIOR)=0 AND PATINDEX(''%.%'',@SEQUENCIA_PRODUTIVA_AUX)=0 -- BEGIN IF @SEQUENCIA_PRODUTIVA_AUX <> @SEQUENCIA_PRODUTIVA BEGIN CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS SELECT @MENSAGEM = ''ORDEM PRODUCAO COM ERROS NA SEQ.'' GOTO ERROR END END FETCH PRIOR FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = @QTDE_PREVISTA_INICIAL, QTDE_EM_PROCESSO= 0, QTDE_A_PRODUZIR = @QTDE_PREVISTA_INICIAL, QTDE_FINALIZADA =0 , QTDE_ALTERACAO_OP=0, QTDE_PERDAS=0, QTDE_ALT_OUTRAS_TAREFAS=0 WHERE TAREFA = @TAREFA END IF @PRIMEIRA_TAREFA=1 BEGIN SELECT @PRIMEIRA_TAREFA = 0 UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = @QTDE_PREVISTA_INICIAL, QTDE_EM_PROCESSO= @QTDE_PREVISTA_INICIAL, QTDE_A_PRODUZIR = 0 , QTDE_FINALIZADA =0 , QTDE_ALTERACAO_OP=0, QTDE_PERDAS=0, QTDE_ALT_OUTRAS_TAREFAS=0 WHERE TAREFA = @TAREFA END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT ''-2'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX /****************************/ /*ATUALIZA AS QTDE PREVISTAS*/ /****************************/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 1,@TAREFA_INI= @TAREFA,@QTDE_PREVISTA_INICIAL = @QTDE_PREVISTA,@PRIMEIRA_ALT_PCP=0 WHILE @@FETCH_STATUS = 0 BEGIN SELECT @LINHAS=COUNT(*) FROM PRODUCAO_TAREFAS WHERE FASE_PRODUCAO =@FASE_PRODUCAO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_S_AUX_1=@LINHAS IF @LINHAS>1 BEGIN SELECT @QTDE_PREVISTA_AUX=0--,@QTDE_PREVISTA_INICIAL=SUM(QTDE_PREVISTA) FROM PRODUCAO_TAREFAS WHERE FASE_PRODUCAO =@FASE_PRODUCAO AND ORDEM_PRODUCAO=@ORDEM_PRODUCAO SELECT @QTDE_PREVISTA_AUX2=ROUND(@QTDE_PREVISTA_INICIAL/@QTDE_S_AUX_1,0) WHILE @LINHAS<>0 BEGIN IF @LINHAS = 1 SELECT @QTDE_PREVISTA_AUX2 = @QTDE_PREVISTA_INICIAL-@QTDE_PREVISTA_AUX ELSE SELECT @QTDE_PREVISTA_AUX= @QTDE_PREVISTA_AUX + @QTDE_PREVISTA_AUX2 UPDATE TMP_TAREFAS_AUX SET QTDE_A_PRODUZIR = @QTDE_PREVISTA_AUX2, QTDE_PREVISTA = @QTDE_PREVISTA_AUX2 WHERE TAREFA = @TAREFA SELECT @LINHAS=@LINHAS-1 FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 0 END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS IF @MOSTRA =''S'' SELECT ''-1'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX /**********************************************/ /*ATUALIZA AS QTDE ALTERADAS POR PCP OU PERDAS*/ /**********************************************/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @QTDE_PCP_PERDA_OS_AUX=0,@PRIMEIRA_ALT_PCP=0 WHILE @@FETCH_STATUS = 0 BEGIN DECLARE TMP_PCP_PERDA_OS SCROLL CURSOR FOR SELECT SUM(QTDE_O),PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV OPEN TMP_PCP_PERDA_OS FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV WHILE @@FETCH_STATUS = 0 BEGIN SELECT @PRIMEIRA_ALT_PCP =1 SELECT @QTDE_PCP_PERDA_OS_AUX = @QTDE_PCP_PERDA_OS_AUX + @QTDE_PCP_PERDA_OS IF @INDICADOR_TIPO_MOV=2 UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP+@QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS+@QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV END SELECT @PRIMEIRA_ALT_PCP =0 CLOSE TMP_PCP_PERDA_OS DEALLOCATE TMP_PCP_PERDA_OS IF @PRIMEIRA_ALT_PCP =0 AND @QTDE_PCP_PERDA_OS_AUX<>0 BEGIN SELECT @INSSEQ_PRO=SEQUENCIA_PRODUTIVA, @INSSEQ_ANT=SEQUENCIA_ANTERIOR FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+@QTDE_PCP_PERDA_OS_AUX FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) SELECT @QTDE_PCP_PERDA_OS_AUX = 0 END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS /*******************/ /*ATUALIZA AS QTDE */ /*******************/ DECLARE TMP_TAREFAS SCROLL CURSOR FOR SELECT TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR, FASE_PRODUCAO,SETOR_PRODUCAO,RECURSO_PRODUTIVO,0 QTDE_O,0 QTDE_A, 0 QTDE_S, 0 QTDE_EN, QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA, QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX ORDER BY SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO,SEQUENCIA_ANTERIOR OPEN TMP_TAREFAS FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @TAREFA_AUX_1='''' IF @MOSTRA =''S'' SELECT ''0'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX WHILE @@FETCH_STATUS = 0 BEGIN SELECT @QTDE_O=SUM(QTDE_O) FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV SELECT @QTDE_EN =SUM(QTDE) FROM ESTOQUE_PROD1_ENT WHERE TAREFA =@TAREFA GROUP BY TAREFA SELECT @QTDE_S =SUM(QTDE_S) FROM PRODUCAO_TAREFAS_SALDO WHERE TAREFA =@TAREFA GROUP BY TAREFA IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA_ANTERIOR =@TAREFA)>0 BEGIN DECLARE TMP_TAREFAS_ANTERIOR SCROLL CURSOR FOR SELECT TAREFA,TAREFA_ANTERIOR,SUM(QTDE_A) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA_ANTERIOR =@TAREFA GROUP BY TAREFA,TAREFA_ANTERIOR OPEN TMP_TAREFAS_ANTERIOR FETCH NEXT FROM TMP_TAREFAS_ANTERIOR INTO @TAREFA_AUX,@TAREFA_ANTERIOR,@QTDE_A WHILE @@FETCH_STATUS = 0 BEGIN IF @PRIMEIRA_TAREFA = 1 UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_ANTERIOR ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A+ @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_ANTERIOR UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO + @QTDE_A-@QTDE_EN, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA_AUX IF @TAREFA_AUX<>@TAREFA_AUX_1 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = QTDE_PREVISTA+(QTDE_ALTERACAO_OP+QTDE_PERDAS+QTDE_ALT_OUTRAS_TAREFAS) WHERE TAREFA = @TAREFA_AUX SELECT @TAREFA_AUX_1=@TAREFA_AUX END /* DECLARE TMP_PCP_PERDA_OS SCROLL CURSOR FOR SELECT SUM(QTDE_O),PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA_AUX AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV OPEN TMP_PCP_PERDA_OS FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV WHILE @@FETCH_STATUS = 0 BEGIN IF @QTDE_PCP_PERDA_OS<>0 BEGIN SELECT @INSSEQ_PRO=SEQUENCIA_PRODUTIVA, @INSSEQ_ANT=SEQUENCIA_ANTERIOR FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX SELECT ''-0'',@INDICADOR_TIPO_MOV,TAREFA,QTDE_A_PRODUZIR,@QTDE_PCP_PERDA_OS FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX IF @INDICADOR_TIPO_MOV= 2 BEGIN IF (SELECT COUNT(*) FROM TMP_TAREFAS_AUX WHERE TAREFA =@TAREFA_AUX AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE TAREFA = @TAREFA_AUX ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@QTDE_PCP_PERDA_OS), QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) , QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE SEQUENCIA_PRODUTIVA IN(SELECT SEQUENCIA_PRODUTIVA FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX ) UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) END IF @INDICADOR_TIPO_MOV= 4 BEGIN IF (SELECT COUNT(*) FROM TMP_TAREFAS_AUX WHERE TAREFA =@TAREFA_AUX AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE TAREFA = @TAREFA_AUX ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE SEQUENCIA_PRODUTIVA IN(SELECT SEQUENCIA_PRODUTIVA FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX ) UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) END SELECT @QTDE_PCP_PERDA_OS=0 END FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV END CLOSE TMP_PCP_PERDA_OS DEALLOCATE TMP_PCP_PERDA_OS SELECT ''0'',TAREFA,QTDE_A_PRODUZIR,@QTDE_A FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX */ FETCH NEXT FROM TMP_TAREFAS_ANTERIOR INTO @TAREFA_AUX,@TAREFA_ANTERIOR,@QTDE_A END CLOSE TMP_TAREFAS_ANTERIOR DEALLOCATE TMP_TAREFAS_ANTERIOR END IF (SELECT COUNT(*) FROM PRODUCAO_OS_ANTERIOR WHERE TAREFA_ANTERIOR =@TAREFA)=0 BEGIN UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO - @QTDE_A, QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_A, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR + @QTDE_A WHERE TAREFA = @TAREFA_ANTERIOR UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_EM_PROCESSO + @QTDE_A-@QTDE_EN, QTDE_A_PRODUZIR = QTDE_A_PRODUZIR - @QTDE_A+(QTDE_ALTERACAO_OP+QTDE_PERDAS+QTDE_ALT_OUTRAS_TAREFAS), QTDE_FINALIZADA = QTDE_FINALIZADA + @QTDE_EN, QTDE_A = @QTDE_A,QTDE_O=@QTDE_O,QTDE_EN=@QTDE_EN,QTDE_S=@QTDE_S WHERE TAREFA = @TAREFA /* UPDATE TMP_TAREFAS_AUX SET QTDE_PREVISTA = QTDE_PREVISTA+(QTDE_ALT_OUTRAS_TAREFAS) WHERE TAREFA = @TAREFA */ /* IF @PRIMEIRA_ALT_PCP =1 IF @INDICADOR_TIPO_MOV=2 UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = @QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA_AUX ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = @QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA_AUX IF @PRIMEIRA_ALT_PCP =0 AND @QTDE_PCP_PERDA_OS<>0 UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = @QTDE_PCP_PERDA_OS WHERE TAREFA = @TAREFA_AUX DECLARE TMP_PCP_PERDA_OS SCROLL CURSOR FOR SELECT SUM(QTDE_O),PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV FROM PRODUCAO_OS_TAREFAS,PRODUCAO_ORDEM_SERVICO WHERE PRODUCAO_OS_TAREFAS.ORDEM_SERVICO=PRODUCAO_ORDEM_SERVICO.ORDEM_SERVICO AND TAREFA =@TAREFA_AUX AND PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY TAREFA,RECURSO_PRODUTIVO,FASE_PRODUCAO,SETOR_PRODUCAO,PRODUCAO_OS_TAREFAS.INDICADOR_TIPO_MOV OPEN TMP_PCP_PERDA_OS FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV WHILE @@FETCH_STATUS = 0 BEGIN IF @QTDE_PCP_PERDA_OS<>0 BEGIN SELECT @INSSEQ_PRO=SEQUENCIA_PRODUTIVA, @INSSEQ_ANT=SEQUENCIA_ANTERIOR FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX IF @INDICADOR_TIPO_MOV = 2 BEGIN IF (SELECT COUNT(*) FROM TMP_TAREFAS_AUX WHERE TAREFA =@TAREFA_AUX AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE TAREFA = @TAREFA_AUX ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_ALTERACAO_OP = QTDE_ALTERACAO_OP +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE SEQUENCIA_PRODUTIVA IN(SELECT SEQUENCIA_PRODUTIVA FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX ) UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) END IF @INDICADOR_TIPO_MOV = 4 BEGIN IF (SELECT COUNT(*) FROM TMP_TAREFAS_AUX WHERE TAREFA =@TAREFA_AUX AND SETOR_PARALELO_NUMERO<>0 )=0 UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE TAREFA = @TAREFA_AUX ELSE UPDATE TMP_TAREFAS_AUX SET QTDE_PERDAS = QTDE_PERDAS +(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_EM_PROCESSO = QTDE_EM_PROCESSO+(@QTDE_PCP_PERDA_OS) WHERE SEQUENCIA_PRODUTIVA IN(SELECT SEQUENCIA_PRODUTIVA FROM TMP_TAREFAS_AUX WHERE TAREFA = @TAREFA_AUX ) UPDATE TMP_TAREFAS_AUX SET QTDE_ALT_OUTRAS_TAREFAS = QTDE_ALT_OUTRAS_TAREFAS+(@QTDE_PCP_PERDA_OS), QTDE_PREVISTA = QTDE_PREVISTA+(@QTDE_PCP_PERDA_OS) , QTDE_A_PRODUZIR = QTDE_A_PRODUZIR+(@QTDE_PCP_PERDA_OS) FROM TMP_TAREFAS_AUX A WHERE A.SEQUENCIA_PRODUTIVA>@INSSEQ_PRO AND A.SEQUENCIA_ANTERIOR>@INSSEQ_ANT AND FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO IN (SELECT MIN(FASE_PRODUCAO+SETOR_PRODUCAO+RECURSO_PRODUTIVO) FROM TMP_TAREFAS_AUX C WHERE C.SEQUENCIA_PRODUTIVA=A.SEQUENCIA_PRODUTIVA AND C.SEQUENCIA_ANTERIOR=A.SEQUENCIA_ANTERIOR GROUP BY FASE_PRODUCAO+SETOR_PRODUCAO) END SELECT @QTDE_PCP_PERDA_OS=0 END FETCH NEXT FROM TMP_PCP_PERDA_OS INTO @QTDE_PCP_PERDA_OS,@INDICADOR_TIPO_MOV END CLOSE TMP_PCP_PERDA_OS DEALLOCATE TMP_PCP_PERDA_OS */ END FETCH NEXT FROM TMP_TAREFAS INTO @TAREFA,@SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @SEQUENCIA_ANTERIOR, @FASE_PRODUCAO, @SETOR_PRODUCAO,@RECURSO_PRODUTIVO, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PREVISTA,@QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS SELECT @PRIMEIRA_TAREFA = 0 END UPDATE TMP_TAREFAS_AUX SET QTDE_EM_PROCESSO = QTDE_S CLOSE TMP_TAREFAS DEALLOCATE TMP_TAREFAS SELECT @TEM_ERRO = ''N'' SELECT @TEM_ERRO_AUX = ''N'' IF @MOSTRA IS NULL SELECT @MOSTRA=''N'' IF @MOSTRA =''S'' SELECT ''1'',TAREFA,SEQUENCIA_PRODUTIVA,SETOR_PARALELO_NUMERO AS PARA,QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PREVISTA,QTDE_EM_PROCESSO,QTDE_A_PRODUZIR,QTDE_FINALIZADA,QTDE_ALTERACAO_OP,QTDE_PERDAS,QTDE_ALT_OUTRAS_TAREFAS FROM TMP_TAREFAS_AUX IF 1=1--@TIPO_ORDEM = ''1'' BEGIN IF @MOSTRA =''S'' BEGIN SELECT DISTINCT TAREFA.SEQUENCIA_PRODUTIVA ,TAREFA.SETOR_PARALELO_NUMERO,TAREFA.TAREFA, QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PCP_PERDA_OS,TAREFA.QTDE_PREVISTA,TAREFA.QTDE_A_PRODUZIR, TAREFA.QTDE_EM_PROCESSO,TAREFA.QTDE_FINALIZADA, TAREFA.QTDE_ALTERACAO_OP,TAREFA.QTDE_PERDAS,TAREFA.QTDE_ALT_OUTRAS_TAREFAS FROM PRODUCAO_TAREFAS AS TAREFA, (SELECT ''ATUAL'' AS TIPO,PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,INDICADOR_TIPO_MOV,SUM(QTDE_O) AS QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_TAREFAS.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA,INDICADOR_TIPO_MOV) AS ATUAL, (SELECT ''ANTERIOR'' AS TIPO,PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO,PRODUCAO_OS_ANTERIOR.TAREFA, PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR, SPACE(1) AS INDICADOR_TIPO_MOV,SUM(QTDE_A) AS QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_ANTERIOR.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO,PRODUCAO_OS_ANTERIOR.TAREFA,PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR) AS ANTERIOR, (SELECT ''ENTRADA'' AS TIPO,ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO,ESTOQUE_PROD1_ENT.TAREFA,SPACE(8) AS TAREFA_ANTERIOR, SPACE(1) AS INDICADOR_TIPO_MOV, SUM(QTDE) AS QTDE_EN FROM ESTOQUE_PROD1_ENT,PRODUCAO_TAREFAS WHERE ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND ESTOQUE_PROD1_ENT.TAREFA=PRODUCAO_TAREFAS.TAREFA GROUP BY ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO,ESTOQUE_PROD1_ENT.TAREFA) AS ENTRADA, (SELECT ''SALDO'' AS TIPO,PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO,PRODUCAO_TAREFAS_SALDO.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,SPACE(1) AS INDICADOR_TIPO_MOV,SUM(QTDE_S) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO WHERE PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO,PRODUCAO_TAREFAS_SALDO.TAREFA) AS SALDO, (SELECT ''PCP_PERDA'' AS TIPO,PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,INDICADOR_TIPO_MOV,SUM(QTDE_O) AS QTDE_PCP_PERDA_OS FROM PRODUCAO_OS_TAREFAS,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_TAREFAS.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA,INDICADOR_TIPO_MOV) AS PCP_PERDA WHERE TAREFA.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA.TAREFA*=ATUAL.TAREFA AND TAREFA.TAREFA*=ANTERIOR.TAREFA AND TAREFA.TAREFA*=ENTRADA.TAREFA AND TAREFA.TAREFA*=SALDO.TAREFA AND TAREFA.TAREFA*=PCP_PERDA.TAREFA ORDER BY TAREFA.SEQUENCIA_PRODUTIVA ,TAREFA.SETOR_PARALELO_NUMERO,TAREFA.TAREFA, QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PCP_PERDA_OS,TAREFA.QTDE_PREVISTA,TAREFA.QTDE_A_PRODUZIR, TAREFA.QTDE_EM_PROCESSO,TAREFA.QTDE_FINALIZADA, TAREFA.QTDE_ALTERACAO_OP,TAREFA.QTDE_PERDAS,TAREFA.QTDE_ALT_OUTRAS_TAREFAS END /*CRIA CURSOR DAS TAREFAS*/ DECLARE TMPTAREFAS SCROLL CURSOR FOR SELECT DISTINCT TAREFA.SEQUENCIA_PRODUTIVA ,TAREFA.SETOR_PARALELO_NUMERO,TAREFA.TAREFA, QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PCP_PERDA_OS,TAREFA.QTDE_PREVISTA,TAREFA.QTDE_A_PRODUZIR, TAREFA.QTDE_EM_PROCESSO,TAREFA.QTDE_FINALIZADA, TAREFA.QTDE_ALTERACAO_OP,TAREFA.QTDE_PERDAS,TAREFA.QTDE_ALT_OUTRAS_TAREFAS FROM PRODUCAO_TAREFAS AS TAREFA, (SELECT ''ATUAL'' AS TIPO,PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,INDICADOR_TIPO_MOV,SUM(QTDE_O) AS QTDE_O FROM PRODUCAO_OS_TAREFAS,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_TAREFAS.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND INDICADOR_TIPO_MOV NOT IN (''2'',''4'') GROUP BY PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA,INDICADOR_TIPO_MOV) AS ATUAL, (SELECT ''ANTERIOR'' AS TIPO,PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO,PRODUCAO_OS_ANTERIOR.TAREFA, PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR, SPACE(1) AS INDICADOR_TIPO_MOV,SUM(QTDE_A) AS QTDE_A FROM PRODUCAO_OS_ANTERIOR,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_ANTERIOR.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_OS_ANTERIOR.ORDEM_PRODUCAO,PRODUCAO_OS_ANTERIOR.TAREFA,PRODUCAO_OS_ANTERIOR.TAREFA_ANTERIOR) AS ANTERIOR, (SELECT ''ENTRADA'' AS TIPO,ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO,ESTOQUE_PROD1_ENT.TAREFA,SPACE(8) AS TAREFA_ANTERIOR, SPACE(1) AS INDICADOR_TIPO_MOV, SUM(QTDE) AS QTDE_EN FROM ESTOQUE_PROD1_ENT,PRODUCAO_TAREFAS WHERE ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND ESTOQUE_PROD1_ENT.TAREFA=PRODUCAO_TAREFAS.TAREFA GROUP BY ESTOQUE_PROD1_ENT.ORDEM_PRODUCAO,ESTOQUE_PROD1_ENT.TAREFA) AS ENTRADA, (SELECT ''SALDO'' AS TIPO,PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO,PRODUCAO_TAREFAS_SALDO.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,SPACE(1) AS INDICADOR_TIPO_MOV,SUM(QTDE_S) AS QTDE_S FROM PRODUCAO_TAREFAS_SALDO WHERE PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO = @ORDEM_PRODUCAO GROUP BY PRODUCAO_TAREFAS_SALDO.ORDEM_PRODUCAO,PRODUCAO_TAREFAS_SALDO.TAREFA) AS SALDO, (SELECT ''PCP_PERDA'' AS TIPO,PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA, SPACE(8) AS TAREFA_ANTERIOR,INDICADOR_TIPO_MOV,SUM(QTDE_O) AS QTDE_PCP_PERDA_OS FROM PRODUCAO_OS_TAREFAS,PRODUCAO_TAREFAS WHERE PRODUCAO_OS_TAREFAS.TAREFA=PRODUCAO_TAREFAS.TAREFA AND PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND INDICADOR_TIPO_MOV IN (''2'',''4'') GROUP BY PRODUCAO_OS_TAREFAS.ORDEM_PRODUCAO,PRODUCAO_OS_TAREFAS.TAREFA,INDICADOR_TIPO_MOV) AS PCP_PERDA WHERE TAREFA.ORDEM_PRODUCAO = @ORDEM_PRODUCAO AND TAREFA.TAREFA*=ATUAL.TAREFA AND TAREFA.TAREFA*=ANTERIOR.TAREFA AND TAREFA.TAREFA*=ENTRADA.TAREFA AND TAREFA.TAREFA*=SALDO.TAREFA AND TAREFA.TAREFA*=PCP_PERDA.TAREFA ORDER BY TAREFA.SEQUENCIA_PRODUTIVA ,TAREFA.SETOR_PARALELO_NUMERO,TAREFA.TAREFA, QTDE_O,QTDE_A,QTDE_S,QTDE_EN,QTDE_PCP_PERDA_OS,TAREFA.QTDE_PREVISTA,TAREFA.QTDE_A_PRODUZIR, TAREFA.QTDE_EM_PROCESSO,TAREFA.QTDE_FINALIZADA, TAREFA.QTDE_ALTERACAO_OP,TAREFA.QTDE_PERDAS,TAREFA.QTDE_ALT_OUTRAS_TAREFAS OPEN TMPTAREFAS FETCH NEXT FROM TMPTAREFAS INTO @SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO,@TAREFA, @QTDE_O, @QTDE_A,@QTDE_S,@QTDE_EN,@QTDE_PCP_PERDA_OS, @QTDE_PREVISTA, @QTDE_A_PRODUZIR, @QTDE_EM_PROCESSO, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS WHILE @@FETCH_STATUS = 0 BEGIN SELECT @QTDE_PREVISTA_AUX = QTDE_PREVISTA , @QTDE_EM_PROCESSO_AUX = QTDE_EM_PROCESSO, @QTDE_A_PRODUZIR_AUX = QTDE_A_PRODUZIR, @QTDE_FINALIZADA_AUX = QTDE_FINALIZADA , @QTDE_ALTERACAO_OP_AUX = QTDE_ALTERACAO_OP , @QTDE_PERDAS_AUX = QTDE_PERDAS , @QTDE_ALT_OUTRAS_TAREFAS_AUX = QTDE_ALT_OUTRAS_TAREFAS, @QTDE_S_AUX = QTDE_S, @QTDE_A_AUX = QTDE_A, @QTDE_O_AUX = QTDE_O FROM TMP_TAREFAS_AUX WHERE TAREFA =@TAREFA IF @QTDE_O_AUX=0 AND @QTDE_A_AUX=0 BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_A_PRODUZIR ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_A_PRODUZIR))) SELECT ''SOLUÇÃO. APAGAR A TAREFA ''+@TAREFA END IF @MOSTRA =''N'' BEGIN ALTER TABLE PRODUCAO_TAREFAS DISABLE TRIGGER ALL DELETE PRODUCAO_TAREFAS WHERE TAREFA =@TAREFA ALTER TABLE PRODUCAO_TAREFAS ENABLE TRIGGER ALL END END IF @QTDE_PREVISTA_AUX <> @QTDE_PREVISTA BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_PREVISTA ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_PREVISTA))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_PREVISTA = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_PREVISTA_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_PREVISTA = @QTDE_PREVISTA_AUX WHERE TAREFA =@TAREFA END IF @QTDE_EM_PROCESSO_AUX <> @QTDE_EM_PROCESSO BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_EM_PROCESSO ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_EM_PROCESSO))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_EM_PROCESSO = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_EM_PROCESSO_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_EM_PROCESSO = @QTDE_EM_PROCESSO_AUX WHERE TAREFA =@TAREFA END IF @QTDE_A_PRODUZIR_AUX <> @QTDE_A_PRODUZIR BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_A_PRODUZIR ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_A_PRODUZIR))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_A_PRODUZIR = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_A_PRODUZIR_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_A_PRODUZIR = @QTDE_A_PRODUZIR_AUX WHERE TAREFA =@TAREFA END IF @QTDE_FINALIZADA_AUX <>@QTDE_FINALIZADA BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_FINALIZADA ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_FINALIZADA))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_FINALIZADA = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_FINALIZADA_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_FINALIZADA = @QTDE_FINALIZADA_AUX WHERE TAREFA =@TAREFA END IF @QTDE_ALTERACAO_OP_AUX <>@QTDE_ALTERACAO_OP BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_ALTERACAO_OP ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_ALTERACAO_OP))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_ALTERACAO_OP = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_ALTERACAO_OP_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_ALTERACAO_OP = @QTDE_ALTERACAO_OP_AUX WHERE TAREFA =@TAREFA END IF @QTDE_PERDAS_AUX <>@QTDE_PERDAS BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_PERDAS ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_PERDAS))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_PERDAS = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_PERDAS_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_PERDAS = @QTDE_PERDAS_AUX WHERE TAREFA =@TAREFA END IF @QTDE_ALT_OUTRAS_TAREFAS_AUX <>@QTDE_ALT_OUTRAS_TAREFAS BEGIN IF @MOSTRA =''S'' BEGIN SELECT @TEM_ERRO = ''S'' SELECT ''A TAREFA ''+@TAREFA+'' TEM QTDE_ALT_OUTRAS_TAREFAS ERRADA, ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_ALT_OUTRAS_TAREFAS))) END IF @MOSTRA =''S'' SELECT ''SOLUÇÃO. ATUALIZAR QTDE_ALT_OUTRAS_TAREFAS = ''+LTRIM(RTRIM(CONVERT(CHAR(10),@QTDE_ALT_OUTRAS_TAREFAS_AUX))) ELSE UPDATE PRODUCAO_TAREFAS SET QTDE_ALT_OUTRAS_TAREFAS = @QTDE_ALT_OUTRAS_TAREFAS_AUX WHERE TAREFA =@TAREFA END FETCH NEXT FROM TMPTAREFAS INTO @SEQUENCIA_PRODUTIVA, @SETOR_PARALELO_NUMERO, @TAREFA, @QTDE_O, @QTDE_A,@QTDE_S, @QTDE_EN,@QTDE_PCP_PERDA_OS, @QTDE_PREVISTA, @QTDE_A_PRODUZIR, @QTDE_EM_PROCESSO, @QTDE_FINALIZADA,@QTDE_ALTERACAO_OP,@QTDE_PERDAS,@QTDE_ALT_OUTRAS_TAREFAS END END CLOSE TMPTAREFAS DEALLOCATE TMPTAREFAS IF @TEM_ERRO = ''N'' SELECT ''ORDEM PRODUCAO SEM ERROS'' AS MENSAGEM ELSE SELECT ''ORDEM PRODUCAO COM ERROS'' AS MENSAGEM IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMPTAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMPTAREFAS_AUX IF (SELECT COUNT(*) FROM SYSOBJECTS WHERE ID = OBJECT_ID(''DBO.TMP_TAREFAS_AUX'') AND SYSSTAT & 0XF = 3)>0 DROP TABLE TMP_TAREFAS_AUX RETURN ERROR: -- SELECT ''ORDEM PRODUCAO COM ERROS'' AS MENSAGEM SELECT @MENSAGEM AS MENSAGEM ' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_ALBARANES_PENDIENTES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_ALBARANES_PENDIENTES] AS SELECT DISTINCT ALBARAN, APROBADO FROM RDX_V_CONTROL_RECEPCION WHERE ALBARAN IS NOT NULL AND APROBADO = ''N'' ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK_INVENTARIO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'-- -- Definition for view RDX_V_STOCK_INVENTARIO : -- CREATE VIEW [RDX_V_STOCK_INVENTARIO] AS SELECT FECHA = ISNULL(RDX_V_INVENTARIOEDI.FECHA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA))), CENTRO = ISNULL(RDX_V_INVENTARIOEDI.FILIAL, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FILIAL, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FILIAL, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FILIAL))), CODIGO = ISNULL(RDX_V_INVENTARIOEDI.CODIGO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO))), PRODUCTO = ISNULL(RDX_V_INVENTARIOEDI.PRODUCTO, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.PRODUCTO, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.PRODUCTO, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.PRODUCTO))), COLOR = ISNULL(RDX_V_INVENTARIOEDI.COLOR, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR))), TALLA = ISNULL(RDX_V_INVENTARIOEDI.TALLA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA))), CANTIDAD = ISNULL(RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CANTIDAD, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_INVENTARIOEDI.CANTIDAD))), /*RDX_V_INVENTARIOEDI.CANTIDAD, RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CANTIDAD, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD,*/ OPERACION = CASE RDX_V_INVENTARIOEDI.TIPOCANT WHEN ''194'' THEN ''R'' WHEN ''46'' THEN ''E'' WHEN ''145'' THEN ''RM'' WHEN ''48'' THEN ''S'' WHEN ''61'' THEN ''D'' WHEN ''65'' THEN ''T'' ELSE CASE WHEN RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN ''R'' WHEN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CANTIDAD IS NOT NULL THEN ''D'' ELSE RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO END END FROM RDX_V_INVENTARIOEDI /*FULL OUTER JOIN RDX_V_INVENTARIO_MAXFECHAS ON (RDX_V_INVENTARIO_MAXFECHAS.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_INVENTARIO_MAXFECHAS.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND (RDX_V_INVENTARIO_MAXFECHAS.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND (RDX_V_INVENTARIO_MAXFECHAS.TALLA = RDX_V_INVENTARIOEDI.TALLA)*/ FULL OUTER JOIN RDX_V_RECEPCION_AJUSTES_DESGLOSADO ON (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND (RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) FULL OUTER JOIN RDX_V_TRASPASOS_AJUSTES_DESGLOSADO ON (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CENTRO2 = RDX_V_INVENTARIOEDI.CENTRO2) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) AND (RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.TIPO = RDX_V_INVENTARIOEDI.TIPOCANT) FULL OUTER JOIN RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO ON (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CENTRO = RDX_V_INVENTARIOEDI.CENTRO) AND (RDX_V_INVENTARIOEDI.CENTRO = RDX_V_INVENTARIOEDI.CENTRO2) AND (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.CODIGO = RDX_V_INVENTARIOEDI.CODIGO) AND (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.COLOR = RDX_V_INVENTARIOEDI.COLOR) AND (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.TALLA = RDX_V_INVENTARIOEDI.TALLA) AND (RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA = RDX_V_INVENTARIOEDI.FECHA) /*WHERE ((RDX_V_INVENTARIO_MAXFECHAS.FECHA IS NULL) ** Puede haber prendas que no se hayan inventariado nunca ** OR (ISNULL(RDX_V_INVENTARIOEDI.FECHA, ISNULL(RDX_V_RECEPCION_AJUSTES_DESGLOSADO.FECHA, ISNULL(RDX_V_TRASPASOS_AJUSTES_DESGLOSADO.FECHA, RDX_V_DEVOLUCION_AJUSTES_DESGLOSADO.FECHA))) >= RDX_V_INVENTARIO_MAXFECHAS.FECHA)) */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURA]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FATURA] AS SELECT A_RECEBER_FATURA.NOME_CLIFOR,A_RECEBER_FATURA.FILIAL, A_RECEBER_FATURA.FATURA,A_RECEBER_FATURA.SERIE, A_RECEBER_FATURA.TIPO, A_RECEBER_FATURA.MOEDA,A_RECEBER_FATURA.COD_TRANSACAO, A_RECEBER_FATURA.EMISSAO, A_RECEBER_FATURA.DOCUMENTO,A_RECEBER_FATURA.FATURA_IMPRESSA,A_RECEBER_FATURA.VALOR_FATURA, A_RECEBER_FATURA.VALOR_A_RECEBER,A_RECEBER_FATURA.POSSUI_SAIDA, A_RECEBER_FATURA.COMISSAO_GERENTE, A_RECEBER_FATURA.PORCENTAGEM_ACERTO, A_RECEBER_FATURA.COMISSAO,A_RECEBER_FATURA.GERENTE, A_RECEBER_FATURA.REPRESENTANTE,A_RECEBER_FATURA.CAMBIO_NA_DATA_EMISSAO,A_RECEBER_FATURA.JUROS_POR_ATRASO, W_FATURA_SOMA.NATUREZA_SAIDA,W_FATURA_SOMA.CONDICAO_PGTO,W_FATURA_SOMA.FRETE_FATURA,W_FATURA_SOMA.COD_TRANSACAO AS COD_TRANSACAO_FAT, W_FATURA_SOMA.SEGURO_FATURA,W_FATURA_SOMA.DESCONTO_FATURA,W_FATURA_SOMA.DESCONTO_COND_PGTO_FATURA, W_FATURA_SOMA.ENCARGO_FATURA,W_FATURA_SOMA.RECARGO_FATURA,W_FATURA_SOMA.ICMS_FATURA, W_FATURA_SOMA.ICMS_BASE_FATURA,W_FATURA_SOMA.IPI_VALOR_FATURA,W_FATURA_SOMA.IRRF_FATURA,W_FATURA_SOMA.DATA_FATURAMENTO_RELATIVO, convert(numeric(14,2),(A_RECEBER_FATURA.VALOR_FATURA*CASE WHEN A_RECEBER_FATURA.CAMBIO_NA_DATA_EMISSAO IS NULL OR A_RECEBER_FATURA.CAMBIO_NA_DATA_EMISSAO=0 THEN 1 ELSE A_RECEBER_FATURA.CAMBIO_NA_DATA_EMISSAO END)) AS VALOR_TOTAL_MOEDA FROM A_RECEBER_FATURA, W_FATURA_SOMA, CADASTRO_CLI_FOR WHERE A_RECEBER_FATURA.FATURA=W_FATURA_SOMA.FATURA and A_RECEBER_FATURA.NOME_CLIFOR=CADASTRO_CLI_FOR.NOME_CLIFOR' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURAMENTO_IMPRIMIR]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_FATURAMENTO_IMPRIMIR] as select faturamento.filial, nf_saida, serie_nf, faturamento.nome_clifor, faturamento.condicao_pgto, faturamento.natureza_saida, transportadora, transp_redespacho, cod_transacao, emissao, data_saida, convert(numeric(16, 2), (frete * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) frete, convert(numeric(16, 2), (seguro * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) seguro, convert(numeric(16, 2), (faturamento.desconto * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) desconto, convert(numeric(16, 2), (desconto_cond_pgto * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) desconto_cond_pgto, convert(numeric(16, 2), (faturamento.encargo * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) encargo, convert(numeric(16, 2), (icms * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) icms, convert(numeric(16, 2), (ipi_valor * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) ipi_valor, convert(numeric(16, 2), (valor_total * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) valor_total, convert(numeric(16, 2), (faturamento.irrf * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) irrf, convert(numeric(16, 2), (desconto_bruto * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) desconto_bruto, convert(numeric(16, 2), (icms_base * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) icms_base, convert(numeric(16, 2), (valor_cancelado * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) valor_cancelado, convert(numeric(16, 2), (isnull(recargo, 0) * power(convert(real, case when isnull(cambio_na_data, 1) = 0 then 1 else isnull(cambio_na_data, 1) end), fator_cambio))) recargo, convert(numeric(16, 2), case when (valor_total + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else desconto_cond_pgto / (valor_total + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100 end) as porc_desc_cond_pgto, convert(numeric(16, 2), case when (valor_total + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else faturamento.desconto / (valor_total + faturamento.desconto + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100 end) as porc_desconto, convert(numeric(16, 2), case when (valor_total + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else faturamento.encargo / (valor_total + faturamento.desconto + desconto_cond_pgto - faturamento.encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100 end) as porc_encargo, convert(numeric(16, 2), case when (valor_total - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else isnull(recargo, 0) / (valor_total - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100 end) as porc_recargo, convert(numeric(16, 2), round(case when icms_base = 0 then 0 else (icms / icms_base) * 100 end, 0)) as porc_icms_base, valor_total as valor_total_moeda, qtde_total, nf_fatura, fatura, nota_impressa, acerto_contas_p_r, tabela_filha, obs, peso_liquido, peso_bruto, volumes, tipo_volume, conferido, conferido_por, entrega_cif, irrf_ret_fonte, nota_cancelada, devolucao, faturamento.representante, faturamento.comissao, faturamento.porcentagem_acerto, faturamento.gerente, faturamento.comissao_gerente, faturamento.timestamp, conferencia, cadastro_cli_for.clifor, cadastro_cli_for.cgc_cpf, razao_social, rg_ie, pj_pf, cep, endereco, cidade, uf, telefone1, cobranca_endereco, cobranca_cidade, banco, carteira, cobranca_uf, cobranca_cep, entrega_endereco, entrega_cidade, entrega_uf, entrega_cep, indica_fornecedor, indica_cliente, ind_representante, indica_filial, entrega_cgc, entrega_ie, bairro, space(250) as caixas_enviadas, space(200) as classificacoes, space(200) as pedidos, space(8) as venc1, space(8) as venc2, space(8) as venc3, space(8) as venc4, space(8) as venc5, space(8) as venc6, space(8) as venc7, space(8) as venc8, space(8) as venc9, space(8) as venc10, space(8) as venc11, space(8) as venc12, convert(numeric(16, 2), 0) as valor1, convert(numeric(16, 2), 0) as valor2, convert(numeric(16, 2), 0) as valor3, convert(numeric(16, 2), 0) as valor4, convert(numeric(16, 2), 0) as valor5, convert(numeric(16, 2), 0) as valor6, convert(numeric(16, 2), 0) as valor7, convert(numeric(16, 2), 0) as valor8, convert(numeric(16, 2), 0) as valor9, convert(numeric(16, 2), 0) as valor10, convert(numeric(16, 2), 0) as valor11, convert(numeric(16, 2), 0) as valor12, obs_de_faturamento, tipo_operacao, space(100) as pedido_cliente, desc_nf as desc_natureza_operacao, desc_cond_pgto, representantes.clifor as clifor_representante, tipo_faturamento, ddd1, data_cancelamento, qtde_cancelada, cadastro_cli_for.conta_contabil, faturamento.moeda, cambio_na_data, data_faturamento_relativo, tipo_frete, filiais.empresa, cobrar_moeda_padrao, obs_transporte, nome_clifor_entrega, valor_frete, tabela_preco_frete from faturamento left join representantes on faturamento.representante = representantes.representante join cadastro_cli_for on faturamento.nome_clifor = cadastro_cli_for.nome_clifor join naturezas_saidas on faturamento.natureza_saida = naturezas_saidas.natureza_saida join cond_atac_pgtos cond on faturamento.condicao_pgto = cond.condicao_pgto join filiais on faturamento.filial = filiais.filial join w_moedas_conversao on faturamento.moeda = w_moedas_conversao.moeda where nota_cancelada = 0 union all select entradas.filial, nf_entrada as nf_saida, serie_nf, entradas.nome_clifor, entradas.condicao_pgto, entradas.natureza as natureza_saida, transportadora_a_pagar transportadora, '''' as transp_redespacho, cod_transacao, emissao, data_digitacao as data_saida, frete, seguro, convert(numeric(16, 2), desconto) as desconto, convert(numeric(16, 0), 0) as desconto_cond_pgto, convert(numeric(16, 2), encargo) as encargo, convert(numeric(16, 2), icms_valor) as icms, convert(numeric(16, 2), ipi_valor) as ipi_valor, convert(numeric(16, 2), valor_total) as valor_total, convert(numeric(16, 2), 0) as irrf, convert(numeric(16, 2), 0) as desconto_bruto, convert(numeric(16, 2), icms_base) icms_base, convert(numeric(16, 2), 0) as valor_cancelado, isnull(recargo, 0) as recargo, convert(numeric(16, 2), 0) as porc_desc_cond_pgto, convert(numeric(16, 2), case when (valor_total + desconto - encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else (desconto / (valor_total + desconto - encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100) end) as porc_desconto, convert(numeric(16, 2), case when (valor_total + desconto - encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else (encargo / (valor_total + desconto - encargo - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100) end) as porc_encargo, convert(numeric(16, 2), case when (valor_total - isnull(recargo, 0) - ipi_valor - seguro - frete) = 0 then 0 else (isnull(recargo, 0) / (valor_total - isnull(recargo, 0) - ipi_valor - seguro - frete) * 100) end) as porc_recargo, convert(numeric(16, 2), round(case when icms_base = 0 then 0 else (icms_valor / icms_base) * 100 end, 0)) as porc_icms_base, valor_total as valor_total_moeda, qtde_total, nf_fatura, fatura, nf_propria_emitida as nota_impressa, acerto_contas_p_r, tabela_filha, obs, peso as peso_liquido, peso_bruto, embalagens as volumes, '''' as tipo_volume, 0 as conferido, '''' as conferido_por, frete_a_pagar as entrega_cif, 0 as irrf_ret_fonte, 0 as nota_cancelada, devolucao, '''' as representante, convert(numeric(16, 2), 0) as comissao, convert(numeric(16, 2), 0) as porcentagem_acerto, '''' as gerente, convert(numeric(16, 2), 0) as comissao_gerente, '''' as timestamp, '''' as conferencia, cadastro_cli_for.clifor, cadastro_cli_for.cgc_cpf, razao_social, rg_ie, pj_pf, cep, endereco, cidade, uf, telefone1, cobranca_endereco, cobranca_cidade, banco, carteira, cobranca_uf, cobranca_cep, entrega_endereco, entrega_cidade, entrega_uf, entrega_cep, indica_fornecedor, indica_cliente, ind_representante, indica_filial, entrega_cgc, entrega_ie, bairro, space(250) as caixas_enviadas, space(200) as classificacoes, space(200) as pedidos, space(8) as venc1, space(8) as venc2, space(8) as venc3, space(8) as venc4, space(8) as venc5, space(8) as venc6, space(8) as venc7, space(8) as venc8, space(8) as venc9, space(8) as venc10, space(8) as venc11, space(8) as venc12, convert(numeric(16, 2), 0) as valor1, convert(numeric(16, 2), 0) as valor2, convert(numeric(16, 2), 0) as valor3, convert(numeric(16, 2), 0) as valor4, convert(numeric(16, 2), 0) as valor5, convert(numeric(16, 2), 0) as valor6, convert(numeric(16, 2), 0) as valor7, convert(numeric(16, 2), 0) as valor8, convert(numeric(16, 2), 0) as valor9, convert(numeric(16, 2), 0) as valor10, convert(numeric(16, 2), 0) as valor11, convert(numeric(16, 2), 0) as valor12, obs_de_faturamento, tipo_operacao, space(100) as pedido_cliente, desc_nf as desc_natureza_operacao, desc_cond_pgto, '''' as clifor_representante, tipo_entradas as tipo_faturamento, ddd1, null as data_cancelamento, convert(int, 0) as qtde_cancelada, cadastro_cli_for.conta_contabil, moeda, cambio_na_data, null as data_faturamento_relativo, '''' as tipo_frete, filiais.empresa, 0 as cobrar_moeda_padrao, '''' as obs_transporte, '''' as nome_clifor_entrega, convert(numeric(16, 2), 0) as valor_frete, '''' as tabela_preco_frete from entradas join cadastro_cli_for on entradas.nome_clifor = cadastro_cli_for.nome_clifor join naturezas_entradas on entradas.natureza = naturezas_entradas.natureza join cond_ent_pgtos on entradas.condicao_pgto = cond_ent_pgtos.condicao_pgto join filiais on entradas.filial = filiais.filial where nf_entrada_propria = 1 ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURA_ITENS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_FATURA_ITENS] AS SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''PRODUTO SAIDA '' TIPO, FFILHA.PRODUTO, CONVERT(VARCHAR(100), DESC_PROD_NF) DESC_PROD_NF, COMP.DESC_COMPOSICAO, CONVERT(VARCHAR(120), '''') OBS_PRODUTO, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), SUM(QTDE)) QTDE, CONVERT(NUMERIC(15, 5), (PRECO)) PRECO, FFILHA.IPI, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100)) VAL_IPI, FPAI.ICMS, FPAI.IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)) VALOR, FAIXA, CONVERT(NUMERIC(15, 5), (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))) PRECO_MOEDA, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) VAL_IPI_MOEDA, (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) DESCONTO_ITEM_MOEDA, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))) VALOR_MOEDA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAMENTO_PROD FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN PRODUTOS PROD ON FFILHA.PRODUTO = PROD.PRODUTO LEFT JOIN MATERIAIS MAT ON PROD.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = PROD.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.PRODUTO, FFILHA.PRECO, PROD.PRODUTO, FAIXA, DESC_PROD_NF, COMP.DESC_COMPOSICAO, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, FPAI.ICMS, FPAI.IRRF, FFILHA.IPI, DESCONTO_ITEM, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''CONSUMIVEL SAIDA'', CONSUMIVEL_ITEM, CONVERT(VARCHAR(100), DESC_CONSUMIVEL), CONVERT(VARCHAR(150), ''''), CONVERT(VARCHAR(120), ''''), FFILHA.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), QTDE), CONVERT(NUMERIC(15, 5), (CUSTO - DESCONTO_ITEM)), FFILHA.IPI, ((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100), FPAI.ICMS, FPAI.IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), FFILHA.VALOR), '''', CONVERT(NUMERIC(15, 5), ((CUSTO - DESCONTO_ITEM) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), (((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) AS DESCONTO_ITEM_MOEDA, (FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) AS VALOR_MOEDA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAMENTO_CONSUMO FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = FFILHA.CLASSIF_FISCAL LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''MATERIAL SAIDA '', FFILHA.MATERIAL, CONVERT(VARCHAR(100), MAT.DESC_MATERIAL), COMP.DESC_COMPOSICAO, CONVERT(VARCHAR(120), ''''), MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), CONVERT(NUMERIC(15, 5), PRECO), FFILHA.IPI, SUM((((PRECO * QTDE) * FFILHA.IPI) / 100)), FPAI.ICMS, FPAI.IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), '''', (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), SUM((((PRECO * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN ESTOQUE_SAI1_MAT FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL_FATURAMENTO INNER JOIN MATERIAIS MAT ON FFILHA.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = MAT.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.MATERIAL, FFILHA.PRECO, MAT.MATERIAL, MAT.DESC_MATERIAL, COMP.DESC_COMPOSICAO, MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, FFILHA.IPI, DESCONTO_ITEM, FPAI.ICMS, FPAI.IRRF, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''DEVOLUÇAO MATERIAL'', FFILHA.MATERIAL, CONVERT(VARCHAR(100), MAT.DESC_MATERIAL), COMP.DESC_COMPOSICAO, CONVERT(VARCHAR(120), ''''), MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, TRIBUT_ICMS, TRIBUT_ORIGEM, UNID_ESTOQUE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), CONVERT(NUMERIC(15, 5), (CUSTO - DESCONTO_ITEM)), FFILHA.IPI, SUM(((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100)), FPAI.ICMS, FPAI.IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), '''', CONVERT(NUMERIC(15, 5), ((CUSTO - DESCONTO_ITEM) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), SUM((((((CUSTO - DESCONTO_ITEM) * QTDE) * FFILHA.IPI) / 100) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAM_DEV_MAT FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN MATERIAIS MAT ON FFILHA.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = MAT.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.MATERIAL, MAT.DESC_MATERIAL, COMP.DESC_COMPOSICAO, MAT.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, MAT.TRIBUT_ICMS, MAT.TRIBUT_ORIGEM, MAT.UNID_ESTOQUE, FPAI.ICMS, FPAI.IRRF, FFILHA.CUSTO, FFILHA.IPI, FFILHA.DESCONTO_ITEM, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO UNION ALL SELECT FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, ''DEVOLUÇÃO PRODUTO'', FFILHA.PRODUTO, CONVERT(VARCHAR(100), DESC_PROD_NF), COMP.DESC_COMPOSICAO, CONVERT(VARCHAR(120), ''''), PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, UNIDADE, CONVERT(NUMERIC(9, 3), SUM(QTDE)), CONVERT(NUMERIC(14, 2), PRECO), FFILHA.IPI, SUM(((PRECO * QTDE) * FFILHA.IPI) / 100), FPAI.ICMS, FPAI.IRRF, DESCONTO_ITEM, CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR)), FAIXA, CONVERT(NUMERIC(15, 5), (PRECO * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), SUM((((PRECO * QTDE) * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)) * FFILHA.IPI) / 100), (DESCONTO_ITEM * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO)), CONVERT(NUMERIC(14, 2), SUM(FFILHA.VALOR * POWER(CASE WHEN FPAI.CAMBIO_NA_DATA IS NULL OR FPAI.CAMBIO_NA_DATA = 0 THEN 1 ELSE CONVERT(REAL, FPAI.CAMBIO_NA_DATA) END, MCONV.FATOR_CAMBIO))), FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO FROM A_RECEBER_FATURA FAT INNER JOIN FATURAMENTO FPAI ON (FAT.FATURA = FPAI.FATURA OR FAT.FATURA = FPAI.CONFERENCIA) AND FAT.NOME_CLIFOR = FPAI.NOME_CLIFOR INNER JOIN FATURAM_DEV_PROD FFILHA ON FPAI.NF_SAIDA = FFILHA.NF_SAIDA AND FPAI.SERIE_NF = FFILHA.SERIE_NF AND FPAI.FILIAL = FFILHA.FILIAL INNER JOIN PRODUTOS PROD ON FFILHA.PRODUTO = PROD.PRODUTO LEFT JOIN MATERIAIS MAT ON PROD.MATERIAL = MAT.MATERIAL LEFT JOIN CLASSIF_FISCAL FISC ON FISC.CLASSIF_FISCAL = PROD.CLASSIF_FISCAL LEFT JOIN MATERIAIS_COMPOSICAO COMP ON MAT.COMPOSICAO = COMP.COMPOSICAO LEFT JOIN W_MOEDAS_CONVERSAO MCONV ON FPAI.MOEDA = MCONV.MOEDA GROUP BY FAT.FATURA, FAT.NOME_CLIFOR, FPAI.NF_SAIDA, FPAI.SERIE_NF, FPAI.FILIAL, FFILHA.PRODUTO, PROD.DESC_PROD_NF, COMP.DESC_COMPOSICAO, PROD.CLASSIF_FISCAL, FISC.CLASSIF_REDUZIDA, PROD.TRIBUT_ICMS, PROD.TRIBUT_ORIGEM, PROD.UNIDADE, FFILHA.PRECO, FFILHA.IPI, FPAI.ICMS, FPAI.IRRF, FFILHA.DESCONTO_ITEM, FFILHA.FAIXA, FPAI.CAMBIO_NA_DATA, MCONV.FATOR_CAMBIO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_FATURAMENTO_IMPRIMIR_ITENS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [W_FATURAMENTO_IMPRIMIR_ITENS] as select faturamento_prod.produto, faturamento_prod.nf_saida, ''Produto Saida'' as tipo, desc_prod_nf, space(120) as obs_produto, produtos.classif_fiscal, tribut_icms, tribut_origem, unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), preco * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as preco, ipi, convert(numeric(16, 2), sum(((faturamento_prod.valor * ipi) / 100) * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as val_ipi, faturamento_prod.icms, convert(numeric(16, 2), 0) as irrf, convert(numeric(16, 2), (desconto_item * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as desconto_item, convert(numeric(16, 2), sum(faturamento_prod.valor * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as valor, faixa, tabela_filha, faturamento_prod.serie_nf, faturamento_prod.filial, faturamento.nome_clifor from faturamento_prod join produtos on faturamento_prod.produto = produtos.produto join faturamento on faturamento_prod.nf_saida = faturamento.nf_saida and faturamento_prod.serie_nf = faturamento.serie_nf and faturamento_prod.filial = faturamento.filial join w_moedas_conversao on faturamento.moeda = w_moedas_conversao.moeda group by faturamento_prod.produto, faturamento_prod.nf_saida, produtos.desc_prod_nf, produtos.classif_fiscal, tribut_icms, tribut_origem, unidade, preco, faturamento.cambio_na_data, w_moedas_conversao.fator_cambio, ipi, faturamento_prod.icms, faturamento_prod.desconto_item, faturamento_prod.faixa, faturamento.tabela_filha, faturamento_prod.serie_nf, faturamento_prod.filial, faturamento.nome_clifor union all select entradas_pro_devol.produto, entradas_pro_devol.nf_entrada as nf_saida, ''Entradas Produto Devolucao'' as tipo, desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), preco - desconto_item) as preco, ipi, convert(numeric(16, 2), sum(((((preco - desconto_item) * qtde) * ipi) / 100))) as val_ipi, convert(numeric(16, 2), 0) as icms, convert(numeric(16, 2), 0) as irrf, desconto_item, sum(valor) as valor, space(1) as faixa, tabela_filha, entradas.serie_nf, entradas.filial, entradas.nome_clifor from entradas_pro_devol join produtos on entradas_pro_devol.produto = produtos.produto join entradas on entradas_pro_devol.nf_entrada = entradas.nf_entrada and entradas_pro_devol.nome_clifor = entradas.nome_clifor group by entradas_pro_devol.produto, entradas_pro_devol.nf_entrada, produtos.desc_prod_nf, produtos.classif_fiscal, produtos.tribut_icms, produtos.tribut_origem, produtos.unidade, entradas_pro_devol.preco, entradas_pro_devol.desconto_item, entradas_pro_devol.ipi, entradas.tabela_filha, entradas.filial, entradas.nome_clifor, entradas.serie_nf union all select consumivel_item as produto, faturamento_consumo.nf_saida, ''Consumivel Saida '' as tipo, desc_consumivel as desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unidade, convert(numeric(9, 3), qtde) as qtde, convert(numeric(15, 5), (custo - desconto_item) * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as preco, ipi, convert(numeric(16, 2), (((faturamento_consumo.valor * ipi) / 100) * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as val_ipi, faturamento_consumo.icms, faturamento_consumo.irrf, convert(numeric(16, 2), desconto_item * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as desconto_item, convert(numeric(16, 2), faturamento_consumo.valor * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as valor, space(1) as faixa, tabela_filha, faturamento_consumo.serie_nf, faturamento_consumo.filial, faturamento.nome_clifor from faturamento_consumo join faturamento on faturamento_consumo.nf_saida = faturamento.nf_saida and faturamento_consumo.serie_nf = faturamento.serie_nf and faturamento_consumo.filial = faturamento.filial join w_moedas_conversao on faturamento.moeda = w_moedas_conversao.moeda union all select estoque_sai1_mat.material as produto, estoque_sai1_mat.nf_saida, ''Material Saida '' as tipo, materiais.desc_material as desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unid_estoque as unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), preco * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as preco, ipi, convert(numeric(16, 2), sum(((estoque_sai1_mat.valor * ipi) / 100) * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as val_ipi, estoque_sai1_mat.icms, convert(numeric(16, 2), 0) as irrf, convert(numeric(16, 2), desconto_item * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio)) as desconto_item, convert(numeric(16, 2), sum(estoque_sai1_mat.valor * power(convert(real, case when isnull(faturamento.cambio_na_data, 1) = 0 then 1 else isnull(faturamento.cambio_na_data, 1) end), fator_cambio))) as valor, space(1) as faixa, tabela_filha, estoque_sai1_mat.serie_nf, estoque_sai1_mat.filial_faturamento as filial, faturamento.nome_clifor from estoque_sai1_mat join materiais on estoque_sai1_mat.material = materiais.material join faturamento on estoque_sai1_mat.nf_saida = faturamento.nf_saida and estoque_sai1_mat.serie_nf = faturamento.serie_nf and estoque_sai1_mat.filial_faturamento = faturamento.filial join w_moedas_conversao on faturamento.moeda = w_moedas_conversao.moeda group by estoque_sai1_mat.material, estoque_sai1_mat.nf_saida, materiais.desc_material, materiais.classif_fiscal, materiais.tribut_icms, materiais.tribut_origem, materiais.unid_estoque, estoque_sai1_mat.ipi, estoque_sai1_mat.icms, estoque_sai1_mat.preco, faturamento.cambio_na_data, w_moedas_conversao.fator_cambio, estoque_sai1_mat.desconto_item, faturamento.tabela_filha, estoque_sai1_mat.serie_nf, estoque_sai1_mat.filial_faturamento, faturamento.nome_clifor union all select entradas_material.material as produto, entradas_material.nf_entrada as nf_saida, ''Material Entrada '' as tipo, desc_material as desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unidade_fornecedor as unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), ((custo - desconto_item) * fator_conversao_unidade)) as preco, ipi, convert(numeric(16, 2), sum(((((custo - desconto_item) * qtde) * ipi) / 100) * fator_conversao_unidade)) as val_ipi, entradas_material.icms, convert(numeric(16, 2), 0) as irrf, desconto_item, convert(numeric(16, 2), sum(valor * fator_conversao_unidade)) as valor, space(1) as faixa, tabela_filha, serie_nf, entradas.filial, entradas.nome_clifor from entradas_material join materiais on entradas_material.material = materiais.material join entradas on entradas_material.nf_entrada = entradas.nf_entrada and entradas_material.nome_clifor = entradas.nome_clifor group by entradas_material.material, entradas_material.nf_entrada, materiais.desc_material, materiais.classif_fiscal, materiais.tribut_icms, materiais.tribut_origem, entradas_material.unidade_fornecedor, entradas_material.custo, entradas_material.desconto_item, entradas_material.fator_conversao_unidade, entradas_material.ipi, entradas_material.icms, entradas.tabela_filha, entradas.filial, entradas.nome_clifor, entradas.serie_nf union all select consumivel_item as produto, entradas_consumo.nf_entrada as nf_saida, ''Consumivel Entrada'' as tipo, desc_consumivel as desc_prod_nf, space(120) as obs_produto, classif_fiscal, '''' as tribut_icms, '''' as tribut_origem, unidade, convert(numeric(9, 3), qtde) as qtde, convert(numeric(15, 5), (custo - desconto_item)) as preco, ipi, ((((custo - desconto_item) * qtde) * ipi) / 100) as val_ipi, convert(numeric(16, 2), 0) as icms, convert(numeric(16, 2), 0) as irrf, desconto_item, valor, space(1) as faixa, tabela_filha, serie_nf, entradas.filial, entradas.nome_clifor from entradas_consumo join entradas on entradas_consumo.nf_entrada = entradas.nf_entrada and entradas_consumo.nome_clifor = entradas.nome_clifor union all select entradas_produto.produto, entradas_produto.nf_entrada as nf_saida, ''Entrada Produto'' as tipo, desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unidade, convert(numeric(9, 3), sum(total_entradas)) as qtde, convert(numeric(15, 5), custo1 - desconto_item) as preco, ipi, convert(numeric(16, 2), sum((((custo1 - desconto_item) * total_entradas) * ipi) / 100)) as val_ipi, convert(numeric(16, 2), 0) as icms, convert(numeric(16, 2), 0) as irrf, desconto_item, sum(valor) as valor, space(1) as faixa, tabela_filha, serie_nf, entradas.filial, entradas.nome_clifor from entradas_produto join produtos on entradas_produto.produto = produtos.produto join entradas on entradas_produto.nf_entrada = entradas.nf_entrada and entradas_produto.nome_clifor = entradas.nome_clifor group by entradas_produto.produto, entradas_produto.nf_entrada, produtos.desc_prod_nf, produtos.classif_fiscal, produtos.tribut_icms, produtos.tribut_origem, produtos.unidade, entradas_produto.custo1, entradas_produto.desconto_item, entradas_produto.ipi, entradas.tabela_filha, entradas.filial, entradas.nome_clifor, entradas.serie_nf union all select faturam_dev_mat.material as produto, faturam_dev_mat.nf_saida, ''Devolucao Material'' as tipo, desc_material as desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_origem, tribut_icms, unid_estoque as unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), (custo - desconto_item)) as preco, ipi, convert(numeric(16, 2), sum(((((custo - desconto_item) * qtde) * ipi) / 100))) as val_ipi, convert(numeric(16, 2), 0) as icms, convert(numeric(16, 2), 0) as irrf, desconto_item, convert(numeric(16, 2), sum(valor)) as valor, space(1) as faixa, tabela_filha, faturam_dev_mat.serie_nf, faturam_dev_mat.filial, faturamento.nome_clifor from faturam_dev_mat join materiais on faturam_dev_mat.material = materiais.material join faturamento on faturam_dev_mat.nf_saida = faturamento.nf_saida and faturam_dev_mat.serie_nf = faturamento.serie_nf and faturam_dev_mat.filial = faturamento.filial group by faturam_dev_mat.material, faturam_dev_mat.nf_saida, materiais.desc_material, materiais.classif_fiscal, materiais.tribut_origem, materiais.tribut_icms, materiais.unid_estoque, faturam_dev_mat.custo, faturam_dev_mat.desconto_item, faturam_dev_mat.ipi, faturamento.tabela_filha, faturam_dev_mat.serie_nf, faturam_dev_mat.filial, faturamento.nome_clifor union all select faturam_dev_prod.produto, faturam_dev_prod.nf_saida, ''Devolucao Produto'' as tipo, desc_prod_nf, space(120) as obs_produto, classif_fiscal, tribut_icms, tribut_origem, unidade, convert(numeric(9, 3), sum(qtde)) as qtde, convert(numeric(15, 5), preco) as preco, ipi, convert(numeric(16, 2), sum(((preco * qtde) * ipi) / 100)) as val_ipi, faturam_dev_prod.icms, convert(numeric(16, 2), 0) irrf, desconto_item, convert(numeric(16, 2), sum(valor)) as valor, faixa, tabela_filha, faturam_dev_prod.serie_nf, faturam_dev_prod.filial, faturamento.nome_clifor from faturam_dev_prod join produtos on faturam_dev_prod.produto = produtos.produto join faturamento on faturam_dev_prod.nf_saida = faturamento.nf_saida and faturam_dev_prod.serie_nf = faturamento.serie_nf and faturam_dev_prod.filial = faturamento.filial group by faturam_dev_prod.produto, faturam_dev_prod.nf_saida, produtos.desc_prod_nf, produtos.classif_fiscal, produtos.tribut_icms, produtos.tribut_origem, produtos.unidade, faturam_dev_prod.preco, faturam_dev_prod.ipi, faturam_dev_prod.icms, faturam_dev_prod.desconto_item, faturam_dev_prod.faixa, faturamento.tabela_filha, faturam_dev_prod.serie_nf, faturam_dev_prod.filial, faturamento.nome_clifor ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[wlojas_vendas_produto]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [wlojas_vendas_produto] as SELECT DISTINCT produto,FILIAL, SUM(TOTAL_VENDA) AS valor_venda, SUM(TOTAL_QTDE_VENDA) AS qtde_venda, SUM(TOTAL_DESCONTO) AS total_desconto, SUM(TOTAL_CUSTO) AS valor_custo FROM LOJA_RESUMO_PRODUTO (INDEX=xie2LOJA_RESUMO_PRODUTO ) WHERE Loja_resumo_produto.DATA_VENDA >= (select distinct convert(datetime,valor_atual) from parametros where parametro = ''DATA_INICIAL_GIRO_LOJA'') and Loja_resumo_produto.DATA_VENDA <= (select distinct convert(datetime,valor_atual) from parametros where parametro = ''DATA_Final_GIRO_LOJA'') gROUP BY PRODUTO,FILIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_lojas_vendas_produto_cor]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_lojas_vendas_produto_cor] (valor_venda, qtde_venda, total_desconto, valor_custo) AS SELECT SUM(TOTAL_VENDA), SUM(TOTAL_QTDE_VENDA), SUM(TOTAL_DESCONTO), SUM(TOTAL_CUSTO) FROM LOJA_RESUMO_PRODUTO WHERE DATA_VENDA >= ''19980101 00:00:00.000'' AND DATA_VENDA <= ''19980201 00:00:00.000'' GROUP BY FILIAL, PRODUTO, cor_produto ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_lojas_vendas_produto]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_lojas_vendas_produto] (valor_venda, qtde_venda, total_desconto, valor_custo) AS SELECT SUM(TOTAL_VENDA), SUM(TOTAL_QTDE_VENDA), SUM(TOTAL_DESCONTO), SUM(TOTAL_CUSTO) FROM LOJA_RESUMO_PRODUTO WHERE DATA_VENDA >= ''19980101 00:00:00.000'' AND DATA_VENDA <= ''19980201 00:00:00.000'' GROUP BY FILIAL, PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[wlojas_TROCA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [wlojas_TROCA_PRODUTO] as SELECT DISTINCT produto,FILIAL, SUM(TOTAL_TROCA) AS valor_TROCA, SUM(TOTAL_QTDE_TROCA) AS qtde_TROCA, SUM(TOTAL_DESCONTO_TROCA) AS total_desconto_TROCA, SUM(TOTAL_CUSTO_TROCA) AS valor_custo_TROCA FROM LOJA_RESUMO_TROCA (INDEX=xie2LOJA_RESUMO_TROCA) WHERE DATA_VENDA >= (select distinct convert(datetime,valor_atual) from parametros where parametro = ''DATA_INICIAL_GIRO_LOJA'') and DATA_VENDA <= (select distinct convert(datetime,valor_atual) from parametros where parametro = ''DATA_Final_GIRO_LOJA'') GROUP BY PRODUTO,FILIAL ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_lojas_TROCA_PRODUTO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [w_lojas_TROCA_PRODUTO] (PRODUTO, FILIAL, valor_TROCA, qtde_TROCA, total_desconto_TROCA, valor_custo_TROCA) AS SELECT LOJA_RESUMO_TROCA.PRODUTO, LOJA_RESUMO_TROCA.FILIAL, SUM(TOTAL_TROCA), SUM(TOTAL_QTDE_TROCA), SUM(TOTAL_DESCONTO_TROCA), SUM(TOTAL_CUSTO_TROCA) FROM LOJA_RESUMO_TROCA WHERE DATA_VENDA >= ''19980101 00:00:00.000'' AND DATA_VENDA <= ''19980201 00:00:00.000'' GROUP BY FILIAL, PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[W_ESTOQUE_PRODUTOS_TRANSITO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [W_ESTOQUE_PRODUTOS_TRANSITO] AS SELECT A.FILIAL AS FILIAL,A.PRODUTO AS PRODUTO,A.COR_PRODUTO AS COR_PRODUTO,CUSTO_MEDIO1,CUSTO_MEDIO2,CUSTO_MEDIO3,CUSTO_MEDIO4, ULTIMO_CUSTO1,ULTIMO_CUSTO2,ULTIMO_CUSTO3,ULTIMO_CUSTO4,A.data_para_transferencia , DATA_CUSTO_MEDIO,DATA_ULT_CUSTO,ULTIMA_SAIDA,ULTIMA_ENTRADA,ESTOQUE-ISNULL(QTDE_TRANSITO,0) AS ESTOQUE_DISPONIVEL,ESTOQUE, ISNULL(QTDE_TRANSITO,0) as QTDE_TRANSITO ,ISNULL(ES1, 0)-ISNULL(T1, 0) AS ES1, ISNULL(ES2, 0)-ISNULL(T2, 0) AS ES2, ISNULL(ES3, 0)-ISNULL(T3, 0) AS ES3, ISNULL(ES4, 0)-ISNULL(T4, 0) AS ES4, ISNULL(ES5, 0)-ISNULL(T5, 0) AS ES5, ISNULL(ES6, 0)-ISNULL(T6, 0) AS ES6, ISNULL(ES7, 0)-ISNULL(T7, 0) AS ES7, ISNULL(ES8, 0)-ISNULL(T8, 0) AS ES8, ISNULL(ES9, 0)-ISNULL(T9, 0) AS ES9, ISNULL(ES10,0)-ISNULL(T10,0) AS ES10, ISNULL(ES11,0)-ISNULL(T11,0) AS ES11, ISNULL(ES12,0)-ISNULL(T12,0) AS ES12, ISNULL(ES13,0)-ISNULL(T13,0) AS ES13, ISNULL(ES14,0)-ISNULL(T14,0) AS ES14, ISNULL(ES15,0)-ISNULL(T15,0) AS ES15, ISNULL(ES16,0)-ISNULL(T16,0) AS ES16, ISNULL(ES17,0)-ISNULL(T17,0) AS ES17, ISNULL(ES18,0)-ISNULL(T18,0) AS ES18, ISNULL(ES19,0)-ISNULL(T19,0) AS ES19, ISNULL(ES20,0)-ISNULL(T20,0) AS ES20, ISNULL(ES21,0)-ISNULL(T21,0) AS ES21, ISNULL(ES22,0)-ISNULL(T22,0) AS ES22, ISNULL(ES23,0)-ISNULL(T23,0) AS ES23, ISNULL(ES24,0)-ISNULL(T24,0) AS ES24, ISNULL(ES25,0)-ISNULL(T25,0) AS ES25, ISNULL(ES26,0)-ISNULL(T26,0) AS ES26, ISNULL(ES27,0)-ISNULL(T27,0) AS ES27, ISNULL(ES28,0)-ISNULL(T28,0) AS ES28, ISNULL(ES29,0)-ISNULL(T29,0) AS ES29, ISNULL(ES30,0)-ISNULL(T30,0) AS ES30, ISNULL(ES31,0)-ISNULL(T31,0) AS ES31, ISNULL(ES32,0)-ISNULL(T32,0) AS ES32, ISNULL(ES33,0)-ISNULL(T33,0) AS ES33, ISNULL(ES34,0)-ISNULL(T34,0) AS ES34, ISNULL(ES35,0)-ISNULL(T35,0) AS ES35, ISNULL(ES36,0)-ISNULL(T36,0) AS ES36, ISNULL(ES37,0)-ISNULL(T37,0) AS ES37, ISNULL(ES38,0)-ISNULL(T38,0) AS ES38, ISNULL(ES39,0)-ISNULL(T39,0) AS ES39, ISNULL(ES40,0)-ISNULL(T40,0) AS ES40, ISNULL(ES41,0)-ISNULL(T41,0) AS ES41, ISNULL(ES42,0)-ISNULL(T42,0) AS ES42, ISNULL(ES43,0)-ISNULL(T43,0) AS ES43, ISNULL(ES44,0)-ISNULL(T44,0) AS ES44, ISNULL(ES45,0)-ISNULL(T45,0) AS ES45, ISNULL(ES46,0)-ISNULL(T46,0) AS ES46, ISNULL(ES47,0)-ISNULL(T47,0) AS ES47, ISNULL(ES48,0)-ISNULL(T48,0) AS ES48 FROM ESTOQUE_PRODUTOS A LEFT JOIN W_ESTOQUE_EM_TRANSITO B ON A.FILIAL=B.FILIAL AND A.PRODUTO=B.PRODUTO AND A.COR_PRODUTO=B.COR_PRODUTO ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK_VENTAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'-- -- Definition for view RDX_V_STOCK_VENTAS : -- CREATE VIEW [RDX_V_STOCK_VENTAS] AS SELECT PERVENINI AS FECHA, DAY(PERVENINI) AS DIA, DATENAME(DW, PERVENINI) DIASEMANA, DATENAME(MONTH, PERVENINI) AS MES, YEAR(PERVENINI) AS ANO, FILIAL AS CENTRO, CODIGO = ISNULL(PRODUTO, ''107CH.EN.01''), DESC_PRODUTO AS PRODUCTO, GRUPO_PRODUTO AS GRUPOPRODUCTO, TIPO_PRODUTO AS TIPOPRODUCTO, COLECAO AS COLECCION, COLOR = ISNULL(COR_PRODUTO, ''300''), GRADE AS TALLA, CANTIDAD = ISNULL(CANVEN, 0) + CASE WHEN ISNULL(CANVENNET, 0) < 0 THEN ISNULL(CANVENNET, 0) ELSE 0 END + ISNULL(CANESP, 0) FROM RDX_V_VENTASEDI_RESUELTAS WHERE NOT ((DESC_PRODUTO LIKE ''%ERROR REFERENCIA%'') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASPROCESO]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASPROCESO] AS SELECT NUMINF, CLAVE1, CLAVE2, CLAVE3, PERVENINI AS FECHA, DAY(PERVENINI) AS DIA, DATENAME(DW, PERVENINI) DIASEMANA, DATENAME(MONTH, PERVENINI) AS MES, YEAR(PERVENINI) AS ANO, FILIAL AS CENTRO, VENDEDOR, NUMTALON, PRODUTO AS CODIGO, DESC_PRODUTO AS PRODUCTO, GRUPO_PRODUTO AS GRUPOPRODUCTO, TIPO_PRODUTO AS TIPOPRODUCTO, COLECAO AS COLECCION, COR_PRODUTO AS COLOR, GRADE AS TALLA, CANESP AS INICIO, CANVENNET AS FINAL, VALVEN AS IMPORTE FROM RDX_V_VENTASEDI_RESUELTAS WHERE ((CANESP IS NOT NULL) OR (CANVENNET IS NOT NULL)) AND NOT ((DESC_PRODUTO LIKE ''%ERROR REFERENCIA%'') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_VENTASTERMINADAS]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_VENTASTERMINADAS] AS SELECT NUMINF, CLAVE1, CLAVE2, CLAVE3, PERVENINI AS FECHA, DAY(PERVENINI) AS DIA, DATENAME(DW, PERVENINI) DIASEMANA, DATENAME(MONTH, PERVENINI) AS MES, YEAR(PERVENINI) AS ANO, FILIAL AS CENTRO, VENDEDOR, NUMTALON, PRODUTO AS CODIGO, DESC_PRODUTO AS PRODUCTO, GRUPO_PRODUTO AS GRUPOPRODUCTO, TIPO_PRODUTO AS TIPOPRODUCTO, COLECAO AS COLECCION, COR_PRODUTO AS COLOR, GRADE AS TALLA, TALLA38 = CASE WHEN (GRADE = 38) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, TALLA40 = CASE WHEN (GRADE = 40) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, TALLA42 = CASE WHEN (GRADE = 42) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, TALLA44 = CASE WHEN (GRADE = 44) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, TALLA46 = CASE WHEN (GRADE = 46) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, TALLA48 = CASE WHEN (GRADE = 48) THEN ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0) ELSE NULL END, VTATERMDEV = ISNULL(CANVEN, 0), VTAFINALRESC = ISNULL(CANVENNET, 0), VENTAS = CASE WHEN (CANVEN > 0) THEN CANVEN ELSE 0 END + CASE WHEN (CANVENNET > 0) THEN CANVENNET ELSE 0 END, DEVOLUCIONES = CASE WHEN (CANVEN < 0) THEN CANVEN ELSE 0 END + CASE WHEN (CANVENNET < 0) THEN CANVENNET ELSE 0 END, TOTAL = ISNULL(CANVEN, 0) + ISNULL(CANVENNET, 0), VALTERMDEV = CASE WHEN (CANVEN <> 0) THEN ISNULL(VALVEN, 0) ELSE 0 END, VALFINALRESC = CASE WHEN (CANVENNET <> 0) THEN ISNULL(VALVEN, 0) ELSE 0 END, VALVEN = CASE WHEN (VALVEN > 0) THEN VALVEN ELSE 0 END, VALDEV = CASE WHEN (VALVEN < 0) THEN VALVEN ELSE 0 END, VALTOT = VALVEN FROM RDX_V_VENTASEDI_RESUELTAS WHERE NOT ((DESC_PRODUTO LIKE ''%ERROR REFERENCIA%'') AND ((VALVEN < 1) AND (VALVEN > 0))) /* QUITAR COMPOSTURAS */ AND (CANESP IS NULL OR CANESP = 0) /* QUITAR INICIO V.PROCESO */ AND (VALVEN IS NOT NULL) /* QUITAR CAMBIO DE TALLA */ AND ((CANVENNET >= 0) OR (CANVENNET IS NULL)) /* IGNORAR LAS RESCISIONES DE V.PROCESO */ ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[w_fatura_grade]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'create view [w_fatura_grade] as select a.fatura, b.PEDIDO, b.FILIAL, b.NF_SAIDA, b.SERIE_NF, b.PRODUTO, b.COR_PRODUTO, b.ITEM, b.PEDIDO_PRODUTO, b.PEDIDO_COR, b.ENTREGA, b.CAIXA, b.IPI, b.ICMS, b.DESCONTO_ITEM, b.QTDE, b.PRECO, b.VALOR, b.PACKS, b.MATA_SALDO, b.F1, b.F2, b.F3, b.F4, b.F5, b.F6, b.F7, b.F8, b.F9, b.F10, b.F11, b.F12, b.F13, b.F14, b.F15, b.F16, b.F17, b.F18, b.F19, b.F20, b.F21, b.F22, b.F23, b.F24, b.F25, b.F26, b.F27, b.F28, b.F29, b.F30, b.F31, b.F32, b.F33, b.F34, b.F35, b.F36, b.F37, b.F38, b.F39, b.F40, b.F41, b.F42, b.F43, b.F44, b.F45, b.F46, b.F47, b.F48, b.FAIXA, b.ORIGEM, b.ROMANEIO, b.CUSTO_NA_DATA, b.CAMBIO_NA_DATA, b.ORIGEM_EMB, b.CODIGO_LOCAL_ENTREGA, c.cliente_atacado, case when c.obs is null then '''' else cast( c.obs as char(200)) end as obs, case when c.obs_transporte is null then '''' else STUFF( c.obs_transporte, charindex(''<'',c.obs_transporte), charindex(''>'',c.obs_transporte)-charindex(''<'',c.obs_transporte) +1 , '''' ) end as obs_transporte, rtrim(c.condicao_pgto) +'' - ''+ d.DESC_COND_PGTO as condicion_de_pago, e.desc_produto, g.desc_cor_produto, e.grade, f.NOME_CLIFOR, f.CLIFOR, f.CGC_CPF, f.RAZAO_SOCIAL, f.PJ_PF, f.RG_IE, f.CC_AGENCIA, h.desc_composicao, i.MOEDA, i.EMISSAO, i.VALOR_FATURA, i.VALOR_A_RECEBER, i.COMISSAO_GERENTE, i.COMISSAO, i.JUROS_POR_ATRASO, i.FRETE_FATURA, i.SEGURO_FATURA, i.DESCONTO_FATURA, i.DESCONTO_COND_PGTO_FATURA, i.ENCARGO_FATURA, i.RECARGO_FATURA, i.ICMS_FATURA, i.ICMS_BASE_FATURA, i.IPI_VALOR_FATURA, i.IRRF_FATURA, i.VALOR_TOTAL_MOEDA from faturamento a, faturamento_prod b, vendas C, COND_ATAC_PGTOS D, produtos e left join MATERIAIS_COMPOSICAO h on e.composicao = h.composicao, cadastro_cli_for F, produto_cores G, w_fatura i where a.nf_saida = b.nf_saida and a.serie_nf = b.serie_nf and a.filial = b.filial and c.condicao_pgto=d.condicao_pgto and c.cliente_atacado = f.nome_clifor and e.produto=b.produto and b.produto = g.produto and b.cor_produto = g.cor_produto and a.fatura=i.fatura and b.pedido=c.pedido ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_CONTROL_RECEPCION_ALBARANES]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_CONTROL_RECEPCION_ALBARANES] AS select RDX_V_CONTROL_RECEPCION.ALBARAN ,ESTADOALBARAN = CASE WHEN RDX_V_ALBARANES_PENDIENTES.ALBARAN is NULL THEN ''R'' ELSE ''P'' END ,ESTADOPRODUCTO = CASE RDX_V_CONTROL_RECEPCION.APROBADO WHEN ''N'' THEN ''PENDIENTE'' WHEN ''S'' THEN ''APROBADO'' END , CENTRO, FILIAL, FECHA, CODIGO, PRODUCTO, COLOR, E38, E40, E42, E44, E46, E48 from RDX_V_CONTROL_RECEPCION left join RDX_V_ALBARANES_PENDIENTES on (RDX_V_CONTROL_RECEPCION.ALBARAN = RDX_V_ALBARANES_PENDIENTES.ALBARAN) where RDX_V_CONTROL_RECEPCION.ALBARAN is not null ' GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[RDX_V_STOCK]') AND OBJECTPROPERTY(id, N'IsView') = 1) EXEC dbo.sp_executesql @statement = N'CREATE VIEW [RDX_V_STOCK] AS SELECT CENTRO = ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO), CODIGO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO), PRODUCTO = ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO), TIPO_PRODUCTO = PRODUTOS.TIPO_PRODUTO, GRUPO_PRODUCTO = PRODUTOS.GRUPO_PRODUTO, COLECCION = PRODUTOS.COLECAO, COLOR = ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR), E38 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''38'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), E40 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''40'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), E42 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''42'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), E44 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''44'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), E46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''46'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), E48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''48'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''RM'' THEN 0 WHEN ''R'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD WHEN ''E'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD < 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S38 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''38'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S40 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''40'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S42 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''42'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S44 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''44'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S46 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''46'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END), S48 = SUM(CASE ISNULL(RDX_V_STOCK_INVENTARIO.TALLA, RDX_V_STOCK_VENTAS.TALLA) WHEN ''48'' THEN CASE RDX_V_STOCK_INVENTARIO.OPERACION WHEN ''D'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''S'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) WHEN ''T'' THEN RDX_V_STOCK_INVENTARIO.CANTIDAD * (-1) ELSE 0 END + CASE WHEN (RDX_V_STOCK_VENTAS.CANTIDAD > 0) THEN RDX_V_STOCK_VENTAS.CANTIDAD * (-1) ELSE 0 END END) FROM RDX_V_STOCK_INVENTARIO FULL OUTER JOIN RDX_V_STOCK_VENTAS ON (RDX_V_STOCK_INVENTARIO.CENTRO = RDX_V_STOCK_VENTAS.CENTRO) AND (RDX_V_STOCK_INVENTARIO.CODIGO = RDX_V_STOCK_VENTAS.CODIGO) AND (RDX_V_STOCK_INVENTARIO.COLOR = RDX_V_STOCK_VENTAS.COLOR) AND (RDX_V_STOCK_INVENTARIO.TALLA = RDX_V_STOCK_VENTAS.TALLA) AND (RDX_V_STOCK_INVENTARIO.FECHA = RDX_V_STOCK_VENTAS.FECHA) LEFT OUTER JOIN PRODUTOS ON (PRODUTOS.PRODUTO = ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO)) GROUP BY ISNULL(RDX_V_STOCK_INVENTARIO.CENTRO, RDX_V_STOCK_VENTAS.CENTRO), ISNULL(RDX_V_STOCK_INVENTARIO.CODIGO, RDX_V_STOCK_VENTAS.CODIGO), ISNULL(RDX_V_STOCK_INVENTARIO.PRODUCTO, RDX_V_STOCK_VENTAS.PRODUCTO), PRODUTOS.TIPO_PRODUTO, PRODUTOS.GRUPO_PRODUTO, PRODUTOS.COLECAO, ISNULL(RDX_V_STOCK_INVENTARIO.COLOR, RDX_V_STOCK_VENTAS.COLOR) ' GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_SUBSISTEMAS_IC_APOYO_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_SUBSISTEMAS] WITH CHECK ADD CONSTRAINT [FK_IC_SUBSISTEMAS_IC_APOYO_SUBSISTEMAS] FOREIGN KEY([id_subsistema]) REFERENCES [IC_APOYO_SUBSISTEMAS] ([id_subsistema]) GO ALTER TABLE [IC_SUBSISTEMAS] CHECK CONSTRAINT [FK_IC_SUBSISTEMAS_IC_APOYO_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_SUBSISTEMAS_IC_EMPRESAS]') AND type = 'F') ALTER TABLE [IC_SUBSISTEMAS] WITH NOCHECK ADD CONSTRAINT [FK_IC_SUBSISTEMAS_IC_EMPRESAS] FOREIGN KEY([id_empresa]) REFERENCES [IC_EMPRESAS] ([id_empresa]) GO ALTER TABLE [IC_SUBSISTEMAS] CHECK CONSTRAINT [FK_IC_SUBSISTEMAS_IC_EMPRESAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_IC_ASIENTOS]') AND type = 'F') ALTER TABLE [IC_APUNTES] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_IC_ASIENTOS] FOREIGN KEY([id_empresa], [id_subsistema], [id_operacion], [id_casuistica], [id_asiento]) REFERENCES [IC_ASIENTOS] ([id_empresa], [id_subsistema], [id_operacion], [id_casuistica], [id_asiento]) GO ALTER TABLE [IC_APUNTES] CHECK CONSTRAINT [FK_IC_APUNTES_IC_ASIENTOS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_IC_CENTROS]') AND type = 'F') ALTER TABLE [IC_APUNTES] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_IC_CENTROS] FOREIGN KEY([id_empresa], [nombre_centro]) REFERENCES [IC_CENTROS] ([id_empresa], [nombre_centro]) GO ALTER TABLE [IC_APUNTES] CHECK CONSTRAINT [FK_IC_APUNTES_IC_CENTROS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_IC_CUENTAS]') AND type = 'F') ALTER TABLE [IC_APUNTES] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_IC_CUENTAS] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_cuenta]) REFERENCES [IC_CUENTAS] ([id_empresa], [id_subsistema], [nombre_cuenta]) GO ALTER TABLE [IC_APUNTES] CHECK CONSTRAINT [FK_IC_APUNTES_IC_CUENTAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_IC_DIVISAS]') AND type = 'F') ALTER TABLE [IC_APUNTES] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_IC_DIVISAS] FOREIGN KEY([nombre_divisa]) REFERENCES [IC_DIVISAS] ([nombre_divisa]) GO ALTER TABLE [IC_APUNTES] CHECK CONSTRAINT [FK_IC_APUNTES_IC_DIVISAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_IC_IMPORTES]') AND type = 'F') ALTER TABLE [IC_APUNTES] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_IC_IMPORTES] FOREIGN KEY([id_empresa], [id_subsistema], [id_operacion], [nombre_importe]) REFERENCES [IC_IMPORTES] ([id_empresa], [id_subsistema], [id_operacion], [nombre_importe]) GO ALTER TABLE [IC_APUNTES] CHECK CONSTRAINT [FK_IC_APUNTES_IC_IMPORTES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_APUNTES_MAN_IC_ASIENTOS_MAN1]') AND type = 'F') ALTER TABLE [IC_APUNTES_MAN] WITH CHECK ADD CONSTRAINT [FK_IC_APUNTES_MAN_IC_ASIENTOS_MAN1] FOREIGN KEY([id_asiento_man]) REFERENCES [IC_ASIENTOS_MAN] ([id_asiento_man]) GO ALTER TABLE [IC_APUNTES_MAN] CHECK CONSTRAINT [FK_IC_APUNTES_MAN_IC_ASIENTOS_MAN1] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_ASIENTOS_IC_CASUISTICAS]') AND type = 'F') ALTER TABLE [IC_ASIENTOS] WITH CHECK ADD CONSTRAINT [FK_IC_ASIENTOS_IC_CASUISTICAS] FOREIGN KEY([id_empresa], [id_subsistema], [id_operacion], [id_casuistica]) REFERENCES [IC_CASUISTICAS] ([id_empresa], [id_subsistema], [id_operacion], [id_casuistica]) GO ALTER TABLE [IC_ASIENTOS] CHECK CONSTRAINT [FK_IC_ASIENTOS_IC_CASUISTICAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_ASIENTOS_IC_TIPO_ASIENTOS]') AND type = 'F') ALTER TABLE [IC_ASIENTOS] WITH CHECK ADD CONSTRAINT [FK_IC_ASIENTOS_IC_TIPO_ASIENTOS] FOREIGN KEY([id_empresa], [id_subsistema], [id_tipoas]) REFERENCES [IC_TIPO_ASIENTOS] ([id_empresa], [id_subsistema], [id_tipoas]) GO ALTER TABLE [IC_ASIENTOS] CHECK CONSTRAINT [FK_IC_ASIENTOS_IC_TIPO_ASIENTOS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_CUENTAS_IC_CLICHES]') AND type = 'F') ALTER TABLE [IC_CUENTAS] WITH CHECK ADD CONSTRAINT [FK_IC_CUENTAS_IC_CLICHES] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_cliche]) REFERENCES [IC_CLICHES] ([id_empresa], [id_subsistema], [nombre_cliche]) GO ALTER TABLE [IC_CUENTAS] CHECK CONSTRAINT [FK_IC_CUENTAS_IC_CLICHES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_COMP_CLICHES_IC_CLICHES]') AND type = 'F') ALTER TABLE [IC_COMP_CLICHES] WITH CHECK ADD CONSTRAINT [FK_IC_COMP_CLICHES_IC_CLICHES] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_cliche]) REFERENCES [IC_CLICHES] ([id_empresa], [id_subsistema], [nombre_cliche]) GO ALTER TABLE [IC_COMP_CLICHES] CHECK CONSTRAINT [FK_IC_COMP_CLICHES_IC_CLICHES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_VARCOLOR_IPT_VARCOLOR_ING]') AND type = 'F') ALTER TABLE [VARCOLOR_IPT] WITH NOCHECK ADD CONSTRAINT [FK_VARCOLOR_IPT_VARCOLOR_ING] FOREIGN KEY([IDINGENVAR]) REFERENCES [VARCOLOR_ING] ([ID]) ON UPDATE CASCADE ON DELETE CASCADE GO ALTER TABLE [VARCOLOR_IPT] CHECK CONSTRAINT [FK_VARCOLOR_IPT_VARCOLOR_ING] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_FUNCIONES_VARIABLES_IC_FUNCIONES]') AND type = 'F') ALTER TABLE [IC_FUNCIONES_VARIABLES] WITH CHECK ADD CONSTRAINT [FK_IC_FUNCIONES_VARIABLES_IC_FUNCIONES] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_funcion]) REFERENCES [IC_FUNCIONES] ([id_empresa], [id_subsistema], [nombre_funcion]) GO ALTER TABLE [IC_FUNCIONES_VARIABLES] CHECK CONSTRAINT [FK_IC_FUNCIONES_VARIABLES_IC_FUNCIONES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_FUNCIONES_VARIABLES_IC_VARIABLES]') AND type = 'F') ALTER TABLE [IC_FUNCIONES_VARIABLES] WITH CHECK ADD CONSTRAINT [FK_IC_FUNCIONES_VARIABLES_IC_VARIABLES] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_variable]) REFERENCES [IC_VARIABLES] ([id_empresa], [id_subsistema], [nombre_variable]) GO ALTER TABLE [IC_FUNCIONES_VARIABLES] CHECK CONSTRAINT [FK_IC_FUNCIONES_VARIABLES_IC_VARIABLES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_FUNCIONES_VALORES_IC_FUNCIONES]') AND type = 'F') ALTER TABLE [IC_FUNCIONES_VALORES] WITH CHECK ADD CONSTRAINT [FK_IC_FUNCIONES_VALORES_IC_FUNCIONES] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_funcion]) REFERENCES [IC_FUNCIONES] ([id_empresa], [id_subsistema], [nombre_funcion]) GO ALTER TABLE [IC_FUNCIONES_VALORES] CHECK CONSTRAINT [FK_IC_FUNCIONES_VALORES_IC_FUNCIONES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_FUNCIONES_IC_MODULOS]') AND type = 'F') ALTER TABLE [IC_FUNCIONES] WITH CHECK ADD CONSTRAINT [FK_IC_FUNCIONES_IC_MODULOS] FOREIGN KEY([id_empresa], [id_subsistema], [nombre_modulo]) REFERENCES [IC_MODULOS] ([id_empresa], [id_subsistema], [nombre_modulo]) GO ALTER TABLE [IC_FUNCIONES] CHECK CONSTRAINT [FK_IC_FUNCIONES_IC_MODULOS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_FUNCIONES_IC_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_FUNCIONES] WITH CHECK ADD CONSTRAINT [FK_IC_FUNCIONES_IC_SUBSISTEMAS] FOREIGN KEY([id_empresa], [id_subsistema]) REFERENCES [IC_SUBSISTEMAS] ([id_empresa], [id_subsistema]) GO ALTER TABLE [IC_FUNCIONES] CHECK CONSTRAINT [FK_IC_FUNCIONES_IC_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_IMPORTES_IC_OPERACIONES]') AND type = 'F') ALTER TABLE [IC_IMPORTES] WITH CHECK ADD CONSTRAINT [FK_IC_IMPORTES_IC_OPERACIONES] FOREIGN KEY([id_empresa], [id_subsistema], [id_operacion]) REFERENCES [IC_OPERACIONES] ([id_empresa], [id_subsistema], [id_operacion]) GO ALTER TABLE [IC_IMPORTES] CHECK CONSTRAINT [FK_IC_IMPORTES_IC_OPERACIONES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_CASUISTICAS_IC_OPERACIONES]') AND type = 'F') ALTER TABLE [IC_CASUISTICAS] WITH CHECK ADD CONSTRAINT [FK_IC_CASUISTICAS_IC_OPERACIONES] FOREIGN KEY([id_empresa], [id_subsistema], [id_operacion]) REFERENCES [IC_OPERACIONES] ([id_empresa], [id_subsistema], [id_operacion]) GO ALTER TABLE [IC_CASUISTICAS] CHECK CONSTRAINT [FK_IC_CASUISTICAS_IC_OPERACIONES] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_CLICHES_IC_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_CLICHES] WITH CHECK ADD CONSTRAINT [FK_IC_CLICHES_IC_SUBSISTEMAS] FOREIGN KEY([id_empresa], [id_subsistema]) REFERENCES [IC_SUBSISTEMAS] ([id_empresa], [id_subsistema]) GO ALTER TABLE [IC_CLICHES] CHECK CONSTRAINT [FK_IC_CLICHES_IC_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_OPERACIONES_IC_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_OPERACIONES] WITH CHECK ADD CONSTRAINT [FK_IC_OPERACIONES_IC_SUBSISTEMAS] FOREIGN KEY([id_empresa], [id_subsistema]) REFERENCES [IC_SUBSISTEMAS] ([id_empresa], [id_subsistema]) GO ALTER TABLE [IC_OPERACIONES] CHECK CONSTRAINT [FK_IC_OPERACIONES_IC_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_MODULOS_IC_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_MODULOS] WITH CHECK ADD CONSTRAINT [FK_IC_MODULOS_IC_SUBSISTEMAS] FOREIGN KEY([id_empresa], [id_subsistema]) REFERENCES [IC_SUBSISTEMAS] ([id_empresa], [id_subsistema]) GO ALTER TABLE [IC_MODULOS] CHECK CONSTRAINT [FK_IC_MODULOS_IC_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_VARIABLES_IC_SUBSISTEMAS]') AND type = 'F') ALTER TABLE [IC_VARIABLES] WITH CHECK ADD CONSTRAINT [FK_IC_VARIABLES_IC_SUBSISTEMAS] FOREIGN KEY([id_empresa], [id_subsistema]) REFERENCES [IC_SUBSISTEMAS] ([id_empresa], [id_subsistema]) GO ALTER TABLE [IC_VARIABLES] CHECK CONSTRAINT [FK_IC_VARIABLES_IC_SUBSISTEMAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_IC_CENTROS_IC_EMPRESAS]') AND type = 'F') ALTER TABLE [IC_CENTROS] WITH NOCHECK ADD CONSTRAINT [FK_IC_CENTROS_IC_EMPRESAS] FOREIGN KEY([id_empresa]) REFERENCES [IC_EMPRESAS] ([id_empresa]) GO ALTER TABLE [IC_CENTROS] CHECK CONSTRAINT [FK_IC_CENTROS_IC_EMPRESAS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_SISCLSACCESS_IDCLS]') AND type = 'F') ALTER TABLE [SISCLASSACCESS] WITH CHECK ADD CONSTRAINT [FK_SISCLSACCESS_IDCLS] FOREIGN KEY([IDCLASS]) REFERENCES [SISCLASES] ([IDCLASE]) GO ALTER TABLE [SISCLASSACCESS] CHECK CONSTRAINT [FK_SISCLSACCESS_IDCLS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_SISCLSACCESS_IDUSER]') AND type = 'F') ALTER TABLE [SISCLASSACCESS] WITH CHECK ADD CONSTRAINT [FK_SISCLSACCESS_IDUSER] FOREIGN KEY([IDUSER]) REFERENCES [USUARIOS] ([USUARIO#]) GO ALTER TABLE [SISCLASSACCESS] CHECK CONSTRAINT [FK_SISCLSACCESS_IDUSER] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_PRNDS_GF_PRODUTOS_GRIF]') AND type = 'F') ALTER TABLE [PRNDS] WITH NOCHECK ADD CONSTRAINT [FK_PRNDS_GF_PRODUTOS_GRIF] FOREIGN KEY([GF_GRIFFE]) REFERENCES [_GF_PRODUTOS_GRIF] ([ID]) GO ALTER TABLE [PRNDS] CHECK CONSTRAINT [FK_PRNDS_GF_PRODUTOS_GRIF] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK__RDX_LUGVE__CLAVE__4A59F0B5]') AND type = 'F') ALTER TABLE [RDX_LUGVEN] WITH NOCHECK ADD FOREIGN KEY([CLAVE1]) REFERENCES [RDX_CABVEN] ([CLAVE1]) ON UPDATE CASCADE ON DELETE CASCADE GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK__RDX_ARTVEN__56BFC79A]') AND type = 'F') ALTER TABLE [RDX_ARTVEN] WITH NOCHECK ADD FOREIGN KEY([CLAVE1], [CLAVE2]) REFERENCES [RDX_LUGVEN] ([CLAVE1], [CLAVE2]) ON UPDATE CASCADE ON DELETE CASCADE GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_RVARPRND_PRNDS]') AND type = 'F') ALTER TABLE [RVARPRND] WITH NOCHECK ADD CONSTRAINT [FK_RVARPRND_PRNDS] FOREIGN KEY([PRENDA]) REFERENCES [PRNDS] ([CARPETA#]) GO ALTER TABLE [RVARPRND] CHECK CONSTRAINT [FK_RVARPRND_PRNDS] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_RVARPRND_VARCOLOR]') AND type = 'F') ALTER TABLE [RVARPRND] WITH NOCHECK ADD CONSTRAINT [FK_RVARPRND_VARCOLOR] FOREIGN KEY([VARCOLOR]) REFERENCES [VARCOLOR] ([IDVARCOLOR]) GO ALTER TABLE [RVARPRND] CHECK CONSTRAINT [FK_RVARPRND_VARCOLOR] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_RCOMPVARCOLOR_VARCOLOR]') AND type = 'F') ALTER TABLE [RCOMPVARCOLOR] WITH CHECK ADD CONSTRAINT [FK_RCOMPVARCOLOR_VARCOLOR] FOREIGN KEY([IDVARCOLOR]) REFERENCES [VARCOLOR] ([IDVARCOLOR]) GO ALTER TABLE [RCOMPVARCOLOR] CHECK CONSTRAINT [FK_RCOMPVARCOLOR_VARCOLOR] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_VARCOLOR_ING_VARCOLOR]') AND type = 'F') ALTER TABLE [VARCOLOR_ING] WITH NOCHECK ADD CONSTRAINT [FK_VARCOLOR_ING_VARCOLOR] FOREIGN KEY([IDINSTANCIA]) REFERENCES [VARCOLOR] ([IDVARCOLOR]) GO ALTER TABLE [VARCOLOR_ING] CHECK CONSTRAINT [FK_VARCOLOR_ING_VARCOLOR] GO IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[FK_VARCOLOR_PRNDS]') AND type = 'F') ALTER TABLE [VARCOLOR] WITH NOCHECK ADD CONSTRAINT [FK_VARCOLOR_PRNDS] FOREIGN KEY([IDPRENDA]) REFERENCES [PRNDS] ([CARPETA#]) GO ALTER TABLE [VARCOLOR] CHECK CONSTRAINT [FK_VARCOLOR_PRNDS]